TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377S: 如何使用SCI模块,实现多摩川协议的通讯?

Part Number:TMS320F28377S

多摩川编码器通信速率较快,计划使用FIFO,并使用FIFO中断标志位,但是不使用CUP中断。

1、应该选择地址位多处理器通信模式,还是空闲线多处理模式呢?

2、二者都遵循手册中的SCI异步通信格式吗?

3、看了一遍手册中的SCI感觉有点乱,前半部分通信格式和FIFO的使用不知道如何联系在一起,具体大致流程能否请了解的人详解一下,应该怎么去实现呢?谢谢

ZHUANG TIAN:

接收通过RX引脚到RXSHF->RX_BUF->RX FIFO,数据被缓存到FIFO中,FIFO满时会产生相应标志位。当你读取RX_BUF一次接收FIFO中的长度就会减少一次,这就是接收FIFO的缓存原理。发送是一样的。

,

Taeho:

谢谢您的回复,但是发送的话是不是不一样,我看有些程序中,是直接对TXBUF中的TXDT写数据。这个正确吗?我尝试直接对TXBUF中的TXDT写数据,但是SCI的发送数据不正确了。能否帮忙查看一下问题出现在哪里?或者这种发送的方式就不对,并没有使用到发送FIFO,能否麻烦您大致讲解一下发送数据的过程(类似“接收通过RX引脚到RXSHF->RX_BUF->RX FIFO,数据被缓存到FIFO中,FIFO满时会产生相应标志位。当你读取RX_BUF一次接收FIFO中的长度就会减少一次,这就是接收FIFO的缓存原理”)?

,

Taeho:

手册中在SCI FIFO介绍的这一段中,说:当串行通信接口(SCI)启用FIFO模式时,写入SCITXBUF的字符将被排队到SCI-TXFIFO中,而接收到的、位于SCI-RXFIFO中的字符则可以通过SCIRXBUF来读取。

但是下面的表格下面又说:先进先出模式TXSHF在延迟值后直接加载,TXBUF不使用。

这是怎么回事?

,

ZHUANG TIAN:

写的话是通过写SCITXBUF寄存器实现的,使能FIFO模式下可以连续写入SCITXBUF但不能超过FIFO长度,因为你连续写入的来不及发送到Pin就会缓存到发送FIFO,这就是FIFO的优势。TXSHF是硬件的移位寄存器不需要直接操作,发送FIFO不为空时会自动向TXSHF填充数据。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: 如何使用SCI模块,实现多摩川协议的通讯?
分享到: 更多 (0)