资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第九章 可编程串行异步通信接口芯片8250,9.1 串行通讯概述 9.2 8250简介 9.3 8250应用举例,一、串并行通讯,9.1 串行通讯概述,串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。 其特点是: 节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点。 数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。 如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。 其特点是: 各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合。 并行传输的数据宽度可以是1-128位,甚至更宽,但是有多少数据位就需要多少根数据线,因此传输的成本较高。 并行数据传输只适用于近距离的通信,通常传输距离小于30米。,串行通信优点:便于长距离传送 缺点:传送速度较慢,计算机与外界信息交换称为通信。,通信的基本方式可分为并行通信和串行通信:,并行通信是数据的各位同时发送或同时接收;,串行通信是数据的各位依次逐位发送或接收。,并行通信优点:传送速度快 缺点:不便长距离传送,异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机中主要采用异步通信方式。,二、异步通信和同步通信,串行通信按同步方式可分为异步通信和同步通信。,1、异步通信,异步通信依靠起始位、停止位保持通信同步。,异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。,帧格式,一个字符由四部分组成:起始位、数据位、奇偶校验位和停止位。,停止位(1)停止位用来表征字符的结束。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕,同步通信传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。,2、 同步通信,同步通信依靠同步字符保持通信同步。,同步通信是由12个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。,波特率的倒数即为每位传输所需的时间。 相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。,三、串行通信波特率,波特率bps(bit per second)定义: 每秒传输数据的位数,即:,1波特 = 1位/秒(1bps),四 、串行通信的制式,串行通信按照数据传送方向可分为三种制式:,单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。,1、单工制式(Simplex),半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。,2、半双工制式(Half Duplex),全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。,3、全双工制式(Full Duplex),六、调制解调器 计算机内的信息是由“0”和“1”组成数字信号,而在电话线上传递的却只能是模拟电信号。于是,当两台计算机要通过电话线进行数据传输时,就需要一个设备负责数模的转换。这个数模转换器就是Modem。计算机在发送数据时,先由Modem把数字信号转换为相应的模拟信号,这个过程称为“调制”。经过调制的信号通过电话载波传送到另一台计算机之前,也要经由接收方的Modem负责把模拟信号还原为计算机能识别的数字信号,这个过程称为“解调”。正是通过间这样一个“调制”与“解调”的数模转换过程,从而实现了两台计算机远程通讯。,9.2 8250简介 一、PC中的UART UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上。 1.INS8250 2.PC16450/PC16550 带16字节的发送缓冲器和14字节的接收缓冲器 FIFO,我的电脑中串口配置,二、UART的简单应用 1.连线:RS232C接口标准,3线或7线连接方式 2.编程: 1)自己编写初始化及接收发送程序 2)调用BIOS编程:INT 14H 3)调用DOS编程: INT 21H,调用号 03和04 4)DOS下按照文件编程,文件名就是COM1:或COM2: 5)WINDOWS下VB编程,用MSCOMM控件编程 6)WINDOWS下VC编程,用类、控件,或者按文件编程。 7)用开发包编程:有很多,可以从网上下载。,三、8250的管脚与结构 1.管脚,管脚信号说明,数据总线缓冲器:D0D7:双向数据线 选择与控制逻辑: CS0、CS1、CS2-:输入片选信号 A0、A1、A2:8250内部寄存器选择信号 MR:主复位输入信号,高电平有效 ADS-:地址选通信号=AEN DISTR、DISTR-:数据输入选通信号 DOSTR、DOSTR-:数据输出选通信号 DDIS:驱动器禁止信号,在CPU从8250读取数据时为低电平,其他时间为高电平禁止外部收发器对系统总线的驱动 CSOUT:片选输出信号 XTAL1、XTAL2:外部时钟端 中断控制逻辑: INTR:中断请求输出信号,MODEM控制逻辑: CTS-:清除发送信号 RTS-:请求发送信号 DTR-:数据终端准备好信号 DSR-:数据装置准备好信号 RLSD-:接收线路信号检测信号 RI-:振铃指示信号 OUT1-:由用户编程指定的输出端 OUT2-:与OUT1一样,可以由用户编程指定(PC用) 发送移位寄存器 SOUT:串行输出信号 接收移位寄存器 SIN:串行输入信号 RCLK:接收时钟信号 波特率发生器 BAUDOUT:波特率输出,2.内部结构,数据接收寄存器,数据发送寄存器,接收移位寄存器,发送移位寄存器,线路控制寄存器,线路状态寄存器,除数寄存器高位,除数寄存器低位,波特率发生器,MODE控制寄存器,MODE状态寄存器,中断允许寄存器,中断识别寄存器,控制逻辑,控制逻辑,数据总线缓冲器,读写控制逻辑,内部数据总线,D0 D7,CS0,CS1,CS2,A2,A1,A0,ADS,DISTR,DISTR,DOSTR,DOSTR,DDIS,MR,O,O,O,SOUT,SIN,XTAL2,XTAL1,BAUD OUT,RTS,CTS,DTR,DSR,RLSD,RI,OUT1,OUT2,INTRPT,RCLK,发送器控制逻辑,接收器控制逻辑,3. 连接,PC / XT异步通信适配器电路,四、寄存器与BPS 1.地址分配及其复用 3根地址信号线:A2 A1 A0 8个地址,7个可用,10个可编程物理端口,复用。 2.10个寄存器及其每位的作用,(1)通信控制寄存器 该控制字主要决定在串行通信时所使用的数据格式,例如数据位数、奇偶校验及停止位的多少。同时,特别注意该控制字的D7。当我们需要读写除数锁存器时,必须先将该寄存器的D7置1。而在读写其他寄存器时,又要使其为0。 (2)通信状态寄存器 通信状态寄存器的作用在于通过其状态说明在通信过程中8250接收和发送数据的情况。 (3)发送数据寄存器 这是一个8位的寄存器,发送数据时,处理器将数据写入寄存器。只要发送移位寄存器空,该发送数据寄存器的数据便会由8250硬件自动并行送到移位寄存器中,以便串行移出。 (4)接收数据寄存器 是一个8位的寄存器,当8250接收到一个完整的字符时,会将该字符由接收移位寄存器传送到接收数据寄存器。处理器可直接由此寄存器读取数据。,(5)除数锁存器(波特率因子寄存器) 该锁存器为16位,外部时钟被除数锁存器中的除数相除,可以获得所得的波特率。如果外部时钟频率f已知,而8250所要求的波特率F也已规定。那么,就可以由下式求出除数锁存器应锁存的除数: 波特率因子=1.8432Mhz/(1200*16)=96 例如,当输入时钟频率为1.8432MHZ时,若要求使用1200波特来传送数据,这时可算出锁存于除数锁存器的除数应为96。在8250工作前首先要将除数写到除数锁存器中,以便产生所希望的波特率。为了写入除数,首先在通信控制寄存器中将D7置为1,而后就可以将16位除数先低8位,后高8位写入除数锁存器中。 (6)中断允许寄存器 中断允许寄存器只用D0D3这四位,每位的0或1编码分别允许或禁止8250的四种中断源提出中断。在中断允许字中,接收线路状态包括越限错、奇偶错、结构错、间断等中断源引起的中断。而MODEM状态引起的中断见下面对MODEM状态寄存器的解释。,(7)中断标志寄存器 中断标志寄存器为8位,高五位为0,只用低三位来实现8250的中断标志。8250有四个中断源,在8250内不按排优先级的顺序为: 最高优先极为接收器线路状态中断,包括越限、奇偶错、结构错、间断等。 读通信状态寄存器可使此中断复位。 下一优先级是接收寄存器满中断。读接收寄存器可复位此中断。 再下一优先级为发送数据寄存器空中断。写发送数据寄存器克使这一中断复位。 最高优先级为MODEM状态中断,包括发送结束、数传机准备好、振铃指示、接收线路信号检测等为MODEM状态中断源。读MODEM状态寄存器可复位该中断。 (8)MODEM控制寄存器 这是一个8位的寄存器,用以控制MODEM或其他数字设备。 (9)MODEM状态寄存器 MODEM状态寄存器提供了与8250相连接的MODEM或其他外设加到8250上的控制线的信号状态以及这些控制线的状态变化。当由MODEM来的控制线变化时,MODEM状态寄存器的低4位被相应的置1。再读此寄存器时,使这4位同时清零。,3.波特率因子 波特率因子(BRD)是16位数,它与8250的数据传输速率(波特率)有关。当使用8250的内部时钟频率为1.8432MHz时,则波特率因子BRD与波特率Baud之间的关系如下式所示: BRD=时钟频率/(16Baud)。 例如,若要计算波特率为1200b/s的波特率除数,则有: BDR=1843200/(161200)=0060H=96。,端口地址,初始化顺序,1、通信线路控制器 ( 011B PC机地址 3FBH),D0,D1,D2,D3,D4,D5,D6,D7,00:5位 01:6位 10:7位 11:8位,字符长,停止位,0:1个停止位 1:1.5个停止位(字符长5位) 2个停止位(字符长6 8位),0:无校验位 1:有校验位,校验类型 0:奇校验, 1:偶校验,固定奇偶位,既当D4,D3 = 11时(偶校验),D5 = 0 当D4,D3 = 01时(奇校验),D5 = 1,0表示正常收发,D7 = 0 寻址TBR、RBR IER D7 = 1寻址DLL、DHL,选择异步通信格式,D0,D1,D2,D3,D4,D5,D6,D7,2、通信状态寄存器 LSR (101 3FDH),DR,OE,PE,FE,BI,THRE,TSRE,0,1:接收数据就绪,1:溢出错,1:奇偶较验错,1:幀错误,1:正在传输中止符,1:发送缓冲器空,发送移位寄存器空,3、分频次数锁存器DLH和DLL (3F9H,3F8H) 1.8432MHZ基准时钟,进行1 65535次分频后由BAUDOUT引脚输出的频率为 16b/s的时钟。8250初始化时
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号