您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 49电力系统远动第5讲_串口通信技术
1.了解串行通信的基本原理2.了解典型串行通信接口原理3.掌握PC机异步串行接口通信方法串行通信技术学习要点2008-3-26一、串行通信基础二、串行通信接口简介三、PC机的标准异步串行接口四、利用标准串口进行数据通信串行通信技术主要内容一、串行通信基础1.串行通信的概念2.信息传输的检错和纠错3.串行数据传送方式4.波特率5.通信协议6.异步串行通信和同步串行通信7.接收/发送时钟和波特率因子1.串行通信的概念指数据一位接着一位在一根线路上传输,在传输过程中,每一位数据都占据一个固定的时间长度。RxDTxD目的源D0D1D2D3D4D5D6D7Td注意:“串行”是外设与接口电路之间的数据传送方式,在CPU与接口之间仍是并行工作方式。串行状态寄存器串行控制寄存器收/发时钟波特率发生器数据缓冲器控制逻辑地址译码数据线DB数据发送寄存器并行输入/串行输出发送移位寄存器串行输出0110010165H数据接收寄存器接收移位寄存器串行输入/并行输出串行输入1010011065H控制线CB地址线AB串行通信接口D0D1D2D3D4D5D6D7D7D6D5D4D3D2D1D02.信息传输的检错和纠错z串行数据在传输过程中,由于干扰可能引起信息的出错如何发现传输中的错误,叫检错发现错误后,如何消除错误,叫纠错z最简单的检错方法是奇偶校验,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。奇校验:使所有传送的数位(含校验位)中1的个数为奇数偶校验:使所有传送的数位(含校验位)中1的个数为偶数z奇偶校验能够检测出1位误码,但是不能纠错。按照数据流的方向,分成三中基本的传送方式:单工方式全双工方式半双工方式3.串行数据传送方式单工方式只允许数据按照一个固定的方向传送.发送器接收器ABA方只能发送,称发送器B方只能接收,称接收器全双工方式允许通讯双方同时进行发送和接收操作发送器发送器AB接收器接收器相当于把两个方向相反的单工方式组合在一起,需要两条传输线。全双工方式主要应用于实时性较强的交互式应用中,如计算机之间的通信等。半双工方式数据能从A方传送到B方,也能从B方传送到A方,但是不能同时在两个方向上传送,每次只能由一方发送,另一方接收。发送器接收器AB接收器发送器通信双方通过软件控制的电子开关,进行方向的切换,轮流地进行发送和接收。一些简单的外部设备如键盘与主机的通信采用半双工方式.4.波特率(Baudrate)并行通信中,传输速率是以每秒多少字节(B/s)表示。串行通信中,衡量数据传输速率的单位是波特率,即每秒传送的二进制数据的位数,以位/秒(bps)表示。有时也用“位周期”Td表示传输速率,波特率是位周期的倒数。标准的波特率系列有:110、300、600、1200、1800、2400、4800、9600和19200等.D0D1D2D3D4D5D6D7Td波特率=1/Td5.通信协议要想保证通信成功,通信双方必须有一系列的约定,如:作为发送方,必须知道什么时候可以发送信息,对方是否收到,收到的内容有没有错,要不要重发、怎么通知对方结束等作为接收方,必须知道对方是否发送信息、发的是什么、收到的信息是否有错、如果有错怎么通知对方、怎么判断结束等。通信协议就是通信双方为了保证通信正确,事先对数据传送控制规定的必须共同遵守的一种约定,包括对数据格式、同步方式、传送速率、传送步骤、检纠错方式以及控制字符定义等问题做出的统一规定。6.串行通信基本方式根据对数据流的分界、定时和同步方式的不同,串行通信的基本方式可以分为两种类型:异步串行通信同步串行通信异步串行通信数据是一帧(Frame)一帧传送,每一帧包含起始位、数据位、校验位、停止位,帧与帧之间可有任意个空闲位。起始位B逻辑01位数据位D逻辑0或15位~8位校验位P逻辑0或11位或无停止位S逻辑11位或2位空闲位逻辑1任意数量异步串行数据格式为:一帧数据位LSBMSB空闲位空闲位BDPS起始位数据位校验位停止位例传送8位数据65H(01100101B),奇校验,1个停止位,信号线上的波形为:PS空闲位D0D1D2D3D4D5D6D7空闲位B一帧BDPS起始位数据位校验位停止位RxDTxDGNDGND异步串行通信特点z异步串行通信以帧为信息单位传送,1帧包含1个字符z在数据格式中设置起始位和停止位来协调“同步”z异步串行通信的“异步”,指字符与字符之间通信没有严格的定时要求,每个字符作为一个独立的单位,可以随机出现在数据流中,即每个字符在数据流中出现的时间是任意的z位与位之间有严格的定时一旦传送开始,收/发双方则按预先约定的传输速率,在时钟的作用下,传送字符中的每1位z异步串行通信适合于发送数据不连续、传送数据量较少,或对传输率要求不高的场合。字符1字符2字符3字符n~~数据块的传输同步串行通信同步串行通信是帧为单位传送,每帧包含1个数据块,每个数据块内可包含成百上千个字符,每个字符取相同的位数,字符之间可以是连续的,没有起始位和停止位。在数据块的前面一般设置有1个或2个同步字符,作为帧的边界和通知对方接收的标志,尾部是校验字符,用于校验数据传输的差错。同步字符字符1字符2……字符n校验字符数据块(可以是任意长度)同步串行通信数据格式1帧同步串行通信特点z字符与字符之间和字符内部位与位之间都是同步传送,对时钟要求非常严格.z收/发两端必须使用同一时钟来控制数据块的传输,即使用同一时钟来触发双方移位寄存器的移位操作。z在近距离通信时可以在传输线上增加一根时钟信号线,在远距离通信时可以通过调制/解调器,在数据流中发送/提取同步信号,使发送和接收方得到完全相同的时钟信号。RxDTxDCLKCLKTxDRxD时钟信号z同步串行通信适用于要求快速、大量数据传送的场合。7.接收/发送时钟和波特率因子接收/发送时钟在串行通信中,无论发送或接收,都必须有时钟脉冲信号对传送的数据进行同步和定位控制,这就需要有接收/发送时钟。同步,就是确认通信什么时候开始定位,就是确认每1个的数据位为了提高串行通信的抗干扰能力,往往用多个时钟调制1个二进制数据,调制1个二进制数据所用的收/发时钟个数称为波特率因子,用n表示波特率因子,则:收/发时钟频率=波特率×波特率因子n例如波特率因子为16,则16个时钟脉冲移位1次波特率因子通过这种方法,不仅能够排除接收线上的噪声干扰,识别假起始位,而且能够相当精确地确定起始位的中间点,从而提供一个准确的时间基准,从这个基准算起,每个16个Tc采样一次数据线,作为输入数据。当n=16时,接收器以数据波特率16倍的时钟对所接收的数据进行检测:首先正确地检测到起始位,然后逐位确定各个数据位。具体过程如下:接收器在每个接收时钟的上升沿采样接收数据线,当发现接收数据线出现低电平时,就认为是起始位的开始,若在连续的8个时钟周期内检测到接收数据线仍保持低电平,则确认它为起始位,而不是干扰信号。Td=16Tc接收数据位100000000接收时钟Tc起始位的确定接收数据接收时钟1010011数据位的采样一、串行通信基础二、串行通信接口简介三、PC机的标准异步串行接口四、利用标准串口进行数据通信串行通信技术主要内容二、串行通信接口简介1.串行通信接口典型结构图2.串行通信有关寄存器3.串行发送数据过程4.串行接收数据过程1.串行通信接口典型结构图串行状态寄存器串行控制寄存器收/发时钟波特率发生器数据缓冲器控制逻辑地址译码数据线DB数据发送寄存器并行输入/串行输出发送移位寄存器串行输出0110010165H数据接收寄存器接收移位寄存器串行输入/并行输出串行输入1010011065H控制线CB地址线ABD0D1D2D3D4D5D6D7D7D6D5D4D3D2D1D0例异步通信接口INS8250结构图发送移位R数据发送R数据缓冲寻址及逻辑控制CS0CS1CS2A2A1A0ADSDISTRSOSTRDDISMRD7~D0接收移位R数据接收R线路控制R线路状态R中断允许R中断识别RMODEM控制RMODEM状态R除数高位R除数低位R波特率发生器BCLKXTAL1XTAL2控制逻辑控制逻辑INTRPTRTSCTSDRTDSRRLSDRIOUT1OUT2内部数据总线SoutSin2.串行通信有关寄存器发送数据寄存器发送移位寄存器接收移位寄存器接收数据寄存器串行控制寄存器串行状态寄存器发送数据寄存器用于存放要发送的并行数据,如检测到发送移位寄存器为空,自动将保存的数据传送到发送移位寄存器.发送移位寄存器(并行输入/串行输出)用于将并行数据转换成串行数据,并通过串行输出管脚发送数据.CPU不能直接对发送移位寄存器存取操作.数据发送寄存器并行输入/串行输出发送移位寄存器D7D6D5D4D3D2D1D0串行输出10100110A6HA6H接收移位寄存器(串行输入/并行输出)用于接收从串行输入管脚传入的数据,并转换成并行数据.当接收到1字符的串行数据,就自动传送给接收数据寄存器.CPU不能直接对接收移位寄存器存取操作.接收数据寄存器用于存放由接收移位寄存器传送来的数据,CPU通过对接收数据寄存器进行读操作,获取传入的数据.接收数据寄存器接收移位寄存器串行输入/并行输出D0D1D2D3D4D5D6D7串行输入01100101A6HA6H串行控制寄存器设置串行通信的数据格式,包括波特率、停止位长度、数据位长度、奇偶校验方式的设置异步串行数据格式为:一帧数据位LSBMSB空闲位空闲位BDPS起始位数据位校验位停止位¾D7~D5:波特率设置000/110bps001/150bps010/300bps011/600bps100/1200bps101/2400bps110/4800bps111/9600bps¾D4~D3:奇偶校验设置00/无校验01/奇校验10/无校验11/偶校验¾D2:停止位长度设置0:1位1:2位¾D1~D0:数据位长度设置10:7位11:8位例如某串行通信接口控制寄存器的含义D7D6D5D4D3D2D1D0串行状态寄存器存放串行通信的状态,包括发送数据寄存器,接收数据寄存器,通信过程的状态等.¾D6:1=发送数据寄存器空¾D3:1=帧格式错误¾D2:1=奇偶校验错误¾D1:1=溢出错误¾D0:1=接收数据寄存器满通信口状态参数含义D7D6D5D4D3D2D1D0发送数据寄存器的状态满:当发送数据寄存器的数据未传送到移位寄存器处于满状态;空:当发送数据寄存器的数据传送到移位寄存器,新的数据还未写入发送数据寄存器时,未处于空状态当发送数据寄存器为空状态时,可以发送新数据.数据发送寄存器并行输入/串行输出发送移位寄存器D7D6D5D4D3D2D1D0串行输出10100110A6HA6H串行状态寄存器D7D6D5D4D3D2D1D0接收数据寄存器的状态满:当接收移位寄存器从串行输入管脚接收一个字节的数据,并转换成并行数据自动存放到接收数据寄存器后,接收数据数据寄存器处于满状态.空:当接收数据寄存器的数据被取走,但新的数据未传入,数据接收寄存器处于空状态.当接收数据寄存器为满状态时,可以接收新数据.串行状态寄存器D7D6D5D4D3D2D1D0接收数据寄存器接收移位寄存器串行输入/并行输出D0D1D2D3D4D5D6D7串行输入01100101A6HA6H接收/发送通信过程状态奇偶校验错误通信线上的噪音引起某些数据位的改变,使接收数据位的奇偶数与设定的奇偶校验方式不一致,从而产生奇偶校验错误。例传送方发送8位数据65H(01100101B),奇校验,1个停止位,数据格式为01010011011(含校验位在内1的个数5为奇数)如果接收方按同样的通讯协议接收数据,假如收到的数据为01011011011由于收到1的个数为6,为偶数,产生奇偶校验错误。(注意最后1位“1”是停止位,不在检验数据之内)溢出错误当上一个存在接收数据寄存器的数据还没有被CPU取走,又有字符要传送到接收数据寄存器时,产生接收数据寄存器溢出错误。帧格式错误当接收的数据没有停止位时,产生帧格式错误,这种错误可能是由于通信线上的噪音引起
本文标题:49电力系统远动第5讲_串口通信技术
链接地址:https://www.777doc.com/doc-5397883 .html