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:在 IOUT 引脚上未获得电流输出

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1039407/dac7750-not-getting-current-output-at-iout-pin

器件型号:DAC7750

您好!

我已经在 SPI 总线上将 PIC 控制器连接到 DAC7750、并为两个电路提供了一个公共电源(12V 直流)。 我能够写回所有寄存器、如控制、配置、DAC 数据寄存器等

我已经检查了 DVDD=4.6V、REFIN=REFOUT=5V、R3-SENSE =BOOST=AVDD=12V 时的电压、根据数据表、这些电压也很好。 我在这里分享了一个原理图、其中有什么问题?

//Following is the initialization code for DAC7750,

//-----------------------------------------------------------------------------------------------------------------------------------------------------

void Init_DAC7750(void)
{
uint16_t data;
char lbuf[100];
//IC reset command.
DAC7750_Write_Register(DAC7750_ADDR_WR_RESET,0x0001);
__delay_ms(100);
//External current setting resistor disable, Output enable, Slew Rate disable, Daisy-chain disable, Output range = 4-20mA.
DAC7750_Write_Register(DAC7750_ADDR_WR_CTRL,0x1005);
__delay_ms(10);
data = DAC7750_Read_Register(DAC7750_READ_CTRL);
sprintf(lbuf,"Control register value=%X\r\n",data);
Tx_String(lbuf);
//calibration enable, HART interface disable, frame error checking disable, Watchdog timer disable
DAC7750_Write_Register(DAC7750_ADDR_WR_CFG,0x0020);
__delay_ms(10);
data = DAC7750_Read_Register(DAC7750_READ_CFG);
sprintf(lbuf,"Configure register value=%X\r\n",data);
Tx_String(lbuf);

DAC7750_Write_Register(DAC7750_ADDR_WR_DAC_GAIN,0x8000);
__delay_ms(10);
data = DAC7750_Read_Register(DAC7750_READ_DAC_GAIN);
sprintf(lbuf,"Gain register value=%X\r\n",data);
Tx_String(lbuf);

DAC7750_Write_Register(DAC7750_ADDR_WR_DAC,0x0000);
__delay_ms(10);
data = DAC7750_Read_Register(DAC7750_READ_DAC_DATA);
sprintf(lbuf,"DAC register value=%X\r\n",data);
Tx_String(lbuf);
}

//--------------------------------------------------------------

输出端子是我所期望的、

控制寄存器值=1005

配置寄存器值=0020

增益寄存器值=8000

DAC 寄存器值= 0

//--------------------------------------------------------------

这意味着我的代码工作正常、但当我连接数字万用表以检查电流时、即使我向 DAC 数据寄存 器加载0xFFF0值、电流始终为0mA。

请在这方面帮助我。

此致、

桑托什。

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

    您好、Santosh、

    我将您的问题转交给我的团队 Joe 先生、他将在今天结束前作出答复。

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

    尊敬的 A. Mani:

    提前感谢。

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

    Santosh、

     

     

    我在原理图中没有发现任何问题、看起来您已经验证了电源、DVDD 和基准电压。 以防您将其与 EVM 原理图进行比较。 此外、如果您可以从寄存器进行写入和回读、我还想您已正确连接数字通信。 只需确保回读正确即可。

    如果您将控制寄存器设置为0x1005、则意味着您已启用输出并将范围设置为4-20mA 范围。 当增益校准范围设置为0x8000并且配置寄存器中的用户校准启用为0x0020时、器件应提供预期的输出代码。

    查看这些寄存器、我不会看到任何可能出错的东西。

    复位寄存器0x0001 -写复位(我会写回0x0000、但它不应起作用)  

    数据寄存器0x0000 -设置为最小值

    控制寄存器0x1005 - DAC 输出被启用、范围设定为4 -20mA

    配置寄存器0x0020 -启用用户校准

    增益系数寄存器0x8000 -代码输出与 DAC 代码等效

    在这些设置下、输出应至少为4mA。 我已经使用 EVM 对此进行了测试、并针对此设置读回寄存器。 使用电路板上的300欧姆负载、我可以看到输出基本上为1.2V。  

    我不确定您的设置为何不设置输出、但我会首先检查所有电路连接。 您在设置中使用了什么电阻负载?  

     

     

    吴约瑟

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

    尊敬的 Joseph:

    感谢您的回复、

    我读回了所有寄存器、并得到了您在第一次查询中看到的正确值、即我在串行终端上发送了回读值。

    我在输出端子上使用了470欧姆的电阻作为负载。 由于我在电阻器上获得0Voltage、因此 即使我更改 DAC 寄存器的值、电流始终为0V。

    警报、升压和 HART 通信未实现、我已连接原理图中所需的基本最低连接。

    EVM 和 Mine 原理图之间的唯一区别是外部 ISET-R 寄存器和 HART 通信实现、这对输出有什么影响?

    此致。

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

    Santosh、


    我曾认为您使用了内部电阻器。 您的图中未显示使用 ISET-R 电阻器的电阻器(引脚13显示为悬空-但应该已接地)、您仍需要将控制寄存器的 DB13设置为高电平。 将该位设置为高电平将启用外部电流设置电阻器。 在这种情况下、控制寄存器写入值为0x3005。

    您能给我展示一下您的设置照片吗? 我在过去看到的一件事是在电路板上焊接了一个器件、与下面的器件类似:

    其中一个问题是 DAC7750在器件下方有一个散热焊盘。 由于器件下方的引线较长、因此它们与散热焊盘接触、引脚短路。 希望这对您来说不是问题。 通信正常、但 DAC 输出仍然为低电平、我将检查以确保 DAC 清零引脚为低电平。 它是可能影响 DAC 输出的其他因素之一。 此外、我将禁用用户校准。 此时、我将简化操作并仅使用正常的 DAC 代码。  

    同样、我在原理图中没有发现任何错误。 在大多数情况下、它类似于图62中的图、这是一种相当简化的操作。 但是、如果原理图中存在问题、 则使用 EVM 评估连接可能更容易。 如果您可以获得 DAC7750EVM、您仍然可以将微控制器连接到数字连接。

    吴约瑟

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

    您好、Joseph、

    是的、您是对的、我使用了内部电阻器、因此未连接外部电阻器(引脚悬空)。  

    我将一个成本较高的电路板焊接在极小的组件上、用于测试 DAC7750 IC 并从外部取出该电路板的导线。  

    为 IC 提供的封装尺寸 符合数据表、因此不会出现引脚短路的情况。 DAC 清零引脚(CLR)接地。 通过禁用校准、结果相同、Iout PI 没有输出。

    现在、我将尝试将 ISET-R 引脚 接地、并将很快通知您。

    此致。

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

    您好、Joseph、

    现在、我通过在所有组件上进行焊料接触、在 Iout 引脚上获得输出。

    但它仅在某些周期内有效、这意味着当我以1024的步长将 DAC 寄存器的值从0更改为4095时、输出仅在 某些周期内从4 - 8 - 12 - 16 - 20更改为4 - 8。 我在每一步之间插入了2秒延迟、以监控万用表上的电流。

    此致。

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

    Santosh、

    我很高兴您能够在 IOUT 上获得一些东西。 但是、您提到只能在某些周期中获得输出。 您认为这是数字错误还是其他一些连接问题?

    吴约瑟

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

    您好、Joseph、

    感谢您的友好合作、现在一切都正常工作通过焊接 CAP1和 CAP2电容器解决了这个问题

    谢谢、致以诚挚的问候。