打印
[其他ST产品]

srt73x SPI的问题

[复制链接]
2554|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
biao.l|  楼主 | 2008-9-8 16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近来应用SPI,发现不少问题,发个帖出来给大家看看,是我的错误还是STR73x的BUG
   1,应用SPI作从机时,SS脚悬空时,SPI照样接收数据,这个不是我的问题吧。
   2,应用SPI作从机时,时钟数据纠错功能几乎没有,热插拔CLK线,有时会发生数据错误,而这种错误在复位之前不可恢复。这个情况出现频率还挺高的。这个问题有点郁闷,如果途中重启主设备,中断时钟,发生这种情况的话就难办了,各位大大如何避免这个问题。可以软件纠错吗?
   3,应用SPI作从机时,错将主设备SCK接到MOSI上,它还能收到几百个字节的数据,此时从设备SCK悬空。
   STR有时用得还挺郁闷的,LPC就没有这些问题。
    
   
沙发
biao.l|  楼主 | 2008-9-8 17:17 | 只看该作者

还有

STR IO口配置我也有点迷惑,高手指点一下。

例如:串口RXD脚为什么是配输入功能的。而不是特殊功能脚,CAN也是,而SPI的是特殊功能脚的,是不是外设只接收的就配输入,有输出输入的就配特殊功能脚。
      有些IO口有两个特殊功能,如何选择第几功能呢?难道是处理器自动选择?

使用特权

评论回复
板凳
香水城| | 2008-9-8 17:30 | 只看该作者

楼主的用法不规范

SPI是一个系统中的高速数据通路,根本没有所谓热插拔的说法,也不能随意切断数据连接线,不允许SS脚悬空。像你这样不规范的用法,如果指望芯片能有好的反应。

使用特权

评论回复
地板
biao.l|  楼主 | 2008-9-8 17:36 | 只看该作者

回香版

我复位主设备,也出现上述第二个问题,实际应用中能出现主设备复位,从设备不复位的情况吧
另:其它公司的芯片能做到比较好,ST公司做不到,我们是不是可以怀疑一下ST公司的实力呢?

使用特权

评论回复
5
香水城| | 2008-9-8 18:05 | 只看该作者

如果主设备复位的话,你可以用示波器看看管脚上是否有异

哈哈,你可以怀疑ST的产品,也可以怀疑ST的实力,只要你有充足的证据支持这种怀疑;如果仅仅是怀疑,而没有严谨的实验证明,对谁都没有好处,ST没有得到正确的用户反馈而改进工作,而你可能仅仅因为怀疑ST而忽略了自己的错误或误解。


关于“其它公司的芯片能做到比较好,ST公司做不到”,我不知道你的设计是否合理,所以这种评价没有意义。

很多时候在一种芯片上适用的电路,并不一定适用于另一种芯片。比如,多数51芯片的I/O脚复位后默认是弱上拉输出,而ST MCU的I/O脚在复位后默认高阻输入,用51芯片驱动的外围电路也许不需接上拉电阻可以正常工作,而使用ST的MCU时则必须使用一个外接的上拉电阻,否则外围电路可能不能正常工作。

使用特权

评论回复
6
biao.l|  楼主 | 2008-9-9 09:33 | 只看该作者

ST IO口不是可以设置上拉输出或推挽输出吗


STR IO口不是可以设置上拉输出或推挽输出吗
    我在这里只是表明可能存在这样的问题,如果STR不存在这样的问题,你可以直接说我错了,或ST公司不确定是否会有这样的问题,那就应该去测试,而不是我去测试证明有这样的问题,相对来说,我的设备比ST公司的简陋百倍,我的证明并不能说明什么问题。本来那个问题就不是必然的的,即不是每次都发生,具有偶然性,我如何用显示器去捕捉那瞬间的信号,这个本来就是个问题。我花钱去买ST的芯片,我还得证明它没有问题,我用得能不郁闷吗?
    我本来发帖的意义在于看看其它高手有没有遇到过这样的问题,还是本身就是我的错误,谢谢香版的关注。

使用特权

评论回复
7
香水城| | 2008-9-9 09:58 | 只看该作者

现在你的问题出在输入端而不是输出端

如果输入端有问题当然应该检查输入的信号是否有问题,使用示波器观察输入波形是最起码的手段。尤其是当你复位主设备时,信号线上的状态是个关键的问题,一个芯片在复位时它的IO脚的状态往往与正常时候不一样,这时I/O脚不受程序控制,你必须根据这个芯片的手册,通过外围电路配置好相应的信号电平。


因为你先提出怀疑ST的芯片有问题,所以我才会说需要你来证明;如果任何时候有人说他怀疑ST的芯片有问题,ST都要自己做实验证明芯片没有问题,这是不现实的,所以只有遵循“谁主张谁举证”的原则。

使用特权

评论回复
8
biao.l|  楼主 | 2008-9-10 11:23 | 只看该作者

RE

主设备用的是NXP LPC2119,复位IO口默认为输入,复位时IO口电平为高电平,应该不会产生异常信号的,用示波器也没看到什么异常.
   STR程序已经缩到最简,一个SPI初始化,一个SPI查询接收,接收的数据发送到串口上,中间连缓冲区都没设.
   现在比较忙,等有空再做小测试,我也只能做到这步了,如果无法解决这个问题,也只好将速度降低写个模拟SPI了,幸好项目里是为了方便而用SPI的,并没有速度要求.

使用特权

评论回复
9
农民讲习所| | 2008-9-10 11:31 | 只看该作者

SS脚不能悬空

一定要有明确的电平。输入口悬空,且作为外部接口,悬空是很可怕的事情。

使用特权

评论回复
10
农民讲习所| | 2008-9-10 11:33 | 只看该作者

SS一定要控制

SPI本质是串并转换,如果没有CS起控制,移位会错乱的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

286

帖子

0

粉丝