PART1 总线概述横河大学讲义
在现今的嵌入式系统设计开发中,串行总线越来越多地代替了并行总线,串行总线具有很多优势,但在测试和调试上仍有一些挑战。本次直播课从总线的基本概念开始,介绍几种常见的低速串行总线(UART/I2C/CAN等等),并对CAN总线进行实际测试的演示,让您了解横河测试仪器解决串行总线测试问题的方法,对仪器的分析功能有更进一步的理解。
总线“BUS”概念最初来自于计算机系统,是连接多个设备或者接入点的数据传输通路。打个比方,总线就是公共汽车线路,连接的设备就是公交站。传输的数据包就是乘客。每个乘客都要知道自己从哪站上,到哪站下,然后等到站的时候就下车进入另一个设备进行处理。公交车需要个调度室,所以总线需要有个控制器。
总线按照传输方式分为并行总线和串行总线,顾名思义,并行总线传输多少位数据就需要多少根数据线;而串行总线只需要一对数据线就能完成传输。按照时钟信号是否独立,串行总线可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,而异步总线的时钟信号是从数据中提取出来的。SPI、I2C是同步串行总线,RS232采用异步串行总线。
并行总线
串行总线
总线、接口、协议
通常我们提到的"XX总线"、"XX接口"和"XX协议",这三者之间既有联系又有区别:“总线”定义如前文所述;接口是一种连接标准,是设备之间的连接电路,常常称之为物理接口;协议就是传输数据的规则。协议定义了接口设备、器件及信号、总线及通道之间需要满足的关系,即要实现信号的传输,所有这些成员必须通力合作,满足协议要求的各种必要条件。简单概况就是不同设备接口不同,但接口是连接在总线上面的,要按照协议来传输数据。
USB
我们以USB总线为例,USB是Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。我们通过下面的表格简单了解一下三者间的关系:
总线
协议
接口
USB总线
USB1.1
TYPE A
TYPE B
USB2.0
MiniUSB
MicroUSB
USB3.0
USB4
TYPE C
最早我们使用是USB1.1协议的设备,后续使用USB2.0协议设备较多,现在最新的都是使用USB3.1(5G/10G)协议的设备,而新的USB4协议也已经开发完成。
上图是常用的USB接口的类型,在早期的数码相机上我们还能见到其他一些类型的USB接口。
常见低速串行总线UART
RS232和RS485是关于UART通讯的机械和电气接口标准,RS232标准规定采用带25个脚的DB-25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC 机将RS-232 接口简化成了DB-9 连接器,从而成为今天的事实标准。而工业控制的RS-232 接口一般只使用RXD(2)、TXD(3)、GND(5)三条线。RS485标准的接口用于多点互连时非常方便,可以省掉许多信号线。在要求通信距离为几十米到上千米时,被广泛采用,此处不再赘述。
常见低速串行总线-CAN
Controller Area Network(控制器局域网络),缩写为CAN,由德国博世公司于上世纪80年代提出。目前CAN总线已经是国际上应用最广泛的现场总线之一。CAN的主要特点:差分传输——抗噪性能好;多主控——所有节点没有主从之分;柔性系统——节点没有“地址”的概念,增加节点时,不会对已有节点的软硬件造成影响;通信速度灵活——可以配合网络的规模和系统的机能进行设定;错误处理能力强——所有的节点都可以检测出错误;检测出错误的节点会立即通知总线上其它所有的节点;数据可请求——某个节点可以通过发送“远程帧”的方式,请求某个节点来发送指定的报文。