《微机电子教程 第七章 微型机接口技术幻灯片.ppt》由会员分享,可在线阅读,更多相关《微机电子教程 第七章 微型机接口技术幻灯片.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机电子教程 第七章 微型机接口技术第1页,共44页,编辑于2022年,星期六3 3数据的缓冲及锁存数据的缓冲及锁存 由于主机与I/O设备工作时序不一定匹配,为保证数据传送的正确性,就需要数据缓冲及锁存。例如主机要打印输出,当主机启动打印机后,打印机进行相应的准备工作,当它准备就绪时就向主机申请中断,主机响应,在中断服务程序中输出ASCII码,数据总线上的ASCII码仅在写周期内有效,而写周期为S 级,在这样短的时间内要打印头响应是不可能的,因此必须将输出的ASCII码加以锁存、供打印机使用。4 4信息的转换信息的转换 当主机与I/O设备进行数据传送时,由于I/O设备种类繁多,很可能出现主机与
2、I/O设备的信息类型(数字量、模拟量等)、电平(TTL电平、RS232电平等)及码制(二进制、十进制等)和信息格式(并行,串行等)等不一致的情况,此时接口必须对信息进行相应的转换以满足各自的要求。第2页,共44页,编辑于2022年,星期六7.2 7.2 可编程定时可编程定时/计数器计数器7.2.1 7.2.1 可编程定时器计数器可编程定时器计数器82538253一.内部结构与功能 1数据总线缓冲器 三态、双向的8位缓冲器,用于将8253与系统数据总线连接。CPU执行IO指令时,缓冲器发送或接收数据,以写入8253控制字、装入计数初值或读出当前计数值。2读/写逻辑 读写逻辑电路接受来自系统总线的
3、信息,然后产生控制整个芯片工作的控制信号。信号可允许或禁止读写逻辑的工作。3.3个通道(定时/计数)门控信号GATE 通常:1工作,0不工作。时钟输入CLK:已知频率的时钟信号 外部事件发生源 16位减法计数器 最大216(0000H)最大104(0000H)2#10#最小1(0001H)最小1 (0001H)第3页,共44页,编辑于2022年,星期六8253引脚除了电源和地外,其它信号为:D7D0:双向三态数据线;CLK0CLK2:计数输入,要求加在CLK引脚的时钟周期大于380ns;GATE0GATE2:门控输入,当GATE引脚为低时,禁止计数器工作;只有GATE引脚为高时,才允许计数器工
4、作;OUT0OUT2:计数器02的输出,其输出波形取决于工作方式;A1、A0:寻址3个计数器和控制寄存器(三个计数器的控制寄存器共用一个公共端口地址);RD、WR和CS:分别为读、写和片选信号,均为低电平有效。二、二、82538253的引脚功能的引脚功能 三、三、82538253的工作方式的工作方式 对可编程接口芯片来说,要使其工作,首先要对其写入控制字或命令字,亦称对其初始化。8253没有复位引脚,在软件初始化之前,其工作方式、计数值和计数器输出状态都是不定的。第4页,共44页,编辑于2022年,星期六1 1控制字控制字通道选择 0 0 0 1 1 0 1 10通道 读/写 0 0 0 方式
5、01通道 时间 0 0 1 方式12通道 常数的 *1 0 方式2无通道 格式 *1 1 方式3 1 0 0 方式4 1 0 1 方式50 2#1 10#8253初始化:对一个 写控制字通道 写时间常数MOV AL ,*H ;MOV AL,低8位OUT A1A0,AL ;OUT 通道0,AL MOV AL ,时常 ;MOV AL,高8位 OUT A1A0,AL ;OUT 通道0,AL第5页,共44页,编辑于2022年,星期六2.82532.8253工作方式工作方式(1)方式0计数结束中断方式0的工作特点是:当计数到零后,不能自动恢复计数初值,OUT输出端保持高电平。在计数过程中,如果GATE=
6、“0”,则暂停计数,直到GATE变高后再接着计数,如波形图7-4。在计数过程中可改变计数值。若是8位计数,在写入新的计数值后,计数器按新值开始计数;若是16位计数,在写入第一个字节后,计数器停止计数,写入第二个字节后,按新的初值计数。例:若8253的地址为04H-07H,要使计数器工作在方式0,仅用8位二进制数,计数值为128,初始程序为 MOVAL,50HOUT07H,ALMOVAL,80HOUT05H,AL第6页,共44页,编辑于2022年,星期六(3 3)方式)方式2 2频率发生器(频率发生器(n n分频器)分频器)方式2的主要特点是:不用重复置数。计数器能够连续工作,输出OUT是输入C
7、LK的n(初值)分频。计数过程可由GATE信号控制。GATE变低将使计数暂停且OUT立即为高;在GATE变高后的下一个CLK下降沿计数器重新从初值开始计数,如图7-6所示。这样,通过门控信号可实现计数器的同步,称为硬件同步。计数器写入控制字和计数初值后,如GATE一直处于高电平,那么,在下一个脉冲开始计数器计数。这种通过写入计数初值使计数器同步,称为软件同步。计数过程中可改变初值。如果GATE一直处于高电平,则重装计数初值不影响现行计数过程;下一个过程,才按新值计数。(2 2)方式)方式1 1可重复触发的单稳态触发器可重复触发的单稳态触发器方式1的主要特点是:可重复触发。当计数到零后,不用再次
8、送计数值,只要给它触发脉冲,即可产生一个同样宽度的单稳脉冲。在计数过程中,若装入新的计数初值,则当前输出不受影响。只有在再次触发后,计数才开始按新值输出脉冲宽度。在计数过程中,外部的GATE触发沿提前到来,则下一个CLK脉冲下降沿,计数器开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽了。相当于可重触发单稳电路。第7页,共44页,编辑于2022年,星期六(5 5)方式)方式4 4软件触发的选通信号发生器软件触发的选通信号发生器 此方式的特点为只计数一次。(同方式2,但计数到0为低,持续一个脉宽,又高,再计数中遇初值,按新值计数。(4 4)方式)方式3 3方波发生器(连续)方波发生器(连续
9、)方式3和方式2的工作类似,唯一不同的是,当计数到初值的一半时,输出变为低,直至计数到零,输出又变高,并重新开始计数。(6 6)方式)方式5 5硬件触发的选通信号发生器(单次,同方式硬件触发的选通信号发生器(单次,同方式2 2)(7 7)8253 8253 工作方式小结工作方式小结8253有6种不同的工作方式。其中:方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲。但方式2是连续的,方式4是由软件(设置初值)触发启动,而方式5由硬件(门控脉冲)触发启动。方式5(硬件触发选通)与方式1(硬件重复触发单稳脉冲)工作方式基本相同,但输出波形不同。方式1为输出n个CLK脉冲周期的低有
10、效脉冲(计数过程中输出为低),而方式5输出的是宽度为1个CLK脉冲周期的负脉冲(计数过程输出为高)。第8页,共44页,编辑于2022年,星期六7.3 7.3 可编程并行接口可编程并行接口7.3.17.3.1并行通信概述并行通信概述并行通信n位数据用n条线同时传输。具有速度快,效率高的特点。与CPU连接的一组线:D7-D0,WR,RD,RESET,INTR,CS。外设连接:STB等7.3.27.3.2可编程并行接口芯片可编程并行接口芯片82558255一、8255的内部结构内部结构框图如图7-14所示,8255A由以下几个部分组成:1.数据总线缓冲器这是个三态双向的8位缓冲器,起着8255A与C
11、PU数据总线接口的作用,用来传送输入/输出的数据、CPU发出的控制字及状态信息。2.读写控制逻辑接受CPU来的控制信号,由控制信号的不同组合实现8255A内部操作,控制。第9页,共44页,编辑于2022年,星期六3.内部控制逻辑A,B组控制 A组控制A端口和C端口的上半部,B组控制B端口和C端口下半部。从CPU接受控制字,根据控制字来控制8255的工作。控制Reg8位。也可根据控制字决定端口的I/O方式。RESET:复位线,使8255复位,高电平有效,控制Reg清0,把A,B,C三个端口都设置为输入方式。CS:片选线,决定8255是否选中。A1A0:两根地址线,用以选中8255内部哪个寄存器。
12、RD,WR:读,写控制线。4.三个数据端口A、B、C每个端口均为8位,可选择输入或输出操作。端口A:一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器。端口B:一个8位数据输入/输出、锁存/缓冲器和一个8位数据输入缓冲器。端口C:一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(输入无锁存)。它可分为两个4位端口使用,或用作与A口或B口配合的控制或状态口,依工作方式而定。第10页,共44页,编辑于2022年,星期六B端口 8位C端口 低4位组成B组,称B通道。A端口 8位C端口 高4位组成A组,称A通道。在与不需要控制联络的外设连接时,A,B,C均可做输入输出。在与需要控制联络的外设连接
13、时C分为两位。二二.8255.8255 PINPIN8255A引脚定义见图7-15所示 1.与外设连接引脚 PA7PA0 PB7PB0 PC7PC0 可做输入/出也可做控制信号。2V。和CPU连接D7D0,CS:片选低有效,RD,WR,A1A0。三、三、8255A的控制字和工作方式的控制字和工作方式A组:1.方式0基本输入/输出方式不用联络信号,不用中断传送,立即传送。第11页,共44页,编辑于2022年,星期六 方式1选通输入/输出方式口C提供联络信号,用中断传送或查询传送。方式2双向传输方式既可入有可出(方式1的组合)B组:B组只能工作于方式0或方式1。1.8255控制字方式选择控制字方式
14、控制位特征位A组方式选择00 方式 001 方式 11*方式 2A口输出 0 输入 1 PC7-PC0 输出 0 输入 1B组方式选择 0 方式0 1 方式10 输入1 输出0 输出 PC3-1 输入 PC0A A组组B B组组第12页,共44页,编辑于2022年,星期六端口C置位/复位控制字XXX0端口C置位复位标志任意值端口C位选择0 复位1 置位0 0 0 PC00 0 1 PC11 1 1 PC7 这一功能可使8255作为位控接口,来实现对外设的按位控制.例:利用位复位和位置位可将端口C某位产生方波 MOV CX ,0FHLOP:OUT PORT-CL,0AH;送0 CALL DELA
15、Y OUT PORT-CL,0BH;送1 CALL DELAY LOOP LOP RET 向PC5送0电平 延时向PC5送1电平方波个数计数方波个数到?第13页,共44页,编辑于2022年,星期六2.82552.8255工作方式工作方式(1 1)方式)方式0 0基本输入基本输入/输出方式输出方式在这种方式下,三个数据端口A、B、C(C分为2个4位),通过方式选择控制字可任意选择其为输入口或输出口。24位均可做输入输出,三口无联系,各端口输入输出组合有16种,可适用于多种用途。口C 高4位 输入或输出,两部分可相同也可不同。若分成高,低 低4位 4位,而端口位8位作为整体,可采用以下措施:CPU
16、 高4 低4 IN 入 出 必须屏蔽低四位 IN 出 入 必须屏蔽高四位 IN 入 入 读8位均有用 OUT 入 出 送出数据只设在低4位 OUT 出 入 送出数据只设在高4位 OUT 出 出 送出8位第14页,共44页,编辑于2022年,星期六CPU与外设采用无条件入/出,不用联络线,也不需查询。输出锁存,而输入不锁存。方式0也可用于查询传送的场合,这时可令A,B口为数据口,C口位控制/传送口,A,B,C配合即可工作在查询场合。(2)(2)方式方式1 1选通的输入选通的输入/输出方式输出方式在这种方式下端口A和B输入/输出数据时,必须利用端口C担任的选通信号和应答信号(握手信号),而这些信号
17、与端口C的各位有着规定的对应关系,一般情况下,用中断传送数据方式(也可查询)通道A:8位数据端口,3位控制位。通道B:8位数据端口,3位控制位。选择方式1时:一:特点口A,B既可做输入有可做输出。端口C引脚分别作为控制信号,状态信号和中断申请等信号引脚。由于做输入和输出时,端口C控制联络信号有不同意义,故分开讨论。若只有一个端口工作在方式1,则余下13位可工作在方式0。若两个端口都工作在方式1,则余下两位可由程序指定为输入 输出。第15页,共44页,编辑于2022年,星期六二.输入方式方式1输入时,如图7-20所示。其中各个控制信号的意义为:STB选通输入,低电平有效,这是外设提供的输入信号。
18、当其有效时,把外设送来的数据送输入8255A的输入锁存器。IBF输入缓冲器满,高电平有效。这是8255A输出到外设的联络信号。当其有效时,表示数据已输入锁存器,即输入缓冲器满。以通知外设暂停送数。INTR中断请求信号。高电平有效。这是8255A的一个输出信号,用作向CPU提出中断申请、请求CPU读取8255A中的数据。它在为“1”,IBF为“1”及INTE(中断允许)为“1”时被置为“1”(有效)。若不容许8255工作在中断方式,可用以下查询方法从8255向CPU输入数据:INPUT:IN AL,PortCTEST AL,02H ;查B口的IBFJE INPUT ;IBF=0,数据未准备好。I
19、NAL,PortB;IBF0,CPU读入数据。INTE中断允许信号。由置位/复位控制字对PC4(用于端口A)或PC2(用于端口B)置1或置0来控制。置1时,允许中断;置0时,禁止中断。第16页,共44页,编辑于2022年,星期六三.输出方式:方式1输出时的控制信号如图7-22。OBF输出缓冲器满,低电平有效。8255A给外设的信号。当其有效时,表示外设可从指定端口取走写入的数据。ACK外设应答信号,低电平有效。有效时,表示外设已经从8255A输出端口取走了数据。INTR中断请求信号,高电平有效。请求CPU向8255A指定端口写入数据。其有效条件为:ACK=1,OBF=1及INTE=1。INTE
20、中断允许。由PC6(端口A)或PC2(端口B)的置位/复位控制。8255A工作于方式1的输出时序如图7-23所示。当输出数据时,OBF=0,通知外设取走数据,外设取走数据后,发回应答信号给8255(ACK=0),这个ACK=0自动将OBF=1,表示输出缓冲器已空,端口可接受新数据,因而当CPU工作在查询输出时,可用以下程序段:OUTPUT:IN AL,PortC TEST AL,80H ;设备空闲 JE OUTPUT ;不答,等 MOV AL,DATA OUT PortA,AL第17页,共44页,编辑于2022年,星期六 在输入,输出中使用中断输入/输出数据:1.输入:数据输入丛STB开始有效
21、,表示数据已锁存入8255,8255接受到STB以后,发IBF,作用:阻止外设送数 供CPU查询外设开始准备下一个数据,此时,数据在8255并未取走。只有在INTE=1,则8255向CPU发中断请求INTR=1,CPU接受中断请求后,转响应中断请求程序。在中断请求程序中,执行输入指令,产生RD将8255中的数据读入CPU,一个字节输入完。读入数据完毕,RD的上升沿将,IBF=0。读的过程中,RD的下降沿将INTR=0,请求信号结束。2.输出:中断控制方式工作时,8255的输出过程是由CPU响应中断开始的,在中断服务程序中,CPU通过OUT指令输出程序并发出WR信号。WR一面清除INTR,一面使
22、OBF有效,通知外设接受数据。当外设接受数据后,发ACK信号,它一方面使OBF失效,表示数据已经取走,当前的缓冲器空,一方面在其上升沿使INTR有效,即发出新的中断请求,从而开始一个新的输出过程。第18页,共44页,编辑于2022年,星期六(3 3)方式)方式2 2双向传输方式双向传输方式 此方式只适用于端口A。这时,在PA7PA0的8位数据线上,外设既可从8255A获取数据;也可向8255A发送数据。传输过程既可工作于查询方式,也可工作于中断方式。特点:这是一个8位数据口,(既可输入又可输出)和一个5位控制端口,实际上是方式1输入输出两种方式的组合。当端口A工作于方式2时,端口B可工作在方式
23、0,1,这时端口C的PC0PC3依B口方式0,1而定。输入输出均是锁存。关于8255中断允许/禁止设定:例:PC4=1,口A INTE=1(方式1,2)输入 orPC2=1,口B INRE=1(方式1)输入 MOV AL,09H写入控制口 OUT 63H,AL 这时的位操作只影响INTE的状态,而不影响PC4脚状态。第19页,共44页,编辑于2022年,星期六四、四、82558255A A初始化举例初始化举例 设8255A工作于方式0,端口A为输入,端口B为输出。端口C为输出,试对其进行初始化。首首先先确确定定方方式式选选择择控控制制字字为为:1001000010010000B B,设设825
24、58255A A端端口口地地址址为为8080H H83H83H。则初始化程序为:则初始化程序为:MOVAL,90H;方式选择控制字10010000BOUT83H,AL;方式选择控制字送8255A控制端口 写完控制字后,写完控制字后,CPUCPU可通过可通过IN/OUTIN/OUT指令来与指令来与82558255A A传送数据。传送数据。如:INAL,80H;读端口A的数据OUT81H,AL;AL中数据写入端口BOUT82H,AL;写端口 第20页,共44页,编辑于2022年,星期六7.3.3 7.3.3 键盘和显示器接口键盘和显示器接口 在计算机系统中,键盘和显示器是必不可少的I/O外设,其种
25、类也很繁多。这里只举例介绍其中最基本的非编码键盘和LED数码显示器的应用。1.8255工作于方式0。2.端口A,B控制LED,输出方式。3.端口C控制键盘C上半部输出(行线)C下半不输出(列线)一.键盘1.设有mn个键m行 由输出口控制n列 由输入口输入状态2.当某行输出为 低电平时有键按下,某列输入低电平无键按下,某列输入高电平 第21页,共44页,编辑于2022年,星期六3.键闭合识别法行扫描法逐行输出低电平查询列线状态通常用快速扫描法1.所有行输出低电平2.查列线状态3.若有键按下,逐行输出0。二二.显示显示LED共阳极(与公阴极相反)共阴极(阴极控制端“0”,数据显示端“1”发亮。设系
26、统中有八个LED,分别称为第0位,第1位第7位。PA7PA7.PB7PB7PA1PA1PA0PA0PB0PB01.硬件连接如上。2.将七段代码存入内存起址LEDADDR,要显示二数字为LEDADDR十数字值。利用XLAT指令可取至AL中,PA口进行显示3.位控端口逐位送出0(共阳极)。4.端口A依次逐出代码。端口B依次送入一位LED,则利用视觉惯性,可看到8位LED显示。第22页,共44页,编辑于2022年,星期六7.4 7.4 串行通信和串行接口串行通信和串行接口 许多I/O器件与CPU交换信息,或计算机与计算机之间交换信息,是通过一对导线或通信通道来传送信息。这时,每一次只传送一位信息,每
27、一位都占据一个规定长度的时间间隔,这种数据一位一位顺序传送的通信方式称为串行通信。与并行通信相比,串行通信具有传输线少、成本低的特点,特别适合远距离传送,其缺点是速度慢,若并行传送n位数据需时间T,则串行传送的时间至少为nT 7.4.17.4.1串行通信的基本概念串行通信的基本概念一、全双工、半双工和单工 1 1全双工通信全双工通信如图733(a),分别用独立的接口和传输线来发送和接收信号,使发送和接收可同时进行,这称为全双工通信。第23页,共44页,编辑于2022年,星期六2半双工通信该方式下,数据可以两个方向传输,但不能同时、只能交替进行,如图733(b)。通过软件和接口的协调控制,实现传
28、输换向。3单工通信它只允许一个方向传递数据,如图733(c)。不如前面两种方式应用普遍。二、异步通信与同步通信11.异步通信概念 所谓异步通信是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的。异步通信的格式如图734所示。用一个起始位表示字符开始,用停止位表示字符的结束,在起始位和停止位之间是n位字符及奇偶校验位。这种由起始位表示字符的开始、停止位表示字符的结束所构成的一串数据,叫做帧。从图734可以看到,一帧数据的各位间的时间间隔是固定的,而相邻两帧的数据其时间间隔是不固定的。第24页,共44页,编辑于2022年,星期六在异步通信中,CPU与外设之间必
29、须有两项规定:(1)字符的格式 即字符的编码形式,奇偶校验、起始位和停止位的规定。例如用ASCII码时,7位为字符,一位为偶校验位,一个起始位以及一个停止位,共十位为一帧。(2)(2)波特率(波特率(Baud rateBaud rate)即传送数据位的速度。用位/秒(Bit/s)来表示。例如,设数据传送的速率为120字符/秒,每个字符(帧)包括10个数据位,则传送的波特率 为 10120=1200位/秒=1200波 特,而 每 一 位 的 宽 度Td=1/1200=0.833ms.通常,异步通信的波特率在509600波特之间,高速的可达19200波特。信号的桢 异步通信中,用一个起始位表示开始
30、,停止位表示字符结束,在起始位和停止位之间,是七位ASC码(表示一个字符),第八位为奇偶校验位。停止位可以是一位,一位半或两位。这样由起始位,停止位及一串数据,叫做一桢。每桢字符的传送靠起始位来同步。第25页,共44页,编辑于2022年,星期六2.同步通信 由于异步通信是按帧进行数据传送的,每传送一个字符都必须配上起始位、停止位,这就使异步通信的有效数据传送速度降低1/41/5。为了提高速度,就要求取消这些标志位,这就引出了同步通信的概念。同步通信是在数据块开始处设置12个同步字符来进行的数据通信,在串行数据线上,始终保持连续的字符,即使没有字符时,也要发送专用的“空闲”字符或同步符。同步通信
31、速度高于异步,可工作在几十几百千波特。但同步通信要求用精确的同步时钟来控制发送端和接收端之间的同步,因为发送端和接收端的之间时钟信号的微弱差异,在长时间的通信中都将产生累积误差,导致通信失败,所以同步通信的硬件较复杂。三、信号的调制和解调 计算机的通信是一种数字信号的通信,它要求传输线的频带很宽。但在目前长距离的通信中,大都采用电话线进行信息传递,而电话线的频带又没有这么宽,所以,简单地直接使用电话线去传送数字信号,就会造成信号的畸变。第26页,共44页,编辑于2022年,星期六 用调制器:数字信号 模拟信号 用解调器:模拟信号 数字信号 调制/解调的实现方法很多,如FSK(Frequency
32、 Shift Keying)移频键控式是其中常用的一种。它把数字信号的“1”和“0”调制成不同频率的模拟信号,这两个不同频率的模拟信号,分别由电子开关控制,在运算放大器的输入端相加,而电子开关由要传输的数字信号(即数据)控制。当信号为“1”时,控制上面的电子开关导通,送出一串高频模拟信号;当信号为“0”时,控制下面的电子开关导通,送出一串低频模拟信号,于是在运算放大器的输出端,就得到了调制后的信号。四、RS232C接口 在串行通信接口标准中,通常采用RS232C接口。RS232C是EIA推荐为国际通用的一种串行通信接口标准.它实际上是一个25芯的D型连接器(图737(b),其每一个引脚都有标准
33、规定,且对信号电平也有标准规定。所以,对于任何具备RS232C接口的设备都可以不需要附加其他硬件而与计算机相连接。第27页,共44页,编辑于2022年,星期六在这个接口中常用PIN:2PIN TXD 数据发送 3PIN RXD 接受数据7PIN GND 信号地连接时,发送 接收,反之亦然。目前在微机系统中,还常用9芯片的D型连接器。RS232C除了对信号引脚的定义作了规定外,对信号电平标准也有规定,即采用负逻辑规定逻辑电平:-5V-15V规定为“1”,而将+5V+15V规定为“0”。图738 TTL与RS232C电平转换可以实现TTL与RS232C标准之间电平转换的芯片有很多。图738采用的是
34、ICL232,它的工作电源为单一+5V。在三线方式下(图7-37(d),一个ICL232芯片可以实现两组串口信号的电平变换。第28页,共44页,编辑于2022年,星期六五、串行通信的实现 主要解决 串 并的转换问题常用方法:硬件UART(通用异步接受器/发送器)UART既能发送(由并行转为串行输出),又能接收(由串行转为并行输入),每一部分都是双缓冲器结构。接收时,由RXD来的串行数据先进入移位寄存器,然后并行输入至缓冲器,再由数据总线输至CPU;发送时,则CPU来的并行数据由缓冲器暂存,然后送至移位寄存器,由TXD一位一位输出。在UART工作时,其中的一些控制信号始终监视着RXD线,当找到起
35、始位时,就开始一个新的字符的接收过程。UART是通过外接时钟来和接收数据同步的,通常其时钟周期Tc和数据位周期Td之间的关系为,其中K=16或64。设取K=16,在RXD线上字符开始的前沿被测到后,接收器就以16倍的时钟频率来控制采样时间。以便接收器能在一个字符周期Td的1/16时间内判明字符的开始,以后的采样全部以16倍频时钟为基准进行工作,如图740所示,其工作过程如下:第29页,共44页,编辑于2022年,星期六当字符的前沿出现时将计数寄存器清零;启动计数器,使16倍频时钟的每个脉冲对计数器加1;当计数器连续计数达到8个“0”时,则确定它为起始位(不是干扰信号),并表示已达到起始位的中间
36、位置,从此点开始,重新设置计数器,使计数器清零;此后,每隔16个时钟脉冲采样的一次数据线,作为输入数据。并清计数器,如此重复直至最后的停止位被采样;如果停止位是正确的,那字符被接收到缓冲寄存器,然后再从第一步开始。为了检测长距离传送中可能产生的错误,在UART中还建立一些传送出错标志,以提高传送的可靠性。常用的有以下三种:(1)奇偶校验错误接收器按照事先约定的方式(偶校验、奇校验,或无奇偶校验)进行奇/偶校验计算,即接收到的字符中“1”的个数与定义(期望)不符,建立此标志,发出奇偶出错信息。(2)帧错误接收到的字符合不符合规定,如缺少停止位等,此时,设置此标志,发出帧出错信息。(3)溢出(丢失
37、)错误在接收到新的字符后,由串行移位寄存器传送到并行接收寄存器,但此时原在并行接收寄存器中的数据并未被CPU取走,于是出现数据丢失现象,这就发生了溢出错误。串行通信通常使用专用控制接口芯片。常用的可编程通信接口芯片有Ins8250和Intel的8251A等。第30页,共44页,编辑于2022年,星期六7.4.27.4.2可编程异步通信接口可编程异步通信接口INS8250INS82501基本功能:a完全双工、双缓冲器发送和接收器的异步通信接口电路;b通信波特率:50Hz9600Hz,共分成15种;c异步通信格式(可通过编程选择)即可选每字符可传送58位 可选择为1,15或2位停止位 可产生中止字
38、符(输出连续的低电平,以通知对方中止通信)。d可进行奇偶校验,并具有奇偶、溢出和帧错误等检测状态位;e片内具有优先权中断控制逻辑。第31页,共44页,编辑于2022年,星期六2内部结构8250的内部结构可分成以下几个部分,如图741所示。(1)发送器接收器部分发送器:根据规定的数据格式和波特率将数据发送输出。且高(后)低(先)接收器:对来自SIN的信号用RCLK对其进行采样,在找到起始信号后,连续16个RCLK对信号采样输入一次。然后根据事先规定的数据格式和波特率自动删除起始位,奇偶校验位和终止位。当接受缓冲器满时,由中断方式要求CPU取数,取走后清中断,同时,监视接受的数据是否有错;或接受到
39、终止信号,向CPU发中断信号,要求处理。(2)通信控制和状态寄存器部分通信线路控制寄存器LCR通信线控制寄存器LCR用来指定串行通信的数据格式。CPU可以对其进行读写操作,其格式如图7-42,CPU通过对LCR的写入,可以确定通信的数据格式(D7=0)或选择波特率寄存器(D71)、以及输出中止符(D61)。第32页,共44页,编辑于2022年,星期六DLAB正常值正常值 0 0寻址波特率寻址波特率 1 1除寄存器除寄存器 字符代码长度字符代码长度0 0 50 0 5位位0 1 60 1 6位位1 0 71 0 7位位1 1 81 1 8位位停止位停止位数目数目0=10=1位位1=1.51=1.
40、5位(位(5 5位字符时)位字符时)2 2位(位(6 6,7 7,8 8字符)字符)奇偶校验奇偶校验0 0 无奇偶校验无奇偶校验1 1 有奇偶校验有奇偶校验奇偶校验类型奇偶校验类型0 0 奇校验奇校验1 1 偶校验偶校验奇偶校验附加位奇偶校验附加位0 0 该位无效该位无效1 1 奇偶校验位恒为奇偶校验位恒为1 1(位(位3=13=1,4=04=0)奇偶校验位恒为奇偶校验位恒为0 0(位(位3=13=1,4=14=1)无奇偶校验位(位无奇偶校验位(位3=03=0)终止终止位设位设置置该位无效该位无效 0 0强迫强迫82508250连续输连续输 1 1出低电平出低电平 通信线控制寄存器通信线控制寄
41、存器LCRLCR第33页,共44页,编辑于2022年,星期六 1.确定数据通讯格式(D7=0)通过写入LCR 2.选择波特率除寄存器(D7=1)3.输出终止位(D6=1)a.LSR主要反映接受数据是否准备就绪和发送缓冲器是否空,当就绪或空时,LSR中相应位置1,且可通过中断控制电路发出中断申请 b.LSR还反映了接受时是否发生错误,当错误发生时,也可通过中断控制电路申请中断。通信线路状态寄存器LSRLSR提供串行数据发送和接收的状态,以供CPU读取和处理。对LSR的写入(第六位除外),可供系统自检时使用。LSR的内容如图7-43所示。当CPU与8250进行数据交换时就可利用LSR的状态来区别传
42、送是否完成以及出错状态类型 第34页,共44页,编辑于2022年,星期六(3)波特率发生控制电路部分通常8250使用1.8432MHz的基准时钟输入,所以需要用分频的方法产生所需要的波特率。8250发送或接收串行数据时,使用的时钟频率是数据传送波特率的16倍,需作适当的分频处理。当8250工作于不同的波特率时,就要用不同的分频系数,因此在8250内部设有两个保存分频系数的寄存器,称为除数锁存器。按照8250可能使用的波特率,由下列公式可算出除数:除数184320(16波特率)除数锁存器由两个8位寄存器构成,除数高8位寄存器为MSR,低8位为LSR。在写入除数前,需将LCR的DLAB(D7)置1
43、,除数才能被写入;除数写入后,还需将LCR的DLAB置0,以便8250进行正常的工作。8250的波特率与除数锁存器的值之间的关系如表7-4所示。第35页,共44页,编辑于2022年,星期六(4)调制与解调控制部分8250内部有与调制解调器连接的控制电路。调制解调控制寄存器MCRMCR用来设置8250与通信设备之间联络应答的输出信号,其设置方法如图744所示 调制解调状态寄存器MSRMSR用来反映8250与通信设备之间应答联络输入信号的当前状态以及这些信号的变化信息。MSR所提供的状态信息如图745所示。(5)中断控制中断识别寄存器IIR000000 0 有中断状态有中断状态1 1 无中断状态无
44、中断状态中断中断识别识别00 00 调制解调状态发生变化调制解调状态发生变化01 01 发送缓冲器空发送缓冲器空10 10 接受数据就绪接受数据就绪11 11 接受字符代码错或接收终止状态接受字符代码错或接收终止状态 优先权由高到低顺序为优先权由高到低顺序为 1 1,2 2,3 3,4 4第36页,共44页,编辑于2022年,星期六中断允许Reg IER为了增加控制的灵活性,在8250中设置了各种中断的屏蔽位,构成了中断允许寄存器IER,其内容如图747所示。IER是读写寄存器。它的低4位是中断允许控制位,当把某一位置“1”时,则允许相应位的中断源中断,使INTRPT端输出高电平;反之则对这一
45、位的中断实现屏蔽,所以,有选择地设置中断允许位,可以改变中断优先权顺序。二、8250的引脚定义1与系统相连接部分(l)数据总线D0D7(双向、三态,引脚18)用于CPU与8250之间的信息交换。(2)数据选通线DISTR、DOSTR、DDIS。(3)地址线A0A2(输入、高电平有效,引脚2826)。(4)片选控制信号CS0、CS1、(引脚12、13、14)和地址选通脉冲(引脚25)。(5)主复位信号MR(输入、高电平有效,引脚35)。第37页,共44页,编辑于2022年,星期六2与通信设备相连部分(1)外部时钟输入输出XTAL1、XTAL2(引脚16、17)。这两个引脚把串行通信的主定时基准信
46、号(晶振或时钟)接到8250。(2)接收时钟PCLK(输入、引脚9)。PCLK接受16波特率的时钟信号,以作为接收器的时钟。(3)波特率输出BAUDOUT(输出、引脚15)。这是8250输出的一个时钟信号,其频率为波特率的16倍,故常把它连至PCLK输入端。(4)串行数据输入信号SIN(输入、引脚10)。这是由外部设备送来串行数据的输入端。(5)串行数据输出信号SOUT(输入、引脚11)。这是8250发送串行数据的输出端。(6)调制解调控制信号DTR、RTS、CTS、DSR、RLSD和RI第38页,共44页,编辑于2022年,星期六7.5 7.5 模拟通道接口模拟通道接口 7.5.1 概述概述
47、 D/A和和A/D转换器是计算机与外部世界联系的重要接口转换器是计算机与外部世界联系的重要接口.受受控控对对象象传感器传感器调理调理 A/D A/D ComputerComputer D/A D/A 功效功效执行机构执行机构 计算机作为系统的一个环节,它的输入和输出都是数字信号,而外部受控对象往往是一个模拟部件,它的输入和输出必然是模拟信号。这二种不同形式的信号要在同一环路中进行传递就必须经过信号变换,在系统中完成模拟信号转换成数字信号的装置称为A/D转换器;反之,完成数字信号转换成模拟信号的装置称为D/A转换器。第39页,共44页,编辑于2022年,星期六7.5.2 并行和串行并行和串行D/
48、A转换器转换器一、一、D/A转换的工作原理转换的工作原理D/A转换器转换器DAC的形式较多,最常见的是的形式较多,最常见的是T形电阻网络形式形电阻网络形式 +A A-权电阻网络权电阻网络 位转换开关位转换开关基准电压基准电压VrefVref 数字量数字量I IoutoutV Voutout单极性单极性 V Voutout=-V=-Vrefref/2/2n nDD双极性双极性 V Voutout=2V=2Vmaxmax/2/2n nD-VD-Vmaxmax二二.D/A转换器的主要性能指标转换器的主要性能指标 (1)分辨率指D/A转换器所能分辨最小的量化信号的能力,这是对微小输入量变化的敏感程度的
49、描述,一般用转换器的数字量的位数来表示。对于一个分辨率为n位的DAC,它能对满刻度的2-n倍的输入变换量作出反应。常见的分辨率有8,10,12位等。第40页,共44页,编辑于2022年,星期六(2)建立时间是DAC转换速度快慢的一个重要参数,指DAC的数字输入有满刻度值的变化时,其输出模拟信号电压(或电流)达到满刻度值1/2LSB时所需要的时间。对电流输出形式的DAC,其建立时间是很短的;而对电压输出形式的DAC,其建立时间主要是其输出运放所需的响应时间。一般DAC的建立时间为几个ns至几个us。三、典型8位DAC芯片DAC08321主要性能指标分辨率:8位建立时间:1us,电流型输出单电源:
50、+5V+15V,低功耗:200mW基准电压范围:25V2内部结构和引脚DAC0832由8位输入锁存器,8位DAC寄存器8位D/A转换电路组成,内部逻辑结构如图761所示,引脚信号及含义见图762和表7-9。第41页,共44页,编辑于2022年,星期六3DAC 0832的工作方式 根据对DAC0832的输入锁存器和DAC寄存器的不同的控制方法,DAC0832有如下三种工作方式:(1)单缓冲方式 控制输入寄存器和DAC寄存器同时跟随或锁存数据,或只控制这两个寄存器之一,而另一个接成直通方式。此方式适用于只有一路模拟量输出或几路模拟量非同步输出的情形。参考线路如图7-6(a),有关程序段:MOVDX