硬汉嵌入式论坛

 找回密码
 立即注册
查看: 984|回复: 6
收起左侧

[技术讨论] 求问SPI多设备切换读数异常原因??

[复制链接]

34

主题

206

回帖

308

积分

高级会员

积分
308
发表于 2024-9-30 16:47:36 | 显示全部楼层 |阅读模式
本帖最后由 LinY 于 2024-9-30 17:05 编辑

STM32F407VET6
SPI2下通过CS片选接了多个设备
其中有一个AD7190,
一组LED灯(LED指示灯数量是6个,型号是WS2812B。RGB全彩的且内置驱动电路,可通过通讯接口向串联的多个LED发送数据指令来实现多姿多彩的显示效果。通讯协议为单线归零码 )
其他设备测试不会影响到,就不初始化了。
测试未使用rtos。


因为SPI配置不一样,切换读数时 SPI2会重新Init,然后2个片选都先关闭,再打开需要的片选。

目前情况 分别进行只进行单一的SPI初始化 发送接收都是正常的。
如果循环初始化SPI,切换片选收发的情况下,LED灯显示一直正常的,AD7190收发返回状态正常未报错,但是adc读数是不对的,他给的读数一直是满量程的

CS引脚我测了 分别读数时都是正常的,读的设备片选会切换低电平,不读的设备一直高电平。

各位大佬求问下可能的原因?

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2024-10-1 00:51:08 | 显示全部楼层
我们的SPI总线管理也是这样使用的。

楼主可以这样试试,就是配置好后,直接用于AD7190,先不要切换其它外设通信,看看正常不,如果正常的话。再切换一次回来看看,基本就可以锁定问题。
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
 楼主| 发表于 2024-10-8 08:34:22 | 显示全部楼层
eric2013 发表于 2024-10-1 00:51
我们的SPI总线管理也是这样使用的。

楼主可以这样试试,就是配置好后,直接用于AD7190,先不要切换其它 ...

不切换只读AD7190正常的
回复

使用道具 举报

1

主题

47

回帖

50

积分

初级会员

积分
50
发表于 2024-10-8 08:36:13 | 显示全部楼层
感觉还是你切换SPI模式时出问题了
回复

使用道具 举报

6

主题

306

回帖

324

积分

高级会员

积分
324
发表于 2024-10-8 08:40:18 | 显示全部楼层
逻辑分析仪,这些是必不可少的,便宜的一两百,否则有时候简单的问题很难查找.
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2024-10-8 09:23:45 | 显示全部楼层
LinY 发表于 2024-10-8 08:34
不切换只读AD7190正常的

大概率就是你的切换配置有问题。
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
 楼主| 发表于 2024-10-8 10:01:34 | 显示全部楼层
eric2013 发表于 2024-10-8 09:23
大概率就是你的切换配置有问题。


我又找了另外几块设备测试,都正常的
我怀疑是LED周边硬件上有问题,导致回流之类的,让他们排查去。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 11:56 , Processed in 0.041004 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表