的用例场景是什么SPI(主传输/传输/接收)为TI C2000街区开发仿真软件应用程序时?万博1manbetx

43岁的观点(30天)

接受的答案

MathWorks支万博1manbetx持团队
有3种不同的模块支持的SPI模块支持下TI C2000支持万博1manbetx包:
  1. SPI主传输块
  2. SPI传输块
  3. SPI接收块
SPI主传输块:
在引擎盖下,物体就像捎信- > - >读词- >继续等待下一个单词。循环这个序列,直到所有数据词块的输入。这基本上意味着块阻塞模式下工作。即假设如果有“5”字节(注:“字节”是用来解释简单,它基本上是“n”位/转移),需要发送块发送和读取每字节的基础上在一个循环中,有效地阻止执行,直到所有字节完成。
这个街区的目的是快速建立一个模型,使C2000控制器(SPI主)与SPI通信奴隶设备像eepm SPI接口(读/写)标准化通过一个命令列表。这种方法的主要缺点是效率低下的CPU使用。
主提供的一个额外的选项是传输块称为寄存器地址字段。这个领域可以保存命令值(CMD) +注册地址(注册)。然后用户必须提供外部的数据块(通过输入端口)使它(CMD +注册+数据)序列发送到奴隶。
请参阅航运的例子“c28x_spi_eeprom”用例的更多细节。
注意:可以看到,一个主转移并不是一个有效的方式来处理数据块事务。这阻碍了CPU和块不能在中断上下文中运行。运行在一个中断上下文是不可能像块读取FIFO每次传送一个字节的数据。因此这一块应该是使用的新用户不熟悉复杂的阻塞传输和接收。以后可以配置FIFO的深度,FIFO SPI通信中断提供一种有效的方式。
SPI发送和接收块:
当使用这些模块,我们可以配置FIFO的深度和FIFO中断。这使得用户能够灵活实现高效的系统设计。当我们有多个数据字节发送,我们不需要让CPU忙上相同的。SPI发送块会写所有输入数据字节传输FIFO缓冲区。SPI模块将字节发送数据独立于CPU从这些缓冲区。因此我们正在为其他任务一旦释放CPU传输块更新FIFO缓冲区。数据传输完成后,一个中断的FIFO空(或传输配置FIFO长度)可以复制生成一组新的数据FIFO缓冲区。
同样,接收操作,一个中断的FIFO完整(或配置接收FIFO长度)可以生成从接收FIFO缓冲区读取数据值使用SPI接收块。请参阅航运的例子“c28x_spi_eeprom_interrupt”用例的更多细节,包括文档页面:

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的