第7章串行通信接口技术_第1页
第7章串行通信接口技术_第2页
第7章串行通信接口技术_第3页
第7章串行通信接口技术_第4页
第7章串行通信接口技术_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章串行通信接口技术第一节串行通信基础第二节可编程串行通信接口8250第三节可编程串行通信接口8251第一节串行通信基础串行通信的概念所谓串行通信是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度。“串行”是指外设与接口电路之间的信息传送方式,CPU与接口之间仍按并行方式工作。串行通信的概念信息传输的检错和纠错串行数据在传输过程中,由于干扰可能引起信息的出错如何发现传输中的错误,叫检错发现错误后,如何消除错误,叫纠错最简单的检错方法是奇偶校验,即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。奇校验:所有传送的数位(含字符的各数位和校验位)中,1的个数为奇数偶校验:所有传送的数位(含字符的各数位和校验位)中,1的个数为偶数奇偶校验能够检测出1位误码,但是不能纠错。串行数据传输方式全双工方式通讯双方能同时进行发送和接收操作串行数据传输方式半双工方式只有1根数据线传送数据信号,要求通讯双方的发送和接收由电子开关切换。由于只有一条信道,所以数据不能同时在两个方向上传送。单工方式只允许数据按照一个固定的方向传送传输速率在串行通讯中,用波特率来描述数据的传输速率。波特率,即每秒钟传送的二进制位数,简写为bps。收、发双方的波特率必须一致。接收时钟/发送时钟频率是波特率的倍数,称为波特率因子。例如波特率因子为32,则32个时钟脉冲移位1次。例:波特率=9600bps,波特率因子=16,则接收时钟和发送时钟频率=9600×16=153600Hz信号的调制和解调数字信号的频带较宽,而普通通信线路频带较窄,如电话线频带范围仅为300~3400Hz。所以采用普通通信线路进行远程数据通信时,需要在发送端用调制器(Modulator)把数字信号转换为模拟信号,模拟信号经通信线路传送到接收方,接收方再以解调器(Demodulator),把模拟信号变为数字信号。大多数情况下,调制器和解调器合在一个装置中,称为调制解调器——Modem在串行通信中,数据终端通常是计算机,数据要通过数据通信设备来传送,数据通信设备一般指调制解调器。调制解调器的类型比较多,有振幅键控(ASK)、频移键控(FSK)、相移键控(PSK)。实现串行通信有专用的接口芯片,常用的有USART(通用同步/异步接收/发送器)——如Intel8251和UART(通用异步接收/发送器)——如Ins8250。无论是UART,还是USART,均能实现数据发送时所需要的并串转换以及数据被CPU接收时所需要的串并转换。信号的调制和解调在通讯中,Modem起着传输信号的作用,是一种数据通讯设备,简称DCE。接收设备和发送设备称为数据终端设备,简称DTE。信号的调制和解调串行通信的类型串行通信可以分为两种类型:同步通信、异步通信。异步通信一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,最后以停止位结束该字符的传输。一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为帧(Frame)。帧与帧之间可有任意个空闲位。起始位之后时数据的最低位。异步通信异步通信可以采用正逻辑或负逻辑。异步通信的信息格式:起始位 逻辑0 1位数据位 逻辑0或1 5位、6位、7位、8位校验位 逻辑0或1 1位或无停止位 逻辑1 1位、1.5位或2位空闲位 逻辑1 任意数量

起始位最低位最高位奇偶位停止位数据位传送开始时,接收设备不断地检测传输线。当检测到一系列的“1”之后检测到一个“0”,便启动内部计数器开始计数。当计数到一个数据为宽度的一半时,又一次采样传输线,若其仍为低电平,则确认是一个起始位的到来,标志着一帧字符的开始。以位时间(1/波特率)为间隔,移位接收所规定的数据位和奇偶校验位,拼装成一个字符的并行字节,此后应接收到规定长度的停止位“1”,若没收到,则设置帧错误标志。若检测有错,则设置校验错标志。只有既无帧出错,又无奇偶校验错的接收数据才是正确的。一帧字符接收完毕,接收设备再继续测试并传输,监测下一帧字符起始信号的到来。异步传输是按字符传输的,接收设备在收到起始位信号之后,只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。若接收设备和发送设备两者的时钟略有偏差的话,字符之间的停止位和空闲位将为这种偏差提供一种缓冲,不会因累积效应而导致错位,接收端对异步通信的每一个字符的起始位都重新校准时钟。异步通信异步通信例:传送8位数据45H(0100,0101B),奇校验,1个停止位,则信号线上的波形为同步通信同步通信是靠同步字符完成收发双方同步的。多个字符成组传送,在每组信息的开始,加上同步字符,字符组和同步字符以及需要的其他字符构成一个信息帧。同步字符字符1字符2……字符n校验字符数据块串行通信的接口标准在串行通信中,DTE和DCE之间的连接要符合接口标准计算机通信中使用最普遍的是RS-232C标准PC机上的COM1、COM2接口,就是RS-232C接口,使用9针和25针连接器串行通信的接口标准串行通信的接口标准TXD 发送数据RXD 接收数据SG/GND 信号地DSR DCE准备好DTR DTE(即微机接口电路,如8250/8251)准备好RTS DTE请求DCE发送CTS DCE允许DTE发送,该信号是对RTS信号的回答。DCD 数据载波检测当本地DCE收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收,并且由DCE将接收到的载波信号解调为数字信号,经RXD线送给DTE。RI 振铃信号当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。串行通信的接口标准RS-232C采用负逻辑,且信号电平与TTL不兼容,规定逻辑“1”在-3V~-15V之间,逻辑“0”在+3V~+15V之间。RS-232C不是TTL电平的接口标准,当计算机与外设进行通信时,必须有相应的电平转换电路。通常采用的是MC1488和MC1489电平转换器。串行接口芯片8250、8251均使用TTL电平,应使用电平转换电路与RS-232C连接器连接。MC1488:TTL电平→RS232电平(用于发送方)MC1489:TTL电平←RS232电平(用于接收方)MC1488和MC1499逻辑图+12VINTTL电平-12VOUTRS-232电平OUTTTL电平+5VMC1489MC1488INRS-232电平串行通信的接口标准串行通信的接口标准采用Modem(DCE)和电话网通信时的信号连接串行通信的接口标准采用专用线通讯时的信号连接串行通信的接口标准无Modem的标准连接串行通信的接口标准无Modem的最简连接串行通信的接口标准无Modem时,最大通讯距离的计算:RS-232C标准规定:当误码率小于4%时,要求导线的电容值应小于2500PF。普通导线的电容值约为170PF/M。则允许距离L=2500PF/(170PF/M)=15M第二节可编程串行异步通信接口82508250芯片功能功能:1、支持异步通信规程,对异步格式可编程,一个全双工通道。

2、具有内部可编程时钟产生电路,能产生频率为(16×波特率)的时钟,该时钟可输出。

3、具有调制/解调器控制信号。

4、具有中断系统

5、具有状态寄存器。

6、具有数据回送功能,方便调试和诊断。8250INTRPT8259OUT2#IRQ4CPUINTINTR8250中断请求信号与CPU的连接数据总线缓冲器选择和控制逻辑接收缓冲寄存器通信线控制寄存器通信线状态寄存器+5V地D0~D7A0A1A2CS0CS1CS2ADSMRDISTRDISTRDOSTRDOSTRDDISCSOUTXTAL1XTAL2内部数据总线发送保持寄存器调制解调器控制寄存器调制解调器状态寄存器除数锁存器(低位)除数锁存器(高位)中断允许寄存器中断识别寄存器接收移位寄存器接收同步控制发送同步控制波特率发生器发送移位寄存器中断控制逻辑调制解调器控制逻辑INTRPTSOUTSINRCLKBAUDOUT1、与系统相连接部分①D7~D0数据线,双向,三态,高电平有效。

CPU与8250之间的信息,包括CPU对8250的编程信息CPU要从8250的有关寄存器中读取的状态,CPU要通过8250发送的数据以及由8250发送的数据以及由8250接收送往CPU的数据都是通过D7~D0。8250芯片引脚定义②DISTR及DISTR数据输入选通线,DISTR低电平有效,DISTR高电平有效。

8250被选中期间,二者之一有效,允许CPU从8250读取状态信息或数据。

通常二者中只用一个信号作为选通信号,另一个可固定在无效状态。③DOSTR及DOSTR数据输出选通线,DOSTR高电平有效,DOSTR低电平有效

8250被选中期间,二者之一有效,允许CPU向8250写入控制命令或数据。

通常二者中只用一个,另一个固定在无效状态。8250芯片引脚定义④DDIS驱动器禁止信号,输出,高电平有效;每当CPU从8250读取信息时,DDIS变为低电平。平时DDIS输出高电平,可用来禁止外部的数据收发器。⑤A2~A0:地址线,输入,高电平有效,一般与系统地址总线相连,CPU通过这三个引脚寻址8250内部的各个寄存器。⑥CS0、CS1、CS2片选信号。CS0、CS1高电平有效,CS2低电平有效,必须当这三个信号都有效时,8250才能正常工作。8250芯片引脚定义⑦ADS地址选通脉冲,输入低电平有效。当其有效时锁存地址(A0、A1、A2)和片选信号(CS0、CS1、CS2)。⑧MR主复位信号。此信号接至系统的复位信号RESET(高电平有效),当其有效时,清除所有寄存器(除接收缓冲器、发送缓冲器和除数锁存器外)和8250的控制逻辑以及有关的输出信号。⑨INTRPT中断请求信号,输出、高电平有效。

该信号送往CPU的INTR或8259的输入端。8250芯片引脚定义2、与通信设备相连接部分①XTAL1,XTAL2外部时钟输入。②RCLK接收时钟输入。从该引脚向8250输入16倍于波特率的时钟信号,以作为接收器时钟。③BAUDOUT波特率输出。8250输出的一个时钟信号,其频率是8250的主振频率除以除数锁存器的值,即为16×波特率。当需要接收与发送波特率相同时,把它连至RCLK输入端作为接收器时钟。8250芯片引脚定义④SIN串行数据输入信号。这是外设或Modem送来串行输入数据的信号线。⑤SOUT串行数据输出信号。这是8250给通信设备(外设或Modem)发送串行输出数据的信号线。⑥OUT1,OUT2输出信号,低电平有效。这是两个可编程控制的输出信号,可由对Modem控制寄存器的位2和位3编程使其输出有效信号,此两个输出信号是备用信号,可作为串行通信控制的辅助控制信号或状态指示信号。⑦CSOUT片选输出,高电平有效。当8250的三个片选输入端CS0,CS1和CS2都有效时,此引脚输出高电平,此时才能开始数据传输。8250芯片引脚定义3、与Modem有关的控制信号①DTR数据终端准备就绪,输出,低电平有效。当8250已准备好通信时,可使DTR输出有效信号以通知通信设备或Modem。

可由CPU使Modem控制寄存器的位0置“1”输出有效

主复位信号MR有效,把DTR置为高电平8250芯片引脚定义②RTS发送请求,输出,低电平有效。有效时,用以通知通信设备8250已准备好发送。CPU使Modem控制寄存器的位1置“1”而输出有效。

MR有效,使RTS置为高电平。③CTS允许发送,输入,低电平有效。这是由Modem送给8250的控制信号。④DSR数据设备准备就绪,输入,低电平有效。⑤RLSD和RI接收线路检测和振铃指示,都是输入,低电平有效。当它们有效时,表示通信设备(Modem)已检测到数据串或收到了振铃信号。8250芯片引脚定义8250芯片由各种控制逻辑和寄存器组成,主要包括6部分:1、总线缓冲器和选择控制逻辑。

数据总线缓冲器接收中央处理器发给8250的命令和数据,8250接收的数据和通讯状态信息也通过数据总线缓冲器送到CPU。

选择和控制逻辑接受来自系统地址总线的译码信号,控制选择芯片内部寄存器。

控制逻辑用于对8250各寄存器的读/写操作控制。8250芯片的内部结构2、接收控制电路

接收控制电路由接收缓冲寄存器、接收移位寄存器和接收同步控制电路组成。

来自线路控制寄存器的命令,控制接收的串行数据移入接收移位寄存器,满8位后送入缓冲寄存器。同步控制电路控制对输入信号的采样。8250芯片的内部结构3、发送控制电路

发送控制电路由发送保持寄存器,发送移位寄存器和发送同步控制电路组成。

来自线路控制寄存器的命令,控制发送保持寄存器中的数据送入发送移位寄存器,在发送同步控制电路控制下,将发送移位寄存器中数据逐位移出,送上通讯线。

接收电路和发送电路的工作状态都可以由线路状态状态寄存器中读出。8250芯片的内部结构4、传输速度控制电路

这部分电路由除数锁存器和波特率发生器组成。

编程设定送到除数锁存器中的数值应是通讯速率与8250输入时钟的比率,这个比率经波特率发生器产生输入时钟的分频信号,作为数据传输速度。5、Modem控制电路

这部分控制电路由控制寄存器,状态寄存和控制逻辑组成,用于控制Modem的工作。如果8250与Modem相连,则其控制信号由Modem控制电路产生。8250芯片的内部结构6、中断控制电路

8250支持中断方式的数据传送。中断控制电路由中断允许寄存器,中断识别寄存器和中断控制逻辑组成。

由于8250支持多种情形的中断,因此由中断允寄存器规定开放的中断。CPU可通过8250中断识别寄存器判断当前中断类型。8250芯片的内部结构

8250内部有10个寄存器,A2~A0指定8个,另2个与别的寄存器共用,共用的二个口地址由通讯控制寄存器的最高位DLAB(除数DividerLatchAccessBit锁存器访问位)来识别。8250内部控制状态寄存器的功能8250内部控制状态寄存器的功能1、发送保存寄存器和数据接收缓冲寄存器(3F8H)

保存和接收正在串行接口上通讯的数据字节,同一地址可由CPU的I/O指令区分(IN,OUT)8250内部控制状态寄存器的功能2、线路控制寄存器和线路状态寄存器(3FBH和3FDH)

LCR用于控制通信数据格式,CPU可对它读出/写入。LSR提供串行数据传送和接收时的状态供CPU判断。LCR3FBHLSR3FDH8250内部控制状态寄存器的功能3、除数锁存器(低8位3F8H、高8位3F9H)

当除数锁存器访问位

DLAB=1,A2=0,A1=0时,A0=0访问低8位

DLAB=1,A2=0,A1=0时,A0=1访问高8位

除数是16位的二进制数,范围1—(2e16)-1

因8250传送或接收串行数据时,使用的时钟信号频率是数据传送波特率的16倍;且8250使用1.8432MHz基准时钟输入信号,所以8250用分频产生所需波特率。故除数锁存器的除数值可用下式计算:波特率与除数锁存器的值的对应关系:8250内部控制状态寄存器的功能4、中断允许寄存器(3F9H)8250芯片本身可处理4种类型的中断,按优先次序排列为

接收线路出错

接收数据就绪

发送保持寄存器已空

Modem中断

中断允许寄存器的低四位分别对应上述四种中断,对应位为1时则允许对应中断信号输入。8250内部控制状态寄存器的功能5、中断识别寄存器(3FAH)

8250只能向外输出一个总的中断请求信号,因此,8250只能向CPU发出一个中断信号IREQ4。8250内部控制状态寄存器的功能6、Modem控制器和Modem状态寄存器(3FCH、3FEH)

异步通信控制器可通过连接一台Modem或多路通讯控制器实现远程通讯。

利用Modem进行数据通讯,CPU必须实现对Modem的控制及读取它的状态,分别通过MCR和MSR进行。MCR(3FCH)MSR(3FEH)异步串行通讯程序设计

8250具有灵活的设计能力,以适应各种不同的应用场合。其设计步骤如下:1,设定通讯规律,包含波特率,奇偶校验方式,停止位数目及数据字节长度等。2,读取通讯线路(或Modem)状态,以判定是否可以进行通讯。3,送出(或接收)一个数据字节4,重复上述2、3项,直至通讯完毕。

当允许中断时,COU送出(或收到)一个字节后,并不需要不断查询控制器状态,而可转向执行其他任务。当有中断信号INT4发生并响应后,再按2、3处理。8250初始化编程

在使用8250进行通讯之前,必须对8250进行初始化编程,给有关的内部寄存器设置相应参数。初始化的主要步骤为:1、设置除数锁存器,确定波特率。

为了写入除数锁存器,要先将LCR的D7置1。2、对LCR编程,以确定通信的数据格式,而且要使它的最高位变为“0”,以便以后对接收和发送缓冲器以及中断允许寄存器进行操作。3、若要使用中断,则要设置中断允许寄存器IER。

若不采用中断,这个寄存器值可置成0。4、设置MCR。

这是为计算机与调制解调器联系准备的。例:在PC/XT机中,若要求以9600波特率进行异步通信,每字符7位,2个停止位,奇校验,允许所有中断。IBMPC/XT中8250口地址3F8H~3FFH。

MOVAL,80H

MOVDX,3FBHOUTDX,AL;使LCR的D7=1MOVAL,0CH

OVDX,3F8H

OUTDX,AL;除数寄存器低8位DLLMOVAL,0

MOVDX,3F8H

OUTDX,AL;除数寄存器低8位DLH

MOVAL,0EH

MOVDX,3FBH

OUTDX,AL;LCR,7位,2位,奇校验MOVAL,0FH

MOVDX,3F9H

OUTDX,AL;IER,允许所有中断MOVAL,0BH

MOVDX,3FCH

OUTDX,AL;MCR,OUT1,OUT2,DTR1,RTS有效第三节可编程串行通信接口8251通过编程,可以实现异步通讯协议或面向字符的同步通讯协议,波特率:同步方式下:0-64Kbps;异步方式下:0-19.2Kbps。同步方式下,每字符为5,6,7,8位,能自动检测同步字符,自动添加奇偶校验。异步方式下,每字符可为5,6,7,8位,自动增加起始位、停止位和校验位。8251的结构模式寄存器:决定工作于同步或异步模式以及接收和发送的字符格式同步字符寄存器:存放同步模式下的同步字符8251的引脚信号C/D#:该信号一般连至地址线A0,用于选择控制端口/数据端口。数据输入输出寄存器合用一个端口,控制寄存器与状态寄存器合用一个端口。TxE:通知CPU发送移位寄存器空。此时,在状态寄存器的TxE位置1。CPU可以查询TxE信号或状态寄存器的TxE位TxRDY:告诉CPU,8251已准备好发送,CPU可以为其提供需要发送的字符RxRDY:通知CPU,8251已从外部设备收到一个字符,等待CPU读取。CPU可以查询该信号,或把该信号作为中断请求信号。SYNDET:同步检测信号,只用于同步方式T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论