Other Parts Discussed in Thread: ADS124S06, ADS124S08EVM
主题中讨论的其他器件: ADS124S08EVM
你好!
我们将 ADS124S06连接到 Atmel SAMD21、对于数据表(图111)中建议的所有数据线路、使用47欧姆直列式电阻器、但-DRDY (引脚13)除外。 START/SYNC (引脚8)和 CLK (引脚17)连接至 DGND。 ADS124S06安装在定制测试板上、SAMD21安装在 SparkFun 分线板上、与我们的测试设置一样、电路板之间的连接通常通过短跳线完成。
AVCC 连接到+2.5V、AVSS 和 AVSS-SW 连接到-2.5V、IOVDD 和 DVDD 连接到+3.3V。
我的 SAMD21软件向引脚18发送复位脉冲、等待2毫秒、然后通过读取所有18个寄存器开始、发出0x20、0x11、后跟18个0x00字节。 我希望读回两个字节的垃圾邮件、后跟默认寄存器值(0x00、0x80、0x01、0x00、0x14、 0x10、0x00、0xFF、...)。 我返回0x00的20个字节。 SPI 时钟大约为1MHz、将 SPI 时钟降低到大约100kHz 完全没用。
我已验证 SAMD21 SPI 接口是否正常。 ADS124S06主动将 MISO 强制为低电平。 SPI 信号在示波器上看起来正常。 ADS124S06在-DRDY 线路(引脚13)上发送脉冲、因此我的 SAMD21软件会尝试使用 RDATA 命令(0x12)后跟0x00字节来读回样本。 它回读0x00流。 我们已经仔细检查和三重检查了布局、焊接、可能的短路等、因此它不是由微小的硬件故障引起的。
为了排除任何软件问题、我们购买了 ADS124S08EVM 评估板、组装了 J3接头、并使用 TI PC 软件进行了简单的寄存器值读取测试。 裸板按预期读回寄存器。 尝试使用示波器上的1:1探针(1 MOhm || 13pF)测量 SPI 信号 CS 和 SCLK 会导致 PC 软件像在我们的测试设置中那样将所有寄存器读回0x00。 将 SCLK 切换到10:1探针会导致预期值和0x00之间发生随机切换。 将 CS 探头切换到10:1也可以得到稳定的值。 通过将另外两个10:1探针连接到 MISO 和 MOSI、我们可以观察 ADS124S08EVM 上的寄存器读出是否按预期工作。 完全相同的0x20、0x11和18次0x00序列被发出、在两个垃圾字节之后、寄存器默认值被读回。
我们的测试板通常未连接示波器、但仍然仅返回0x00。
所以:
为什么我们测试板上的 ADS124S06会持续返回0x00?
为什么 ADS124S08EVM 在使用1:1探头(1 MOhm || 13pF)探测 SPI 线路时显示相同的行为?
ADS124S0x 是否需要一些额外的硬件才能与通用3.3V 微控制器的 SPI 接口进行通信?
提前感谢。