打印
[微控制器/MCU]

LPC111x片内SPI模块多字节连续通信的问题!

[复制链接]
3088|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bdwzz|  楼主 | 2012-6-2 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好:
   使用过SPI通讯的高手们都知道,SPI通讯有单字节模式和多字节连续模式。而SPI通讯的过程是先拉低片选,再传送内容,再拉高片选以结束SPI通讯。LPC111x的片内SPI,虽然也可以工作在多字节连续传送模式,但有一个问题,它每次传送完一帧(通常是8 bit)后就拉高片选结束通讯了。这种通讯方式似乎违背了SPI多字节连续传送的特点。假如现在SPI从机上有一个16位寄存器,地址是两个字节编址的,那么要设置这个寄存器就需要传送4个字节过去,而在传送这四字节时片选要始终处于低电平,否则片选一拉高,写寄存器的操作也就取消了,那么使用LPC111x的外设模块就不能对这个SPI从机外设进行正确操作了。
   不仅LPC111x的SPI有这个问题,TI的LM3S系列的Cortex芯片也有这样的问题,但是Atmel的8位AVR单片机就做的很好,把片选直接交给用户控制,而不是片内SPI模块自动控制,这样就解决了问题,真搞不懂为什么作为ARM处理器的LPC111x和LM3S等就没考虑到这个问题。
   以上是我使用这个LPC111x与LM3S时的SPI时的一点小想法,可能存在不正确的地方,哪位高手如果有其他见解,请不吝赐教!谢谢。

相关帖子

沙发
bdwzz|  楼主 | 2012-6-2 18:48 | 只看该作者
:( 咋没人顶一顶呢!

使用特权

评论回复
板凳
bdwzz|  楼主 | 2012-6-3 09:33 | 只看该作者
等了这么久还是没人回复,在网上找了找,发现有人在LPC2138上面是这样做的,直接将片选CS通过一个上拉电阻接VDD,然后使用一个GPIO模拟CS,其他的信号线连接正常,这样就可以正常使用其SPI模块的功能了。看来确实是作为ARM处理器的LPC等等芯片的这个SPI外设做的不完善!:)

使用特权

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

本版积分规则

0

主题

5

帖子

1

粉丝