您好,欢迎访问三七文档
0通信概述通信是指计算机与外界的信息传输在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。(电话线、同轴电缆以及无线传输除外)两种数据通信方式:并行通信和串行通信0.1并行通信&串行通信并行通信:如果一组数据的各数据位在多条线上同时被传输。(超市收银台)串行通信:使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。第1针发出数据、第2针接收数据、第3针向硬盘供电、第4针为地线。并行通信&串行通信特点并行数据传输:•各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合;(抗干扰能力差)(电容特性)(高频受限)(距离)•并行传输的数据宽度可以是1~128位,甚至更宽,但是有多少数据位就需要多少根数据线,因此传输的成本较高。串行数据传输:•节省传输线,尤其是在远程通信时,成本低。(抗干扰强)•数据传送效率低。串行通信适合于远距离传送,可以从几米到数千公里。并行通信适合于短距离、高速率的数据传送,通常传输距离小于30米。利用调制解调技术,使现成的公共电话网系统为串行数据通信提供方便、实用的通信线路。并行硬盘(PATA)&串行硬盘(SATA)PATA:•并行线路的信号干扰。由于传统并行ATA采用并行的总线传输数据,必须要求各个线路上数据同步,如果数据不能同步,就会出现反复读取数据,导致性能的下降,甚至导致读取数据不稳定。•采用排线设计的数据线,由于并排的高速信号在传输时,会在每条电缆的周围产生微弱的电磁场,进而影响到其他数据线中的数据传递,还会因为线缆的长度和电压的变化而不断变化,随着总线频率的提升,磁场的强度也越来越大,信号干扰的影响也越来越明显。SATA:•从理论上说串行传输的工作频率可以无限提高,串行ATA就是通过提高工作频率来提升接口传输速率的。因此串行ATA可以实现更高的传输速率,而并行ATA在没有有效地解决信号串扰问题之前,则很难达到这样高的传输速率。•其实现在的所谓的硬盘速度并不在传输方式上,而是在硬盘内部,两个不同接口的7200转硬盘在垂直读写技术出现之前,差距微乎其微。但是现在看来串口技术的硬盘已经开始拉开与并口的差距了。•硬盘缓冲区:硬盘存在寻道时间,对硬盘过于频繁的读写,造成寻道时间过长,影响速率。0.2串行通信分类:同步通信同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。计算机乙计算机甲01101数据时钟计算机乙计算机甲01101数据时钟数据+时钟外同步自同步(异或非)同步帧格式同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符(信息长度是8的整数倍)、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。面向字符的同步格式:传送的数据和控制信息都必须由规定的字符集(如ASCII码)中的字符所组成。图中帧头为1个或2个同步字符SYN(ASCII码为16H)。SOH为序始字符(ASCII码为01H),表示标题的开始,标题中包含源地址、目标地址和路由指示等信息。STX为文始字符(ASCII码为02H),表示传送的数据块开始。数据块是传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(ASCII码为17H)或文终字符ETX(ASCII码为03H)。然后是校验码。典型的面向字符的同步规程如IBM的二进制同步规程BSC。SYNSYNSOHSTXETB/ETX块校验标题数据块面向位的同步格式:将数据块看作数据流,并用序列01111110作为开始和结束标志。为了避免在数据流中出现序列01111110时引起的混乱,发送方总是在其发送的数据流中每出现5个连续的1就插入一个附加的0;接收方则每检测到5个连续的1并且其后有一个0时,就删除该0。典型的面向位的同步协议如ISO的高级数据链路控制规程HDLC和IBM的同步数据链路控制规程SDLC。同步通信的特点是以特定的位组合“01111110”作为帧的开始和结束标志,所传输的一帧数据可以是任意位。所以传输的效率较高,但实现的硬件设备比异步通信复杂。8位8位8位8位16位≥0位0111111001111110校验场信息场控制场地址场应用SPI(SerialPeripheralInterface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。0.2串行通信分类:异步通信异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。111001100101001001发送设备接收设备10100100011110011001间隙任意异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间是异步的(字符之间不一定有“位间隔”的整数倍的关系),但同一字符内的各位是同步的(各位之间的距离均为“位间隔”的整数倍)。111001100101001001发送设备接收设备10100100011110011001间隙任意异步通信异步通信:在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。字符帧格式接收端检测到传输线上发送过来的低电平逻辑0(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。异步通信数据传输率数据传输率是指单位时间内传输的信息量,可用比特率和波特率来表示。⑴比特率:比特率是指每秒传输的二进制位数,用bps(bit/s)表示。⑵波特率,波特率是指每秒传输的符号数,若每个符号所含的信息量为1比特,则波特率等于比特率。在计算机中,一个符号的含义为高低电平,它们分别代表逻辑“1”和逻辑“0”,所以每个符号所含的信息量刚好为1比特,因此在计算机通信中,常将比特率称为波特率,即:1波特(B)=1比特(bit)=1位/秒(1bps)。⑶位时间Td位时间是指传送一个二进制位所需时间,用Td表示。Td=1/波特率=1/B。异步通信发送时钟和接收时钟在串行通信中,二进制数据以数字信号的信号形式出现,不论是发送还是接收,都必须有时钟信号对传送的数据进行定位。波特率因子接收时钟和发送时钟与波特率有如下关系:F=n×BF是发送时钟或接收时钟的频率;B是数据传输的波特率;n称为波特率因子。设发送或接收时钟的周期为Tc,频率为F的位传输时间为Td,则:Tc=1/F,Td=1/B得到:Tc=Td/n在实际串行通信中,波特率因子可以设定。在异步传送时,n=1,16,64,实际常采用n=16,即发送或接收时钟的频率要比数据传送的波特率高n倍。在同步通信时,波特率因子n必须等于1。串行同步和串行异步通信特点同步通信·以同步字符作为传送的开始,从而使收发同步;·每位占用时间相同;·字符数据间不允许有间隙,当线路空闲或没有字符可发送时,发送同步字符。异步通信·通信中两个字节间的时间间隔是不固定的,而在同一个字节中的两个相邻位的时间间隔是固定的。·发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。在异步通信中,每一个字符要用到起始位和停止位作为字符开始和结束的标志,以至于占用了时间。所以在数据块传送时,为了提高通信速度,常去掉这些标志,而采用同步传送。同步通信不像异步通信那样,靠起始位在每个字符数据开始时使发送和接收同步,而是通过同步字符在每个数据块传送开始时使收发双方同步。串行通信的传输方向1、单工单工是指数据传输仅能沿一个方向,不能实现反向传输。2、半双工半双工是指数据传输可以沿两个方向,但需要分时进行。3、全双工全双工是指数据可以同时进行双向传输。接收发送时间1时间2发送接收发送接收发送接收发送接收单工半双工全双工串行通信:信号的调制与解调利用调制器(Modulator)把数字信号转换成模拟信号,然后送到通信线路上去,再由解调器(Demodulator)把从通信线路上收到的模拟信号转换成数字信号。由于通信是双向的,调制器和解调器合并在一个装置中,这就是调制解调器MODEM。连接数据终端设备DTE(DataTerminalEquipment)数据通信设备DCE(DataCommunicationEquipment)DCEDTE电话网DCEDTERS-232CRS-232C1RS(推荐标准)串口通信个人计算机上的通讯接口之一,由电子工业协会(ElectronicIndustriesAssociation,EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。1.1RS-232-CRS-232-C是美国电子工业协会EIA(ElectronicIndustryAssociation)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。1.1RS-232-C远程通信连接数据终端RS-232-C标准最初是远程通信连接数据终端设备DTE(DataTerminalEquipment)与数据通信设备DCE(DataCommunicationEquipment)而制定的。“发送”和“接收”RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。常用物理标准还有有EIARS-422A、EIARS-423A、EIARS-485。1.1.1连接器的机械特性1.1.2电气特性•在TxD和RxD上:(TTL电平、CMOS电平、RS232电平)逻辑1(MARK)=-3V~-15V逻辑0(SPACE)=+3~+15V•在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V~+15V信号无效(断开,OFF状态,负电压)=-3V~-15V•EIARS-232C与TTL转换:EIARS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIARS-232C与TTL电路之间进行电平和逻辑关系的变换。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA
本文标题:RS232串口通信
链接地址:https://www.777doc.com/doc-309968 .html