打印
[MCU]

TMS320F28335-SPI模块Q&A

[复制链接]
657|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2020-11-4 09:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
什么是SPI接口?
SPI接口是高速同步串行输入输出接口。

TMS320F28335有几个SPI接口模块?
有一个专门的SPI模块, 另外两个McBSP也可以配置为SPI接口。

TMS320F28335SPI接口由几组寄存器控制?
12组,位于控制寄存器帧0x7040h开始的位置。所有的寄存器都为16bit寄存器

FIFO有几级?
16级

SPI FIFO模式下如何对传输和接收FIFO进行操作?
直接对SPITXBUF进行赋值以传输数据例如:SpiaRegs.SPITXBUF=sdata。此操作可理解为:首先使TXFIFO头指针加1,然后把值写入TXFIFO头指针指向的位置。
如果当前没有一个激活的传输过程时,对SPITXBUF的写入会激活一个传输过程。
直接读取SPIRXBUF的值以接收数据例如:rdata=SpiaRegs.SPIRXBUF,此操作可理解为:首先从RXFIFO头指针处读取1个word, 然后使RXFIFO头指针减1。

SPI FIFO模式下传输和接收中断何时产生?
是在数据传输或接收结束后,再判断传输和接收FIFO队列中有多少数据(SPIFFTX.TXFFST4-0和SPIFFRX.RXFFST4-0的值)。对于传输FIFO如果FIFO中数据小于等于TXFFIL4-0(此寄存器指定临界值)指定的值时会触发中断,在中断处理例程中继续传输数据。对于接收FIFO如果FIFO中的值大于等于RXFFIL4-0中指定的值时触发中断,在中断处理例程中接收数据。故FIFO模式下中断触发条件除了标准SPI模式下的数据传输接收完毕的条件外还要满足FIFO中的数据小于等于TXFFIL或大于等于RXFFIL设定值的条件,在两个条件都满足的情况下才会触发中断。另外一般情况下,FIFO模式SPI初始化完后会立即产生以个传输中断,因为此时TXFIFO没有数据满足产生中断的条件。

如果只接收数据不发送数据如何激活接收过程?
SPI的的接收过程必须依赖传输过程,故即使值接收数据也必须对SPITXBUF写入以激活一个传输过程来接收数据。

使用特权

评论回复

相关帖子

沙发
zeshoufx| | 2020-11-4 09:32 | 只看该作者
谢谢分享【SPI模块】

使用特权

评论回复
板凳
zhangmangui| | 2020-11-4 22:46 | 只看该作者
结合controlSUITE里的工程学习

使用特权

评论回复
地板
晓伍| | 2020-12-2 14:33 | 只看该作者
仅仅对于spi就有这么多级的fifo?

使用特权

评论回复
5
八层楼| | 2020-12-2 14:35 | 只看该作者
多个spi接口是共用的一个fifo吗

使用特权

评论回复
6
观海| | 2020-12-2 14:39 | 只看该作者
如何判定是那个串口产生的中断呢

使用特权

评论回复
7
guanjiaer| | 2020-12-2 14:41 | 只看该作者
有现成的工程可供学习?

使用特权

评论回复
8
heimaojingzhang| | 2020-12-2 14:43 | 只看该作者
只有接收到数据了才可以激活这个过程

使用特权

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

本版积分规则

1191

主题

5214

帖子

12

粉丝