通信协议标准及其转换芯片(串行接口正在取代并行接口)

记录嵌入式程序开发过程中遇到的各种通信协议标准,及其相互连接时的实用转换芯片。这里只讨论各协议之间最显著的区别,便于理解和应用。

1. 通信协议分类

芯片与芯片之间的通信协议可以按照通信方式进行分类,将其分为并行接口通信串行接口通信两种。简称并行通信和串行通信,或者并口和串口。并行通信就是把一个字符的各数位用几条线同时进行传送,通常每次传送的位数为一个或两个字节。并行数据传送和串行数据传送相比较,在同样的传送速度下,数据传送速度快,这种高效率的数据传送是以更多的物理线路为代价的,并行数据传送需要更高的费用,所以在对数据传送速率要求不高的场合一般使用串行通信,而在对数据传送速度要求高的情况下一般使用并行传输。[1]

1.1 并行通信

并行通信指芯片的多个 I/O 口同时进行数据接收和传输,通信过程占用引脚资源很多。由于采用的数据传输I/O口很多,数据传送速度大大提高,但并行传输的线路长度受到限制。因为随着数据传输的线路增长,传输信号受到的干扰增加,数据容易出错。

1.1.1 并行通信分类

应用场景通常为计算机内部总线,在其上以并行方式传送数据。内部总线是cpu、内存、输入、输出设备之间传递信息的公用通道。在IEEE1284标准中定义了多种并行接口模式,常用的有以下三种[百度百科]:

  • SPP (Standard Parallel Port) 标准并行接口
  • EPP (Enhanced Parallel Port) 增强并行接口
  • ECP (Extended Capabilities Port) 扩展功能并行接口
1.1.2 常见并行通信标准

下面介绍并行通信标准在计算机内部总线的应用,主要对 PCI 接口的发展历程进行介绍,内容引自参考文献[3]

早些年电脑还没有标准化,各种配件的接口和协议都不统一,声卡用着声卡的接口,网卡用着网卡的接口,显卡用着显卡的接口,各不相同,不方便拓展与替换。为解决这种不统一的问题,业内当时统一了一个规格,这就是最早的ISA接口(Industrial Standard Architecture,工业标准结构总线),下图中红色圈中的长槽就是 ISA:

但随着科技的进步,ISA接口已无法满足高速发展的外围设备的需求,因此业界开始放弃ISA总线,寻找新的替代接口。这位继任者,便是PCI,下图中白色长槽:

随着时间的推移,PCI接口的弊端也逐渐暴露出来,带宽逐渐跟不上日益增长的需求。所以业内又开始寻找新的替代接口,这就是 PCI-EPCI Express,简称PCI-E,官方简称PCIe,他是计算机内部的一种高速总线。)

1.1.3 PCI-E 既是通道,也是接口
  • 接口形态:当他以接口形式存在,就是我们主板上长长的插槽。目前,声卡和网卡都在主板上集成,无需外接,所以 PCI-E 接口目前的使用场景主要为插显卡
  • 通道形态:SATA3 接口固态硬盘采用的是AHCI协议,这种接口理论速率上限为750MB/S,实际速率只有600MB/S左右。这种接口速率太慢,没有PCI-E接口速率块。为此我们希望能将PCI-E接口用于固态硬盘的接口中来。但由于PCI-E接口体积太大,浪费空间。为此,我们将其体积缩小,成为了现在的M.2接口。M.2接口也即缩小版PCI-E接口。另外值得一提,苹果采用的雷电3接口,同样利用PCI-E通道传输数据,这也是为什么苹果电脑的一根线就可以连接到4K高刷显示器。因为,雷电3采用的PCI-E接口真的是超快。

另外,为什么我们在日常实验中基本使用不到并行接口? [2]本篇文献在2002年做出了解答:串行接口正在取代并行接口。 并行接口只用在芯片内部, 而在CPU外部, CPU与外设的连接正在被高速串行接口所取代, 完全取代也是必然的, 只不过是时间问题。为方便串行接口应用, 处理器或控制器内集成或整合串行接口也是必然的, 这方面的芯片会越来越多。

1.2 串行通信

串行通信指芯片的一个 I/O 口进行数据接收,一个 I/O 口进行数据传输,通信过程占用引脚资源很少。

1.2.1 串行通信分类

串行通信下,工作模式按照数据传送方向分为:单工、半双工、全双工。(工:工作模式)

  • 单工:一条线,单方向数据传输的工作模式。(图a)
  • 半双工:一条线,单方向数据传输接收的工作模式。(图b)
  • 全双工:两条线,双方向同时数据传输接收的工作模式。(图c)

串行通信下,工作模式按照通信方式分为:同步通信、异步通信。

  • 同步通信:需要额外一条时钟信号线,用来同步数据。
  • 异步通信:不需要额外一条时钟信号线。
1.2.2 常见串行通信标准

我将各类串行通信协议标准按照协议属性分为:硬件通信协议和软件通信协议。硬件通信协议主要完成对电气特性标准即对于2个逻辑状态(0/1)的电平定义。软件通信协议主要完成对通信逻辑的定义。

通信标准引脚通信方式通信方向协议属性逻辑电平规定
UARTTXD、RXD、GND异步全双工硬件协议TTL电平
USARTTXD、RXD、GND、CLK同步全双工硬件协议TTL电平
RS232TXD、RXD、GND异步全双工硬件协议232电平
RS485TXD、RXD、GND异步全双工硬件协议485电平
SPIMISO、MOSI、SCK同步全双工软件协议TTL电平
I2CSDA、SCK同步半双工软件协议TTL电平
USBVCC、TXD、RXD、GND异步全双工硬件+软件协议USB电平
以太网接口?xxxxxxxxxx
1.2.3 常见串行通信标准之间的转换及其芯片

串行通信标准之间的转换芯片其实是对逻辑电平规则的转换,如:将TTL电平转换为232电平。下面为常用串行通信标准之间的转换芯片及其供应商。

电平标准 <–> 电平标准转换芯片供应商
USB <–> TTLCH340NWCH(南京沁恒)
USB <–> RS232PL2303GLPROLIFIC(旺玖)
TTL <–> RS232MAX3232TI(德州仪器)

2. 参考文献

【STM32】串口通信基本原理(超基础、详细版)
TTL电平、COMS电平、232电平、USB电平的区别与转换方法
串口通信协议
[1]刘威.微型计算机并行接口[J].新课程(下),2015(10):114.
[2]成科.并行接口的末日来到了吗?——兼谈USB OTG新标准的特点和应用[J].实用影音技术,2003(11):75-76.
[3]https://zhuanlan.zhihu.com/p/62426408

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值