TI论坛
直播中

刘辉

7年用户 1083经验值
私信 关注
[问答]

用ARM7的SPI做主机来访问PCM1802做AD,PCM1802设置为Slave Mode,SPI读不到任何数据,为什么?


  • 我用ARM7的SPI 做主机来访问PCM1802做AD,PCM1802 设置为Slave Mode,SPI读不到任何数据,PCM1802设置为主机时可以输出数据,就是副机不行,请大家帮忙看看!

回帖(2)

h1654155275.5916

5 天前
请参考芯片资料13页的时钟要求,之前有客户的时钟偏得太多,导致在slave mode下不能读取数据。请检查你的设计中时钟。如果还有问题,进一步分析。
举报

杨平

4 天前
根据您的描述,您在使用ARM7的SPI作为主机来访问PCM1802作为AD转换器时遇到了问题。PCM1802在Slave Mode下无法读取数据,但在Master Mode下可以输出数据。以下是一些可能的原因和解决方案:

1. 检查SPI接口连接:
确保ARM7和PCM1802之间的SPI接口连接正确。请检查以下连接:
- SCK(时钟线)连接
- MISO(主设备输入,从设备输出)连接
- MOSI(主设备输出,从设备输入)连接
- CS(片选线)连接

2. 检查SPI配置:
确保ARM7的SPI配置正确。请检查以下参数:
- 时钟频率:确保SPI时钟频率与PCM1802的时钟频率兼容。
- CPOL(时钟极性)和CPHA(时钟相位):确保这些参数与PCM1802的要求相匹配。
- 数据位宽度:确保数据位宽度与PCM1802的要求相匹配。

3. 检查PCM1802的配置:
确保PCM1802的配置正确。请检查以下参数:
- 模式选择:确保PCM1802设置为Slave Mode。
- 时钟频率:确保PCM1802的时钟频率与ARM7的SPI时钟频率兼容。
- 数据格式:确保PCM1802的数据格式与ARM7的SPI数据格式相匹配。

4. 检查代码逻辑:
确保您的代码逻辑正确。请检查以下方面:
- 初始化SPI接口:确保ARM7的SPI接口已正确初始化。
- 发送和接收数据:确保您正确地发送了启动信号,并在接收数据之前等待PCM1802准备好数据。

5. 检查硬件问题:
如果以上步骤都无法解决问题,可能是硬件问题。请检查ARM7和PCM1802是否有损坏或故障。

综上所述,您需要检查SPI接口连接、SPI配置、PCM1802配置以及代码逻辑。如果问题仍然存在,请考虑检查硬件问题。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分