I2C DAC >=12 bits but with lots of addresses? - Page 1
Forum section: electronics / projects

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: November 21, 2024, 11:52:07 am
content: Does anyone have any ideas for an I2C interface DAC that's got a decent number of addresses? Most only have one address pin, or two if you're lucky.I'm looking around but number of addresses isn't a search term in any parametric search I can find which is annoying. I'd want at least 12, or preferably 6 if I can find a dual channel device.I'm wasting a lot of time on this now manually looking through random datasheets and I'm starting to go off into the weeds of other options like using I2C I/O expanders to generate address bits locally for each device which would be annoying.

author: Chalcogenide
author_rank: Regular Contributor
timestamp: November 21, 2024, 12:25:01 pm
content: A couple of options that come to mind:- MCP4728 allows to overwrite its 3 LSBs of the address, and the value can then be stored in EEPROM. The catch is that for programming the address you need to toggle the LDAC pin. Or, you can buy it with different addresses pre-programmed.- AD5593R is a sort of a beast (i.e. expensive) do-it-everything chip that can be used as an 8 channel DAC or ADC or port expander, and has one address input (so a total of 16 outputs on one I2C bus).- DAC7573 has 2 address bits + 2 "extended" address bits, but has no internal reference.

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: November 21, 2024, 02:01:20 pm
content: Thanks for the suggestions.This is for an analogue input/front end card which needs two analogue threshold voltages for comparators. Several of these identical boards will plug onto a motherboard.I was hoping to be able to use 3 pins in the connector between this board and the motherboard, to hardwire the address of each slot on the motherboard. So that once the card is plugged in, it gets its address from the motherboard slot and doesn't need any programming or flashing to give it an address.I'm having to use an I2C I/O expander on the cards anyway which I can find a part with A0, A1 & A2 pins. The I/O expander will have a couple of unused outputs, so I think I'll use one of them as an A0 signal for a generic DAC that only has an A0 pin.It will make the firmware for the mother board a bit annoying but should work ok. The I/O expanders will have addresses defined by the motherboard slots, then I'll have to talk to that to enable the DAC on that card, one at a time. Like a SPI Chip Select signal.If a DAC with a straightforward A0, A1 & A2 pins turns up then that would be simpler but I don't think I'll hold my breath.The AD5593R would actually be quite a good option, if only it had 3 address pins

author: ejeffrey
author_rank: Super Contributor
timestamp: November 21, 2024, 02:26:32 pm
content: Another option is to use an I2C hub expander like the PCA9548A. This has 8 multiplexed output buses. In addition it has 8 possible addresses so you can run multiple switches in parallel. All told you could have up to 64 devices with the same address, all independently accessible.This lets you use the DAC that performs they way you want without worrying about addressing.In your case, the hub could go on the motherboard and each slot would get an independent I2C bus. Both the DAC and GPIP could have fixed addresses.

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: November 21, 2024, 03:33:28 pm
content: Interesting. The PCA9548A could be a good solution for me, thanks. They are cheap too.

author: Nominal Animal
author_rank: Super Contributor
timestamp: November 21, 2024, 04:26:29 pm
content: There are four variants ofMCP472512-bit single-channel DACs that only differ by the I²C base address; each also has one address bit controlled by a pin. You can have eight (two of MCP4725A?T-E/CH each for ? in 0, 1, 2, 3) on the same I²C bus, for eight independent DAC outputs. 100kHz, 400kHz, and 3.4MHz clock rates are supported. Mouser sells these for about 1€ apiece, and has all four variants in stock.Mouser also sells Analog Devices AD5673RBCPZ-2 forunder 20€ apiece in singles, which is a 16-channel 12-bit I²C DAC with an internal reference.

author: DenzilPenberthy
author_rank: Frequent Contributor
timestamp: November 28, 2024, 11:21:50 pm
content: Posting in case anyone in the future is serching for similar. I found what I wanted in the end so can stick with the original plan of having everything on the same busLT2607 and family. 12, 14, or 16 bit and 3 address lines which accept 'floating' as a valid state so 27 addresses in total.https://www.analog.com/media/en/technical-documentation/data-sheets/26071727fa.pdf