Need help choosing a DAC - Page 1
Forum section: electronics / projects

author: Pulse Cloud
author_rank: Contributor
timestamp: August 07, 2013, 08:21:56 pm
content: Hello, I need help choosing an 8-bit, dual-channel, fast DAC which must be available fromMouser.I want to display 256x256 px, 1 bit deep bitmaps on an oscilloscope at a reasonable frame-rate (10+ FPS, 30 would be ideal).Because I don't want to be dependent on an oscilloscope having a Z-input (and because they all work differently), I will basically move the beam to each "white" pixel's position using a dual-channel DAC and wait a few moments before plotting the next white pixel.Worst case scenario, the whole bitmap is white, so every 65536 pixels will be plotted. At 30 FPS, that gives me a maximum of 500 ns per pixel. Also, I have no idea how long it takes to move the oscilloscope's beam, so that may be a problem.Bottom line, I need an 8-bit, dual-channel, parallel input DAC with a settling time way lower than 250 ns that works with a 3.3 V supply.Now, that was enough for me to use Mouser's parametric search, but apparently there are two types of DACs -- current output and voltage output --, and that's what's bugging me.Most DACs are current output, but I need a voltage output DAC because its outputs are going straight to an oscilloscope (right?), but every voltage output DAC I can find has settling times of several microseconds, which is useless for this application.In some datasheets I read that I can use an op amp to convert the current outputs to voltage outputs, but I googled about that and it seems that the voltage comes out negative. Also, this would add complexity to the design, add cost and I would have no idea how fast it would actually be (ie, how the amp would affect the settling time - it would probably bring it to the microseconds range).I don't know what to do. I just want to be able to produce voltages in a fixed range (doesn't have to be 0-3.3V because the oscilloscope's scale can obviously be adjusted), but it seems so complicated and everything is obfuscated by technical terms I have no idea what they mean. Am I going at it the wrong way? Am I over-thinking this?

author: c4757p
author_rank: Super Contributor
timestamp: August 07, 2013, 08:27:52 pm
content: Is there any reason you can't use the blanking input? Just generate horizontal and vertical ramps (you can do this all in analog pretty easily) and output a digital blanking signal to draw the bitmap.

author: Pulse Cloud
author_rank: Contributor
timestamp: August 07, 2013, 08:59:13 pm
content: Quote from: c4757p on August 07, 2013, 08:27:52 pmAs I said in the OP, I don't want to use the Z-input/Z-axis/blanking input because they are all different (eg: some are on/off at two specific voltages, some are intensity modulators with inputs in a range of -10 to +10 V, others from 1.61 V to 3.14 V, etc.) and I think not every scope even _has_ one.

author: free_electron
author_rank: Super Contributor
timestamp: August 08, 2013, 12:04:56 am
content: Not feasible with your requirements.First of all 8 bit dac is not guaranteed to give you the monotonicity you will need to mike a nice grid... you will need a dac with 10 bits or more. strap the bottom two bit permanent to ground.Second : you need a dual channel dac that updated both channels in sync or you will get flyback artefacts hopping form end of line to begin of linethree : 65536 points at 30 frames per second is two million points per second. or 500 nS per point. assuming you hover you can dwell 490nS on a point and then move to the next point in 10nS. if no pixel is to be plotted you skip immediately to the next. this will give you a variable frame rate depending on the content of the image. all white ( all pixels on will give you 30 frames per second. turn all pixels 'black' and the entire screen takes 65525 * 10ns = 655us to write. thats a lot of frames....the problem with the non constant scanrate is that you will get tremendous intensity differences depending on image content. pixels will bleed into adjacent pixels in both directions.( vertical and horizontal)the scope will cope. if you get a machine that can do 10ns per division ( even slower since you only need tot travel 1/6500 of a division )any analog scope (worth its salt) has a z modulation.so you need:- z modulation so you can use constant scanrate- more bitsas for a DAC that can update at 10nS look at the analog devices txdacs. those are bleeding fast and can run in sync. there are even dual channel ones. tqfp48 or tqfp64 package.most likely they will be current outputs. a simple fast opamp and a couple of resistors solve that. you will need a post-scaler anyway. i dont knwo where you get the idea that that stuff gets you negative voltages ... you can get it anywhere you want.

author: c4757p
author_rank: Super Contributor
timestamp: August 08, 2013, 12:14:29 am
content: Quote from: Pulse Cloud on August 07, 2013, 08:59:13 pmMissed that! Sorry.... I even checked a couple times to make sure you didn't mention it!

author: marshallh
author_rank: Unknown
timestamp: August 08, 2013, 03:51:12 am
content: ADV7125 + fpgatriple channel, for your XYZ inputs50mhz should be fast enough, 20ns granularity at the fastest speed of the slowest speed grade ($8)ADV7123 is 10bit if you need that

author: Pulse Cloud
author_rank: Contributor
timestamp: August 08, 2013, 04:04:38 pm
content: Thank you for the input, guys.The ADV7123 seems nice, but having never dealt with opamps before I don't really know what to do with its differential (whaat?) current outputs.I threw together a quick schematic of how I think the ADV7123 should be used; does that look sane? The datasheet isn't clear, so I don't know if by enabling the Power Save pin I am disabling the DACs, hence it being disabled.I assume Rset should be chosen to match the opamp's input specifications.Also, I think I'm going to avoid FPGAs for this project, because that would be too much to learn _right now_. I'll use one in a future project when I have the time to dive into that sort of stuff.I'm going to read on opamps to learn how they work and such (I only have a very basic understanding of them). I always bookmark good learning resources (forum posts, articles, videos, etc.) for this type of stuff; if you do too and have something good about opamps, please share!Meanwhile, do you recommend a specific opamp? Is there any "jellybean" part that would work for my needs? How do you classify an opamp as "fast"?Thanks.

author: marshallh
author_rank: Unknown
timestamp: August 08, 2013, 04:46:39 pm
content: Read every page of the datasheet, it DOES tell you those things.For example it tells you to ground the negative diff output for driving single ended capacitive loads (i.e. vga cable)

author: sync
author_rank: Frequent Contributor
timestamp: August 08, 2013, 05:06:32 pm
content: Quote from: Pulse Cloud on August 07, 2013, 08:21:56 pmAnalog scopes have limited X bandwidth. Usually only a few MHz. I played with a staircase waveform from my function generator. I think you can only use a couple of 100000 dots/s.

author: free_electron
author_rank: Super Contributor
timestamp: August 08, 2013, 05:12:52 pm
content: Actually current outputs is great in this case. flick the scope inputs in 50 ohm mode , ground the negative output and let it rip ....

author: Pulse Cloud
author_rank: Contributor
timestamp: August 08, 2013, 06:09:41 pm
content: Quote from: marshallh on August 08, 2013, 04:46:39 pmI DID read every page of the datasheet, I just let the differential outputs stay there because I wasn't sure the opamp would need them for whatever reason.Quote from: free_electron on August 08, 2013, 05:12:52 pmSo... like this (attachment)? That seems a bit odd, why would that work? For all I know (which isn't much), the outputs could be constant voltage and variable current (that's my understanding of "current output")...

author: Unknown
author_rank: Unknown
timestamp: August 08, 2013, 06:33:12 pm
content: Think Ohm's law. What happens with the voltage if you put a variable current through a constant (50 Ohm) resistor?

author: miguelvp
author_rank: Super Contributor
timestamp: May 06, 2014, 06:57:22 am
content: Quote from: marshallh on August 08, 2013, 03:51:12 amResurrecting this thread. So I don't want to use it for video per say (although I might do that as well)Just want to play around with some FPGAs that I have around to drive this board.It might come with an ADV7123 or an ADV7125 (from China) but either way is the 330Msps one. The board has the lower ADV7123 2 bits grounded so they don't count. I did specify the ADV7123 and if they do ship it with that I can always lift the 6 pins and wire them up to get the extra 2 bits per channel.The connector is actually compatible with the Terasic GPIO (strange they derive the 3.3VCC from the 5VCC in the connector, when the said connector also has a 3.3VCC input available.I'm just want to play with a fast DAC and even if this is intended for VGA output I will have 3 very fast DACs to play with. The board has them 75 Ohm terminated at the source. (to match the VGA 75 Ohm termination)Here is the board and the partial schematic as images, I also attached the schematic as well:Price $50 with shipping (20 days, meaning probably a month and a half)The chip itself is around $20 for the 330Msps so well worth the extra $30 to play around with it.

author: dannyf
author_rank: Super Contributor
timestamp: May 06, 2014, 12:21:03 pm
content: QuoteYou need that kind of spec to just light up some LEDs? Rethinking your approach may be helpful.QuotePut a resistor on the output -> a resistor is a current-to-voltage converter.

author: nctnico
author_rank: Super Contributor
timestamp: May 06, 2014, 06:32:23 pm
content: The only problem with using a video DAC is that the range is limited. Read about blanking levels and so on... Maybe it's better to look at the teardown of a cheap ARB generator for a good DAC suggestion.

author: miguelvp
author_rank: Super Contributor
timestamp: May 06, 2014, 07:02:03 pm
content: Quote from: nctnico on May 06, 2014, 06:32:23 pmI can always avoid using the green channel (with the blank and hsync signal). Red and blue should be between 0 and 0.7V. The green channel is still useful and has the same range other than using a higher current 7.2mA vs 18.67mA on the other signals.First I want to use it with my DE0-Nano for high res video for a PACE port.For other uses, I have control of the blank and sync signals so it doesn't really matter.Audio is another application as well, music synthesis could be another.As far as using an old ARB gen, the cheap ones are a bit slow and sure I could just buy the part at mouser, but this is all ready to use.Anyway, since I ordered direct from China, it's going to take a while to see what it can do.