17756|14

4996

帖子

19

TA的资源

裸片初长成(初级)

楼主
 

NXP LPC系列ARM的SPI总线应用总结 [复制链接]

     最近使用了NXP的LPC213x/LPC214x和LPC1114的SPI(SSP)总线,特地再此总结一下,这使用SPI总线时,硬件及软件的注意事项。本人刚使用LPC213x/LPC214x ARM时参考的是周公的《深入浅出ARM7-LPC213x_214x(上/下)》(此书网络上有清晰的PDF版本,本人也买了两本,呵呵,喜欢看纸质书)。我想很多网友刚开始接触LPC也是看这两本书吧,这此书中中的描述及书中原理图的设计可能会误导很多网友(至少本人被误导了)。下面就说说容易误导的原因。

 

 

    由周工书上介绍SPI总线的配置,可以看出。在SSEL脚上连接了一个上拉电阻,而片选用的是别的IO口,所以,可能会有人误解SSEL管脚不能用做从机的片选,为了证实这一点,我们再看看关于SPI管脚的描述:

 

 

       看看红圈里边的注解:需要选择另外的管脚与从机的片选进行连接,并且SSEL管脚必须接高电平,器件才能进入主机状态。这与上面的图是吻合的。当然这样使用绝对没有问题,但是我们都不想浪费SSEL管脚,而且选择另外的管脚作为SSEL。这样说很别扭,那么怎么办呢?

 

[ 本帖最后由 zhaojun_xf 于 2010-6-22 08:36 编辑 ]
此帖出自NXP MCU论坛

最新回复

楼主可以给我SPI的实例程序吗?寄存器有些搞不懂,谢谢了。  详情 回复 发表于 2011-10-28 22:55
点赞 关注
 

回复
举报

4996

帖子

19

TA的资源

裸片初长成(初级)

沙发
 

        再找找别的资料看看,在周工的《周立功LPC213X开发板》的《第3章-LPC2131使用指南》中找到《LPC2131_2132_2138-user_cn》(当然网络上也有)。在里边对寄存器进行了详细的描述:

 

      看看红圈中对SSEL的描述:早期的Philips ARM器件SSEL管脚是不能用在作为别的用途的,只能应用来作为从机的选择端口,如果要应用作为主机,必须接高电平。但是现在的ARM单片机,其SSEL端口是可以设置成为GPIO输出端口,与从机的片选相连,作为从机选择端口的。但是必须要注意,在这种情况下,单片机只能作为主机。

 

      由此我们可以知道,SSEL管脚可以像别的单片机的SSEL端口一样,可以与从机相连,作为从机片选端口。当然SSP总线就不用说了,它更加灵活,它的SSEL端口也可以这样使用。

 

      对与LPC1114的SSP总线就不用再说了,与LPC213x的SSP总线是一样的。但它的片选端口有两个,需要根据实际应用进行设置。

[ 本帖最后由 zhaojun_xf 于 2010-6-22 08:54 编辑 ]
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

板凳
 

      在使用SPI总线来控制SD卡时,需要特别注意时钟的设置,如果设置不当将会造成初始化失败,更别别说读写SD卡了。这是因为SD卡初始化时时钟速率一般比较低,如果设置太高就会失败,但是设置太低了SD卡的读写速度也非常低,所以应该在初始化时,按照低速进行,初始化完毕后,再提供的最快速度。

 

    这样点就不在多说,对于LPC1343的设置可以阅读网友zhdp 的帖子《lpc1343读写SD卡的FAT文件》https://bbs.eeworld.com.cn/thread-108275-1-1.html 对于别的单片机的设置原理是一样的,可以参展IC资料进行设置。

 

 

[ 本帖最后由 zhaojun_xf 于 2010-6-22 09:02 编辑 ]
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

4
 
自己顶一把!!!!!!!!!!!!!!!!!
此帖出自NXP MCU论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(初级)

5
 
lpc1343的ssp做spi ,特别是ssel使能端当普通IO片选来用,有时候会发生电平翻转,我用分析仪测试过,原因不明。结果就是有时候的spi读写正确,有时候又不正确。
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

6
 
不会吧,我一直这样用啊,不过我没有1343是用的是1114,没有问题啊,是不是SSEL没有设置正确,还是别的地方更改了io属性?
此帖出自NXP MCU论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

7
 
我想在线调试SPI该怎么办呢?
用ULink应该是不可呢了。。。。
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

8
 

回复 7楼 Radiance0 的帖子

可以的
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 8楼 zhaojun_xf 的帖子

该怎么做,教教我吧,
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

10
 

回复 9楼 Radiance0 的帖子

你详细说明你的问题,不一定是SPI的问题,如果硬件正确的话SPI是非常简单的
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复 10楼 zhaojun_xf 的帖子

我初学的,有些还不太懂

我理解的是SPI有端口跟Ulink SW接口是复用的,(SWO和MOSI)

IOCON_PIO0_9(2:0)
每当我将将它配置成MOSI,LPC1343就跟Ulink2 断开了。。。
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

12
 

回复 11楼 Radiance0 的帖子

在SWD调试方式下,只需要两个管脚,一个是P0_10和P1_3,在ULINK2下需要多一个复位端口,加上电源和地,一共5条;JLINK V8只需要4条,可以不用复位。

所以P0_9是可以被配置成MOSI的
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 12楼 zhaojun_xf 的帖子

:rose:
那我每次联接后
每当我将将它配置成MOSI,LPC1343就跟Ulink2 断开
这是什么原因

还有SPI的SCK 是不是可以Ulink的SCK共联。
不能的话怎么解决
此帖出自NXP MCU论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

14
 

回复 13楼 Radiance0 的帖子

你直接用5条线与ULINK2相连试试看,不应该有问题的,注意选择调试方式为SWD
此帖出自NXP MCU论坛
 
个人签名我的博客
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

15
 

回复 10楼 zhaojun_xf 的帖子

楼主可以给我SPI的实例程序吗?寄存器有些搞不懂,谢谢了。
此帖出自NXP MCU论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表