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.

DAC60508: DAC60508ZCRTET

Part Number: DAC60508


I am using DAC60508ZCRTET on my hardware. I understand that this DAC do not support readback of data. I want to write data to the DAC with error checking enabled. Is it possible to write to this DAC enabling the CRC?  Please can you let me know if this is a possible option or not.

  • Hello,

    Yes, CRC error checking can be enabled in the device. See section 8.4.3 in the datasheet:

    Best,

    Katlynne Jones 

  • Hi Jones. Thanks for your reply. What my concern is that DAC60508ZCRTET version uses the CLR function instead of read function.

    Since this version of DAC uses the pin as CLR and not an SDO, and hence there is no readback operation. So if there is an error writing to DAC, then how is it reported back. And when I was trying to write to DAC with CRC enabled, I was not able to write to the DAC. So please can you confirm if it is possible to write to DAC with CRC enabled, for this version of DAC(DAC60508ZCRTET).

  • Hello,

    I understand. You should still be able to write with CRC enabled and the device will still ignore commands that fail the CRC check, but you wouldn't be able to check the result though readback. 

    I don't have this version of the device on hand to check, but I asked the design team to see if any of them know off of the top of their head if CRC is valid in this version. Can you share what command you are trying to write and the full 32-bit code you are writing? I'd like to double check this while I'm waiting for their answer. 

    Best,

    Katlynne Jones 

  • Thanks for your quick response Jones. I was trying to write the command 05000ADD.

  • Hello,

    You may be calculating the CRC wrong. I used the polynomial from the datasheet (100000111)  and put that in a CRC calculator and got 0xF6 as the CRC. Can you try writing 0x05000AF6? 

    I notice you are writing to the reset register. Are you writing some value to the DAC output before enabling CRC, and then using the reset command after enabling CRC to check that the device output returns to zero? 

    Best,

    Katlynne Jones 

  • Hi Jones,

    If the initial CRC value is taken as "FF" then the CRC for the example is "DD" where as if the initial value is "00" then the CRC value is "F6". So this information is not very clear from the datasheet.

  • Hello, 

    I see. With my experience with other devices in our group, we use the x^8 + x^2 + x + 1 polynomial with initial value of 0. Please try that and see if you are able to get the device to reset. 

    Best,

    Katlynne Jones

  • Hi Jones, 

    I have tried with initial value of '0' for CRC. But this does not work. Can you please check and confirm from the designer, if CRC is supported for this part no. of DAC.

    Also I am trying to write to the DAC register after the configuration as below. And this config works when trying to write to DAC with CRC disabled

    x"05000A" --WRITE Trigger Register
    x"000000" --WRITE NOP register
    x"020000" --WRITE SYNC Regiser
    x"03" & "00" & ALM_SEL & ALM_EN & crc_en & "000" & x"F0" --WRITE Config Register(power down DAC registers 4 to 7 as they are unused)
    x"04070F" --WRITE Gain Register (gain and reference divider set to 2 for DAC 0 to 3)

  • Hello, 

    The designer confirmed that CRC is supported on both versions. I ordered a few samples so I can double check what format the CRC should be written in.

    Have you been able to write to the DAC with the CRC disabled? I'd like to confirm that first. Can you power cycle the device and write:

    0x02 0x0000 - trigger register

    0x04 0x070F - gain register

    0x06 0xFFF0 - broadcast register

    *measure DAC outputs go from zero to full scale*

    0x03 0x0800 - config (enable CRC)

    0x05 0x000A 0xF6 - reset command with CRC bits

    *measure that DAC outputs go from full scale to zero*

    If the first measurement doesn't come back as full scale, we know the non-CRC writes are not working either. If this is the case, please share a screenshot of the write to the gain register so I can verify the timing. 

    If the first measurement is correct, but the second does not come back as zero, I'll debug this sequence on my devices when they arrive and get back to you. 

    Best,

    Katlynne Jones 

  • Thanks Jones.

    This works for me now. I have started sending CRC even before enabling CRC, which caused the issue. I used the config u sugeested and I am now able to write to DAC registers with CRC.

    Thanks a lot for your help and support.

  • Great to hear that you have it working, thanks for updating me. Please reach out if you have any other questions. 

    Best,

    Katlynne Jones 

  • One quick question.

    I was trying to use this config:

     x"020000", --WRITE SYNC Regiser

     x"04070F", --WRITE Gain Register (gain and reference divider set to 2 for DAC 0 to 3)

     x"03" & "0000" & crc_en & "000" & x"F0", --WRITE Config Register(power down DAC registers 4 to 7 as they are unused)

    This works fine for me.

    But when I use this config it does not work.

    x"05000A"

    x"020000", --WRITE SYNC Regiser

     x"04070F", --WRITE Gain Register (gain and reference divider set to 2 for DAC 0 to 3)

     x"03" & "0000" & crc_en & "000" & x"F0", --WRITE Config Register(power down DAC registers 4 to 7 as they are unused)

    Can you please tell me what's the issue.

  • Try adding a small delay after the SW reset command. The following commands may be coming while the device is still performing the reset, so they are not being captured. 

    The SW reset triggers a POR, and the POR requires a ~250us delay. 

    Best,

    Katlynne Jones 

  • Thanks Jones. Will check and update you.

  • My issue is now resolved Jones. thanks for all your support.