收藏 分享(赏)

第5章 串行数字通信.ppt

上传人:依依 文档编号:1285153 上传时间:2018-06-21 格式:PPT 页数:50 大小:1.06MB
下载 相关 举报
第5章  串行数字通信.ppt_第1页
第1页 / 共50页
第5章  串行数字通信.ppt_第2页
第2页 / 共50页
第5章  串行数字通信.ppt_第3页
第3页 / 共50页
第5章  串行数字通信.ppt_第4页
第4页 / 共50页
第5章  串行数字通信.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、1,第5章 串行数字通信概述串行口的结构与工作原理串行口的控制寄存器串行口的工作方式串行口的应用编程,2,5 .2. 1 概 述 单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。如下图所示。,3, 数据通信方式有两种:并行通信与串行通信并行通信: 所传送数据的各位同时发送或接收,数据有多少位就需要多少根数据线。 特点: 速度快,成本高,适合近距离传输 。缺点: 当距离较远、位数又多时,会导致通信线路复杂且成本高。 如计算机并口,打印机,8255 。 串行通信:所传送数据的各位按顺序一位一位 地发

2、送或接收。只需一根数据,一根地线,共2根 (如双向通信发送和接收各需1根数据线。) 特点:成本低,硬件方便,适合远距离通信, 缺点: 传输速度低。,4,5,串行通信的分类:同步串行通信和异步串行通信一、异步通信:,通信的双方应该有一个约定,什么时候开始发送,什么时候发送完毕;接收方收到的信息是否正确等,这就是通信协议。 异步串行通信一帧数据格式: 一个起始位 “0”,表示字符的开始,然后是58位数据即该字符的代码,规定低位在前,高位在后,接 下来是奇偶校验位(可省略),最后以停止位“1”表示字符的结束。,6,优点:硬件结构简单。缺点:传输速度慢。,P,1,D0,D1,D2,D3,D4,D5,D

3、6,D7,P,1,0,第n个字符(一帧),n-1,n+1,0,D0,起始位,数据位(58位),校验位,停止位,7,二、同步通信 在同步通信中,发送方在数据或字符开始处就用同步字符(常约定12个字节)指示一帧的开始 ,由时钟来实现发送端和接收端同步,接收方一旦检测到与规定的同步字符符合,下面 就连续按顺序传送若干个数据 ,最后发校验字节。见下图:,SYN字符1,SYN字符2,数据1,数据2,.,数据n,连续传送n 个数据,校验,8,三、单工、半双工、全双工通信方式,按通信方向分类:单工、半双工、全双工通信方式 1 单工方式: 一端是发送端,另外一端是接收端:数据传输仅能沿一个方向,不能实现反向传

4、输。,2. 半双工方式,每端口有一个发送器和一个接收器,通过开关连接在线路上,数据可以双向传送,但不能同时发送和接收. 要通过换向器转换方向。即接收和发送不能同时进行,只能分时发送和接收,甲机发送乙机接收,或者乙机发送甲机接收,因而两机之间只需一条数据线。,9,3. 全双工方式,通信双方用两个独立的收发器单独连接,可以同时发送和接收数据,因而提高了速度。全双工形式的串行通信必须使用两根数据线。,10,1.实现数据格式化 因为CPU发出的数据是并行数据,接口电路应实现不同串行通信方式下的数据格式化任务, 如自动生成起止方式的帧数据格式(异步方式)或在待传送的数据块前加上同步字符等。,在串行传输中

5、,通信的双方都按通信协议进行,所谓通信协议就是通信双方必须共同遵守的 一种约定,约定包括数据的格式、同步的方式、传送的步骤、检纠错方式及控制字符的定义 等。 串行接口的基本任务就是:,11,2.进行串、并转换 在发送端,接口将CPU送来的并行信号转换成串行数据进行传送;而在接收端,接口要将接 收到串行数据变成并行数据送往CPU,由CPU进行处理。3.控制数据的传输速率 接口应具备对数据传输率波特率的控制选择能力,即具有波特率发生器。4.进行传送错误检测 在发送时,对传送的数据自动生成校验位或校验码,在接收端能检查校验位或校验 码,以确定传送中是否有误码。,12,51系列单片机内有一个全双工的异

6、步通信接口,通过对串行接口写控制字可以选择其数据格 式,同时内部有波特率发生器,提供可选的波特率,可完成双机通信或多机通信。,四、 波特率 单位时间内传送的信息量。在计算机中,以每秒传送的二进制位数为单位。例如:100字符/秒,1个字符11位, 波特率为:10011=1100(波特) 平均每位传送占用时间 Td = 1/1100=0.909ms,13,(一)通信线的连接 通信速率和通信距离这两个方面是相互制约的,降低通信速率,可以提高通信距离. 不同的通信距离,串行通信电路有不同的连接方法。,五. 串行通信总线标准及接口,14,近距离传送电路,15,信号的调制与解调电话线计算机串行通信口传输的

7、信号是数字信号(方波脉冲序列),它要求通信媒介(如电缆、双绞线)必须有比方波本身频率更宽的频带,否则高颁分量将被滤掉。在远距离通信时,通常是利用电话线传送信息。由于电话线频带很窄,约303000Hz,如图所示,若用数字信号直接通信,经过传送线后,信号就会产生畸变,从而导致通信失败。,16,利用调制手段,将数字方波信号变换成某种能在通信线上传输而不受影响的波形信号,正弦波正是最理想的选择。不仅因为产生正弦波很方便,更重要的是正弦波不易受通信线(电话线)固有频率的影响。将载波信号(待传送的数字信号)通过一种信号进行编码称为调制。该信号的恢复称为解调,相应的设备称为调制器(Mdu2acor)和解调器

8、(DemodulaM)。由于串行通信大都是双向进行的,通信线路的任一端既需要调制器也需要解调器,将调制器和解调器合二为一的装置称为调制解调器,又称MODEM。,17,微机,接口,调制解调器,调制解调器,接口,微机,电话分机,电话分机,远距离传送电路,数字信号通过调制器变成模拟信号通过电话线传送到对方,接收方通过解调器将模拟信号转换成数字信号接收。,18,(二)串行通信接口总线标准,测控系统中,计算机通信主要采用异步串行通信方式,常用的异步总线标准有三种:RS-232(RS-232A RS-232B RS-232C)RS-449 (RS422 RS423 RS485)20mA电流环 这里重点介绍

9、RS-232 RS-232C:速率:20Kbit/S, 最大通信距离 : 15m RS422: 10Mbit/s, : 300m 90Kbit/s, :1200m,19,抗干扰能力 采用标准的通信接口,本身具有一定的抗干扰能力,但是工业现场的情况往往很恶劣,因而要根据具体情况进行选择。 RS232C:一般场合 RS422: 共模信号比较强 光纤: 电磁干扰较强,20,(三)RS232C,美国电子工业协会(EIA)公布的一种异步通信标准。 RS232C标准是:设备之间通信的距离不大于15米最大传输速率20KB/S采用负逻辑:“1” 5V 15V “0” +5V + 15V不带负载时输出电平:25

10、V +25V输出短路电流: 0.5A最大负载电容: 2500pF 当计算机采用RS232标准时必须通过电平,MAX232 是EIA和TTL电平转换芯片。内部具有电压提升电路,并有两路接收器和发送器。其连线和引脚如图,21,TTL电平可以由专用集成电路转换成RS232C标准; 如: MC1488 或 75188 TTL RS232C 从MC1489 或 75189 RS232C TTL 由于MC1488需要采用12V电源,一般在单片机通信中大量使用的是只需要+5V电源、具有发送和接收的一体化芯片,如:MAX232、ICL232、ADM202等。,22,MCS51之间的双机通信,MCS51和PC机

11、的双机通信,23,5.2 串行口的结构与工作原理,51单片机有一个可编程的全双工异串行通信接口,它可作UART用,也可作同步移位寄存器,其帧格式可有8位、10位或l l位,并能设置各种波特率,给使用者带来很大的灵活性。,24,5.2.1 串行口的内部结构,MCS-51串行口的结构由串行口控制电路、发送电路和接收电路3部分组成,其结构如图所示。发送电路由发送缓冲器SBUF和发送控制电路组成,用于串行口的发送;接收电路由接收缓冲器SBUF和接收控制电路组成,用于串行口的接收。,MOV A, SBUF,MOV SBUF, A,25,5 l 单片机通过引脚RXD(P3.0)串行数据接收端)和引脚TXD

12、(P3.l)串行数据发送端)与外界进行通信。 图中有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据。 发送缓冲器只能写入,不能读出,CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送; 接收缓冲器只能读出、不能写入。读SBUF,就是读接收寄存器。,26,1串口发送过程,当单片机执行“写”SBUF命令(如MOV SBUF,A)时,将累加器A中欲发送的字符送入SBUF(发送)后,发送控制器在发送时钟的作用下,自动在发送字符前后添加起始位、停止位和其他控制位,然后在发送时钟的控制下,逐位从TXD线上串行发送字符帧。发送完后使发送中断标志TI=1,发出

13、串口发送中断请求。,27,2串口接收过程,串行口在接收时,接收控制器会自动对RXD线进行监视。当确认RXD线上出现起始位后,接收控制器就从起始位后的数据位开始,将一帧字符中的有用位逐位移入接收缓冲寄存器SBUF(接收)中,自动去掉起始位、停止位或空闲位,并使接收中断标志RI=1,发出串口接收中断请求。这时,只要执行“读”SBUF命令(如MOV A , SBUF),便可以得到接收的数据。,28,串行控制寄存器SCON 用以存 放串行口的控制和状态信息。8XX51串行口正是通过对上述专用寄存器的设置、检测与读取 来管理串行通信的。特 殊功能寄存器PCON的最高位SMOD为串行口波特率的倍增控制位。

14、波特率发生器 可以有两种选择:1. 定时器T1作波特率发生器,改变计数初值就可以改变串行通信的速率,称为可变波特率。2. 以内部时钟的分频器作波特率发生器,因内部时钟频率一定,称为固定波特率,29,5.2.2 串行口的控制寄存器 1 串行口的空制寄存器SCON 8XX51串行通信的方式选择 ,接受和发送控制及串行口的标志均由专用寄存器SCON控制和指示,其格式如下:,30,SM0.SM1:串行口工作方式控制位。 0 0-方式0, 0 1-方式1 1 0-方式2, 1 1-方式3REN:串行接收允许位。 0-禁止接收, 1-允许接收TB8: 在方式2,3中,TB8是发送机要发送的第9位数据。,R

15、B8:在方式2,3中,RB8是接受机收到的第9位数据, 该数据来自发送机的TB8。TI: 发送中断标志位。发送前必须用软件清零,发 送过程中TI保持零电平,发送完一帧数据后,由 硬件置 “1”,如果再发送,必须用软件再清零。,31,RI: 接收中断标志位。接收前,必须用软件清零,接 收过程中RI保持零电平,接收完一帧数据后由 片内硬件自动置“1”。如果再接收必须用软件清 零。SM2:多机通信控制位,仅用于方式2和方式3。 当选择方式2或方式3时,发送机设置SM2=1, 以发送第九位TB8为1作为地址帧寻找从机,以 TB8为0作为数据帧进行通信,从机初始化时设 置SM2=1,若接收到的第九位数据

16、RB8=0,不置位 RI,即不引起接收中断,亦既不接收数据帧,继续 监听,如接收到的RB8=1,置位RI,引起接收中断, 中断程序中判断所接收的地址帧和本机的地址。,32,是否符合,若不符合,维持SM2=1,继续监听,若符合,则 清SM2,接收对放发来的后续信息. 综上所述,SM2的作用为:在方式2,3中,发送机SM2=1(程序设置). 接收机SM2=1,若RB8=1,激活RI,引起接收中断. RB8=0,不激活RI,不引起接断. SM2=0,无论RB8=1还是RB8=0均激活RI引起 接收中断。在方式1中, 当接收时SM2=1, 则只有收到有效停止位才 激活RI,在方式 0 中, SM2应置

17、为0。SM2=1接收地址状态,SM2=0接收数据状态.,33,PCON的字节地址为87H,无位地址, 只能字节寻址.,初始化时SMOD=0.,PCON,87H,2 电源控制寄存器PCON,PCON的格式如下图所示,串行通信只用其中的最高位SMOD,SMOD : 波特率加倍位。在计算串行方式 1、 2、 3 的波特率时, SMOD 0不加倍; SMOD 1 加倍,34,5.2.3 串行口的工作方式,根据串行通信数据格式和波特率的不同, 51系列单片机的串行通信有四种工作方式,通过编程进行选择,各工作方式的特点如下:1.方式0,串行口被设定为同步移位寄存器。这时,串行口的内部结构可简化为图所示。,

18、RXD(P3.0)引脚用于输入或输出数据,TXD(P3.1)引脚用于输出同步移位脉冲。波特率固定为fosc/12。发送和接收均为8位数据,低位在前,高位在后。串口工作于方式0时,SM2、RB8和TB8皆不起作用,通常将它们均设置为0状态。,35,移位寄位器方式多用于接口的扩展,当用单片机构成系统时,往往感到并行口不够用,此时可通过外接串入并出移位寄存器扩展输出接口;通过外接并入串出移位寄存器扩展输入接口,方式 0 也可应用于短距离的单片机之间的通信。,2.方式1 为10位异步通信方式,即每帧数据由1个起始位 “0”.八个数据位 和1个停止位“1”共10位构成.其 中起始位和停止位在发送时是自动

19、插入的.,以TXD为串行数据的发送端,T1提供位时钟,RXD 为数据的接收端,由T1提供移位时钟,是波特率可 变方式,36,波特率=(2SMOD/32)(TI的溢出率) =(2SMOD/32)(fosc/12(256-x) )根据给定的波特率,可以计算T1的计数初值X。,11位异步发送/接收方式,即每帧数据由有一个起始位“0”,9个数据位和1个停止位“1”组成.发送时九个数据位,由SCON寄存器的TB8位 提供,接收到的第九位数据存放在SCON寄存器的RB8位. 第九位数据可作为检验位,也可用于多机通信中 识别传送的是地址还是数据的特征位。,波特率固定为(2SMOD/64)fosc.,3. 方

20、式2,37,4. 方式3 数据格式同方式 2,所不同的是波特率可变,计算方式同方式 1。,38,5.3 MCS-51串行口的应用,5.3.1 串并变换,串行口方式0的应用有两种:一种是把串行口变为串入并出的输出口;另一种是把串行口变为并入串出的输入口。,如图所示电路,将串行口设置为方式0,外接一片串入、并出/串出的8位同步移位寄存器CD4094或74LS164。单片机串口输出端RXD接移位寄存器串行输入端DATA,移位时钟脉冲TXD端接移位寄存器时钟控制端CLK,在移位时钟控制下串行数据移入寄存器;P1.0接移位寄存器输出允许端STB,通过软件置位或复位控制并行输出。,1、串入并出的输出口,例

21、5.1,39,2、并入串出的输入口,如图所示,在串口方式0下外接一个并入串出的移位寄存器CD4014或74LS165,即可扩展一个并行输入口。串口RXD端输入CD4014输出端Q8移出的串行数据,TXD端仍然提供移位时钟给移位寄存器的时钟端CLK。,例5.2,40,2、并入串出的输入口,如图所示,在串口方式0下外接一个并入串出的移位寄存器CD4014或74LS165,即可扩展一个并行输入口。串口RXD端输入CD4014输出端Q8移出的串行数据,TXD端仍然提供移位时钟给移位寄存器的时钟端CLK。,例5.2,41,5.3.2 单片机的双机通信,除方式0外,串口在方式1、方式2和方式3下均用于异步

22、串行通信。MCS-51单片机的异步串行通信根据应用可分为双机通信和多机通信。 双机之间的串行通信应考虑接口电路、通信协议等。,根据两机通信距离的远近采取不同的接口电路,如果两个8031应用系统相距很近,将它们的串行口直接相连,如图5.4(a)所示;如果想增加通信距离,减少通道及电源干扰,必须在通信线路上加入辅助电路,如加入光耦合器和电平转换电路,如图5.4(b) 所示。,1、接口电路,42,2、双机的通信协议,为确保通信成功,通信双方要遵守共同约定的协议。协议内容包括双方采取一致的通信方式,一致的波特率设定,确认接收机、发送机,设定通信开始发送机的呼叫信号、接收机的应答信号,通信结束的标志信号

23、等。 按图5.4(a)所示,串行口工作方式1进行甲机发送、乙机接收异步通信,通信双方波特率均采用2400波特,甲机的呼叫信号为“10H”,乙机同意接收的应答信号为“20H”,不同意接收的应答信号为“30H”。正确回发0FH。,43,通信协议, 1号机是发送方,2号机是接收方。1号机发送时,先发送一个“E1”联络信号,2号机收到后回答一个“E2”应答信号,表示同意接收。1号机收到应答信号“E2”后,开始发送数据,每发送一个数据字节都要计算“校验和”。假定数据块长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送“校验和”。 2号机接收数据并转存到数据缓冲区,起始地址也为40H,每接收

24、到一个数据字节便计算一次“校验和”。当接收完一个数据块后,再接收1号机发来的“校验和”,并将它与本机求出的校验和进行比较。,44,通信协议,若校验和进行比较时,两者相等,说明接收正确,2号机回答00H;若两者不相等,说明接收不正确,2号机回答FFH,请求重发。1号机接到00H后结束发送。若收到的答复不是00H,则重新发送数据一次。双方约定采用串行口方式1进行通信,波特率为2400波特。方式1的波特率计算公式如下:,根据给定的波特率,可以计算T1的技术初值X。,45,5.3.3 单片机与PC的通信,1、接口设计,在数据处理和过程控制应用领域,通常需要一台PC,由它来管理一台或若干台以单片机为核心

25、的智能测量控制仪表。这时,也就是要实现PC和单片机之间的通信。,采用MAX232芯片的PC和单片机串行通信接口电路,与PC相连采用9芯标准插座。,46,2、程序编写,单片机通信程序编写,功能为:将PC键盘的输入发送给单片机,单片机收到PC发来的数据后,回送同一数据给PC,并在屏幕上显示出来。只要屏幕上显示的字符与所输入的字符相同,就说明二者之间的通信正常。通信双方约定:波特率为2400 b/s;信息格式为8个数据位,1个停止位,无奇偶校验位。,MCS-51通过中断方式接收PC发送的数据并回送。单片机串行口工作在方式1,晶振频率为6MHz,波特率2400b/s,定时器T1按方式2工作,经计算,定

26、时器预置值为0F3H,SMOD=1。,47,参考程序如下: ORG 0000HLJMP CSH ;转初始化程序ORG 0023HLJMP INTS ;转串行口中断程序 ORG 0050HCSH:MOV TMOD,#20H ;设置定时器1为方式2MOV TL1,#0F3H ;设置定时器预置值MOV TH1,#0F3HSETB TR1 ;启动定时器1MOV SCON,#50H ;串行口初始化MOV PCON,#80HSETB EA ;允许串行口中断SETB ESLJMP MAIN ;转主程序(主程序略)INTS: CLR EA ;关中断 CLR RI ;清串行口中断标志PUSH DPL ;保护现场

27、PUSH DPH PUSH A MOV A,SBUF ;接收PC发送的数据 MOV SBUF ,A ;将数据回送给PCWAIT:JNB TI,WAIT ;等待发送 CLR TI POP A ;发送完,恢复现场POP DPHPOP DPLSETB EA ;开中断RETI ;中断返回,48, PC通信程序编写,49,50,小 结,MCS-51系列单片机内部具有一个全双工的异步串行通信I/O口,该串行口的波特率和帧格式可以编程设定。MCS-51串行口有4种工作方式:方式0、方式1、方式2、方式3,帧格式有10位、11位。方式0和方式2的传送波特率是固定的,方式1和方式3的波特率是可变的,由定时器的溢出率决定。单片机与单片机之间以及单片机与PC之间都可以进行通信,异步通信的程序通常采用两种方法:查询法和中断法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报