GD32F103模拟3线SPI通信问题

[复制链接]
 楼主| zyftank 发表于 2024-11-21 10:25 | 显示全部楼层 |阅读模式
本帖最后由 zyftank 于 2024-11-23 17:44 编辑

最近用GD32F103CBT6读一个3线SPI接口的ADC——芯海的CS1239,因为把连接画错了,只能用IO模拟SPI进行通信,但是在读取ADC芯片寄存器值的时候,一直返回0x00,我用万用表量了一下ADC的CS和SCK的PIN脚,都是高电平,SDA一直是低电平,不知道是什么原因,求大佬位帮忙看一下程序。
LcwSwust 发表于 2024-11-21 10:41 | 显示全部楼层
要想用万用表测,那得把每一步的延时加到特别大(比如1秒)才行.
建议准备一个示波器.
cs1239_read_reg就有问题,在读数据前怎么有个SDA_OUTPUT,不应是SDA_INPUT吗?
 楼主| zyftank 发表于 2024-11-21 10:48 | 显示全部楼层
LcwSwust 发表于 2024-11-21 10:41
要想用万用表测,那得把每一步的延时加到特别大(比如1秒)才行.
建议准备一个示波器.
cs1239_read_reg就有问 ...

cs1239_read_reg读寄存器值的时候,要先发读指令和地址,所以先是SDA_OUTPUT,发送指令后再改成SDA_INPUT。
LcwSwust 发表于 2024-11-21 10:58 | 显示全部楼层
zyftank 发表于 2024-11-21 10:48
cs1239_read_reg读寄存器值的时候,要先发读指令和地址,所以先是SDA_OUTPUT,发送指令后再改成SDA_INPUT ...

哦,是我没看仔细.
最好是用示波器看看波形,
如果没示波器,就用利用单片机的ADC造一个示波器.
xionghaoyun 发表于 2024-11-21 11:38 | 显示全部楼层
学习一下
两只袜子 发表于 2024-11-21 15:21 | 显示全部楼层
GPIO引脚连接是否正确
elephant00 发表于 2024-11-21 15:23 | 显示全部楼层
参考GD32F103CBT6和CS1239的数据手册
jcky001 发表于 2024-11-21 16:00 | 显示全部楼层
检查硬件连接是否有任何短路或断路情况。
cr315 发表于 2024-11-21 17:00 | 显示全部楼层
使用示波器来观察CS、SCK和SDA的波形是否符合SPI通信的规范。
 楼主| zyftank 发表于 2024-11-22 07:31 | 显示全部楼层
我将SDA设置成OUT_PP,然后将SDA拉高,用万用表测量只有0.9V,这是芯片坏了?
 楼主| zyftank 发表于 2024-11-23 17:44 | 显示全部楼层
搞了半天,最后是ADC芯片坏了。
p0gon9y 发表于 2024-12-17 21:52 | 显示全部楼层
其实估计是你的模拟SPI没配置好导致的,要不就是芯片坏了

kaif2n9j 发表于 2024-12-18 20:11 | 显示全部楼层
我觉得你可以断开ADC,直接接逻辑分析仪试试,看看时序是啥样的

l1uyn9b 发表于 2024-12-18 21:46 | 显示全部楼层
看看你的外围电路呢?是不是设计的不对劲啊?

g0d5xs 发表于 2024-12-19 19:18 | 显示全部楼层
软件模拟SPI时序问题,通过IO口模拟SPI通信需要精确控制时序。如果软件中的SPI时序模拟不正确,可能会导致数据读取错误。请仔细检查您的SPI通信协议实现,确保所有时序和延迟都正确模拟。

lamanius 发表于 2024-12-19 23:49 | 显示全部楼层
确保正确初始化了ADC芯片CS1239,并且所有必要的寄存器配置都已正确写入。如果初始化或配置不正确,可能会导致读取失败。

zhizia4f 发表于 2024-12-20 07:22 | 显示全部楼层
ADC芯片CS1239的问题,虽然使用万用表测量CS和SCK引脚为高电平,SDA引脚为低电平,但这并不能完全排除芯片本身的问题。可以尝试重新检查连接,确保所有连接都正确无误,并且没有短路或断路的情况。

y1n9an 发表于 2024-12-20 09:36 | 显示全部楼层
电源问题,确保ADC芯片CS1239的电源供应正常。如果电源不稳定或不足,可能会导致芯片工作不正常。

su1yirg 发表于 2024-12-20 16:11 | 显示全部楼层
软件读取逻辑错误,检查软件的读取逻辑是否正确。有时候软件中的错误逻辑可能导致读取失败。

q1ngt12 发表于 2024-12-20 18:20 | 显示全部楼层
检查并优化软件模拟SPI的代码,确保时序和协议正确。最好用逻辑分析仪试试

您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

26

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部