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

STM32和一个器件进行SPI通讯时,最后一位出错。

[复制链接]
any_014 提问时间:2016-3-19 09:45 /
悬赏5ST金币未解决
主设备是STM32F103,从设备是AD7193模数转换芯片,读取时不对,以下为读的波形的最后几位时对应的SCLK和MOSI波形。
按说芯片应该是SCLK下降沿时MISO改变数据,SCLK上升沿时MISO采样。前边的波形都是这样的,就最后一位,SCLK上升沿时,MISO来了个正跳变。

怀疑是CS片选最后被拉高时,MISO也被拉高了,于是修改了下SPI读写函数,CS被拉低后,延时一段时间,再惊醒SPI读写,SPI读写结束后,延时一段时间CS再拉高。
结果,波形依旧。

scope_0.png

收藏 评论4 发布时间:2016-3-19 09:45

举报

4个回答
power568 回答时间:2016-3-21 12:42:50
把CS信号抓出来看看确认片选时序是正确的,另外确认SPI使用的模式是否正确...
any_014 回答时间:2016-3-21 16:56:47
power568 发表于 2016-3-21 12:42
把CS信号抓出来看看确认片选时序是正确的,另外确认SPI使用的模式是否正确... ...

CS波形:
scope_1.png

MISO波形:
scope_0.png

MOSI波形:
scope_2.png
power568 回答时间:2016-3-22 13:08:23
SPI是标准接口还是模拟时序的?确认使用的SPI是那个模式?
any_014 回答时间:2016-3-22 13:55:15
软件模拟SPI的。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版