总线与通信基础知识
在介绍USART之前,我们需要先了解一些信息传输的基本知识,而微控制器的信息传递大多都是由总线来进行的。
总线定义
总线是指微机系统、智能仪器内部已经相互之间传递信息的公共通路,是芯片内部模块之间、器件之间、系统之间的实际互联线。 为例使总线能够有效、可靠地进行信息交换,必须对总线信号、传送规则以及传输的物理介质等做出一系列规定,这些规定被称为总线协议或总线规则。
总线按其使用范围或连接对象来分可以分为以下3类:
芯片总线:连接片内各模块的通道,用于模块之间的信息传输。 微控制器的片内总线大都采用并行的单总线结构(分时复用)
系统总线(也称为内总线):微控制器系统或智能仪器内部各模块、各器件之间传送信息的通道。 系统总线分为并行系统总线(如PCI总线、VXI总线)和串行系统总线(如I2C、SPI、1-wire)。
通信总线(也称为外总线):两个或多个系统之间传送信息的通道。 通信总线分为并行通信总线(如IEEE488总线)和串行通信总线(如RS232、RS485总线)。
外总线又可细分为两种通信总线:
并行通信:数据字节的各位同时被传送或接收
特点:传输速度快,当传输距离远、位数多时,会提高成本、降低通信成功率。
并行通信时数据的各个位同时进行传输,这就表示有多少位的数据就需要多少根的传输线,但多个位可以同时传输可以实现数据的快速传输。
串行通信:数据字节的各位按顺序逐位传送或接收
特点:只需2-3根传输线,线路简单、成本低,特别适合远距离通信,但传输速度相对并行通信要慢。
串行通信就是将数据按字节顺序一位一位的将数据发送出去,相比并行通信串行通信所需要的传输线就要少的多,但传输速度因此也会变慢。由于并行通信在使用时成本较高且长距离传输时通信成功率不高,所以在实际应用中只有少部分通信使用的方式为并行通信,大多数使用的是串行通信方式
异步通信与同步通信
串行通信类型按数据的传递方式不同,可分为异步通信与同步通信。
异步通信
在异步通信中,数据或字符是逐帧发送的。数据帧定义为一个字符完整的通信格式,也称为“格式帧”,通常用二进制表示。
数据格式
一个字符完整的通信格式为一个数据帧,由起始位、数据位、奇偶校验位和停止位组成。
数据帧中各部分:
起始位:为逻辑“0”信号,占用一位,用来通知接收设备,一个新的字符开始了。
数据位:紧跟着起始位的是 5~8位数据的最低位(LSB),异步传送规定低位在前,高位在后。
奇偶位:紧跟在数据最高位(MSB)之后,占用一位,奇偶校验时,根据协议置“1”或“0”(根据需要设置)。
停止位:为逻辑“1”信号,可占用1-2位。接收端收到停止位时,表示一帧数据结束。同时为接收下一帧数据作好准备,只要再收到一个逻辑“0”就是一个新字符的开始。
异步通信特点:
1.以字符(数据帧)为单位进行传输的,帧与帧之间的时间间隔是任意的,即帧与帧之间是异步的,通过起始位控制通信双方