【自用】TI芯片串行通信相关

串行通信接口

以下内容仅针对TI芯片

SPI (Serial Peripheral Interface)

【总线协议】DSPI/QSPI/OSPI 与 SPI 的区别
SPI接口详细介绍

  1. 同步串行通信
  2. 常用引脚
    • SCLK:时钟信号
    • MOSI:数据发送(若MCU配置为Master)
    • MISO:数据接收(若MCU配置为Master)
    • CS:片选(低电平有效)
    • 部分芯片用D0和D1取代MOSI和MISO,D0和D1支持双向(收发都行)
  3. 片选了才能开始数据交互
  4. 无论想读还是想写,都需要执行数据发送的指令,才会产生时钟信号

举个例子,假设我们要读取一个只有CLK和DOUT脚的AD芯片,此时MCU的数据发送脚实际是无用的。但是在软件上仍需要将数据发出去(数据是什么无所谓,位数和待接收的数据帧位数相同即可),这时候MCU才会产生相应位数的时钟信号,用于读取AD芯片的DOUT

  1. SPI的波形:极性(时钟默认是高电平还是低电平)和相位(时钟发送多久后采样)可以通过POL和PHA位配置,详见芯片技术参考手册(TRM)

UART (Universal Asynchronous Receiver-Transmitter)

  1. 异步串行通信(靠双方约定好的波特率实现数据对齐)
  2. 常用引脚
    • RXD:数据接收
    • TXD:数据发送
    • CTS:允许发送(低电平有效),向模块表明MCU已处理完上一帧接收的数据
    • RTS:请求发送(低电平有效),用于MCU判断模块是否已处理完上一帧数据
    • UART中的硬件流控RTS与CTS
  3. TTL/RS232/RS485
    这些都是接口(物理层) ,不是协议,故使用他们的代码一样,电路才不同
    • TTL/RS232采用单端传输(信号电压和GND),RS485是差分传输(信号正和信号负)
    • RS485各方面性能优越(除了不是全双工,即同时读写),应用领域更广,比如可用于机器人多机通信。RS232只支持一对一通信
    • TTL/RS232/RS485之间可以通过电路模块相互转化,也可以转化为PC常用的USB接口
    • 【总线】一文看懂RS232和RS485通信总线
  4. 在部分TI芯片中,UART被称为SCI,详见芯片技术参考手册TRM基于C2000的软件串口(SCI)实现方法

FSI (Fast Serial Interface)

TI推出的快速串行通信接口,性能相较SPI和UART更好,可用于多控制器通信。分为两个端口FSITX和FSIRX,3根线(CLK,D0,D1)。

接线比较有意思,时钟线并不是公用的,而是设备A的TX_CLK接设备B的RX_CLK(一根线),设备A的RX_CLK接设备B的TX_CLK(另一根线)。所以如果是双机通信的话,实际上最少需要CLK线*2+DAT线*2=4根线。
详见图1 基于快速串行接口 (FSI) 的分布式多轴伺服驱动器参考设计

其他

时钟同步问题串行数据(SPI/I2C/UART/USB)的时钟同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值