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.

[参考译文] DAC7750:DAC7750输出不成比例

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1260259/dac7750-dac7750-output-not-proportional

器件型号:DAC7750

您好!
我正在我的模块中将 DAC7750用于4 -20 mA 输出。 根据数据表、我将 DAC 值(代码值)写入 DAC7750_WRITE_DAC_register (0x01)。 然而、对于代码值15-32 、我们将获得随机 mA 输出(8个-19 mA 之间)。 另外、对于输出的值1376 - 1392 4mA、DAC 输出的 mA 对应于所有其他值。


空 Init_DAC7750 ()
{
DAC7750_LATCH_Pulse ();
SPI_CLR_PIN_HIGH;
__delay_cycles (10);//最小延迟40ns
SPI_CLR_PIN_LOW;

DAC7750_Reset ();
DAC7750_Nop ();
DAC7750_WriteReg ((DAC7750_RANGE_4mA_20mA + DAC7750_OUTEN)、DAC7750_WRITE_CONTROL_REGISTER);
DAC7750_WriteReg (0、DAC7750_WRITE_CONFIGURATION_寄存 器);
DAC7750_WriteReg (0、DAC7750_WRITE_GAIN_CALIBRATION_寄存 器);
DAC7750_WriteReg (0、DAC7750_WRITE_ZERO _CALIBRATION_寄存 器);


void SetmAOutput (unsigned int guimAOutput)  // 发送到该函数的值15-32和1376-1392。
{
无符号 int Write2DACReg;
nop();
Write2DACReg = guimAOutput;
Write2DACReg = Write2DACReg <<4;
nop();
DAC7750_WriteReg (Write2DACReg、DAC7750_WRITE_DAC_register);//ms_delay (1000);


空 DAC7750_WriteReg (unsigned int writeValues、无符号字符地址)
{
uint8_t wRtospi[3];

wRtospi[0]=地址;//addreess
wRtospi[1]=(writeValues 和0xFF00)>> 8;//更高字节
wRtospi[2]=(writeValues 和0x00ff);//低位字节

Write_SPI (wRtospi[0]);//将地址写入 SPI
Write_SPI (wRtospi[1]);//将较高字节写入 SPI
write_spi (wRtospi[2]);//将较低字节写入 SPI

DAC7750_LATCH_Pulse ();  

如果我缺少任何内容,请检查并恢复。
谢谢你。



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

    Vyankatesh、


    我注意到的第一件事是、问题似乎涉及到间隔为16的代码、这通常是一种编码问题。 遗憾的是、我不太擅长编码、因此我无法很好地审核您的代码。

    无论问题是什么、但有一些方法可以帮助对其进行调试。 我首先会用示波器观察进出器件的数字线路。 具体而言、我会查看 SCLK 锁存 DIN 和 SDO、以了解它们不存在数据表第13页所示的时序问题。 如果您获得了示波器屏幕截图、请获取图片并将其发布在此处。 我还将确保正确构建 SPI。 对于该器件、DIN 在 SCLK 的上升沿锁存、我还将确保/CS 线路在整个 SPI 事务期间为低电平。

    需要检查的一点是写入 DAC 数据、如果输出中的值不正确、请尝试读回 DAC 数据、以查看器件是如何解释接收到的信号的。

    如何测量电流? 您是否使用测试电阻器并测量反向电压、还是使用电流表?

    不管怎样、请浏览我的评论和问题、然后与我联系。


    约瑟夫·吴