c
第六章:串行口通信原理及操作流程
6.1并行与串行基本通行方式
单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,后者的通信通常用的较多。
通信有并行和串行龄种方式,在单片机系统以及现代单片机测控系统中,信息的交换多采用串行通信的方式。
6.1.1并行通信方式
并行通信通常是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一条传输线。例如8位数据总线的通信系统,一次传送8位数据(1字节),就需要8条数据线。
并行通信控制简单、相对传输速度快,但由于传输线较多,长距离传输时成本高且收、发方的各位同时接受存在困难。
6.1.2串行通信方式
串行通信是将数据字节分成一位一位的形式在一条传输线上逐个传输,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。
串行通信的必要过程:发送时把并行数据变成串行数据发到线路上,接收时把串行信号再变成并行数据,这样才能被计算机及其他设备处理。
串行通行有两种方式:异步串行通信和同步串行通信
-
异步串行通信方式
异步串行通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方收发协调,要求发送和接收设备的始终尽可能一致。
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传输的。
异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。有的字符信息也有带空闲位形式,即在字符之间有空闲字符。
异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符附加2~3位,用于起止位、检验位和停止位,各帧之间还有间隔,因此传输效率不高。
-
同步串行通信方式
同步通信时,要建立发送方时钟对接受方时钟的直接控制,使双方达到完全同步。 此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传输的字符键不留间隙,即保持位同步关系,也保持字符同步关系。
发送方对接收方的同步可以通过外同步和自同步两种方式实现。
-
面向字符的同步格式
传输的数据和控制信息都必须有规定的字符集(如ASCII码)中的字符组成。帧头为1或2个同步字符SYN(ASCII码为16H)。SOH为始序字符(ASCII码为01H),表示标题的开始,标题中包含、源地址、目标地址和路由指示等信息。STX为文始字符(ASCII嘛为02H),表示传送的数据块开始。数据块是传输的正文内容,包含多个字符,数据块后是组终字符ETB(ASCII码为17H)或文终字符ETX(ASCII码为03H)和校验码,典型的面向字符的同步规程如IBM的二进制同步规程BSC。
-
面向位的同步格式。
将数据块看做数据流,并用序列01111110作为开始和结束标志。为了避免在数据流中出现序列01111110时引起混乱,发送方总是在其发送的数据流中每出现5个连续的1就插入一个附加的0;接收方则每检测到5个连续的1并且其后有一个0时,就删除该0。
面向位的同步通信的特点是以特定的位组合01111110作为帧的开始和结束标志,所以传输的一帧数据可以是任意位。其传输效率较高,但实现的硬件设备比异步通信复杂。
-
串行通信的制式。
- 单工:指数据传输仅能沿一个方向,不能实现反向传输。
- 半双工:指数据传输可以沿两个方向,但是需要分时进行。
- 全双工:指数据可以同时进行双向传输。
-
串行通信的错误检验
- 奇偶校验。
- 代码和校验
- 循环冗余校验。
6.2 RS -232电平与TTL电平的转换
RS-232电平:RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一。
TTL电平:TTL(电平信号)规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时),这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。这是计算机处理器控制的设备内部各部分之间通信的标准技术。
我们之前都是用1来表示高电平,0来表示低电平,就是上面这个意思。
用MAX232芯片实现RS-232电平与TTL电平的转换
MAX232芯片实物图以及引脚图如下:
-