你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32实战经验:STM32F0系列主板与CR95HF芯片之间的SPI通信问题

[复制链接]
西奥伟 发布时间:2019-2-28 10:29
本阶段正在做一个有关CR95HF芯片的项目,首先是在对CR95HF库的移植所遇到的问题,然后,就是CR95HF硬件调试的问题。3 ?5 U5 \4 a$ {. P
问题现象1:从CR95HF芯片原来的F1库的源代码移植到自己的项目F0库中,移植完源代码之后,用示波器调试发现SCK引脚以及MOSI引脚都没有波形?
* t3 K- ?7 S" G* L* B' Y8 j- L. i7 Q
7 U  x/ Y1 V6 O- I经过检查对比移植的代码与源码库中的代码,唯一变动的部分就是GPIO引脚的不同,源码库中所使用的GPIO引脚是复用的SPI1,而自己项目中使用到的GPIO引脚是NSS->PB12 ,SCK->PB13,MISO->PB14, MOSI->PB15。于是,首先检查了SPI1和SPI2复用的不同点,SPI1是挂载在外设APB2上面的,SPI2是挂载在APB1上面的。检查了对应的时钟源是否使能,最后,发现我使用的SPI2的时钟源是正常打开的。经过了一遍又一遍的对比,最后,发现自己在配置硬件SPI的GPIO引脚上面犯了差错,自己将MISO引脚配置成了PB15,MOSI引脚配置成了PB14,恰恰将这两个引脚接反了。将这两个引脚交换回来以后,用示波器能够正常测试出SCK波形图。
" b, m7 o  I. v- f0 k9 b  J0 g' K, {7 L; I' o
问题现象2:调试硬件CR95HF模块的初始化部分的代码,发送轮询POLL命令,MCU收到的数据一直是0xFF,不是正确的响应数据0X0800,使用示波器检测主板的SCK引脚,MOSI引脚,MISO引脚,SCK引脚和MOSI引脚都有正常的方波出现,MISO引脚一直为高电平?9 R* A* L& g* @' i& t- B: z  M

9 H% l' ]: j2 H% R最开始,根据模块的数据手册查看,以为是主板的NSS引脚没有起作用,会造成MOSI引脚发送的数据无效,MISO引脚呈高阻抗状态,但是,经过测试发现NSS引脚的电平是正常的,活跃的状态。又调试花费了一大半天之后,根据自己的这一现象查询了知识点,发现可能是硬件方面的原因,第一种可能就是CR95hf硬件模块的问题,根本就没有工作起来,没有给我的主板回复数据。第二种可能就是主板的问题,主板的pin脚网络连接问题,故核对引脚接线图,最后,发现原理图当中的主板的MISO引脚接到CR95HF模块的MOSI引脚上,主板的MOSI引脚连接到CR95HF模块的MISO引脚上面,硬件pin脚交叉接反了,最后,飞线把顺序换回来,SPI通信正常。
# ?1 `  p, E& E! _: T3 N; ]- |
赞 收藏 评论2 发布时间:2019-2-28 10:29

举报

2个回答
Kevin_G 回答时间:2019-2-28 19:30:30
这问题。。。
西奥伟 回答时间:2019-3-4 14:16:17
Kevin201707 发表于 2019-2-28 19:30- H+ @& x. q1 a1 O
这问题。。。
. e# L7 x. ]- Q  J1 Q/ s# n9 M
一跳一个坑

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版