七章串行通信接口

上传人:pu****.1 文档编号:569179885 上传时间:2024-07-28 格式:PPT 页数:86 大小:1.14MB
返回 下载 相关 举报
七章串行通信接口_第1页
第1页 / 共86页
七章串行通信接口_第2页
第2页 / 共86页
七章串行通信接口_第3页
第3页 / 共86页
七章串行通信接口_第4页
第4页 / 共86页
七章串行通信接口_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《七章串行通信接口》由会员分享,可在线阅读,更多相关《七章串行通信接口(86页珍藏版)》请在金锄头文库上搜索。

1、第七章第七章 串行通信接口串行通信接口7.5.1 7.5.1 接口功能与数据传输方式接口功能与数据传输方式7.5.2 7.5.2 串行传送的几个问题串行传送的几个问题7.5.3 7.5.3 串行通信的数据格式串行通信的数据格式7.5.4 7.5.4 串行接口标准串行接口标准7.5.5 7.5.5 串行通信接口任务串行通信接口任务7.5.6 7.5.6 用用8250A8250A组成的串行接口组成的串行接口漠档阴夺躁严曼厂纸钥搬编坎魂滤乓槛撅匈走蚂颓烦北勘治驯身刺燕扰固七章串行通信接口七章串行通信接口7.5.1 7.5.1 接口功能与数据传输方式接口功能与数据传输方式一、接口功能一、接口功能 接口

2、的功能是在系统总线和接口的功能是在系统总线和I/OI/O设备之间传输信号,设备之间传输信号,提供缓冲,满足接口两边时序要求。提供缓冲,满足接口两边时序要求。寻址功能寻址功能输入输出功能输入输出功能数据转换功能数据转换功能联络功能联络功能中断管理功能中断管理功能复位功能复位功能可编程功能可编程功能错误检测功能错误检测功能航队裙姑即掖折貌丢亢氓水辉吐尉厂呛扼毕片肇奋忌彝踪难柞殖散骇鹏驱七章串行通信接口七章串行通信接口二、数据传送的方式二、数据传送的方式数字信号的传输有并行传输和串行传输数字信号的传输有并行传输和串行传输 并并行行传传输输是是多多位位二二进进制制数数据据可可以以同同时时传传输输,提提

3、高高数数据据传传输输的的效效率率。通通常常以以8 8位位、16 16 位位或或3232位位的的数数据据宽宽度度同同时时进进行行传传输输。每每一一位位都都要要有有自自己己的的数数据据传传输输线线和和发发送送接接收收器器件件,在在时时钟钟脉脉冲冲的作用下数据从一端送往另一端。的作用下数据从一端送往另一端。 串串行行通通信信是是指指在在单单根根导导线线上上将将二二进进制制数数据据一一位位一一位位顺顺序序传传送送,特特别别适适合合于于远远距距离离传传送送。对对于于离离计计算算机机较较近近的的外外部部设设备备如如鼠鼠标、绘图仪、终端等,也常常采用串行方式交换数据。标、绘图仪、终端等,也常常采用串行方式交

4、换数据。 奠舌沦哆藕锦谣佯烁经现驰见骸瓜钎撞男谐澳灭咒颧阶非炕奶氛獭拘蒋隶七章串行通信接口七章串行通信接口 一、串行数据传送方向一、串行数据传送方向 串行通信中,数据通常是在二个站(点对点)之间进行串行通信中,数据通常是在二个站(点对点)之间进行传传送送,按按照照数数据据流流的的方方向向可可分分成成三三种种传传送送模模式式: :全全双双工工、半半双双工、单工工、单工1.1.全双工全双工(Full Duplex(Full Duplex) 数据的发送和接收分别由两根可以在两个不同的站点同数据的发送和接收分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻时发送和接收

5、的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作,选择的传送方式称为全双工制。进行发送和接收操作,选择的传送方式称为全双工制。7.5.2 7.5.2 串行传送的几个问题串行传送的几个问题私脏帕蔽哈竖嚷胺舌杨淳乓谤想研笨丽苯掇憋决币卸致篆疫假置文寿聘舒七章串行通信接口七章串行通信接口 特点:特点:每一端都有发送器和接收器每一端都有发送器和接收器 有二条传送线有二条传送线 应用应用:交互式应用,远程监测控制:交互式应用,远程监测控制发送器发送器接收器接收器接收器接收器发送器发送器A A站站B B站站图图7.5.1 7.5.1 全双工方式示意图全双工方式示意图挚裴笺昌漱虏骸剃灼厢擅绊粥抨灼

6、韩航莆撕被掺翱佃抽鼠犬蔓簇煎洼芳椎七章串行通信接口七章串行通信接口2.2.半双工(半双工(Half DuplexHalf Duplex) 使用同一根传输线,既可发送数据又可接收数据,但不能同时使用同一根传输线,既可发送数据又可接收数据,但不能同时收送数据,这样的传送方式就是半双工(收送数据,这样的传送方式就是半双工(Half DuplexHalf Duplex)制,)制,如图如图7.5.27.5.2所示。所示。发送器发送器接收器接收器发送器发送器接收器接收器A A站站B B站站图图7.5.2 7.5.2 半双工方式示意图半双工方式示意图特点:特点:每端需有一个收每端需有一个收/ /发切换电子开

7、关发切换电子开关 因有切换,会产生时间延迟因有切换,会产生时间延迟应用:应用:打印机串口,单向传送设备,发送器打印机串口,单向传送设备,发送器接收器接收器 搪整炼充拘涉洁食氰传协始伏饵牌磋雨汝熏缴硝晰铰罐惨踩肤霖梯翁搏伏七章串行通信接口七章串行通信接口二、信号的调制和解调二、信号的调制和解调 计算机的通信是要求传送数字信号,而在进行远程数据通计算机的通信是要求传送数字信号,而在进行远程数据通信时,线路往往是借用现有的公用电话网,但是,电话网是为信时,线路往往是借用现有的公用电话网,但是,电话网是为音频模拟信号的设计的。一般为音频模拟信号的设计的。一般为3003003400Hz3400Hz,不适

8、合于数据,不适合于数据信号。信号。 因此需要对二进制信号进行调制,以适合在电话网上传输因此需要对二进制信号进行调制,以适合在电话网上传输相应的音频信号,在接收时,需要进行解调,还原成数字信号。相应的音频信号,在接收时,需要进行解调,还原成数字信号。计算机计算机MODEMMODEMMODEMMODEM模拟信号模拟信号数字信号数字信号数字信号数字信号CRTCRT1 0 1 01 0 1 010 10 10 1010 10 10 10图图7.5.3 7.5.3 调制电话线调制电话线框抑掺咎玲减俱诛托寓解恰荆巢倔距屉盘泥前敦滋埔哈锁讨钒摄火袱胁凑七章串行通信接口七章串行通信接口1. 1. 什么叫调制什

9、么叫调制? ? 所调调制就是进行波形变换。或者说进行频谱变换,就所调调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。频谱。2. 2. 作用作用: : 调调制制器器(Modulator)(Modulator)是是一一个个波波形形变变换换器器, ,它它将将基基带带数字的波形变换成适合于模拟信道传输的波形。数字的波形变换成适合于模拟信道传输的波形。 解解调调器器是是一一个个波波形形识识别别器器, ,将将模模拟拟信信号号恢恢复复成成原原来来的的数数字信号。字信号。 调制器调制器解调器解调器0100

10、10010010010010010010杰氛断溅早诣酞令烯纳峨谜娥愤略钧蒙儿距殉冗伤简妆琅逛肃烙钝烤歼敲七章串行通信接口七章串行通信接口最基本的调制方法有以下几种:最基本的调制方法有以下几种:(1 1)调幅()调幅(AMAM)即载波的即载波的振幅振幅随基带数字信号而变化随基带数字信号而变化. . “1 1”对应有载波对应有载波 “0 0” 对应无载波对应无载波3. 3. 调制方法调制方法: :(2 2)调频()调频(FMFM) 即载波即载波频率频率随数字信号而变化随数字信号而变化 “0 0”对应对应”f1f1” “1 1”对应对应“f2f2”(3)(3)调相(调相(PMPM) 即载波初始相位随

11、基带数字信号即载波初始相位随基带数字信号而变化而变化. . “ 0 0”对应相位对应相位0 0度度 “1 1”对应相位对应相位180180度度f1f2FMAM0 1 0 0 1 10度180度PM旷夯障卢壕严担航选酣驾混臂湘谎御不睬卿棍袁履姻楷京录姥叉忍壕替彦七章串行通信接口七章串行通信接口4.发送时钟和接收时钟发送时钟和接收时钟数据输入寄存器输入移位寄存器1,16,32数据输出寄存器输出移位寄存器1,16,32CLK(主时钟主时钟)(串行数据输入)输入移位脉冲输入移位脉冲(串行数据输出)输出移位脉冲输出移位脉冲接收时钟发送时钟吏硫逐态卫侗孵肢皋境辟旁缚檄馒副绘蛀靡兑苛脓紧其沫偿据祟倔受仓曙七

12、章串行通信接口七章串行通信接口5.波特率因子波特率因子F(时钟频率)(时钟频率)波特率因子波特率因子波特率波特率波波特特率率因因子子:数数据据传传输输率率(波波特特率率)与与时时钟钟频频率率之之间间的的比例系数比例系数.给给定定时时钟钟频频率率,选选择择不不同同的的波波特特率率因因子子可可得得到到不不同同的的波波特率。特率。例例如如:f=19.2kHz,若若选选波波特特率率因因子子为为16,则则波波特特率为率为1200bps。若若选选定定波波特特率率因因子子和和波波特特率率,则则相相应应的的确确定定了了对对时时钟钟频频率率的要求。的要求。待邮正赦灭锈蔡缚唯壤询休伯融右马蒜章撰弦钠蒲妖汪丝尹挚做

13、犯快荆宣七章串行通信接口七章串行通信接口12001619200(时时钟钟频频率率)若若外外部部时时钟钟电电路路的的频频率率F1MHz,需需用用8253分分频频,试试计计算算分分频频系系数数(8253的计数初值)?的计数初值)?8253计数初值时钟频率计数初值时钟频率(波特率波特率因子波特率波特率因子) 傀澳酿睫花咽燃效垮赵氏颐她风厅段秦叼帜撅暗梭谜爵量垒彻剪弟擞首站七章串行通信接口七章串行通信接口8250外部的外部的时钟电路时钟电路 1, 16,1MHzN分频分频19.2KHz移位脉冲移位脉冲CLKOUT 8253岳摇蝶尝京攀旋迎燃计蒲靠还汤祟度幻织搪臀古箕舔朝斡彰挥颓找汪鸿加七章串行通信接口

14、七章串行通信接口三、信息的检错与纠错三、信息的检错与纠错 串行数据在传输过程中,由于干扰而引起误码是难免的,串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检这直接影响通信系统的可靠性,对通信中的检/ /纠错能力是衡量纠错能力是衡量一个通信系统的重要内容。一个通信系统的重要内容。 检错:检错:如何发现传输中的错误,称为检错。如何发现传输中的错误,称为检错。 纠错:纠错:如何消除错误,称为纠错如何消除错误,称为纠错例:例:奇偶校验检错奇偶校验检错 方阵码检错方阵码检错 循环冗余码(循环冗余码(CRCCRC)检错)检错 方阵码检错技术:方阵码检错技术: 采用

15、奇偶校验与采用奇偶校验与“检验和检验和”的综合。的综合。 7 7位编码后附加位编码后附加1 1位奇偶位。位奇偶位。袁端变凉祈恫蛊惹氛钳造垫仍覆绅雇茬池疼丹催刑空墩跃题繁色浊盐母摄七章串行通信接口七章串行通信接口 若若干干个个字字符符组组成成一一个个数数据据块块列列成成方方阵阵,列列向向按按位位相加产生相加产生一个单字节检验和附加到数据块未尾。一个单字节检验和附加到数据块未尾。 1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1

16、1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1奇偶位奇偶位氢次饥陶劣狈纵茎哭壕涤霍贷群陷膨豹俞玲滚券狠灯唇碴瘩捉皮蓝玖郎侮七章串行通信接口七章串行通信接口四、传输速率四、传输速率1. 1. 波特率:波特率: 是是指指在在串串行行通通信信中中,在在基基本本波波传传输输的的情情况况下下,每秒钟传送的二进制脉冲的数目。每秒钟传送的二进制脉冲的数目。 用波特率表示:即用波特率表示:即1 1波特波特=bit/s =bit/s (位(位/ /秒)秒)常常用用的的标标准准波波特特率率:1101

17、10,300300,1K1K,1.2K1.2K,2.4K2.4K,4.8K4.8K,9.6K9.6K,19.2K19.2K,56K56K萤宴宽箭魔函烽崇文刨悦岛砍弦静凛蛀昧誉酒缄弗厄柒漳佑鞍醒照境彪闪七章串行通信接口七章串行通信接口2.2.字符速率:字符速率: 是指每秒所传输的字符数,这个概念使用少。是指每秒所传输的字符数,这个概念使用少。 字符速率与波特率的关系:字符速率与波特率的关系: 1 1个个字字符符:1 1个个起起始始位位+8+8个个数数据据位位+1+1个个偶偶数数位位+2+2个个终终止止位位=12=12位位 如果波特率:如果波特率:12000 12000 则字符速率:则字符速率:1

18、2000/12=100012000/12=1000字符字符/s/s鞍隔相柔懒听狠五呀涪胚愉硼坏紧陌课甥范钠度凛蓉舞萝锚圭估晃菌科疽七章串行通信接口七章串行通信接口7.5.3 7.5.3 串行通信的数据格式串行通信的数据格式通信协议:通信协议: 是是指指通通信信双双方方的的一一种种约约定定,包包括括对对数数据据格格式式、同同步步方方式式,传传送送速速度度、传传送送步步骤骤、检检纠纠错错方方式式等等问问题题作作出出统统一一规规定定。也也称通信控制规程。称通信控制规程。同步协议同步协议异步协议异步协议分类分类面向字符(面向字符(character Orientedcharacter Oriented

19、) 面向比特(面向比特(BitBit)面向字节计数面向字节计数ISOISO(Inter national Standard OrganizationInter national Standard Organization)国际标准化组织。)国际标准化组织。OSIOSI(Open System InterconnectionOpen System Interconnection)开放系统互连参考模型。)开放系统互连参考模型。延顷半袍享熏狗殆惨歪科蛰辜抒以伴馋惜褒袜大既原触厩域舌邓蛆配搭胃七章串行通信接口七章串行通信接口一、起止式异步通信数据格式一、起止式异步通信数据格式1.1.格式格式1 11

20、10 00 00 00 01 10 01 11 11 10 00 00 0空空闲闲位位起始位起始位数据位数据位0 0低低高高校验位校验位停停止止位位应用:早期电传机应用:早期电传机每个字符总是以起始位开始(每个字符总是以起始位开始(“0 0”),以停止位(),以停止位(“1 1”)结)结束。束。字符之间没有时间间隔要求字符之间没有时间间隔要求字符后一位校验位(可没有)字符后一位校验位(可没有)2.2.特点:是一个字符一个字符传输特点:是一个字符一个字符传输效簿隶诈熄茄骋瞳粉剿虱蹬瘟娄粒呕处蕊搽壤码持驰鲸肥判媒青锗农求疏七章串行通信接口七章串行通信接口二、面向字符的同步通信格式二、面向字符的同步

21、通信格式 1.1.功能:功能: 是一次传送若干个字符组成的数据块,并且规定了是一次传送若干个字符组成的数据块,并且规定了1010个特殊个特殊字符作为这个数据块的开头与结束标志以及整个传输过程的控字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息。制信息。2.2.数据格式(一帧)数据格式(一帧)SYNSYNSYNSYNSOHSOH标题标题STXSTX数据块数据块ETB/ETXETB/ETX 块校验块校验沤郡增迸啊罪闭籍酌隐氓享螟悠阂呜道标箍痘蜡孟笺膳酒巢斑何呢讫败滴七章串行通信接口七章串行通信接口2121同步通信与异步通信同步通信与异步通信同步通信与异步通信同步通信与异步通信所所所所有

22、有有有串串串串行行行行通通通通信信信信都都都都需需需需要要要要一一一一个个个个时时时时钟钟钟钟信信信信号号号号来来来来作作作作为为为为数数数数据据据据的的的的定定定定时时时时参参参参考考考考。发发发发送送送送器器器器和和和和接接接接收收收收器器器器用用用用时时时时钟钟钟钟来来来来决决决决定何时发送和读取每一个数据位。定何时发送和读取每一个数据位。定何时发送和读取每一个数据位。定何时发送和读取每一个数据位。根根根根据据据据传传传传输输输输时时时时采采采采用用用用的的的的是是是是统统统统一一一一时时时时钟钟钟钟还还还还是是是是本本本本地地地地局局局局部部部部时钟,分为同步传输和异步传输两种。时钟,

23、分为同步传输和异步传输两种。时钟,分为同步传输和异步传输两种。时钟,分为同步传输和异步传输两种。u u同同同同步步步步传传传传输输输输用用用用一一一一个个个个时时时时钟钟钟钟脉脉脉脉冲冲冲冲确确确确定定定定一一一一个个个个数数数数据据据据位位位位, ,异异异异步步步步传输用多个时钟脉冲确定一个数据位传输用多个时钟脉冲确定一个数据位传输用多个时钟脉冲确定一个数据位传输用多个时钟脉冲确定一个数据位( (如如如如1616个个个个) )u u同同同同步步步步传传传传输输输输以以以以数数数数据据据据块块块块( (当当当当作作作作“ “位位流流” ”看看看看待待待待) )为为为为单单单单位位位位传传传传输

24、输输输,异异异异步步步步传传传传输输输输以以以以字字字字符符符符为为为为单单单单位位位位传传传传输输输输,但但但但都都都都称称称称为为为为帧帧(Frame)(Frame)融返诲议碍棘丢匆扫屈荐软迭览杀狙厄涝寺来墨鹏意金骂弃高变茁部揭殿七章串行通信接口七章串行通信接口2222同步通信的时钟定时方法同步通信的时钟定时方法同步通信的时钟定时方法同步通信的时钟定时方法数据(62H)01100010同步传输先发送高位同步传输先发送高位(MSB)发送方发送方在时钟信号的下降沿发送字节在时钟信号的下降沿发送字节接收方接收方在时钟信号的上升沿接收字节在时钟信号的上升沿接收字节时钟时钟(发送时钟与接收(发送时钟

25、与接收时钟完全同步)时钟完全同步)LSBMSB坞纸苏鸦拭鲁炬账烧禹惹晃秀凭花誉奏掸胎遏缀火葛礁累碎删噶梦命耙渍七章串行通信接口七章串行通信接口23232323异步通信的时钟定时方法异步通信的时钟定时方法异步通信的时钟定时方法异步通信的时钟定时方法数据数据(62H62H)0 00 00 00 01 11 1停止位停止位异步传输先发送低位异步传输先发送低位(LSB)(LSB)发送方发送方利用发送时钟来决定发送每个位的时刻利用发送时钟来决定发送每个位的时刻接收方接收方检测起始位的下降沿,并用它来同步接收时检测起始位的下降沿,并用它来同步接收时钟,然后利用接收时钟从每一位的中间接收该位钟,然后利用接收

26、时钟从每一位的中间接收该位1 1起始位起始位LSBLSBMSBMSB0 0奇偶奇偶校验位校验位0 00/10/11 1 1 1接收接收/ /发送发送时钟时钟锰皋润套傀丫邓稽窘愚开竭藐欠瞥犹会剧赦稍荧哭闽袱感肉衫改丛额晃俺七章串行通信接口七章串行通信接口2424异步通信时数据位的检测异步通信时数据位的检测异步通信时数据位的检测异步通信时数据位的检测发送发送/接收时钟周期:接收时钟周期:Tc,数据位间隔:数据位间隔:TdTc=Td/K,其中其中K称为波特率因子称为波特率因子(16,32,64)绰笆秤竭柿魏题蹲朴抱浅漾命嫂蓬骨吵骗雨者尔被蛆嗜矩鸿满撒摩肢怨碉七章串行通信接口七章串行通信接口2525异

27、步通信的一般格式异步通信的一般格式异步通信的一般格式异步通信的一般格式每个字符由每个字符由每个字符由每个字符由起始位起始位起始位起始位、数据位数据位数据位数据位、校验位校验位校验位校验位、停止位停止位停止位停止位构成。构成。构成。构成。起始位和停止位用于字符的同步。起始位和停止位用于字符的同步。起始位和停止位用于字符的同步。起始位和停止位用于字符的同步。从从图图中中可可看看出出,这这种种格格式式是是靠靠起起始始位位和和停停止止位位来来实实现现字字符符的的界定或同步的,故称为起止式协议。界定或同步的,故称为起止式协议。绰堆单碎敲咱对吭嫉贴莆之寝蕊扬熙汛范萎焕晕订炳吸饲嗅挪黑浚障琉砧七章串行通信接

28、口七章串行通信接口异步通信的信息格式如下边的表所示异步通信的信息格式如下边的表所示注注:表表中中位位数数的的本本质质含含义义是是信信号号出出现现的的时时间间,故故可可有有分分数数位,如位,如1.5。例例:传传送送8位位数数据据45H(0100,0101B),奇奇校校验验,1个个停停止止位位,则则信信号号线线上上的的波波形形象象图图所所示示那那样样:异异步步通通信信的的速速率率:若若9600bps,每每字字符符8位位,1起起始始,1停停止止,无无奇奇偶偶,则实际每字符传送则实际每字符传送10位,则位,则960字符字符/秒。秒。起始位起始位逻辑0 01 1位位数据位数据位逻辑0 0或或1 15 5

29、位、位、6 6位、位、7 7位、位、8 8位位校校验位位逻辑0 0或或1 11 1位或无位或无停止位停止位逻辑1 11 1位,位,1.51.5位或位或2 2位位空空闲位位逻辑1 1任意数量任意数量恰嚣警习漳抱简醋榆度报据罩焰戈应牌盲胳且绍桶党灰章庆艘脱僧办饯织七章串行通信接口七章串行通信接口7.5.4 7.5.4 串行接口标准串行接口标准一、一、EIA-RS-232EIA-RS-232接口标准接口标准 RS-232RS-232标标准准是是美美国国EIAEIA(电电子子工工业业联联合合会会)与与BELLBELL等等公公司司一一起起开发的,开发的,19691969年公布的通信协议,适合的数传率:年

30、公布的通信协议,适合的数传率:0 020Kbps20Kbps。1.1.电气特性电气特性RS-232RS-232对电气特性,逻辑电平和各种信号线的功能都作了规定。对电气特性,逻辑电平和各种信号线的功能都作了规定。 逻辑逻辑“1”=-3V“1”=-3V-15V -15V “0”=+3V “0”=+3V+15V+15V与与TTLTTL逻辑电平不一样,可用逻辑电平不一样,可用TTL/EIATTL/EIA电平转换器进行,如电平转换器进行,如MC1488MC1488,MC1489ICMC1489IC。号豌难赃关抢萍瞄恍瘪林翘舱狠伟洪阿锅主茵蒙秩厨斩搓搜然册谢生夯缨七章串行通信接口七章串行通信接口MC148

31、8MC1488MC1489MC1489RS-232RS-232TTLTTLEIAEIA电平电平+15V+15V+15V+15VTTLTTL+15V+15V 采用采用EIAEIA电平比电平比TTLTTL电平具有更强的抗干扰性能。电平具有更强的抗干扰性能。 另外,使用另外,使用MAX232MAX232电平转换省电电平转换省电, ,可连接二对收可连接二对收/ /发线,只用单发线,只用单电源。电源。2.2.机械特性机械特性1 1)连接器()连接器(ConnectorConnector) 常用二种:常用二种:DB-25DB-25型,型,2525脚,只用脚,只用9 9个信号(个信号(2 2个数据线,个数据

32、线,6 6个控制线,个控制线,1 1个个地址),如下图所示。地址),如下图所示。巾加苍忻杀傀劝慨桑琵面舵衷掂击浅鹏澈扰吩挚由驭齿孕挤亡亲韶切拉充七章串行通信接口七章串行通信接口1 12 23 34 4DB-25DB-25型连接器型连接器5 56 67 78 89 91111131325252222202018181414发送电流(发送电流(- -)发送电流(发送电流(+ +)DCDDCDGNDGNDDSRDSRCTSCTSRTSRTSR RX XD DT TX XD D(- -)接收电流)接收电流(+ +)接收电流)接收电流 DB-9DB-9型型 9 9针针,9 9针针全用,如下图。全用,如下

33、图。1 12 23 34 45 56 67 78 89 9DSRDSRRTSRTSCTSCTSRIRIDCDDCDR RX XD DT TX XD DDTRDTRGNDGNDDB-9DB-9型连接器型连接器潜落搏鸥瑶隘益氧梦侮橇萝夹娶朽达汞彦嚷请支挎允迢吾谤窘捣填勒靡涟七章串行通信接口七章串行通信接口2.2.电缆长度电缆长度 RS-232 RS-232直接连接的最大物理距离直接连接的最大物理距离15M15M,通信速率,通信速率20Kbps20Kbps。3.RS-232C3.RS-232C接口信号的定义接口信号的定义 25 25线:数据线线:数据线4 4条(条(2 2,3 3,1414,1616

34、) 控制线控制线1111条(条(4 4,5 5,6 6,8 8,1212,1313,1919,2020,2222,2323) 定时信号线定时信号线3 3条(条(1515,1717,2424) 地线地线2 2条(条(1 1,7 7) 备用备用5 5条(条(9 9,1010,1111,1818,2525) 未定义未定义4.4.信号线的连接信号线的连接1 1)近距离连接()近距离连接(15m15m15m)1 1)需用)需用MODEMMODEM和专用电话线和专用电话线2 2)需用)需用2 29 9条信号线(在接口与条信号线(在接口与MODEMMODEM之间)之间)计计算算机机接接口口调调制制解解调调器

35、器DCDDCDR RX XD DT TX XD DRTSRTSCTSCTSSGSGDSRDSR调调制制解解调调器器DCDDCDR RX XD DT TX XD DRTSRTSCTSCTSSGSGDSRDSR终终端端专用电话线专用电话线2 22 2采用采用MODEMMODEM时时RS-232RS-232信号线的使用信号线的使用2TxD发送数据发送数据3RxD接受数据接受数据4RTS请求发送请求发送5CTS允许发送允许发送6DSR数据设备准备好数据设备准备好20DTR数据终端准备好数据终端准备好7GND信号地信号地逝渝瑶诫藤嚏氮氯激棠河督滩痹尖器摊泰陶旦裹策辱曝墓哎享森关斑株谩七章串行通信接口七章

36、串行通信接口串行通信的接口标准串行通信的接口标准RS-232-C采用负逻辑,且信号电平与采用负逻辑,且信号电平与TTL不兼容不兼容串行接口芯片串行接口芯片8250、8251均使用均使用TTL电平,应使用电平,应使用电平转换电路与电平转换电路与RS-232C连接器连接。连接器连接。MC1488:TTL电平电平RS232电平电平 (用于发送(用于发送方)方)MC1489:TTL电平电平RS232电平电平 (用于接收(用于接收方)方)彪饼柯嚏于祷孪塌伤饱搜吊咆椰盼凳忙深椭赴乒侗柿舒缨毙问佳虱码呢盖七章串行通信接口七章串行通信接口串行通信的接口标准串行通信的接口标准采用采用Modem(DCE)和电话网

37、通信时的信号连接和电话网通信时的信号连接免先殷抚跪蒙菌共斋固论衰瞳顿辞墅辩他品英饮呼蒸躲雍遗剧竹版绥腾诛七章串行通信接口七章串行通信接口串行通信的接口标准串行通信的接口标准采用专用线通讯时的信号连接采用专用线通讯时的信号连接赣口汉舍沟认眷瘩炙田藕羌橡猪骗挤吧饲迷鳞杀懂低么深瞎垣基摘星碱氮七章串行通信接口七章串行通信接口串行通信的接口标准串行通信的接口标准无无Modem的标准连接的标准连接悦螟碘酒皑访此稻剧舵饯紧垫屡停碱拨龟子厨缕侯憎形中仓膳误必吓裹庶七章串行通信接口七章串行通信接口串行通信的接口标准串行通信的接口标准无无Modem 的最简连接的最简连接蚊鸡该诫史葫闲侄札恋宙愤宦团镶滔袒苍辱嘿泛

38、忧错秤烧赂潘埃份悟腮包七章串行通信接口七章串行通信接口典型的串行接口的结构典型的串行接口的结构由于由于CPU与接口之间按并行方式传输,接口与外设之间按与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有串行方式传输,因此,在串行接口中,必须要有“接收移接收移位寄存器位寄存器”(串(串并)和并)和“发送移位寄存器发送移位寄存器”(并(并串)。串)。抨赶寥劝填扁谚莆撼味顾趾唬钧酌锥瑚永秦炒战配澜飞郴热堕通轩溉草独七章串行通信接口七章串行通信接口一、一、RS-422RS-422接口标准接口标准1.1.特点特点: (1 1)采用平衡发送器和差动接收器,由于是双线传输,大

39、大提采用平衡发送器和差动接收器,由于是双线传输,大大提高了抗共模干扰的能力。高了抗共模干扰的能力。因为是两条传输线的电位差决定逻辑电平因为是两条传输线的电位差决定逻辑电平AAAA-BD -BD -2V +2V +2V,表示,表示“0”“0”(2 2)传输速率)传输速率 10Mbps10Mbps(15m15m时)时) 90Kbps 90Kbps(1200m1200m时)时)2.2.连接连接MC3487MC3487MC3486MC3486B BTTLTTLRS-422ARS-422A电平电平平衡发送器平衡发送器差动接收器差动接收器B BA AA A异柳拥舆凑圾辗尹痒毅显蚕缝妮距督闯邑痈朋岿稼庙敦哺

40、黔瓮平网惟谭簧七章串行通信接口七章串行通信接口二二 RS-423 RS-423接口标准接口标准1.1.连接:连接:2.2.特点:特点:采用单端发送器和差动接收器,由于是差动接收器,提高了抗采用单端发送器和差动接收器,由于是差动接收器,提高了抗 共模干扰能力。共模干扰能力。数传率:数传率:100Kbps/90m100Kbps/90m时时 1Kbps/1200m 1Kbps/1200m时时逻辑逻辑“1 1”,4V4V6V6V 逻辑逻辑“0 0”,-4V-4V-6V-6VTTLTTLRS-423ARS-423A电平电平单端发送器单端发送器差动接收器差动接收器+ +- -例墟炕池傀硷顾懊渗乾尝呸烧淫奶

41、钒属感着鸽洱侮朵不张陵拾脚炉稠怜橱七章串行通信接口七章串行通信接口三、三、RS-485RS-485接口标准接口标准1.1.特点特点:(1 1)兼容)兼容RS-422ARS-422A,扩展,扩展RS-422ARS-422A的功能;的功能;(2 2)允允许许在在电电路路中中有有多多个个发发送送器器和和允允许许一一个个发发送送器器驱驱动动多多个个接收器,多达接收器,多达3232个收个收/ /发器;发器;(3 3)抗干扰能力强,传送距离远,传输速率高。)抗干扰能力强,传送距离远,传输速率高。 数传率:数传率:100Kbps 1.2Km 100Kbps 1.2Km 不用不用MODEMMODEM 9.6K

42、bps 15Km 9.6Kbps 15Km 10Mbps 15m 10Mbps 15m挟妨瓜痉剃肢虹明弥艾捌奈蓬别寂尽语症配鄙按搀范点时捡迭尤赦先烈钥七章串行通信接口七章串行通信接口RS-422标准规定采用平衡驱动差分接收电路标准规定采用平衡驱动差分接收电路,提高了数据提高了数据传输速率传输速率(最大位速率为最大位速率为10Mb/s),增加了传输距离增加了传输距离(最大传最大传输距离输距离1200m)。RS-423标准规定采用单端驱动差分接收电路标准规定采用单端驱动差分接收电路,其电气其电气性能与性能与RS-232C几乎相同几乎相同,并设计成可连接并设计成可连接RS-232C和和RS-422.

43、它一端可与它一端可与RS-422连接连接,另一端则可与另一端则可与RS-232C连接连接,提供了一种从旧技术到新技术过渡的手段提供了一种从旧技术到新技术过渡的手段.同时又提同时又提高位速率高位速率(最大为最大为300Kb/s)和传输距离和传输距离(最大为最大为600m)。因因RS-485为半双工的为半双工的,当用于多站互连时可节省信号当用于多站互连时可节省信号线线,便于高速、远距离传送便于高速、远距离传送.许多智能仪器设备均配有许多智能仪器设备均配有RS-485总线接口总线接口,将它们联网也十分方便。将它们联网也十分方便。聋溉贤块咆错桔痪肆樊残银赵匡咱滋诲炼般猿显皆舀尝牢瞳介瑚郴梅秤姻七章串行

44、通信接口七章串行通信接口7.5.5 7.5.5 串行通信接口任务串行通信接口任务一、串口的基本任务一、串口的基本任务(1 1)进行串,并转换)进行串,并转换(2 2)实现串行数据格式化)实现串行数据格式化(3 3)可靠性检验)可靠性检验(4 4)实施接口与端口设备之间联络控制)实施接口与端口设备之间联络控制二、串口电路的组成二、串口电路的组成1.1.内部有四个寄存器:控制寄存器、状态寄存器、内部有四个寄存器:控制寄存器、状态寄存器、数据输入内部有寄存器、数据输出寄存器数据输入内部有寄存器、数据输出寄存器2.2.数据线数据线3.3.联络信号线联络信号线4.4.地址线与片选线地址线与片选线 5.5

45、.串并转换和并串转换串并转换和并串转换融刨伐箕例揭犊豺旅潦域敌靡电羔垂巳崭磐崖锋嗣铃伍港五慈版拢缔栽五七章串行通信接口七章串行通信接口PC机机常常用用可可编编程程串串行行通通信信接接口口的的芯芯片片除除了了8251A以以外外,还还有有8250、PC16550等等。和和8251A相相比比,8250、PC16550不不具具备备同同步步方方式式的的传传送送功功能能。但但是是,对对异异步步通通信信的的控控制制功功能能强强于于8251A。8250和和PC16550都都具具有有波波特特率率发发生生器器,从从而而可可以以对对波波特特率率进进行行编编程程。和和8251A相相比比,它它们们还还具具有有全全部部控

46、控制制调调制制解解调调器器的的信信号号,包包括括载载波波信信号号检检测测DCD#和和振振铃铃指指示示RI,因因此此就就可可以以直直接接和和调调制制解解调调器器连连接。而且它们和接。而且它们和IntelCPU也完全兼容。也完全兼容。命坯睛咯避吓匠苗唤叙珐劲数喀须坟俗时拭厄淄桅土端使牛斧制刃浩示环七章串行通信接口七章串行通信接口7.5.3可编程串行接口可编程串行接口8250/16550串行通信:数据被串行通信:数据被逐位顺序传送逐位顺序传送u串行同步通信:串行同步通信:每个字符及位都是同步每个字符及位都是同步u串串行行异异步步通通信信:同同一一字字符符内内是是同同步步的的,而而字字符符与字符之间不

47、同步与字符之间不同步(异步)(异步)协协议议:通通信信收收/发发双双方方必必须须共共同同遵遵守守的的基基本本通信规程通信规程协协议议内内容容:一一般般包包括括收收发发双双方方的的同同步步方方式式、传传输输控控制制步步骤骤、差差错错检检验验方方式式、数数据据编编码码、数数据据传传输输速速率率、通通信信报报文文格格式式及及控控制制字字符符定义定义脸惕目橱碟意季痪喧烙罕菊群漂磋高敢扔汕钥汾雍购臣跟倾早止挟蹈西信七章串行通信接口七章串行通信接口异步通信协议异步通信协议为为使使通通信信双双方方确确认认数数据据有有效效,在在字字符符中中设设置置起起、止标志位止标志位起始标志位:每个字符前添加的一个起始标志

48、位:每个字符前添加的一个“0”停止标志位:每个字符后添加的若干个停止标志位:每个字符后添加的若干个“1”字字符符之之间间的的空空隙隙用用“1”填填满满,此此时时的的“1”称称为为空闲位,空闲位,“0”为空号、为空号、“1”为传号为传号统秒随饲报具哗剂泛债废嗡泼涛亨乒舷钮霞任槐孙烤皱鸯参总腹沥箍安盗七章串行通信接口七章串行通信接口基本功能:基本功能:(1 1)每每个个字字符符的的数数据据位位数数(5 58 8位位),奇奇偶偶校校验验(奇奇校校验验、偶偶校校验验或或无无奇奇偶偶校校验验),及及停停止止位位数数(1 1,1.51.5或或2 2个个)均可以自由选择均可以自由选择(2 2)内内装装可可编

49、编程程波波特特率率发发生生器器,可可对对输输入入时时钟钟进进行行1 1到到(216-1216-1)的的分分频频并并产产生生1616倍倍发发送送波波特特率率的的波波特特率率输输出出信信号号( )。具具有有独独立立的的接接收收器器时钟信号输入。允许数据传送波特率为时钟信号输入。允许数据传送波特率为505096000B/S96000B/S(3 3)收和发都具有双重缓冲)收和发都具有双重缓冲(4 4)具具有有优优先先权权中中断断管管理理系系统统并并提提供供对对发发送送接接收收、错错误误和和通通信信线线路状态的中断检测路状态的中断检测 (5 5)提供通信线路和)提供通信线路和MODEMMODEM的全部状

50、态的全部状态 (6 6)能检测假起始位)能检测假起始位(7 7)能产生和检测中止符)能产生和检测中止符(8 8)具有自诊断测试功能)具有自诊断测试功能 莫译坪契仕隐绪哺傀侍嫂涵缓晴埠漏崩郊帘墩巩杏系乱贮眨培倘焰募隧哑七章串行通信接口七章串行通信接口芯片引脚芯片引脚面向系统的引脚:面向系统的引脚:D0D0D7D7 双双向向数数据据线线。与与系系统统数数据据总总线线DBDB相相连连接接,用用以以传传送送数数据据、控制信息和状态信息。控制信息和状态信息。CS0CS0,CS1CS1,CS2CS2 片片选选信信号号,当当它它们们同同时时有有效效时,该时,该82508250芯片被选中。芯片被选中。CSOU

51、TCSOUT 片片选选输输出出信信号号。当当82508250的的CS0CS0、CS1CS1和和CS2CS2同同时时有有效效时时,CSOUTCSOUT为高电平。为高电平。MRMR 主主复复位位信信号号,高高电电平平有有效效。当当它它有有效效时时,除除接接收收数数据据寄寄存存器器、发发送送保保持持寄寄存存器器、除除数数锁锁存存器器外外,其余寄存器的内容均被清除其余寄存器的内容均被清除祖痔情卸雪雇绘涧效惟缴坡撒裸黍尤记拧湖沾躲肥路旦渴泌辨舱冠燕吉汽七章串行通信接口七章串行通信接口uA0A2 8250 8250内部寄存器的选择信号。不同的编码内部寄存器的选择信号。不同的编码 对应于不同的寄存器。对应于

52、不同的寄存器。uADS 地地址址选选通通信信号号。有有效效时时可可将将CS0CS0,CS1CS1,CS2CS2及及A0-A2A0-A2锁锁存于存于82508250内部。不需要锁存时,内部。不需要锁存时,ADSADS可直接接地。可直接接地。uDISTR 读选通信号。通常与系统总线的读选通信号。通常与系统总线的IOR信号相连接。信号相连接。uDOSTR 写选通信号。通常与系统总线的写选通信号。通常与系统总线的IOW信号相连接。信号相连接。uINTR 中中断断请请求求信信号号。当当允允许许82508250中中断断时时,接接收收出出错错、接接收收数数据据寄寄存存器器满满、发发送送数数据据寄寄存存器器空

53、空以以及及MODEMMODEM的的状状态态均均能够产生有效的能够产生有效的INTRINTR信号。信号。胳扼房蓄粗蛰公阅夏嫉亢恐君陷岛驭捣馆彻鸳绒猛星将烫喻狭迄镭某票笋七章串行通信接口七章串行通信接口8250的引脚及功能的引脚及功能(续续)面向通信设备的引脚信号面向通信设备的引脚信号SIN, SOUTSIN, SOUT: : 串行输入串行输入/ /输出端输出端CTS, RTS, DTR, DSRCTS, RTS, DTR, DSR: :(同(同RS232RS232标准中的信号)标准中的信号)RLSDRLSD: : 即即RS232CRS232C标准中的标准中的DCDDCD信号信号RIRI: :(同

54、(同RS232RS232标准中的信号)标准中的信号)OUT1, OUT2OUT1, OUT2: : 可由用户编程确定其状态的输出端可由用户编程确定其状态的输出端BAUDOUTBAUDOUT: : 波特率信号输出(频率波特率信号输出(频率=f=fCLKCLK/ /分频值)分频值)XTAL1, XTAL2XTAL1, XTAL2: : 接外部晶振,作为基准时钟接外部晶振,作为基准时钟f fCLKCLKRCLKRCLK: : 接收时钟输入(可直接与接收时钟输入(可直接与BAUDOUTBAUDOUT相连)相连)黍摸庸灰梅孺霄矽蔬锗君红始肝外氖周续岳顾睹琳惋堆阎鹏埂绵肉劫表祥七章串行通信接口七章串行通信

55、接口8250与与8088系统的连接系统的连接系统总线D7-D0DISTRDOSTRINTRMRA0A1A2ADSDISTRDOSTRCS2CS1CS0+5VCSD7-D0# IOR# IOWINTRRESETA0A1A2电平转换/驱动器14881489到RS232接口XTAL1XTAL2BAUDOUTRCLK SOUTSINRTSDTRDSRDCDCTSRI8250XTAL贪萎筹笨料摹配差点拾盾耕董降棕缆沁炎病俐糯骆梦掉尚吕囤醛朱做庙届七章串行通信接口七章串行通信接口寄存器结构寄存器结构1.1.接收缓冲器接收缓冲器RBR2.2.发送保持寄存器发送保持寄存器THR3.3.传输线控制寄存器传输线控

56、制寄存器LCR4.4.传输线状态寄存器传输线状态寄存器LSR5.5.调调制制解解调调器器控控制制寄寄存存器器MCR6.6.调调制制解解调调器器状状态态寄寄存存器器MSR7.7.中断使能寄存器中断使能寄存器IER8.8.中断识别寄存器中断识别寄存器IIR9.9.分分频频次次数数寄寄存存器器DLL及及DLM思思考考:3条条地地址址线线如如何何编编码码10个个寄存器?寄存器?朝莉游维晦鳃短绵兹莆定伏茬裙八腻肄世埠隘土毙综晕娇芝桂漱稚鞋已搭七章串行通信接口七章串行通信接口8250的内部寄存器(续)的内部寄存器(续)除除 数数 锁锁 存存 器器 ( DLL, DLH) BASE+0,1u用来保存分频系数

57、,以获得所需的用来保存分频系数,以获得所需的波特率波特率。波特率波特率可以简单地看成每秒传送多少二进制位可以简单地看成每秒传送多少二进制位uPCPC机机中中基基准准时时钟钟频频率率f fCLKCLK=1.8432MHz=1.8432MHz,波波特特率率因因子子K=16K=16。所以,对于指定的波特率。所以,对于指定的波特率B B 除数值除数值=1843200/(B16)=115200/B=1843200/(B16)=115200/Bu例如,通信速率为例如,通信速率为96009600波特时,除数值波特时,除数值=12=12。u注意:写除数前,必须把注意:写除数前,必须把LCRLCR的最高位的最高

58、位(DL(DL位位) )置置1 1遏逞挟蠕寥挽扁啄循这盟茫斑拒麦欢沟姜桥瞬谈阮仇趾氯诲乔姐昆漠吸赫七章串行通信接口七章串行通信接口寄存器端口地址分配寄存器端口地址分配DLABDLABA A2 2A A1 1A A0 0被访问的寄存器被访问的寄存器串口串口1 1的地址的地址0 00 00 00 0接收缓冲器接收缓冲器RBRRBR、发送缓冲器、发送缓冲器THRTHR3F8H3F8H0 00 00 01 1中断允许寄存器中断允许寄存器IERIER3F9H3F9H0 01 10 0中断标识寄存器(只读)中断标识寄存器(只读)IIRIIR3FAH3FAH0 01 11 1传输线控制寄存器传输线控制寄存器

59、LCRLCR3FBH3FBH1 10 00 0ModemModem控制寄存器控制寄存器MCRMCR3FCH3FCH1 10 01 1传输线状态寄存器传输线状态寄存器LSRLSR3FDH3FDH1 11 10 0ModemModem状态寄存器状态寄存器MSRMSR3FEH3FEH1 10 00 00 0除数寄存器(低字节)除数寄存器(低字节)DLLDLL3F8H3F8H1 10 00 01 1除数寄存器(高字节)除数寄存器(高字节)DLMDLM3F9H3F9H囱祁爵惺伶椎堰寨酞筏侵娠臆艘以梨驻套画灾瑞火莲益疵吝隙衷渝珍芳砌七章串行通信接口七章串行通信接口线路控制寄存器线路控制寄存器LCR(BAS

60、E+3BASE+3)D7D6D5D4D3D2D1D0XX0:校验位无效:校验位无效001:奇校验:奇校验011:偶校验:偶校验101:校验:校验0111:校验恒:校验恒1校校 验方验方 式式数据数据 帧长帧长00:5位位01:6位位10:7位位11:8位位设置简断设置简断1-强强制制间间断断0-正正常常寻址识别寻址识别1 :分分频频0 :收收发发数数据据、中中断断停止位停止位1 : 1位位半半或或2位位0 : 1位位停停止止位位决定传输时的数据帧格式(通信双方必须一致)决定传输时的数据帧格式(通信双方必须一致)SOUT强制为1 (Break符号)椒红致抑汾羚混黎嘻姥寸甄帛陶反烤耗某姚舞抿貌系酣

61、疾斩应献恍晚示魁七章串行通信接口七章串行通信接口传输线状态寄存器传输线状态寄存器LSR(BASE+5BASE+5)D7D6D5D4D3D2D1D00恒恒定定值值1 :发发送送移移位位空空1 :发发送送缓缓冲冲空空1 :检检测测到到间间断断1 :帧帧错错1 :奇奇偶偶校校验验错错1 :数数据据溢溢出出错错误误1 :接接收收数数据据就就绪绪反映传输时的通信线状态反映传输时的通信线状态宫明淮凿份案鸿竹盂埂函链蛆月晋床孟粥屠汐欢狈痹家朋裕衬台撕搅荚慷七章串行通信接口七章串行通信接口发送保持寄存器(发送保持寄存器(THRTHR)BASE+0BASE+0u要要发发送送的的数数据据写写入入此此寄寄存存器器。

62、当当发发送送移移位位寄寄存存器器TSRTSR空时,空时,THRTHR中的内容移入中的内容移入TSRTSR被发送出去。被发送出去。u只有只有THRTHR空时,空时,CPUCPU才能写入下一个要发送的数据才能写入下一个要发送的数据接收缓冲寄存器(接收缓冲寄存器(RBRRBR)BASE+0BASE+0uRSRRSR收收到到一一个个完完整整的的数数据据后后,就就将将其其送送入入RBRRBR中中。CPUCPU可从可从RBRRBR中读取收到的数据。中读取收到的数据。uRBRRBR只只能能缓缓冲冲一一个个数数据据,当当CPUCPU未未能能及及时时取取走走上上一一个个数据,下一个数据又送入数据,下一个数据又送

63、入RBRRBR时,会产生溢出错时,会产生溢出错棚伍谢凑熏亭闯叮擅兴暴传象资兹绣秧檀嫌毯温符舍治淳贴网肥洼佐惠婆七章串行通信接口七章串行通信接口MODEM控制寄存器控制寄存器MCRBASE+4D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D01 :自自测测试试0 :正正常常1 : OUT2为为低低1 : /OUT1为为低低1 : /RTS为为低低1 : /DTR为为低低恒为恒为0产生产生RTS、DTR信号信号产生产生OUT1、OUT2信号信号设置循环自检状态设置循环自检状态肌方名躬稍酸赢漏孕距万昨裙卯烹撰响奢眠篆糙怀寡抛孵标霍适盎朔锚岂七章串行通信接口七章串行通信接口Modem状态

64、寄存器(状态寄存器(MSR)BASE+6u反映反映RS232接口的状态接口的状态CTSDSRRIRLSDCTSD7 D6 D5 D4 D3 D2 D1 D0RLSDRIDSR反映4个引脚的当前状态(反相值)反映了自上次读MSR后这4个引脚是否发生了变化(1发生了变化)谱营妙确亩拳顷霜条周未氧洞却足庶鄙赊仁陈魂害灰曳亲淖跌陈威占钙洪七章串行通信接口七章串行通信接口MODEM控制状态寄存器控制状态寄存器MSRD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D01 : /RLSD变变化化过过1 : /RLSD为为低低0 : /RLSD为为高高1 : /RI为为低低0 : /RI为为高高1

65、 : /RSR为为低低0 : /DSR为为高高1 : /CTS为为低低0 : /CTS为为高高1 : /RI变变化化过过1 : /DSR变变化化过过1 : /CTS变变化化过过反映反映RS232接口的状态接口的状态戚钞丹煤汹近贞溶侥绕龚勋胶攒藐吊奈密铃持撤我乾傈究诸向盼宣畜雕希七章串行通信接口七章串行通信接口中断允许寄存器中断允许寄存器IERD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D01 :允允许许MODEM中中断断1 :允允许许接接收收错错中中断断1 :允允许许发发送送中中断断1 :允允许许接接收收中中断断恒为恒为0决定哪类中断可以产生(也可禁止所有中断产生)决定哪类中断

66、可以产生(也可禁止所有中断产生)律绿积汾互箭冀拇银罕芯崔铡淹缘练骆舶戍四德沛圃沸霖俺琴府检呕朵栓七章串行通信接口七章串行通信接口中断识别寄存器中断识别寄存器IIRD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0中断中断中断中断 源源源源有有有有/ /无无无无1 :有有中中断断请请求求0 :无无中中断断请请求求恒为恒为000:MODE中断中断01:发送中断:发送中断10:接收中断:接收中断11:数据错中断:数据错中断用于识别产生中断的原因用于识别产生中断的原因颧闹孤坯刽蓖夏撑丫翱付沈砒羊榔盖侍迪壁哗博帚棋均坍吗嗣夷赁苯泥鸟七章串行通信接口七章串行通信接口波特率发生器波特率发生器时

67、钟源频率时钟源频率1.8432MHz时钟频率是数据传送波特率的时钟频率是数据传送波特率的16倍倍分频系数分频系数=1843200/(波特率(波特率*16)受锌官镜冰韩圾检契痘彰探氰材屈颇仟摈栅太戏需宠诚蕉挖亩越孕屯琵搔七章串行通信接口七章串行通信接口波特率与分频系数对应表波特率与分频系数对应表波特率波特率分频器分频器DLM(H)分频器分频器DLL(L)5009H00H7506H00H11004H17H15003H00H30001H80H60000HC0H120000H60H180000H40H240000H30H360000H20H480000H18H720000H10H960000H0CH1

68、152000H0AH1920000H06H2304000H05H5760000H02H11520000H01H爵牟悠右乏勉汽割手绷果颐锋灼欢庆擎看滚腮镜浪痛望击宣占哑隘桩浪裹七章串行通信接口七章串行通信接口8250发送数据的工作过程发送数据的工作过程1 1)CPU(CPU(数据数据) )82508250的的THR THR ;2 2)TSRTSR移移空空时时,THR THR TSRTSR,LSRLSR中中“数数据据发发送送保保持持寄寄存存器器空空” ” 状态位置位状态位置位 ;3 3)TSRTSR根据根据LCRLCR中规定的格式从低到高逐位发送数据中规定的格式从低到高逐位发送数据 ;4 4)LS

69、RLSR中中“数数据据发发送送保保持持寄寄存存器器空空” ” 状状态态位位可可用用来来产产生生中中断断,也可查询该状态位,以实现数据的连续发送。也可查询该状态位,以实现数据的连续发送。TSRTHR串行数据输出并行数据LSRINTLCR数据状态1)2)3)2)4)4)免搭啤畦知注迫升挨的磊壹轧珐蕴捧浊驻出炕渐梆柬奄摹德拣岂秧灾形严七章串行通信接口七章串行通信接口8250接收数据的工作过程接收数据的工作过程1 1)SINSIN引脚上的串行数据逐位进入引脚上的串行数据逐位进入RSRRSR;2 2)RSRRSR根根据据LSRLSR中中规规定定的的数数据据位位数数确确定定是是否否收收到到了了一一个个完完

70、整整的的数据,收到后将数据数据,收到后将数据RBRRBR;3 3)RBRRBR收收到到RSRRSR的的数数据据后后,将将LSRLSR寄寄存存器器中中“接接收收缓缓冲冲寄寄存存器器满满”的状态位置位;的状态位置位;4 4)LSRLSR中中“接接收收缓缓冲冲寄寄存存器器满满”状状态态位位可可用用来来产产生生中中断断,也也可可查询该状态位,以实现数据的连续接收。查询该状态位,以实现数据的连续接收。RSRRBR串行数据输入并行数据LSRINTLCR数据状态1)2)3)4)譬爆临冤绅泵取砖敦趋急钱蝇泛邦买感淮襄恩触掏胁癸许蓝憎纺捏箍儡愁七章串行通信接口七章串行通信接口8250初始化及应用编程初始化及应用

71、编程8250 的的初初始始化化流程流程使LCR的最高位1写除数寄存器写LCR寄存器,同时使LCR的最高位0写MCR寄存器写IER寄存器堪东屉既吝谢芦解颐脸蓝旨仅琐蔑耐拄齿碑矗宁戏歹云庞陇孵蜡格响称召七章串行通信接口七章串行通信接口8250初始化初始化8250串串口口芯芯片片的的初初始始化化编编程程就就是是设设置置波波特特率率、确定串行通信的确定串行通信的数据帧格式数据帧格式、中断的设置中断的设置等。等。【例例1】要要求求串串行行数数据据帧帧包包含含8位位有有效效数数据据、1位位停停止止位位、采采用用奇校验奇校验方式,请编写满足该要求的方式,请编写满足该要求的8250/16550的初始化程序的初

72、始化程序根根据据线线控控寄寄存存器器LCR的的约约定定,控控制制字字为为00001011B,初初始始化程序如下:化程序如下:MOVAL,00001011B;控制字;控制字MOVDX,3FBH;线控寄存器端口地址;线控寄存器端口地址OUTDX,AL;写入控制字;写入控制字盗甲搬叔谷饲龄飞谆菌客沪蛮帘究摘渤宠抢狂愉翔涪滔事须饼膏埠川何诀七章串行通信接口七章串行通信接口编写设置波特率为编写设置波特率为9600的初始化程序。的初始化程序。根据公式计算,根据公式计算,波特率为波特率为9600时,时,分频值为分频值为000CHMOV AL,10000000B;设置波特率时;设置波特率时;要求;要求特征位特

73、征位DLAB为为1MOV DX,3FBH;线控寄存器端口地址;线控寄存器端口地址OUTDX,AL;写入特征位写入特征位MOV AL,0CH;波特率;波特率分频值低字节分频值低字节MOV DX,3F8H;分频值低位端口地址;分频值低位端口地址OUTDX,AL;写入分频值低位;写入分频值低位MOV AL,00H;波特率;波特率分频值高字节分频值高字节INCDX;分频值高位端口地址;分频值高位端口地址OUTDX,AL;写入分频值高位;写入分频值高位例例秘蕉仁艳孕策艘阉郭摹漠波灼探菇绕襟慧宋业漠矣栽紫吝揖置览墓钩驮鳞七章串行通信接口七章串行通信接口用用BIOS功能初始化功能初始化8250PC机有两个串

74、行接口:机有两个串行接口:uCOM1(基地址基地址3F8H),COM2(基地址基地址2F8H)BIOS通过中断通过中断14H提供串行通信功能提供串行通信功能u功能功能0:初始化串行接口:初始化串行接口u功能功能1:发送一个字符:发送一个字符u功能功能2:接收一个字符:接收一个字符u功能功能3:读串行接口状态:读串行接口状态INT14H仅提供了查询方式的通信服务仅提供了查询方式的通信服务u要使用中断方式进行发送和接收必须自行编程要使用中断方式进行发送和接收必须自行编程舆检沟捂布妹灰妒帘又良咙满慈灌名谈筛赋淮荧惯婴猖踌握蜀焚沽技绰钠七章串行通信接口七章串行通信接口用用BIOS功能初始化功能初始化8

75、250功能功能0(初始化)的入口参数为:(初始化)的入口参数为:uAH=0uAL=初始化参数初始化参数uDX=串口编号(串口编号(0=COM1,1=COM2)初始化参数定义如下:初始化参数定义如下:D7 D6 D5 D4 D3 D2 D1 D0波特率1001200101240011048001119600奇偶校验x0无校验01奇校验11偶校验数据位数005位016位107位118位停止位01位12位MOV AH, 0MOV AL, 初始化参数MOV DX, 0INT 14H杏嗓峪付舆死查呈垣缴憎或菠绑引秤蕊伊竣疮怯漱佛盘呼俊皑敏闺竹粤诀七章串行通信接口七章串行通信接口8250的数据发送程序的数

76、据发送程序(查询查询)LEASI,DATA_BUFFERMOVCX,DATA_BYTESL1:MOVDX,BASE+5;LSR地址地址INAL,DXTESTAL,00100000B;THR空空?JZL1LODSBMOVDX,BASE+0;THR地址地址OUTDX,ALLOOPL1THR空?输出一个字节输出完?NYYN钱偷早搀氨涯航说谜三迁囊军促备垢锋溃纯判蜒帮公腮寸韭堂叫纱淫侍宴七章串行通信接口七章串行通信接口8250的数据接收程序的数据接收程序(查询查询)LEADI,DATA_BUFFERMOVCX,DATA_BYTESL1:MOVDX,BASE+5;LSR地址地址INAL,DXTESTAL

77、,00011110B;有错误有错误?JNZERRORTESTAL,00000001B;收到数据收到数据?JZL1MOVDX,BASE+0;RBR地址地址INAL,DXSTOSBLOOPL1有错误?读入数据收到数据?NYYN错误处理接收完?NY肇芬愚幢艾锭册环景媒郁彭丽丽纶衙烁暂元菜杀劫腹龙攒窍钟谣才袋钩唐七章串行通信接口七章串行通信接口用用BIOS功能发送功能发送/接收数据接收数据通过通过COM1发送数据:发送数据:LEASI,DATA_BUFFERMOVCX,DATA_BYTESL1:MOVAH,1;功能功能1MOVDX,0;COM1LODSB;数数据据在在AL中中INT14H;发送发送LO

78、OPL1通过通过COM1接收数据:接收数据:LEADI,DATA_BUFFERMOVCX,DATA_BYTESL1:MOVAH,3;功能功能3MOVDX,0;COM1INT14H;读接口状态读接口状态TESTAH,00011110B;有错误有错误?JNZERRORTESTAH,00000001B;有数据有数据?JZL1MOVAH,2;功能功能2MOVDX,0;COM1INT14H;接收数据接收数据STOSB;保存数据保存数据LOOPL1弘款陷脊搐输砒券盟组奥慨狂怯砖杆蛮角屹痘伎盔赢铆销秒个况扛流碴骸七章串行通信接口七章串行通信接口8250通信编程通信编程对对82508250编编制制通通信信软软

79、件件时时,首首先先应应对对芯芯片片初初始始化化,然然后后按按程程序查询或中断方式实现通信。序查询或中断方式实现通信。 1. 82501. 8250初始化初始化 (1 1)设置波特率设置波特率 (2 2)设置串行通信数据格式设置串行通信数据格式 (3 3)设置工作方式设置工作方式 2. 2. 程序查询方式通信编程程序查询方式通信编程 3. 3. 用中断方式编程用中断方式编程(1 1)初始化初始化8259A8259A中断控制器中断控制器(2 2)设置中断向量设置中断向量IR4 IR4 (3 3)设置允许设置允许/ /屏蔽位屏蔽位 (4 4)82508250重新响应中断请求重新响应中断请求 殉嘿炔霍

80、烩免滞悍臼亭惹乖魄佰斗褂材翅吁咆寿男泪狰撞期狈郎帚辈粪胎七章串行通信接口七章串行通信接口蔓韶控咎辕劲枣刁漏牲僳念综筒伊俐铀彼甭排血梭遗牡漂泰辩抉马儒野日七章串行通信接口七章串行通信接口设置波特率设置波特率例如,设波特率为例如,设波特率为9600,则波特率因子,则波特率因子N=12MOVDX,3FBHMOVAL,80H;设置波特率;设置波特率OUTDX,ALMOVDX,3F8HMOVAL,12OUTDX,ALINCDXMOVAL,0OUTDX,AL;3F9H送送01. 82501. 8250初始化初始化初始化初始化湍邓蒜熏鸥抵攒重敌肉煽汁巢椎皖培铆滴骇尿假抨褥疹遥橇砌涨俐拘速夸七章串行通信接口七

81、章串行通信接口设置串行通信数据格式设置串行通信数据格式例如,数据格式为例如,数据格式为8位,位,1位停止位,奇校验。位停止位,奇校验。MOVAL,0BHMOVDX,3FBHOUTDX,AL趟酬猛溅足荆媳幕贡裤共醋稿补挞朵割舶童侥桃眷捧煞猫阂高靡较氰困军七章串行通信接口七章串行通信接口设置工作方式设置工作方式(MODEM控制寄存器)控制寄存器)无中断:无中断:MOVAL,3;OUT1、OUT2均为均为1MOVDX,3FCHOUTDX,AL有中断:有中断:MOVAL,0BH;OUT2为为0,允允许许INTRT去去申申请请中中断断MOVDX,3FCHOUTDX,AL循环测试:循环测试:MOVAL,1

82、3HMOVDX,3FCHOUTDX,AL妻喧戳譬选般芽苯搭宪无脑接讯侵周杜刽赤淡陌蚀赎獭潞守讳各豆茸睦幕七章串行通信接口七章串行通信接口2程序查询方式通信编程程序查询方式通信编程采采用用程程序序查查询询方方式式工工作作时时,CPU可可以以通通过过读读线线路路状状态态寄寄存存器器(3FDH)查查相相应应状状态态位位(D0与与D5位位),来来检检查查接接收收数数据据寄寄存存器器是是否否就就绪绪(D0=1)与与发发送送保保持持器是否空(器是否空(D5=1)。)。发送程序:发送程序:TR:MOVDX,3FDHINAL,DXTESTAL,20HJZTRMOVAL,SI;从;从SI中取出发送数据中取出发送

83、数据MOVDX,3F8HOUTDX,AL接收程序:接收程序:RE:MOVDX,3FDHINAL,DXTESTAL,1JZREMOVDX,3F8HINAL,DXMOVDI,AL;读入数据存入;读入数据存入DI中中泵攀朝干溯醋谆诱杨谓阅剿督惋灿刹逝都构越捕虞容振睛梧拼哭皑魂滥刊七章串行通信接口七章串行通信接口初始化初始化8259A中断控制器中断控制器MOVAL,13H;单片使用,需要;单片使用,需要ICW4MOVDX,20HOUTDX,AL;ICW1MOVAL,8;中断类型号为;中断类型号为08H0FHINCDXOUTDX,AL;ICW2INCAL;缓冲方式,;缓冲方式,8088/8086(1X0

84、1)OUTDX,AL;ICW4MOVAL,8CH;允许;允许0,1,4,5,6级中断级中断OUTDX,AL;送中断屏蔽字;送中断屏蔽字OCW13. 3. 用中断方式编程用中断方式编程用中断方式编程用中断方式编程镑肇促贾酝贯勉蜒掘隆嚣墒把喊汁余焰赦搪烷捅唯肘毒硅涝阅晶幌琴蒋汝七章串行通信接口七章串行通信接口设置中断向量设置中断向量IR4对对IR4,中中断断类类型型号号为为0CH,0CH4=30H。因因此此,应应在在30H、31H存存放放IP值值,32H、33H存存放放CS值值。设中断服务程序入口地址为设中断服务程序入口地址为2000H:100HXORAX,AXMOVDS,AXMOVAX,100H

85、MOVWORDPTR0030H,AX;送送100H到到00030H和和00031H内存单元中内存单元中MOVAX,2000HMOVWORDPTR 0032H, AX; 送送 2000H到到 00032H和和00033H内存单元中内存单元中侵宴伯小碘黑吩每晋源炭瓮恐赖檄霖驱闷胰躬杖赖磋渝肮耗蛊埠忻拘唾哈七章串行通信接口七章串行通信接口设置允许设置允许/屏蔽位屏蔽位对对8250送送中中断断允允许许寄寄存存器器(3F9H)设设置置允允许许/屏屏蔽位。例如,允许发送与接收中断请求。蔽位。例如,允许发送与接收中断请求。MOVAL,3MOVDX,3F9HOUTDX,AL哼辈博瞒填杭栽聚枢敢姚静缘窍叉韭啡炙

86、蹄树侠是甸竟扮薛裤闯拣吼命饮七章串行通信接口七章串行通信接口对对8259A发发EOI命令命令在在中中断断结结束束返返回回时时,需需要要对对8259A发发EOI命命令令,保证保证8250可以重新响应中断请求。可以重新响应中断请求。MOVAL,20HMOVDX,20HOUTDX,AL ;发;发EOI命令,命令,OCW2IRET;开中断允许,并从中断返回;开中断允许,并从中断返回脉次泅狱盎陀窥碑依媒跃治昏刁另令落侄鼠霜因鲍渍辛犀庄弥碑遮奉微懦七章串行通信接口七章串行通信接口8250应用举例应用举例程程序序设设计计要要求求:在在IBMPC机机上上用用汇汇编编语语言言按按查查询询方方式式编编制制一一个个

87、发发送送与与接接收收程程序序,它它能能把把键键入入的的每每一一个个ASCII字字符符发发送送出出去去,并并显显示示在在CRT上上,同同时时能能把把接收到的每一个字符也以接收到的每一个字符也以ASCII码形式显示在码形式显示在CRT屏幕上。屏幕上。设设:数数据据传传送送速速率率为为9600波波特特:通通信信格格式式为为8位位/每每字字符符,1位位停停止止位位,奇奇校校验。验。KEY:MOVDX,3FBHMOVAL,80HOUTDX,ALMOVDX,3F8HMOVAL,12OUTDX,AL;写入对应波特率为;写入对应波特率为9600的波特因子的低的波特因子的低8位位INCDXMOVAL,0OUTD

88、X,AL;写入波特因子的高;写入波特因子的高8位位MOVAL,0BHMOVDX,3FBHOUTDX,AL;8位字符,位字符,1位停止位,奇校验位停止位,奇校验姻策邦命逝楼厚你朱尘泻仅熟沪笋斤金骇漠近散莫础萤次饮盏孔漂俺湃混七章串行通信接口七章串行通信接口8250应用举例(续应用举例(续1)MOVAL,13HMOVDX,3FCHOUTDX,AL;循环测试;循环测试CHECK:MOVDX,3FDHINAL,DX;读线路状态寄存器;读线路状态寄存器TESTAL,1H;查接收缓冲器是否满,若满转接收子;查接收缓冲器是否满,若满转接收子程序程序JNZREVTESTAL,20H;查发送缓冲器是否空,不空转

89、;查发送缓冲器是否空,不空转CHECKJZCHECKTR:MOVAH,1;读键盘缓冲器内容,若有键按下,则;读键盘缓冲器内容,若有键按下,则ZF标志为标志为0,且,且AL=字符码字符码INT16HJZCHECK;如;如ZF=1,转,转CHECKMOVDX,3F8HOUTDX,AL;将键入代码发送出去;将键入代码发送出去臂倘鞘缝陋熟味线圆沾茁蝇锣妹诞恋豌蚕惶眠沪酿抛欣玖宦漏羞拓狰枕示七章串行通信接口七章串行通信接口8250应用举例(续应用举例(续2)JMPCHECKREV:MOVDX,3F8HINAL,DX;读入接收字符;读入接收字符ANDAL,7FH;屏蔽掉;屏蔽掉D7MOVBX,0041H;BH=00H,选选0页页;BL=41H,显显示示属属性(红底兰字)性(红底兰字)MOVAH,14 ;用中断调用显示接收到的字符;用中断调用显示接收到的字符INT10HJMPCHECK仕播芳舅嘶憎鹰囚寻半舀屋优毋闹掏坎珐拈锭诸什遏厢唉酬序磷松峨胚窄七章串行通信接口七章串行通信接口

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号