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.

[参考译文] DAC8760:DAC8760输出0.82V,而不是8V

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

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/603928/dac8760-dac8760-output-0-82v-instead-of-8v

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

我们失去了DAC8760项目的主要开发人员,所以我现在就成为了。  

我尝试了MSP430的示例代码,它似乎工作正常,但当发送的数据为0xEDB8并且应该接近10V时,它只输出0.82V。

   DAC8760_Reset();    /* 0x56 */
   DAC8760_Nop();
   DAC8760_WriteReg (((uint16_t) 0x1001,DAC7760_Address_WriteControlRegister);                 /* 0x55 */
   DAC8760_Nop();                                                                             /* 00,00 */
   DAC8760_WriteReg (((uint16_t)0x1001,DAC7760_Address_WriteControlRegister);                 /* 0x55 */
   DAC8760_WriteReg (((uint16_t)0x0330, DAC7760_Address_WriteConfigurationRegister);           /* 0x57 */
   DAC8760_WriteReg (((uint16_t)0x8000,DAC7760_Address_WriteGainCalibrationRegister);         /* 0x58 */
   DAC8760_WriteReg (((uint16_t)0x0000,DAC7760_Address_WriteZeroCalibrationRegister);         /* 0x59 */
   DAC8760_Nop();
   DAC8760_Nop();
   DAC8760_WriteReg (((uint16_t)0x1001,DAC7760_Address_WriteControlRegister);                 /* 0x55 */
   DAC8760_WriteReg (((uint16_t)0x0330, DAC7760_Address_WriteConfigurationRegister);           /* 0x57 */
   DAC8760_WriteReg (((uint16_t)0x8000,DAC7760_Address_WriteGainCalibrationRegister);         /* 0x58 */
   DAC8760_WriteReg (((uint16_t)0x0000,DAC7760_Address_WriteZeroCalibrationRegister);         /* 0x59 */

稍后在I输出DAC8760_WriteReg (((uint16_t)5.9577万,DAC7760_Address_WritedataRegister);         /* 0x02 */上

我等待一秒钟并输出DAC8760_WriteReg (((uint16_t)0, DAC7760_Address_WritedataRegister);/*         0x02 */

并在5.9577万和0之间来回切换。  我的结果是0.82 和0非常一致。

我可以在一个Saleae逻辑分析器上看到所有这些。  该输出与原始项目相同,但我得到的唯一输出是0.82V。

原始代码在C++中,我们被告知将其转换为C。 以上代码是查看其功能的最小系统。  C++代码生成良好的值,但代码中的某处是我不知道的“诀窍”。

感谢您的帮助。

涉水

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

    没关系。  我把代码放在另一个板上,它能够产生9伏输出。  这似乎是一个硬件问题,花费了我3天的时间。