删除
单片机串口通信基础 串口通信是非常总要的,首先我们先了解一下基础 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能越来越显的重要。计算机通信是指计算机与外部设备或者计算机与计算机制之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代化测控系统中信息的交换多采用串行通信的方式。计算机通信是将计算机技术和通信技术的结合,完成计算机与外部设备或者计算机与计算机之间的信息交换,可以分为两大类:并行通信和串行通信. 并行通信常常是将数据字节的各位用多条数据线同时进行传送。(如下图)
由上图可知一下可以传送8位,跟由上图可知一下可以传8位,跟并行的A/D D/A 差不多,询问和应答 是发送 和接受 来询问是否准备好了没有。 并行通信控制简单,传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接受存在困难。串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。(如下图) 注意:串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,丹数据的传送控制比并行通信复杂。 一、异步通信与同步通信 1、异步通信 异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。 异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有位间隔的整数倍的关系,但同一个字符内的各位之间的距离均为“位间隔”的整数倍。异步通信的数据格式:{先发起始位:低电平 表示起始位 再发数据位 LSB 是低端 (LSB: Least Significant Bit)最低有效位,先发低位数据共7位数据 + 1位校验位数据 (判断发送是否正确,如果不要校验位那么8位都是数据位) 最后发一个停止位(高电平结束就是一个位宽的高电平表示停止位) 共10位 一帧 。}
异步通讯的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起始位,各帧之间有间隔,因此传输效率不高。 2、同步通信 同步通信时要建立发送方时钟对接受方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接受方的同步可以通过两种方法实现。 面向字符的同步格式: 此时,传送的数据和控制信息都必须由规定的字符集(如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.典型的面向位的同步协议如ISO的高级数据链路控制规程HDLC和IBM的同步数据链路控制规程SDLC同步通信的特点::是以特定的位组合“01111110”作为帧的开始和结束标志,所传输的一帧数据可以是任意位。所以传输效率高,但实现的硬件设备比异步通信发杂。(同步通信可以作为了解我这里只是想表达下我的理解,其实现实中我们用的大多数是异步通信)。 二、串行通信的传输方向 1、单工 单工是指数据传输仅能沿着一个方向,不能实现反向传输。 2、半双工 半双工是指数据传输可以沿两个方向,不能实现反向传输。 3、全双工 全双工是指数据可以同时进行双向传输。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)