找回密码
 注册
查看: 436|回复: 3
打印 上一主题 下一主题

TMS320F28335学习笔记-SPI模块

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-6-28 14:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
什么是SPI接口?
, d* |+ B6 U- N8 ^' N4 s7 WSPI接口是高速同步串行输入输出接口。9 z$ N& w! y& f5 f! H
TMS320F28335有几个SPI接口模块?8 m2 J3 O5 p. U9 N; O: C2 x  ^
有一个专门的SPI模块, 另外两个McBSP也可以配置为SPI接口。
  v$ D/ E) [% _8 f1 R5 WTMS320F28335SPI接口由几组寄存器控制?9 v6 p: @% m' d- p  U+ x
12组,位于控制寄存器帧0x7040h开始的位置。所有的寄存器都为16bit寄存器
+ U  `: R1 ?- x7 d) m5 @7 ~FIFO有几级?
/ U0 n% j; r0 ]# ^* K16级
0 X% C/ h/ ~% \3 @SPI FIFO模式下如何对传输和接收FIFO进行操作?9 _- S7 _( C( k' z4 o/ E- _7 B
直接对SPITXBUF进行赋值以传输数据例如:SpiaRegs.SPITXBUF=sdata。此操作可理解为:首先使TXFIFO头指针加1,然后把值写入TXFIFO头指针指向的位置。
8 G$ E% v% z( S# K; y+ N0 L! I如果当前没有一个激活的传输过程时,对SPITXBUF的写入会激活一个传输过程。! \8 ?: c# [3 v+ _: B7 L3 E4 ?
直接读取SPIRXBUF的值以接收数据例如:rdata=SpiaRegs.SPIRXBUF,此操作可理解为:首先从RXFIFO头指针处读取1个word, 然后使RXFIFO头指针减1。, C2 {- X0 z( M  `4 `# K. I) X+ F
SPI FIFO模式下传输和接收中断何时产生?* t+ b0 J+ A; h; D" K2 N, P+ A
是在数据传输或接收结束后,再判断传输和接收FIFO队列中有多少数据(SPIFFTX.TXFFST4-0和SPIFFRX.RXFFST4-0的值)。对于传输FIFO如果FIFO中数据小于等于TXFFIL4-0(此寄存器指定临界值)指定的值时会触发中断,在中断处理例程中继续传输数据。对于接收FIFO如果FIFO中的值大于等于RXFFIL4-0中指定的值时触发中断,在中断处理例程中接收数据。故FIFO模式下中断触发条件除了标准SPI模式下的数据传输接收完毕的条件外还要满足FIFO中的数据小于等于TXFFIL或大于等于RXFFIL设定值的条件,在两个条件都满足的情况下才会触发中断。另外一般情况下,FIFO模式SPI初始化完后会立即产生以个传输中断,因为此时TXFIFO没有数据满足产生中断的条件。+ h4 t( ]$ ^# N) _4 q
如果只接收数据不发送数据如何激活接收过程?
- m+ U3 ^- U# c0 ~SPI的的接收过程必须依赖传输过程,故即使值接收数据也必须对SPITXBUF写入以激活一个传输过程来接收数据。

该用户从未签到

2#
发表于 2016-6-29 09:01 | 只看该作者
看贴学心得,回贴是美德
$ ?! ?* D/ X) b% f  x7 O

该用户从未签到

3#
发表于 2016-6-29 10:41 | 只看该作者
必须赞一个~
! ?! Q- H  [, l+ I

该用户从未签到

4#
发表于 2016-6-29 11:03 | 只看该作者
必须赞一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-3 04:44 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表