主题中讨论的其他器件:ADS52J90、 TSW1400EVM、 ADS5294EVM
在找到问题解决方案之前、我的原始线程已锁定。 请参阅文章了解完整的背景信息。
https://e2e.ti.com/support/data-converters/f/73/p/892927/3320071#3320071?jktype=e2e
总之、我在与 ADS52J90EVM 板上的 ADS52J90芯片通信时遇到问题。 我 没有连接 TI 支持的主机 FPGA 卡(TSW14J56EVM 或 TSW1400)。 而是将 ADS52J90EVM 连接到 ZC706板。 我正在使用 FTDI D2XX 库和一些 C 代码在位传输模式下控制 SPI 总线。 我完全知道、我需要自己设置 ADC 和时钟分配芯片中的所有寄存器设置、而无需支持主板。 但是、我无法让 ADC 读回任何寄存器以确认我的寄存器写入正确。
我的测试如下。
写入地址0x00 = 0x0001来复位 ADC 芯片
2. 写入地址0x0A = 0x3000以初始化 ADC 芯片。 ADS52J90数据表中指定了此步骤。
写入地址0x01 = 0x0094作为寄存器写入的测试。 这应将 ADC 配置为16通道输入模式。
写入地址0x00 = 0x0001以启用寄存器读回模式。
5、读取地址0x01。
6、读取地址0x00。
问题是每次执行读取时、我只会看到 SDOUT (SPI-MISO)为0。 我使用逻辑分析仪探测 SPI 总线引脚、以确认事务是否符合数据表。 我甚至已经用示波器进行探测、再次检查逻辑分析仪是否正在正确读取 SDOUT 测试点。
我怀疑我的原始线程中有两件事情经过了测试。
可能 ADS52J90需要系统时钟才能使寄存器正常工作。
我将 具有80MHz 时钟输出的信号发生 器连接到 ADS52J90EVM 的 J75 SMA 输入。 我重新运行 SPI 测试并获得相同的结果。 SDOUT 始终读回0。
ADS52J90可能具有最小 SCLK 速度、即使它未在数据表中列出。
我的原始测试使用 python 脚本对 SPI 事务进行位通信、并且运行速度非常慢。 SCLK 大约为几 kHz。 此后、我已将测试代码更新为 C 并使用 FTDI D2XX 库。 SCLK 现在的运行频率大约为3MHz、低于数据表中指定的最大20MHz。
我缺少什么? 此时、我开始认为 ADC 已损坏。
谢谢、
Chris