This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC7578: Unable to Trigger a Single Channel Update

Part Number: DAC7578
Other Parts Discussed in Thread: DAC7678, DAC53608

I'm in the process of writing software to control the DAC7578 in our automated testing. According to Table 14 in the DAC7578 datasheet, it seems the user can set a new code for an individual DAC channel but the code doesn't get passed to the output until a trigger is received. My understanding is that either of the following can be used as triggers to update a single channel:

  • Method 1: use Commands b0000 and b0001 to write to DACx input register and then update DACx channel
  • Method 2: Command b0011 to write and update DACx channel

When testing this functionality with software, I am unable to get either method to work as I would expect. My questions are in bold below.

  • Method 1:
  1. Reset the part (all channels set to 0x0000)
  2. Use command b0000 to set channel A to 0xFFF
  3. Use command b0001 to update channel A
  4. Channel A output remains at 0 - shouldn't channel A update to 0xFFF once command b0001 is sent?
  • Method 2:
    1. Reset the part (all channels set to 0x0000)
    2. Use command b0000 to set channel A to 0xFFF and channel B to 0xAAA
    3. Use command b0011 to set channel C to 0xCCC and update only channel C
    4. Channels A, B, and C all update once command b0011 is sent - shouldn't only channel C update when command b0011 is sent?
  • Hi Eric,

    Your understanding of the device is correct, and it should be updating as you describe. This makes me think that the data is not formatted correct, or there is some other kind of hardware issue. Can you confirm that the I2C commands are formatted correctly with an oscilloscope? Can you share your schematic snippet?

    Thanks,
    Paul
  • Hi Paul,

    Thank you for your response! I've attached:

    • A snippet of our schematic (DAC7578 Schematic.PNG)
    Method1
    • Decoded I2C commands - I2C Decoded (Method 1).txt
    • Raw state of I2C pins - I2C Raw (Method 1).txt
    • Salea Logic capture  - Salea Method1.txt 
    Method2
    • Decoded I2C commands - I2C Decoded (Method 2).txt
    • Raw state of I2C pins - I2C Raw (Method 2).txt
    • Salea Logic capture  - Salea Method2.txt

    Note: Change the file extension of Salea Method# to .logicdata if you'd like to open it. I had to change it to .txt in order to post it here.

    Schematic (V_DAC = 5 V)

    7206.I2C Decoded (Method 1).txt
    Time [s],Packet ID,Address,Data,Read/Write,ACK/NAK
    0.000101125000000,0,0x90,0x00,Write,ACK
    0.000192062500000,0,0x90,0xFF,Write,ACK
    0.000282937500000,0,0x90,0xF0,Write,ACK
    0.001105937500000,1,0x90,0x10,Write,ACK
    0.001196875000000,1,0x90,0x00,Write,ACK
    0.001287750000000,1,0x90,0x01,Write,ACK
    
    4621.I2C Decoded (Method 2).txt
    Time [s],Packet ID,Address,Data,Read/Write,ACK/NAK
    0.000101125000000,0,0x90,0x00,Write,ACK
    0.000192062500000,0,0x90,0xFF,Write,ACK
    0.000282875000000,0,0x90,0xF0,Write,ACK
    0.001156437500000,1,0x90,0x01,Write,ACK
    0.001247375000000,1,0x90,0xAA,Write,ACK
    0.001338187500000,1,0x90,0xA0,Write,ACK
    0.002191625000000,2,0x90,0x32,Write,ACK
    0.002282437500000,2,0x90,0xCC,Write,ACK
    0.002373375000000,2,0x90,0xC0,Write,ACK
    
    I2C Raw (Method 1).txt
    Time[s],SDA,SCL
    -0.1,1,1
    -3.6875E-06,0,1
    0,0,0
    0.000006625,1,0
    0.00001025,1,1
    0.000015125,1,0
    1.65625E-05,0,0
    0.000020375,0,1
    0.00002525,0,0
    3.04375E-05,0,1
    3.53125E-05,0,0
    0.000036875,1,0
    0.0000405,1,1
    0.0000455,1,0
    4.68125E-05,0,0
    0.000050625,0,1
    5.55625E-05,0,0
    0.00006075,0,1
    0.000065625,0,0
    0.000070875,0,1
    0.00007575,0,0
    8.09375E-05,0,1
    8.58125E-05,0,0
    0.000091,0,1
    9.59375E-05,0,0
    0.000096375,1,0
    9.73125E-05,0,0
    0.000101125,0,1
    0.000106063,0,0
    0.00011125,0,1
    0.000116188,0,0
    0.000121375,0,1
    0.00012625,0,0
    0.000131438,0,1
    0.000136313,0,0
    0.0001415,0,1
    0.000146438,0,0
    0.000151625,0,1
    0.000156563,0,0
    0.000161688,0,1
    0.000166688,0,0
    0.000171875,0,1
    0.00017675,0,0
    0.000181938,0,1
    0.000186813,0,0
    0.000187313,1,0
    0.000192063,1,1
    0.000196938,1,0
    0.000202125,1,1
    0.000207,1,0
    0.000212188,1,1
    0.000217188,1,0
    0.000222313,1,1
    0.00022725,1,0
    0.000232438,1,1
    0.000237313,1,0
    0.000242563,1,1
    0.000247438,1,0
    0.000252625,1,1
    0.0002575,1,0
    0.000262688,1,1
    0.000267563,1,0
    0.000268063,0,0
    0.000272813,0,1
    0.00027775,0,0
    0.000278188,1,0
    0.000282938,1,1
    0.000287813,1,0
    0.000293063,1,1
    0.000297938,1,0
    0.000303125,1,1
    0.000308,1,0
    0.000313188,1,1
    0.000318063,1,0
    0.0003195,0,0
    0.000323313,0,1
    0.00032825,0,0
    0.000333375,0,1
    0.000338313,0,0
    0.000343563,0,1
    0.000348438,0,0
    0.000353625,0,1
    0.0003585,0,0
    0.000363688,0,1
    0.000368563,0,0
    0.000369063,1,0
    0.00037,0,0
    0.000373813,0,1
    0.000380188,1,1
    0.001001125,0,1
    0.001004813,0,0
    0.001011438,1,0
    0.001015063,1,1
    0.001019938,1,0
    0.001021375,0,0
    0.001025188,0,1
    0.001030063,0,0
    0.00103525,0,1
    0.001040188,0,0
    0.001041688,1,0
    0.001045313,1,1
    0.001050313,1,0
    0.001051625,0,0
    0.0010555,0,1
    0.001060375,0,0
    0.001065563,0,1
    0.001070438,0,0
    0.001075688,0,1
    0.001080563,0,0
    0.00108575,0,1
    0.001090625,0,0
    0.001095813,0,1
    0.001100813,0,0
    0.00110125,1,0
    0.001102125,0,0
    0.001105938,0,1
    0.001110875,0,0
    0.001116063,0,1
    0.001121,0,0
    0.001126188,0,1
    0.001131063,0,0
    0.001132625,1,0
    0.00113625,1,1
    0.001141125,1,0
    0.001142563,0,0
    0.001146313,0,1
    0.00115125,0,0
    0.001156438,0,1
    0.001161375,0,0
    0.001166625,0,1
    0.0011715,0,0
    0.001176688,0,1
    0.001181563,0,0
    0.001186813,0,1
    0.001191625,0,0
    0.001192125,1,0
    0.001193063,0,0
    0.001196875,0,1
    0.00120175,0,0
    0.001206938,0,1
    0.001211875,0,0
    0.001217,0,1
    0.001222,0,0
    0.001227188,0,1
    0.001232063,0,0
    0.00123725,0,1
    0.001242125,0,0
    0.001247375,0,1
    0.00125225,0,0
    0.001257438,0,1
    0.001262313,0,0
    0.0012675,0,1
    0.0012725,0,0
    0.001277625,0,1
    0.001282563,0,0
    0.001283,1,0
    0.001283875,0,0
    0.00128775,0,1
    0.001292625,0,0
    0.001297875,0,1
    0.00130275,0,0
    0.001307938,0,1
    0.001312813,0,0
    0.001318,0,1
    0.001322875,0,0
    0.001328125,0,1
    0.001333063,0,0
    0.00133825,0,1
    0.001343125,0,0
    0.001348375,0,1
    0.00135325,0,0
    0.001354813,1,0
    0.001358438,1,1
    0.001363313,1,0
    0.001363813,0,0
    0.0013685,0,1
    0.001373375,0,0
    0.001373875,1,0
    0.001374813,0,0
    0.001378625,0,1
    0.001385,1,1
    
    I2C Raw (Method 2).txt
    Time[s],SDA,SCL
    -0.1,1,1
    -3.6875E-06,0,1
    0,0,0
    6.5625E-06,1,0
    1.03125E-05,1,1
    1.51875E-05,1,0
    0.0000165,0,0
    0.000020375,0,1
    0.00002525,0,0
    3.04375E-05,0,1
    3.53125E-05,0,0
    0.000036875,1,0
    4.05625E-05,1,1
    4.54375E-05,1,0
    4.68125E-05,0,0
    0.000050625,0,1
    5.55625E-05,0,0
    6.06875E-05,0,1
    6.56875E-05,0,0
    0.000070875,0,1
    0.00007575,0,0
    8.09375E-05,0,1
    8.58125E-05,0,0
    9.10625E-05,0,1
    9.59375E-05,0,0
    0.000096375,1,0
    9.73125E-05,0,0
    0.000101125,0,1
    0.000106,0,0
    0.000111188,0,1
    0.000116188,0,0
    0.000121313,0,1
    0.00012625,0,0
    0.000131438,0,1
    0.000136375,0,0
    0.000141563,0,1
    0.000146438,0,0
    0.000151625,0,1
    0.0001565,0,0
    0.000161688,0,1
    0.000166625,0,0
    0.000171813,0,1
    0.00017675,0,0
    0.000181938,0,1
    0.000186875,0,0
    0.000187313,1,0
    0.000192063,1,1
    0.000196938,1,0
    0.000202125,1,1
    0.000207,1,0
    0.00021225,1,1
    0.000217125,1,0
    0.000222313,1,1
    0.00022725,1,0
    0.000232375,1,1
    0.000237375,1,0
    0.000242563,1,1
    0.000247438,1,0
    0.000252625,1,1
    0.0002575,1,0
    0.00026275,1,1
    0.000267625,1,0
    0.000268063,0,0
    0.000272813,0,1
    0.000277688,0,0
    0.000278125,1,0
    0.000282875,1,1
    0.000287875,1,0
    0.000293,1,1
    0.000297938,1,0
    0.000303125,1,1
    0.000308,1,0
    0.00031325,1,1
    0.000318125,1,0
    0.0003195,0,0
    0.000323313,0,1
    0.000328188,0,0
    0.000333375,0,1
    0.00033825,0,0
    0.0003435,0,1
    0.000348438,0,0
    0.000353625,0,1
    0.0003585,0,0
    0.00036375,0,1
    0.000368625,0,0
    0.000369063,1,0
    0.00037,0,0
    0.000373813,0,1
    0.00038025,1,1
    0.001051625,0,1
    0.001055313,0,0
    0.001061875,1,0
    0.001065625,1,1
    0.0010705,1,0
    0.001071813,0,0
    0.001075688,0,1
    0.001080563,0,0
    0.00108575,0,1
    0.001090625,0,0
    0.001092188,1,0
    0.001095875,1,1
    0.00110075,1,0
    0.001102125,0,0
    0.001105938,0,1
    0.001110813,0,0
    0.001116,0,1
    0.001121,0,0
    0.001126188,0,1
    0.001131063,0,0
    0.00113625,0,1
    0.001141188,0,0
    0.001146375,0,1
    0.00115125,0,0
    0.001151688,1,0
    0.001152625,0,0
    0.001156438,0,1
    0.001161313,0,0
    0.0011665,0,1
    0.0011715,0,0
    0.001176625,0,1
    0.001181563,0,0
    0.00118675,0,1
    0.001191688,0,0
    0.001196875,0,1
    0.00120175,0,0
    0.001206938,0,1
    0.001211813,0,0
    0.001217063,0,1
    0.001221938,0,0
    0.001223438,1,0
    0.001227125,1,1
    0.001232063,1,0
    0.001232563,0,0
    0.001237188,0,1
    0.001242188,0,0
    0.001242625,1,0
    0.001247375,1,1
    0.00125225,1,0
    0.001253563,0,0
    0.001257438,0,1
    0.001262313,0,0
    0.001263875,1,0
    0.001267563,1,1
    0.001272438,1,0
    0.001273813,0,0
    0.001277625,0,1
    0.001282563,0,0
    0.001284063,1,0
    0.001287688,1,1
    0.001292688,1,0
    0.001294,0,0
    0.001297875,0,1
    0.00130275,0,0
    0.001304313,1,0
    0.001307938,1,1
    0.001312813,1,0
    0.00131425,0,0
    0.001318063,0,1
    0.001322938,0,0
    0.001328125,0,1
    0.001333,0,0
    0.001333438,1,0
    0.001338188,1,1
    0.001343188,1,0
    0.0013445,0,0
    0.00134825,0,1
    0.00135325,0,0
    0.001354813,1,0
    0.001358438,1,1
    0.001363313,1,0
    0.001364688,0,0
    0.001368563,0,1
    0.001373438,0,0
    0.001378625,0,1
    0.0013835,0,0
    0.001388688,0,1
    0.001393563,0,0
    0.001398813,0,1
    0.00140375,0,0
    0.001408938,0,1
    0.001413813,0,0
    0.001419063,0,1
    0.001423938,0,0
    0.001424375,1,0
    0.00142525,0,0
    0.001429125,0,1
    0.001435563,1,1
    0.002086813,0,1
    0.002090438,0,0
    0.002097,1,0
    0.002100688,1,1
    0.002105563,1,0
    0.002106938,0,0
    0.00211075,0,1
    0.002115688,0,0
    0.002120813,0,1
    0.002125813,0,0
    0.002127375,1,0
    0.002131,1,1
    0.002135875,1,0
    0.00213725,0,0
    0.002141125,0,1
    0.002146,0,0
    0.002151188,0,1
    0.002156063,0,0
    0.00216125,0,1
    0.002166125,0,0
    0.002171375,0,1
    0.002176313,0,0
    0.0021815,0,1
    0.002186375,0,0
    0.002186875,1,0
    0.00218775,0,0
    0.002191625,0,1
    0.0021965,0,0
    0.002201688,0,1
    0.002206563,0,0
    0.002208125,1,0
    0.00221175,1,1
    0.002216625,1,0
    0.002221875,1,1
    0.002226813,1,0
    0.002228125,0,0
    0.002231938,0,1
    0.002236875,0,0
    0.002242125,0,1
    0.002247,0,0
    0.0022485,1,0
    0.002252188,1,1
    0.002257063,1,0
    0.0022585,0,0
    0.00226225,0,1
    0.002267125,0,0
    0.002272375,0,1
    0.00227725,0,0
    0.002277688,1,0
    0.002282438,1,1
    0.002287375,1,0
    0.0022925,1,1
    0.0022975,1,0
    0.002298813,0,0
    0.002302688,0,1
    0.002307563,0,0
    0.00231275,0,1
    0.002317625,0,0
    0.002319188,1,0
    0.002322875,1,1
    0.00232775,1,0
    0.002332938,1,1
    0.002337813,1,0
    0.00233925,0,0
    0.002343,0,1
    0.002348,0,0
    0.002353188,0,1
    0.002358063,0,0
    0.00236325,0,1
    0.002368125,0,0
    0.002368625,1,0
    0.002373375,1,1
    0.00237825,1,0
    0.002383438,1,1
    0.002388313,1,0
    0.00238975,0,0
    0.0023935,0,1
    0.0023985,0,0
    0.002403625,0,1
    0.002408563,0,0
    0.00241375,0,1
    0.002418625,0,0
    0.002423875,0,1
    0.00242875,0,0
    0.002433938,0,1
    0.002438813,0,0
    0.002444,0,1
    0.002448875,0,0
    0.002454125,0,1
    0.002459063,0,0
    0.0024595,1,0
    0.002460375,0,0
    0.002464188,0,1
    0.002470688,1,1
    
    7433.Salea Method1.txt
    
    
    Data save2T$�l�j�ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�� �q��ϟ{|Y��	Channel 0�?�?�ϟ{|Y��E�	Channel 1�?�?�ϟ{|Y���	Channel 2�?�?�ϟ{|Y����	Channel 3�?�?�ϟ{|Y����	Channel 4�?�?�ϟ{|Y���	Channel 5�?�?�ϟ{|Y���	Channel 6�?�?�ϟ{|Y�� ��	Channel 7�?�?�ϟ{|Y��	Channel 8�?�?�ϟ{|Y�	�E�		Channel 9�?�?�ϟ{|Y�
    ��
    
    Channel 10�?�?�ϟ{|Y����
    Channel 11�?�?�ϟ{|Y����
    Channel 12�?�?�ϟ{|Y�
    ��
    
    Channel 13�?�?�ϟ{|Y���
    Channel 14�?�?�ϟ{|Y�� ��
    Channel 15�?�?TTTT�	��s���xTl�jTT�ϟ{|Y��}�}�}TTTTT$��ϟ{|Y�T�}T�	��} ʜ������������E��������Ϧ���E������o����Us����������Us��y��y����	���
    d��r����!���Ü�Ünɜ}ɜ�	��}�ɜF������T�S�S�R�S�T�S�S�S�S�S�S�S�S�R�S�S�T�S�S�R�S�T�S�S�T�S�T�S�S�T�R�T�S�S�T�T�S�R�S�S�T�S�S�R�S�S�S�S�S�T�S�T�T�S�R�S�S�T�S�S�R�S�T�S�S�T�S�T�S�S�T�p���s�����������s�4t�\w�
    	�z��}�Ӏ�('���21#��<;K��FE튜G��H)��RQQ��\[z��fe���po�œzy�Ŝ��ɜ���	��}�}�	��}�}�	��}�}�	��}�}�	��}�}�	��}�}	�	��}�}
    �	��}�}�	��}�}�	��}�}
    �	��}�}�	��}�}�	��}�}�	��}�}�ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y�$�I2Cj22 serialization::archive 10 17 SaleaeI2CAnalyzer 0 21 12923497476120368647 0 1 12923497476120368647 1 1 2I2C#T�ϟ{|Y��?T)TTiming Marker PairA1A2TT
    7080.Salea Method2.txt
    
    
    Data save2T$�l�j�ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�@!�u���ϟ{|Y��	Channel 0�?�?�ϟ{|Y��E�	Channel 1�?�?�ϟ{|Y���	Channel 2�?�?�ϟ{|Y����	Channel 3�?�?�ϟ{|Y����	Channel 4�?�?�ϟ{|Y���	Channel 5�?�?�ϟ{|Y���	Channel 6�?�?�ϟ{|Y�� ��	Channel 7�?�?�ϟ{|Y��	Channel 8�?�?�ϟ{|Y�	�E�		Channel 9�?�?�ϟ{|Y�
    ��
    
    Channel 10�?�?�ϟ{|Y����
    Channel 11�?�?�ϟ{|Y����
    Channel 12�?�?�ϟ{|Y�
    ��
    
    Channel 13�?�?�ϟ{|Y���
    Channel 14�?�?�ϟ{|Y�� ��
    Channel 15�?�?TTTTUw��+lTl�jTT�ϟ{|Y��q�q�qTTTTT$��ϟ{|Y�T�qTUw�qiU��*�������333���F���
    �����ګ���E��m��������������5������������F��F@�G��3R�FA��R�]�޾����������޾�ŏ-ŏ*֏	8֏
    ��	�!��� �C�&�C�'ZP�10�T�1�T�2Uw�qU��*�����T�S�S�S�S�T�R�T�S�S�T�S�S�S�S�T�S�S�S�T�S�S�T�R�T�S�S�T�S�R�S�S�T�S�S�S�S�S�T�R�T�S�S�T�S�Q�S�S�S�S�S�S�S�S�S�S�R�S�S�S�T�S�R�S�S�T�S�S�S�S�T�S�S�S�S�T�S�S�R�S�T�S�S�T�R�T�S�S�S�S�S�S�S�S�S�Q�S�T�S�S�T�R�T�S�S�T�S�T�|��W�������������������
    	Ə4ɏ]̏('�Ϗ21�ҏ<;�ՏFEv֏G��H��RQ�	�\[
    
    �fe5�po^�zy��������O��I>��qA����D����G����J���N���8Q���`T���Uw�q�qUw�q�qUw�q�qUw�q�qUw�q�qUw�q�q	Uw�q�q
    Uw�q�qUw�q�qUw�q�q
    Uw�q�qUw�q�qUw�q�qUw�q�q�ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y��ϟ{|Y�	�ϟ{|Y�
    �ϟ{|Y��ϟ{|Y��ϟ{|Y�
    �ϟ{|Y��ϟ{|Y�$�I2Cj22 serialization::archive 10 17 SaleaeI2CAnalyzer 0 21 12923497476120368647 0 1 12923497476120368647 1 1 2I2C#T�ϟ{|Y��?T)TTiming Marker PairA1A2TT

  • Hi Eric,

    I cannot get the Saleae files to open, I get an error saying that they were created on a new software than mine. I have updated to the latest version and tried the new alpha version, no luck.

    One thing I can point out right away is that the pull-up values you have on the SDA and SCL (R145, R147) are very large (100kΩ). I would expect a value between 2kΩ-5kΩ. That might be causing the problem, unless you have additional pull ups on the line outside of the schematic you shared.

    Please refer to this document:www.ti.com/.../slva689.pdf

    Thanks,
    Paul
  • Hi Paul,

    The logic files were captured using version 1.2.18. I've attached images of the Logic captures below.

    Also, there is an additional 1k of pullup resistance on SCL and SDA that is not shown on the schematic image.

    As a sanity check, I tried to reproduce the issue on a different board that uses the DAC758 and I still see the same behavior.

    Method1:

    Method2 Par1:

    Method2 Part 2:

  • Hi Eric,

    Can you try reading back both the input register and the DAC register in method 1 to see if the first command is even working?
    Can you try changing the address as well? Could there be an address conflict?

    In the mean time I will order the EVM and try it on my end.

    Thanks,
    Paul
  • Hi,

    Sure, results are below:

    1. Write 0xFFF using command 0x0
    2. Write 0x1 using command 0x10
    3. Read 0x10 returns 0x0
    4. Write 0xAAA using command 0x30
    5. Read 0x10 returns 0xAAA

    I do not expect any address conflicts as this device is on it's own I2C bus.

  • Can you add a read between 2 and 3 and read the input register using command 0x0?

    Also, did you verify if there are other drives on the I2C bus that might have an address conflict? 

  • Sure, here's the updated results:

    1. Write 0xFFF using command 0x0
    2. Read 0x0 returns 0xFFF
    3. Write 0x1 using command 0x10
    4. Read 0x0 returns 0xFFF
    5. Read 0x10 returns 0x0
    6. Write 0xAAA using command 0x30
    7. Read 0x10 returns 0xAAA

    The DAC is the only I2C slave on the bus and there is only one master, so I don't think there would be address conflicts.

  • It's also worth mentioning that during our discussion thus far, all channels are set to use the LDAC pin (write 0x0 using command 0x60 and confirmed with a read using command 0x61).

    If I configure a channel (channel A) to ignore the LDAC pin (write 0x1 using command 0x60), any values set using command 0x0 are immediately passed to the DAC output.

  • Hi Eric,

    Could you draw or describe exactly when you are pulsing the LDAC pin in regards to method 1 and 2?

    Thanks,
    Paul
  • The LDAC pin has been held constant (no pulses) thus far in my testing of methods 1 and 2.

  • The LDAC pin has been held constant (no pulses) thus far in my testing of methods 1 and 2. I do not intend to use the LDAC pin in my application. I was just noting that the behavior I see changes based on whether or not the channels are configured to use or ignore the LDAC pin.
  • It has been held low or high? Low is required.
  • It has been held high all along. I changed it to be held low now. It is constantly held low and does not pulse.

    After retesting with LDAC pulled low channel A updates immediately after using command 0x0 regardless of whether or not channel A is configured to ignore the LDAC pin.

  • Hi Paul,

    Just checking in. Were you able to test this out on your end?

  • Hi Eric,

    Sorry for the delay, I was out of town for a conference last week and I wasn't able to test the hardware before I left.  I believe we are seeing some use-case where the LDAC is not in the correct position.  

    I think in your case you should have LDAC tied high, but you need to mask the LDAC functionality in the LDAC register.  I think you need to use command 0x6 and set all the bits high (write 0x60FF00).  This will tell the device to ignore the LDAC pin.  I can test this in the lab this afternoon or tomorrow morning, but it might be worthwhile for you to try it on your end.

    Thanks,

    Paul

  • Thank you. I test it out on my end and here are the results:

    • LDAC pin tied high and LDAC masked for all outputs - DAC outputs update immediately
    • LDAC pin tied low and LDAC masked for all outputs - DAC outputs update immediately

  • Hi Eric,

    I am seeing the same results, and I believe this might be a mistake in the product datasheet.  I am working with the design team currently to confirm.

    Is it possible to use only command 2 and command 3 with command 0 to synchronize the DAC outputs in your application? In addition, please not that we have a newly released device with could replace the DAC7678 in your system, called the DAC53608. 

    Thanks,

    Paul

  • Hi Paul,

    Thank you for confirming this behavior. I will remove this function from our driver to prevent confusion from my users. I'll pass the info along to our board designers.Thank you for your help!