微型计算机技术讲稿6.docx
- 文档编号:1149221
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:32
- 大小:55.64KB
微型计算机技术讲稿6.docx
《微型计算机技术讲稿6.docx》由会员分享,可在线阅读,更多相关《微型计算机技术讲稿6.docx(32页珍藏版)》请在冰点文库上搜索。
微型计算机技术讲稿6
第五章串并行通信和接口技术
5.1接口的功能及在系统中的连接
外设种类繁多,信号不同,速度差异很大
5.1.1接口的功能
I/O寻址、输入/输出、数据转换、通讯联络(I/O传送控制)、中断管理(优先级、提供中断类型码等)、复位、错误检测。
可编程能力,综合性功能。
I/O接口的功能是提供数据缓冲和进行I/O控制。
5.1.2接口与系统的连接
*与CPU:
数据总线—数据I/O通道、状态信息读取、控制命令写入
控制总线—控制信号联络。
如输入控制信号:
STB(选通输入)、IBF(输入缓冲器满);输出控制信号:
ACK(应答)、OBF(输出缓冲器满)
片选及端口(寄存器)地址选择—地址线连接
中断请求/应答或DMA请求/应答
*与外设:
数据通道
控制联络(握手信号)
接口寄存器选择方式:
以地址区分
以读写区分
以特征位区分
以顺序区分
5.2串行接口和串行通信
5.2.1串行接口
串行通信—数据传送逐位进行,每一位数据占有一固定的时间长度。
控制端口,数据端口,接收/发送时钟。
5.2.2串行通信有关名词
1.全双工、半双工
全双工—收发双方可同时通信,占有两条线路或两个频道等
半双工—收发分时进行。
占有一条线路
2.同步方式、异步方式
*同步方式—收发双方采用统一的时钟,发送方在发送数据之前需要先发同步字符,接收方检测到同步字符后(双方取得同步)方进行数据传送。
同步方式数据格式:
同步字符、数据、数据、数据……
在数据间隙可插入同步字符
*异步方式—收发双方不需要“同步”,不需要统一的时钟。
异步方式数据格式:
起始位-数据位(5-8位)-校验位-停止位(1、1.5或2位)、起始位-数据位(5-8位)-校验位-停止位(1、1.5或2位)……
区别:
*同步方式数据传输率高。
因为非数据信息(起始位、停止位)比例小。
同步传送时,一个信息帧包含若干个字符;
*同步传输收发双方需采用统一的时钟。
异步接收:
高
┎─←──────——┰←————──────┐高
┖→检测RxD低电平┴→1/2D处检测RxD┴→接收数据位→奇偶检测→去掉停止位
低低
同步接收:
┎─←──────——─────┐否
┖→接收数据→是同步字符吗—┴→接收数据位→奇偶检测
是
5.2.3串行通信标准
1.传输率
传输率—每秒传送数据位数。
波特率baud—单位时间内所传送的脉冲码元数。
比特率bit—单位时间内所传送的二进制码元数。
比特率≥波特率比特率=log2n*波特率
数据传输率国际标准:
110、300、600、1200、2400、4800、9600、19.2K、38.4K、57.6K等
2.RS-232C总线标准
1负逻辑
“1”---5V至-15V、“0”--+5V至+15V
TTL→RS-232CMC1488/75150
RS-232C→TTLMC1489/75154
2控制信号定义
一般:
25脚针式(电压接口、电流环接口),9脚针式(仅含电压接口)
5.3可编程串行通信接口INTEL-8251
用于串行通信的接口芯片:
USART-通用同步/异步接收/发送器如INTEL-8251
UART--通用异步接收/发送器如INTEL-8250(PC机用)
USRT--通用同步接收/发送器
5.3.1基本性能
1数据传输率同步0-64K,异步0-19.2K
2数据位5-8位/字符
3奇偶校验位奇校验、偶校验
4异步方式下,可有1、1.5、2个停止位
5.3.28251基本原理
1.8251的编程结构
编程结构:
数据端口:
数据输入缓冲+接收移位寄存器(串入并出)
数据输出缓冲+发送移位寄存器(并入串出)
RxD—接收数据,TxD—发送数据
控制端口:
控制寄存器
状态寄存器
方式寄存器
2.8251的功能结构
功能结构:
接收缓冲器--RxD、串入并出移位
接收控制电路—检测启动位(识别假启动位)、校验、形成状态位(错误、接收准备好等)
发送缓冲器—数据+附加信息位、并入串出移位、TxD
发送控制器—异步:
数据+起始位、校验位、停止位
同步:
插入同步字符,数据+校验位
数据缓冲器—提供与CPU数据总线的缓冲
读写控制—RD、WR、C/D(控制/数据端口选择)、CLK、RESET
MODEM控制—提供调制/解调器控制信号,便于与MODEM连接。
3.8251发送与接收
1异步接收
2异步发送TxEN=1(发送允许)且CTS=0(外设请求发送时),发送数据
RxD/TxD
发送格式和接收格式
3同步接收
内同步:
监测RxD,检测1-2个同步字符,检测到,SYNDET=1,输出
外同步:
外部器件检测同步字符,检测到以SYNDET=1通知8251已取得同步。
8251接收到1字符后,以RxRDY=1,表示以接收到1字符(通知CPU,有数据可用)
4同步发送
TxEN=1且CTS=0,发同步字符,然后发数据位(+奇偶校验位)
5.3.38251的信号
28脚,DIP双列直插封装
1.与CPU的接口信号18条
CS、D0-D7(数据线)、RD、WR、C/D
C/D
RD
WR
具体的操作
0
0
1
CPU从8251数据端口(输入缓冲器)输入数据
0
1
0
CPU向8251数据端口(输出缓冲器)写入数据
1
0
1
CPU从8251控制端口读入状态字
1
1
0
CPU向8251控制端口写入控制命令
其它信号:
TXRDY(发送准备好)、TXE(发送器空)、RXRDY(接收准备好)、SYNDET(同步检测信号,内同步—8251输出,外同步—8251输入)、Reset(复位输入)、CLK(时钟输入)。
2.与外设的接口信号
接收时接口信号:
DTR数据终端准备好,8251输出,通知外设8251接收器已准备好接收。
DSR数据装置准备好。
8251输入,外设通知8251其已准备好,要求打开接收逻辑。
RXC接收时钟—用于控制USART接收字符速率。
同步:
RXC=波特率,由MODEM提供;
异步:
RXC为X1、X16、X64倍,由方式控制命令选择。
RXD接收数据
发送时接口信号:
RTS请求发送,8251输出,通知外设,8251已准备好发送。
CTS清除发送,8251输入,外设通知8251其已准备好,请求8251发送数据。
TXC发送时钟,同RXC
TXD发送数据
5.3.48251编程
1.8位I/O接口与16位DB的连接
一片8251占用两个口地址:
奇数口(控制口):
CPU写入模式控制字、控制命令字、读出状态字
偶数口(数据口):
CPU与外设交换数据
2.8251初始化
异步方式:
┌────────────────────┐
复位┴→模式控制字→控制字(可多次写)→复位→┘
同步方式:
┌───────────-------──────────────┐
复位┴→模式控制字→同步字符(1-2)→控制字(可多次写)→复位→┘
3.模式寄存器、控制寄存器格式
异步格式:
b7b0
S2
S1
EP
PEN
L2
L1
B2
B1
同步方式:
b7b0
SCS
ESD
EP
PEN
L2
L1
0
0
控制寄存器:
b7b0
EH
IR
RTS
ER
SBRK
RXE
DTR
TXEN
其中:
RTS为发送时8251输出控制信号;
DTR为接收时8251输出控制信号。
SBRK=1,8251连续发送低电平(中止符)。
4.状态寄存器格式
b7b0
DSR
SYNDET
FE
OE
PE
TXE
RXRDY
TXRDY
其中:
DSR为8251接收时外设输入的应答(状态)信号;
PE=1表示奇偶错,FE=1表示帧错误(在字符结束时未检测到停止位),OE=1表示溢出错误。
RXRDY、TXRDY为表示8251输入输出缓冲器状态的信号,8251输出,供CPU查询。
TXE=1,表示8251发送器空。
5.3.58251编程举例
8251和MODEM的连接
1电平转换8251输入输出TTL电平,MODEM为RS-232C电平
2控制信号发送(CTS、RTS),接收(DSR、DTR),同步方式(SYNDET)
3时钟异步:
TXC、RXC由本地时钟发生器产生,同步:
收发一致,连接MODEM。
1.8251设置为异步通讯方式
初始化编程:
异步模式控制字—控制字
例1:
试编程设定8251为异步方式,设数据位为7位,偶校验,2个停止位,TXC=RXC等于614.4KHZ,设定波特率为9600Baud.
解:
波特率因子=614.4K/9600=64
模式控制字:
11111011B=FBH
2停止位偶校验7位数据*64
控制字:
00110111B=37H
初始化程序:
MOVDX,8251-ODD;8251奇数口(控制口)
MOVAL,0FBH;模式控制字
OUTDX,AL
MOVAL,37H;控制字
OUTDX,AL
8251发送程序:
┌──────→↓←──────┐
测试状态寄存器b0位TXRDY
=0↓
└─────TXRDY=1?
↓=1发送准备好
发送一字节
↓N
发送完否?
─────┘
↓Y
发送完毕,8251复位
8251接收程序:
┌──────→↓←──────
测试状态寄存器b1位RXRDY
=0↓
└─────RXRDY=1?
↓=1接收准备好
读入一字节
↓
存入输入缓冲区
b5-b3≠000↓
出错处理←──接收字符有错(状态字b5-b3≠000)?
b5-b3=000↓N
接收完否?
─────┘
↓Y
接收完毕,8251复位
2.8251设置为同步通讯方式
初始化编程:
写入同步模式控制字—同步字符—控制字
例2:
:
试编程设定8251为双同步方式,内同步,设数据位为7位,偶校验。
模式控制字:
00111000B=1AH
双同步内同步偶校验7位/数据同步模式
3.8251编程举例
P150因为仅为接收,故控制字可为16H(带联络)/14H。
5.3.68251使用举例
8251用于微机连接CRT终端。
8251初始化编程时,需确定8251复位状态。
连接:
CPU端,译码CS、控制/数据选择C/D、读/写、数据总线、时钟CLK、接收/发送时钟RXC、TXC。
外设端:
数据信号线RXD、TXD,握手信号DTR、DSR(接收),CTS、RTS(发送,本例未使用);电平转换:
MC1488(TTL→RS-232)、MC1489(RS-232→TTL)。
模式控制字4EH=01001110(1停止位、无校验、8位数据/字符、*16)
控制字27H=00100111(RTS=0、RXE=1接收允许、DTR=0、TXEN=1发送允许)
本例发送程序中,以测TXRDY是否为1,决定是否发送。
5.4并行通信和并行接口
CPU、并口、外设的连接:
与CPU:
DB、地址译码、片选、读/写、中断请求等。
与外设:
DB、控制联络(输入:
STB-输入选通、IBF-输入缓冲器满(输入应答信号);输出:
OBF-输出缓冲器满(输出选通)、ACK-输出应答)
一般输入过程:
●外设以STB将输入数据锁存到接口输入数据缓冲器;
●接口以IBF=1通知外设,禁止写入新的数据;
●CPU查询IBF=1或IBF=1触发中断请求,CPU将数据读走,并置IBF=0;
一般输出过程:
●设OBF=1,输出缓冲器空;
●CPU查询OBF=1或由OBF=1触发中断请求,CPU写入数据到输出接口,同时置OBF=0(输出缓冲器满);
●外设检测OBF=0取走数据,并发应答信号ACK=0,将OBF置1。
5.5可编程并行接口INTEL-8255
5.5.18255的内部结构
1.数据端口
A口8位,数据输入锁存,数据输出缓冲/锁存
B口8位,数据输入缓冲,数据输出缓冲/锁存
C口8位,数据输入缓冲,数据输出缓冲/锁存
注意:
B口、C口作输入时应注意外部数据锁存
A口、B口为独立的I/O口
C口分为上半、下半口,通常为配合A/B口作控制联络信号,仅当A/B口不用其作控制联络信号时,C口可作为I/O口。
2.A组控制和B组控制
A组控制:
A口、C上半口
B组控制:
B口、C下半口
3.读/写控制逻辑
接收CPU读/写、复位命令,根据CS、A0、A1地址选择A组、B组控制命令。
4.数据总线缓冲器
5.5.28255的芯片引脚
40脚,DIP封装:
8位数据线(与CPU)、A、B、C口各8位数据线(与外设)
内部端口选择:
A0、A1、CS
其它:
RD、WR、RESET、地、电源
结构:
从外设(连接)角度:
A、B、C三个8位口;或A、B两个8位口及C上、C下两个4位口;
从编程(CPU)角度:
A、B、C、控制口
读写控制逻辑:
CS
A1
A0
RD
WR
说明
0
0
0
0
1
CPU从8255端口A读入数据
0
0
1
0
1
CPU从8255端口B读入数据
0
1
0
0
1
CPU从8255端口C读入数据
0
0
0
1
0
CPU向8255端口A输出数据
0
0
1
1
0
CPU向8255端口B输出数据
0
1
0
1
0
CPU向8255端口C输出数据
0
1
1
1
0
CPU向8255控制口写入方式控制字或C口置位/复位控制字
0
1
1
0
1
非法操作(8255控制口只读)
1
X
X
1
1
数据线(D0-D7)浮空
1
X
X
X
X
8255未选中,数据线(D0-D7)浮空
5.5.38255的控制字
1.方式选择控制字
b7b0
1
X
X
A口I/O
C上半口I/O
B组工作方式
B口I/O
C下半口I/O
└┬┘
A组工作方式:
00-方式0、01-方式1、1X-方式2
其余:
数字1—字母I(输入)、数字0-字母O(输出);0-方式0、1-方式1
特点:
*方式选择字中A组控制用4位,B组用3位;
*方式选择字按方式选择位、A/B口、C上/C下半口顺序排列;
*A口可以方式0、1、2三种之一工作,B口仅能以方式0、1两种方式之一工作,C口只能在不被A/B口占用(作控制联络信号时)的情况下以方式0工作;
8086与两片8255的连接。
与CPU:
RD(IOR)、WR(IOW)、RESET并联;地址A2、A1用以选择8255内部端口,CS由74LS138提供。
与外设:
PA、PB、PC三个8位口
要求:
芯片J1:
A方式0输出,B方式0输入,C上输出,C下输入
方式选择控制字:
10000011B=83H
芯片J2:
A方式0输入,B方式1输出,C上、C下输出
方式选择控制字:
10010100B=94H
初始化编程:
MOVDX,0E6H;芯片J1控制口
MOVAL,83H;芯片J1方式选择控制字
OUTDX,AL
MOVDX,0EEH;芯片J2控制口
MOVAL,94H;芯片J2方式选择控制字
OUTDX,AL
2.C口置位/复位控制字
功能:
设定C口指定位的输出状态,而不影响C口的其余位。
b7b0
0
X
X
X
PC2
PC1
PC0
1/0
↑↑└──┬───┘↑
标志位无用Pci的编码置1/0
注:
C置位/复位控制字用以设定C口指定位状态,必须写入控制口。
若设定C上、C下为输出状态,或读取C口中数据,则读/写C口。
例4:
编程设定8255初始化。
PA、PC输出,PB输入,并由PC5输出一高电平,PC3输出一个负脉冲。
方式选择控制字:
10000010B=82H
MOVDX,8255-contrl;指向8255控制口
MOVAL,10000010B;方式选择控制字
OUTDX,AL
MOVAL,00001011B;PC5←1
OUTDX,AL
MOVAL,00000111B;PC3←1
OUTDX,AL
MOVAL,00000110B;PC3←0
OUTDX,AL
MOVAL,00000111B;PC3←1
OUTDX,AL
5.5.48255的工作方式
1.方式0-基本输入/输出方式
功能:
为A口(8位)、B口(8位)、C上(4位)和C下(4位)提供基本的输入/输出操作(不带控制联络信号)。
用于简单外设接口,不要控制联络信号,仅有数据通道连接,直接使用IN/OUT指令完成I/O操作。
特点:
1两个8位口,两个4为口可分别设置为I/O,共16种组合;
2输出锁存、输入缓冲,适用于同步方式或与低速外设的接口;
3没有控制联络信号。
如果需要查询外设的状态,只能额外增加状态位,以查询方式工作;
4C口可以方式0输入/输出(通过C口),还可以置位/复位控制字设定PCi的输出状态(通过控制口)。
方式0输入时序
●外设输入数据并保持足够长的时间,供CPU经8255读取;
●CPU发CS、A1、A0选中8255后,发RD读信号;
●外设输入数据需在RD=0后保持tRR以上,以便8255读取。
方式0输出时序
●CPU发CS、A1、A0选中8255;
●CPU发WR写信号,并将输出数据送到DB上;
●外设在WR=0且tWW时间后,将数据读走。
写脉冲tWW的宽度要求在400ns以上。
方式0的应用:
同步传送,收发统一时序,不需应答。
例1:
8255A口输出驱动LED显示,B口输入开关信息,C上半口输出数据5=0101,C下半口输出驱动指示灯(1-点亮)。
方式选择控制字:
10000010B=82H
初始化程序:
MOVDX,8255-contrl;指向8255控制口
MOVAL,10000010B;方式选择控制字
OUTDX,AL
MOVDX,8255-PA;指向8255A口
MOVAL,DATA;输出显示数据代码
OUTDX,AL
MOVDX,8255-PB;指向8255B口
INAL,DX;读入开关信息
MOV[ADDR],AL;保存
MOVCL,50H;C上半口输出数据5
MOVDX,8255-PC;指向8255C口
INAL,DX;读入C口数据
ANDAL,0FH;清高4位
ORAL,CL;高4位置为0101
OUTDX,AL
MOVDX,8255-contrl;指向8255控制口
MOVAL,0XXXYYY0/1B;YYY为PC0-PC3的编码
OUTDX,AL
2.方式1-选通输入/输出方式
功能:
设定A口、B口为选通输入/输出工作方式。
A口方式1输入:
B口方式1输入:
PC3INTR(输出)PC2/STBB(输入)
PC4/STBA(输入)PC1IBFB(输出)
PC5IBFA(输出)PC0INTR(输出)
PC4INTEPC2INTE
其中:
IBF、/STB为输入应答信号,INTR为中断请求信号,INTE为A口/B口输入中断允许信号。
/STB-外设输入的选通信号,通知8255,数据已锁存到8255输入锁存器;
IBF-8255送出的输入缓冲器满信号。
STB的下降沿将IBF置1,禁止外设送入新的数据。
当CPU从8255读取数据时,复位IBF=0,通知外设可写入新数据。
INTR-当IBF=1且INTE=1时,发中断申请。
例2:
编程设定8255A口为选通输入方式,并允许A口申请中断。
方式选择控制字:
1011YXXX(Y为PC6、PC7的I/O选择,XXX为B组工作方式)
MOVDX,8255-contrl;指向8255控制口
MOVAL,1011YXXXB;方式选择控制字
OUTDX,AL
MOVAL,00001001B;允许A口输入中断
OUTDX,AL
MOVAL,00001010B;PC5即IBF清0,启动外设,8255已作好准备。
OUTDX,AL
A口方式1输出:
B口方式1输出:
PC7/OBFA(输出)PC2/ACKB(输入)
PC6/ACKA(输入)PC1/OBFB(输出)
PC3INTR(输出)PC0INTR(输出)
PC6INTEPC2INTE
其中:
/OBF、/ACK为输出应答信号,INTR为中断请求信号,INTE为A口/B口输出中断允许信号。
/ACK-外设输入的响应信号,外设准备好接收数据,以/ACK=0通知8255可以送出新数据,并置位/OBF=1;
OBF-8255送出的输出缓冲器满信号。
8255以OBF的下降沿通知外设有数据可读。
INTR-当OBF=1且INTE=1时,发中断申请。
方式1的输出时序
3.方式2—双向传送
功能:
提供一个与外设双向传送的8位I/O接口
仅限于A口使用,且使用PC3-PC7(5位)作为控制联络信号,具有I/O中断控制功能。
信号:
输入应答:
PC4/STBA(输入)
PC5IBFA(输出)
输出应答:
PC7/OBFA(输出)
PC6/ACKA(输入)
中断请求:
PC3INTR
允许/禁止A口输入中断:
PC4INTE
A口输出中断:
PC6INTE
实际上:
方式2=A口方式1输入+A口方式1输出
方式2与其它方式的组合:
1与方式0
B口工作与方式0输入/输出,PC2-PC0可作为I/O。
2与方式1
B口方式1输入/输出,C口全部用于控制/联络,方式选择字仅设置b1位。
5.5.58255应用举例
例1:
8255A口连接打印机,A口工作于方式0,控制联络信号由PC2-BUSY(打印机忙,输入)、PC6-/STB(数据选通,输出)提供。
设8255端口地址为0D0H-0D6H
解:
方式选择字:
100000X1(A口方式0,输出;C上输出,C下输入;B口只能工作于方式0)
初始化程序:
MOVDX,0D6H;指向8255控制口
MOVAL,81H;方式选择控制字
OUTDX,AL
MOVAL,00001101B;PC6=/STB=1无效
OUTDX,AL
L1:
MOVDX,0D4H;指向8255C口
INAL,DX;读入打印机状态信息
TESTAL,04H;BUSY=1?
JNZL1;=1,循环等待
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 技术 讲稿