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.

[参考译文] DAC7760:CRC FLT报警,无正确输出

Guru**** 2535750 points
Other Parts Discussed in Thread: DAC7760, DAC8760

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/601079/dac7760-crc-flt-alarm-and-no-correct-output

部件号:DAC7760
主题中讨论的其他部件: DAC8760

大家好,

当CRC被禁用时,DAC7760工作正常,但当CRC启用时,DAC输出行为不正常,并且设置了CRC_FLT标志位。 开机时,两个(禁用和启用CRC)具有相同的顺序

reset();//3字节

noop();//3字节

control();//3字节

config();//3字节

IF (crcenable == 1)

DAC_4DATA (); // 4字节

否则

DAC_3DATA();//3字节

CRC禁用时DAC输出线性增加

启用CRC时DAC输出随机增加  

注:我在CRC启用模式下尝试了其他序列,但没有DAC输出

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Howdy Agni,

    联机文档中有一些说明了在DAC7760/DAC8760器8760器件上进行CRC帧错误检查所需的步骤。  此过程可在以下位置找到:

    e2e.ti.com/.../3251.crc-frame-error-checking

    我认为这个职位的问题是安置NOOP。  请验证CRC enable是否在NOOP命令之后写入。  NOOP应该是24位宽,而CRC启用后的任何命令都将是32位宽。

    话虽如此,您能否更深入地了解control()和config()例程?  另一个要尝试的实验是在数据寄存器写入之间放置NOOP,以查看它是否对DAC输出有任何影响。

    此致,

    马特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Matthew,您好!

    感谢您的回复。

    Control()函数用于选择OUT_EN位和电压范围位(其余位设置为零),而config()函数用于设置DULE_OUTEN位,IOUT范围位和CRC_EN位。

    正如您所说的,在NOOP命令后应启用CRC,并且您所说的实验已实现,但结果相同。当启用CRC时,CRC_FLT位始终为1

    顺序是现在

    noop();// 3字节

    config();//3byes CRC enable

    control();// 4字节

    noop();// 4字节

    DAC_Data();// 4字节

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我能得到这个问题的答案……!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Howdy Agni,

    我对延误表示歉意,并感谢您的耐心等待。 至于您注意到的错误,似乎帧中有一个小错误,在写入DAC输出(原始POST)时,它会产生一个偏移。 要进一步调试此问题,我需要一些附加信息。 在设置CRC启用位之前和之后,我将需要SPI事务的示波器捕获。 我将使用此数据验证有效的24位和32位事务,并需要验证是否满足计时要求。 此外,如果您可以提供SPI事务的十六进制值和匹配的示波器捕获,这也非常有用。

    此致,
    马特