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.

[参考译文] DAC8775:STM32F446RE显示与DAC8775无通信

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1094270/dac8775-stm32f446re-show-no-communication-with-dac8775

部件号:DAC8775

大家好

我面对的是DAC8775卡的输出,在任何通道上均可获得0.0mA的电流。  

DAC8775示意图

e2e.ti.com/.../DAC775_5F00_Schematics.pdf

时钟配置

main.c (用于通道A中的20mA输出)

设置:

1.时钟极性(CPOL):高

2,时钟相位(CPHA):1边

3.预分频器:32个

4. NSS信号类型:软件

5. CRC计算:禁用

PinConfig

如果我错了,请告诉任何人。。。

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

    穆罕默德

    我始终建议使用示波器或逻辑分析仪查看SPI通信。 查看微控制器和设备之间的数字通信非常重要。 对于这款设备,我会查看SCLK,SDIN,SDO和/SYNC行,看看您认为通信正是您所认为的。 一旦你可以抓住一个镜头,把它张贴回这个线程.

    另一个有用的测试方法是在其中一个寄存器中写入和读回。 您可以从状态寄存器中读取,这将为您提供1000小时的回读,但我也会尝试从其中一个DAC中写入和读回DAC数据寄存器。 使用除全部1或全部0之外的其他内容,您希望确保您正在读取真实数据。

    当我快速查看您的顺序时,我没有发现任何问题。 我通常会按以下方式设置顺序:

    重置
    启用降压-升压
    配置降压-升压(或仅使用默认值)
    启用参考
    配置DAC (范围和可能的代码)
    Enabel DAC输出

    如果可以,我会考虑获得DAC8775EVM。 它具有该设备,并通过USB使用SM-USB-DIG控制器进行控制。 软件GUI易于使用,您可以查看进出设备的数字线路,以根据您的主板和代码验证操作。

    不管怎样,首先要看看您的微控制器和板上的设备之间的SPI通信。 回顾您所看到的内容。

    吴若瑟

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

    您好,Joseph:

    感谢您的建议。 今天,我获得了用于SPI分析的新逻辑分析器。 捕获数据后,一切似乎正常,但在微控制器重置期间出现错误。  

    错误:时钟线剂量的初始状态与设置不匹配(总是在重置后出现)

    随附逻辑分析器趋势的屏幕截图。

    请说明这方面的问题。

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

    穆罕默德


    查看您的图解,我没有发现任何特别不正确的地方。 我认为这是您发送的顺序:

    1.0001万h DAC重置
    6.0001万h选择降压-升压转换器A
    7.0001万h配置降压-升压正极已启用,负极已禁用
    3.003万h选择DAC 0030 Enable SDO (启用SDO),已选择通道A
    04D01Ch配置DAC D01C电流限制24mA,HART禁用,输出启用,转换速率启用,4-20mA范围
    05FFFFh设置DAC数据寄存器

    此外,设置SPI后,数据在SCLK的下降边缘计时。 通常,我使用的SPI处于SCLK低怠速,但根据数据表图1中的计时图,这不是一个严格的要求。 而且SPI时钟运行速度比较慢,大约250kHz,但这也不是问题。

    我肯定会检查物理连接并确保SPI信号到达设备。 我也想稍微改变一下你的顺序。 启用SDO并写入03h后,我将尝试从设备读回。 现在,SDO线路上没有任何移动,最好首先确保设备上有任何通信。 如果您的SCLK无法到达设备,也会导致SDO上不发生任何事情。 再次确保在写入到03h后启用SDO。


    吴若瑟

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

    您好,Joseph:

    感谢您的回复。

    昨天,我忘记告诉您,上面的代码是DAC在 通道A处以0.32mA和9.99 Vdc响应

    根据我的请求,我捕获了SDO PIN数据,我将之前的代码与下面添加的读取功能保持相同

    逻辑分析器趋势(无代码重复的完整趋势)

    以下是重置后每个峰值的屏幕截图。

    在0xFF (05h)时,DAC通道A输出- 0.32mA,9.99 Vdc

    在 0x0FFF (05h),DAC通道A输出,0.03mA,1.01 Vdc时。 (此逻辑分析器数据中不包含此信息)

    不知道为什么电压会发生变化,尽管我们将其设置为4-20mA输出。

    不知道为什么电流如此低...

    请告知...

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

    穆罕默德


    很抱歉,我不理解您遇到的问题。 我以为您在通信方面遇到了问题,设备也没有给您回复。 但是,尽管响应不正确,但输出似乎随着来自设备的通信而发生变化。

    需要确保的一件事是启用参考,并且您可以在电路板上测量它。 如果没有引用,DAC输出将不正确,这可能是您看到的内容。 如果您使用的是外部参考电压,请确认参考电压正确,并且未启用内部参考电压。

    我经常使用EVM测试器件操作,通常使用以下方法启动器件:

    -使用重置引脚开始重置
    -启用降压-升压
    -开始参考
    -将IOUT和VOUT的关机条件设置为Hi-Z
    -设置DAC模式
    -启用输出
    -设置DAC代码

    这通常会设置设备以进行操作,我可以开始使用该设备。


    吴若瑟

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

    谢谢

    约瑟夫

    我方面有一个错误,未启用内部参考电压。

    我将02h设置为0x0013,它开始工作...

    再次感谢

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

    穆罕默德

    我很高兴您的系统能够正常工作。  

    我想提到的一点是,如果您使用转换速率模式设置值,我会在操作开始时使用引脚reset (而不是reset命令)。 我们注意到一些问题,即在使用转换速率模式时,如果不使用引脚重置启动,则可能无法跟踪输出。

    如果您有更多问题,请随时回复。

    吴若瑟