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.

[参考译文] ADS1148:与控制器TMS320F2.8377万D连接

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/657878/ads1148-interfacing-with-controller-tms320f28377d

部件号:ADS1148
线程中讨论的其他部件:TMS320F2.8377万DMSP-EXP430F5529LPADS1605REF5020

大家好,


我希望 将ADS1148与控制器TMS320F2.8377万D连接到SPI通信。 如果我能得到这方面的代码,这将非常有帮助。 是否可以保持引脚IEXC0和IEXC1打开? 我还想知道,如果我处理的是0V - 3.3V的工作电源 电压范围,我应该将什么连接到AIN0和AIN1的引脚REFP0和REFN0?

是否有任何其他ADC与相同的控制器兼容并具有MSPS采样?

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

    AMI,


    我不知道有什么专门针对TMS320F2.8377万D的代码。 但是,以下链接应该具有一些用于ADS1x4x器件的固件示例代码。

    www.ti.com/.../sbac144

    代码本身是使用Launchpad MSP-EXP430F5529LP开发的,但它可能是您的良好起点。

    对于其他问题,可以让IEXC0和IEXC1保持打开状态。 如果您没有使用REFP0和REFN0作为外部参考,并且使用内部参考或REFP1和REFN1作为外部参考,则您也应该能够保持REFP0和REFN0打开。

    我认为没有类似于ADS1148的转换器具有MSPS范围内的速度。 从我支持的 Δ-Σ 类型的器件来看,ADS1605是为数不多的具有此类速度(5MSPS )的器件之一,但它是单通道,不具有Mux或ADS1148上所见的其它功能。 可能还有其他SAR类型的设备对您有帮助。 如果您想到的是特定的应用程序,只需描述一下,我们就可以满足您的需求。


    吴若瑟

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

    谢谢Joseph,

    所以我用0.1uf电容器将AVdd连接到3.3V,用AVss连接到地,用DVdd和DGnd引脚连接,并在VREFOUT和VREFCOM之间连接1uf电容器。 我还想知道我应该做什么来提供REFP0和REFN0引脚的内部参考? 它不会因 控制器引脚上的ADS1148额定电流而损坏TMS320F2.8377万D控制器? PGA设置的作用是什么?

    此致,

    AMI

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


    对于任何ADC,模拟输入将与参考电压进行比较,输出数据是表示该比率的数字。 对于ADS1148,您可以选择2.048V的内部参考电压,也可以选择外部参考电压。

    如果您决定使用内部参考电压,则需要启用由VREFCON位设置的参考,然后选择由REFSELT位设置的用于测量的内部参考电压。 这些位可以在MUX1寄存器中找到。

    如果您决定使用外部参考电压(使用类似REF5020的电压或其他外部电压),则您可能需要使用REFP0/REFN0针脚或REFP1/REFN1针脚。 您不需要打开内部参考,除非您需要它用于其他功能(如IDAC电流源或系统监视器功能)。 与以前一样,选择参照是由REFSELT位设置的。

    ADS1148具有PGA (可编程增益放大器)。 此PGA能够放大模拟输入(增益为1至128,因子为2)。 这使设备能够以高分辨率测量非常小的信号。 PGA的结构类似于仪表放大器。 请注意,PGA具有某些输入和输出限制,这些限制在数据表中列出。

    我认为只要连接正确,将TMS320F2.8377万D与ADS1148连接就不会有任何问题。 通常情况下,设备之间不会有高电流。

    出于好奇,您尝试测量什么? 如果您考虑到特定的应用程序,也许您可以查看可用的设计。


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

    我已根据数据表中写入的伪代码准备了代码。 根据SPI的串行通信进行连接。 我想检查AIN0和AIN1引脚电位计的3.3V电压,我们正在CCS中与TMS320F2.8377万D通信。 即使将波特率设置为低,我们也不会使用于数据传输的DRDY引脚过低。 代码未进入传输ISR环路。 问题是什么?

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

    AMI,


    我要检查的前两个针脚是/reset和起始针脚。 两者都应高,设备才能运行。 如果其中一个值较低,则设备要么处于重置状态,设备未运行,要么基本上处于休眠模式。

    如果您使用DOUT/DRDY引脚检查准备就绪的数据,则在检查时确保/CS为低电平。 如果/CS不低,则DOUT/DRDY引脚处于高阻抗状态。

    您是否能够从设备读取寄存器? 这将是一个很好的测试,以确定通信是否正确。

    如果您无法读取寄存器,我将获得SPI通信的范围快照,显示DIN,DOUT,/CS和SCLK的详细信息。


    吴若瑟

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

    谢谢Joseph,

           我检查了连接,都很好。 是的,我可以读取 寄存器。 唯一的通信问题是当DRDY引脚将变低时,我将获得数据,但在任何情况下都不会变低。 我已在下面插入代码,请查看我的错误位置并告知我更正。

    e2e.ti.com/.../ads1148.c

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

    AMI,

    ADS1148应启动至工作状态。 为了快速了解一下,我使用了ADS1148EVM。 下面是设备的图片,其中包含一些重要节点:

    在这里,我只需要将+5V连接到AVDD,DVDD,START和/RESET。 然后将0V连接到GND和AVSS。 没有与主中继器的连接,我也不会尝试读出数据。

    这是我在查看/DRDY时得到的反馈:

    设备启动后,我将收到数据就绪信号,该信号每200毫秒发生一次(数据速率为5SPS)。 只要我不让设备断电,重置或保持低启动,它就应该进行转换。

    我在您的代码中看不到任何会停止设备的内容,但我可能错过了一些内容。 不管怎样,除非板上的连接不良或SPI通信不良,否则设备应自行通电。

    吴若瑟

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

    约瑟夫

         感谢您检查EVM板Joseph。 是否必须在AIN0和AIN1上提供差分输入? 如果我给AIN0提供3.3V单极电源,给AIN1提供接地,这是不是错误的方式? 你能不能推荐我在连接侧遗漏的任何其他东西。

    此致,

    Ami Bhadauria

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

    AMI,


    要检查常规通信,您甚至不需要连接AINx引脚。 在我显示的最后一篇文章中,我没有连接任何模拟输入。

    但是,如果您确实要检查一些基本测量值,我通常会先将输入与中置电源绑定,以检查偏移。 它不可能精确到0伏。 我不会将输入与AVDD和AVSS (您的3.3V和0V点)关联。 这会超出调制器的范围(但不应伤害设备)。 读数应为7FFFh。

    您可以读取的一个是温度传感器。 启用时,您应获得相当于118mV的ADC读数。 这是一个很好的非零值,需要检查。

    如果您在刚刚获得/DRDY时仍有问题,我建议您检查原理图并验证所有连接,以确保没有任何未错误连接的东西。 如果您愿意,请张贴您的示意图,以便我查看。



    吴若瑟

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

    您好,Joseph:

        在上图中,我大致展示了如何连接我的针脚。

    此致,

    AMI

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


    我不确定是什么错了。 我与ADS1148的连接比您的设置少,并且我可以看到/DRDY随新数据的上升和下降。 我的设置是基本的。

    我首先要确认您没有任何不良连接。 检查针脚图上的所有针脚,确保针脚顺序正确无误。 确保焊锡连接没有损坏。 我还要检查与微处理器的所有数字连接的状态。 可能您有一个GPIO设置为输出,它应该是输入(反之亦然)。

    如果您能够读取和写入寄存器,我会将DRDY模式设置为1 (IDAC0寄存器位3),并在/CS为低电平时观察DOUT/DRDY引脚,以查看/DRDY是否出现在那里。

    此时,我还会考虑移除将器件连接到微处理器的所有电阻器,看看ADS1148是否工作正常。 如果您认为设备可能损坏,我也会考虑更换它。


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


    您是否查看过我上一篇文章并执行了我描述的一些测试? 正如我所提到的,我认为除非主板或设备存在一些问题,否则查看/DRDY引脚状态应该比较容易。

    由于您尚未发布回复,我现在将关闭该帖子。 但是,如果您想跟进,请随时重新发布到该主题。 一段时间后,线程将锁定。 如果是这样,只需启动另一个帖子。


    吴若瑟