我有一个 PIC32连接到 ADS114S08、我尝试发送 RREG 命令并读取它、但我得到的只是垃圾。 我已按照设置 SPI 的步骤进行操作、并检查 CS 引脚是否为低电平。 其他的一切都很好 但无法使用 ADC 或使其响应。
您是否有任何用于初始化 PIC32的 SPI 和发送一条基本命令的代码?
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.
您好、Rohan、
我认为最大的问题是、您在 SCLK 的错误相位上计时数据。 数据应在 SCLK 的上升沿发生变化、并在下降沿保持稳定。
第二件事是、您似乎没有发送足够的时钟。 RREG 命令是两个字节、后跟一个 NOP 以检索数据。 因此序列为0x21 (从寄存器1开始读取寄存器命令)、0x00 (读取1寄存器)、0x00 (传输 NOP 以收集数据)。 此外、在整个通信过程中、CS 必须保持低电平。
此致、
Bob B
您好、Rohan、
在每种情况下、您都会对输出缓冲器中的数据计时。 它显示为负满量程(0x8000)、并且由于数据位于环形缓冲器中、因此数据每16个 SCLK 重复一次、因为命令不会被解码。 好消息是器件正在响应。
但是、似乎没有数据进入 ADS114S08。 验证示波器屏幕截图上显示的数据也发生在 ADS114S08的 DIN 引脚上。 检查 DIN 和 CS 引脚之间是否存在短路、其中 DIN 可能与 CS 一起保持低电平。
此致、
Bob B
您好、Rohan、
如果一个转换发生并完成、转换结果被自动放置在输出缓冲器中、并且将保持在该缓冲器中、直到一个新的转换完成或者一个命令用一些其它数据更新缓冲器。
您可以将原理图发送给我吗? 您使用的是哪种器件封装?
当您"检查连接"时、您是否实际探测了 ADS114S08上的引脚、而不是过孔或测试点? 例如、如果您具有建议的与数字信号串联的串联电阻、则可能是电阻器开路或焊点不良。
此致、
Bob B
尊敬的 Bob:
是的、我确实探测了 ADS114S08上的引脚并检查了连接。 我将与您分享原理图。 我正在使用 Microchip.e2e.ti.com/.../PIC32-Schematic.pdf 上的 PIC32
e2e.ti.com/.../2620.ADC-Schematic.pdf
请告诉我您的想法。
您好、Rohan、
我不确定此时应该如何进行故障排除。 我想验证总线是否正常工作。 是否在每次尝试通信后为 ADS114S08切换 CS? 使用 CS 将在内部复位 SPI 总线并清除通信中可能出现的任何干扰。
您如何探测通信? 我在您的原理图中看不到任何测试点。
我会再次使用欧姆计检查 DIN 引脚是否未短接至 CS 或 ADS114S08的 GND。 我还会使用欧姆计检查信号线路是否开路或微控制器和 ADC 之间的电阻过高。
此致、
Bob B