TI论坛
直播中

张玉英

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

为什么我的ADS8332寄存器无法写入?

请教一下,STM32F4采用SPI2模块接口作为主设备向ADS8332的CFR寄存器写入数据,时钟线空闲时高电平,在第二个时钟沿采集数据。但是不论写入什么配置数据(0xExxx),最后读取出来的数据总是0xfffe。请问这种情况是由于通信错误还是芯片已经坏掉了?波形图如下:前一段波形表示发送0xC000读取CFR配置,后一段波形表示发送0xE8FD配置CFR寄存器。

回帖(5)

关睿

2019-6-17 09:31:07
不要随意怀疑芯片坏掉了. 先验证一下供电和时钟信号, 再用示波器验证时序
举报

张玉英

2019-6-17 09:48:54
引用: shaoye88 发表于 2019-6-17 09:31
不要随意怀疑芯片坏掉了. 先验证一下供电和时钟信号, 再用示波器验证时序

谢谢,原因已找到,是我自身的问题。原因共有三:小大端模式写反,时钟极性写反,未仔细阅读datasheet。ADS8332的SPI传输模式正确配置如下:
SPI_InitTypeDefstruct.SPI_CPOL=SPI_CPOL_Low;
SPI_InitTypeDefstruct.SPI_CPHA=SPI_CPHA_2Edge;
SPI_InitTypeDefstruct.SPI_FirstBit=SPI_FirstBit_MSB;
错误贴出来望后来人不再走弯路。
举报

张玉英

2019-6-17 09:59:26
引用: shaoye88 发表于 2019-6-17 09:31
不要随意怀疑芯片坏掉了. 先验证一下供电和时钟信号, 再用示波器验证时序

谢谢,原因已找到,是我自身的问题。原因共有三:小大端模式写反,时钟极性写反,未仔细阅读datasheet。ADS8332的SPI传输模式正确配置如下:
SPI_InitTypeDefstruct.SPI_CPOL=SPI_CPOL_Low;
SPI_InitTypeDefstruct.SPI_CPHA=SPI_CPHA_2Edge;
SPI_InitTypeDefstruct.SPI_FirstBit=SPI_FirstBit_MSB;
错误贴出来望后来人不再走弯路。
举报

李子月

2019-6-17 10:07:28
请问你是用什么硬件平台做的实验?
ADS8332的  CONVST、  EOC 引脚是怎么连接的?
 
举报

更多回帖

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