微机原理 第七章 串行通信接口技术.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可编程串行通信接口芯片8251A
在串行通信时,收发双方要解决的问题:
以何种速率进行数据的发送和接收(波特率) 采用何种数据格式(帧格式) 接收方如何得知一批数据的开始和结束(帧同步) 接收方如何从位流中正确地采样到位数据(位同步) 接收方如何判断收到数据的正确性(数据校验) 收发出错时如何处理(出错处理)
(2) 发送/接收时钟
发送/接收时钟频率与波特率之间的关系为: 发送/接收时钟频率=n发送/接收波特率
其中n称为波特因子,一般n=1,16,32,64
例:要求传输速率为1200 bps 当选择n=16时,表明一位数字信号中有16个时 钟脉冲,故发送/接收时钟频率为:
120016=19.2kHz
4. 信号的调制解调
3. 8250应用举例
8250的初始化过程
断是否被允许
某位为1,则对应的中断被允许 否则,被禁止
8. 中断识别IIR(3FAH)
0 0 0 0 0 ID1 ID0 IP
0 有中断 1 无中断
ID1ID0 11 10 01 00
优先权
1 2 3 4
中断类型 接收线路状态 接收数据准备好 发送保持寄存器空 调制解调器状态
保存正在请求中断的优先权最高 的中断级别编码
RS-232C的应用
使用MODEM连接
直接连接
三线连接
6. 通用异步收发器(UART)
计算机通常使用UART来实现数据的串/并和 并/串转换
UART的基本原理(P301,图7-39、7-40) UART的工作过程 常用的错误标志
奇偶校验错 帧错误 溢出(丢失)错误
可编程异步通信接口INS8250
调制和解调
长距离通信时,常需要利用电话线路,它的频带则只有 300Hz~3400Hz。为了通过电话线路传输数字信号,必须先 把数字信号转换为适合在电话线路上传送的模拟信号,这就 是调制;经过电话线路传输后,在接收端再将模拟信号转换 为数字信号,这就是解调。
调制方法 : 移频键控(FSK) 移相键控PSK 振幅键控(ASK)
相当于I/O读信号
写控制线
数据输出选通DOSTR(高有效)和DOSTR*(低有 效)有一个有效,CPU就将数据写入8250内部寄存器
相当于I/O写信号
8250读写控制信号有两对,每对信号作用完全相 同,只不过有效电平不同而己
(1)处理器接口引脚(3)
驱动器禁止信号DDIS:CPU从8250读取数 据时,DDIS引脚输出低电平,用来禁止外 部收发器对系统总线的驱动;其它时间, DDIS为高电平
主复位线MR:硬件复位信号RESET 中断请求线INTRPT:8250有4级共10个中
断源,当任一个未被屏蔽的中断源有请求 时,INTRPT输出高电平向CPU请求中断
(2)面向外设引脚信号
8250
发送数据SOUT 接收数据SIN 请求发送RTS* 允许发送CTS*
数据装置准备好DSR*
数据终端准备好DTR* 信号地GND
MOV DX ,3FCH
;MCR的地址
MOV AL,00010011B ;LOOP位置“1”
OUT DX,AL
(6)MODEM状态寄存器MSR(3FEH)
反映4个控制输入信号的当前状态及其变化 MSR高4位中某位为1,说明相应输入信号当前
为低有效,否则为高电平 MSR低4位中某位为1,则说明从上次CPU读取
例2:同步传输
用1200bps的波特率工作,用4个同步字 符作为信息帧头部,但不用奇偶校验,那 么 , 传 输 100 个 字 符 所 用 的 时 间 为 7(100+4)/1200=0.6067s,这就是说,每 秒钟能传输的字符数可达到100/0.6067= 165个。
可见,在同样的传输率下,同步传输时 实际字符传输率要比异步传输时高。
同步通信的特点是不仅字符内部保持“同 步”,而且字符与字符之间也是同步的。
在这种通信方式下,收/发双方必须建立准确 的位定时信号,也就是收/发时钟的频率必须 严格地一致。
每个字符不增加任何附加位,而是连续发送
3. 波特率与收/发时钟
(1)串行传输速率
串行传输速率也称波特率(Baud Rate)
0 1 0 中断识别寄存器 0 1 1 线路控制寄存器 1 0 0 MODEM控制寄存器 1 0 1 线路状态寄存器 1 1 0 MODEM状态寄存器
(1) 发送保持寄存器THR (3F8H) :“写”
CPU
发送保持寄存器
发送移位寄存器
SOUT
同步控制 8250
包含将要串行发送的并行数据
(1) 接收缓冲寄存器RBR (3F8H) :“读”
CPU
接收缓冲寄存器
接收移位寄存器
SIN
同步控制 8250
存放串行接收后转换成并行的数据
(2)波特率除数寄存器BRD(3F8H,3F9H)
数据线 (SIN)
时钟 (RCLK)
16 T 起始位
8T
T 16 T
除数寄存器保存设定的分频系数 BRD=基准时钟频率÷(16×波特率)
例 : 计 算 波 特 率 为 1200bps 的 波 特 率 除 数。
当使用UART的内部时钟为 1.8432MHz 时(或由外部通过XTAL1引脚输入),
BRD=1843200/(16×1200)=0060H
(3) 通信线路控制寄存器LCR(3FBH)
DLAB D6 D5 D4 D3 D2 D1 D0
8250的基本功能: 全双工、双缓冲器接收和发送 15种波特率,50-9600bps 可编程的异步通信格式 提供奇偶、溢出和帧校验等错误检测 片内具有优先权中断控制逻辑
8250的内部结构
8250芯片引脚定义与功能
(1)面向CPU一侧的引脚(1)
数据线D7 ~ D0 :在CPU与8250之间交换信息 地址线A0~A2:寻址8250内部寄存器 片选线:8250设计了3个片选输入信号CS0、
每秒传输的二进制位数bps 字符中每个二进制位持续的时间长度都一样,为数据
传输速率的倒数
字符速率与波特率两者关系
字符速率:每秒钟传输的字符数。 波特率:指单位时间内传送二进制数据的 位数。单位为:b/s
例1: 异步传输过程
设每个字符对应1个起始位、7个信息位、1个 奇偶校验位和1个停止位,如果波特率为1200bps, 那么,每秒钟能传输的最大字符数为1200/10= 120个
CS1、CS2*和一个片选输出信号CSOUT。3个片 选 输 入 都 有 效 时 , 才 选 中 8250 芯 片 , 同 时 CSOUT输出高电平有效。 地址选通信号ADS*:当该信号低有效时,锁存 上述地址线和片选线的输入状态,保证读写期间 的地址稳定
百度文库
(1)处理器接口引脚(2)
读控制线
数据输入选通DISTR(高有效)和DISTR*(低有效) 有一个信号有效,CPU从8250内部寄存器读出数据
5. RS232C接口
RS-232C信号定义的说明
RS-232C的25个插脚仅定义22个。在微机通信 中,通常使用的RS-232C接口信号只有 9根引脚 (P299,图7-37)
RS-232C总线的电气规范
RS-232C标准与TTL标准之间的转换
常用于将TTL电平转换为RS-232C电平的芯片,除MC1488外 还有75188,75150等;用于将RS-232C电平转换为TTL电 平,除MC1489外,还有75189,75154等
适配器地址
3F8H
8250内部寄存器端口地址
DLAB A2A1A0
访问寄存器名称
接收数据寄存器(读)
0 0 0 0 发送保持寄存器(写)
3F9H 3F8H 3F9H
0 0 0 1 中断允许寄存器 1 0 0 0 波特率除数锁存寄存器(低字节) 1 0 0 1 波特率除数锁存寄存器(高字节)
3FAH 3FBH 3FCH 3FDH 3FEH
该状态字后,相应输入信号已发生改变,从高变 低或反之 MCR低4位任一位置1,均产生调制解调器状态 中断,当CPU读取该寄存器或复位后,低4位被 清零
(7)中断允许寄存器IER (3F9H)
8250设计有2个中断寄存器和4级中断 4级中断的优先权,是按照串行通信过程中
事件的紧迫程度安排的、是固定不变的 用户可利用中断允许或禁止进行控制 中断允许寄存器的低4位控制8250这4级中
载波检测RLSD* 振铃指示RI*
(3)时钟信号
时钟输入引脚XTAL1:8250的基准工作时钟 时钟输出引脚XTAL2:基准时钟信号的输出端 波特率输出引脚BAUDOUT*:基准时钟经8250
内部波特率发生器分频后产生发送时钟,为波特 率16倍 接收时钟引脚RCLK:接收外部提供的接收时钟 信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和BAUDOUT*引脚直接相连
例 : 通 信 线 路 控 制 寄 存 器 ( LCR ) 的 编 程 , 设置发送数据字长为8位,2位停止位,偶校 验,其程序段为:
MOV DX,3FBH
;LCR的地址
MOV AL, 00011111B ;LCR内容数
;据格式参数
OUT DX,AL
(4)通信线路状态寄存器LSR(3FDH)
0 D6 D5 D4 D3 D2 D1 D0
为1为,1为表,1为示表,1为发示表,1为送发示表,1移为送正示表,位1保在出示表,寄持传现出示表存寄输帧现出示器存中错奇现接空器止误偶溢收;空字错出数,符错据缓冲器收到 当数当据CP由U发将送字保符一持写个寄入数存发据器送,移保既入持接收数据准备好; 发送寄移存位器寄后存,器该当时位C,为PU该0读位走为数0 据后,该位为0
提供串行异步通信的当前状态 供CPU读取和处理
(5)MODEM控制寄存器MCR(3FCH)
0 0 0 LOOP OUT2 OUT1 RTS DTR
为1使为O为1使U为1T使O12使U8为*2T引R5110T使脚*为S引D为*循引脚T低R环脚为*工引为低作脚低方为式低 否则否为否则高否则为则为高否为正则高常为工高作方式
设置8250与数据通信设备之间 联络应答的输出信号
例 : 要 使 MCR 的 DTR , RTS 有 效 , OUT1 , OUT2以及LOOP无效,则编程如下:
MOV DX,3FCH
;MCR的地址,
MOV AL,00000011B ;MCR的控制字
OUT DX,AL
例:要对8250通过自发自收进行诊断,则程序 为:
串行通信的基本概念
1. 数据传送方向
单工方式
站A
站B
半双工方式 站A
站B
全双工方式 站A
站B
2. 串行通信的两种基本方式
(1)异步通信及其协议
所谓的异步通信,是指通信中两个字符的时间间 隔是不固定的,而同一字符中的相邻代码间时间 间隔是固定的
串行异步通信以字符为单位进行传输,用 起始位表示字符的开始,用停止位表示字 符结束,其通信协议是起止式异步通信协 议
寄存器选中择止字符
0 1
正除常数值寄01符存无发器作送用校×位0中01验×止0位字设设无置置校奇停011 校验12止1.位位5位位(个(数数数据据位位为为6~数0015010位8据位67时5位位位位时)个)数
验
11 8位
011 设置偶校验
指定串行异1110步11 校通校验验信位位的为为0字1 符格式
(4)输出线
OUT1*和OUT2*:
两个一般用途的输出信号 由调制解调器控制寄存器的D2和D3使其输出
低电平有效信号 复位使其恢复为高
8250的寄存器及编程方法
8250内部有10个可访问的寄存器,除数 寄存器是16位的,占用两个连续的8位端 口
内部寄存器用引脚A0~A2来寻址;同时还 要利用通信线路控制寄存器的最高位,即 除数寄存器访问位DLAB的0和1两种状态, 来区别公用1个端口地址所访问的两个寄 存器
串行通信时的数据、控制和状态信息都使 用同一根信号线传送
收发双方必须遵守共同的通信协议(通信 规程),才能解决传送速率、信息格式、 位同步、字符同步、数据校验等问题
(2)同步通信及其协议 同步通信以一个数据块为传输单位,每个数据块附 加1个或2个同步字符,最后以校验字符结束
同步通信协议有多种,常用的有面向比特的高级数据链 路控制协议HDLC(High-Level Data Link Control)。IBM系 列微机中常用的同步数据链路控制协议SDLC(Synchronous Data Link Control)则是HDLC的子集
在串行通信时,收发双方要解决的问题:
以何种速率进行数据的发送和接收(波特率) 采用何种数据格式(帧格式) 接收方如何得知一批数据的开始和结束(帧同步) 接收方如何从位流中正确地采样到位数据(位同步) 接收方如何判断收到数据的正确性(数据校验) 收发出错时如何处理(出错处理)
(2) 发送/接收时钟
发送/接收时钟频率与波特率之间的关系为: 发送/接收时钟频率=n发送/接收波特率
其中n称为波特因子,一般n=1,16,32,64
例:要求传输速率为1200 bps 当选择n=16时,表明一位数字信号中有16个时 钟脉冲,故发送/接收时钟频率为:
120016=19.2kHz
4. 信号的调制解调
3. 8250应用举例
8250的初始化过程
断是否被允许
某位为1,则对应的中断被允许 否则,被禁止
8. 中断识别IIR(3FAH)
0 0 0 0 0 ID1 ID0 IP
0 有中断 1 无中断
ID1ID0 11 10 01 00
优先权
1 2 3 4
中断类型 接收线路状态 接收数据准备好 发送保持寄存器空 调制解调器状态
保存正在请求中断的优先权最高 的中断级别编码
RS-232C的应用
使用MODEM连接
直接连接
三线连接
6. 通用异步收发器(UART)
计算机通常使用UART来实现数据的串/并和 并/串转换
UART的基本原理(P301,图7-39、7-40) UART的工作过程 常用的错误标志
奇偶校验错 帧错误 溢出(丢失)错误
可编程异步通信接口INS8250
调制和解调
长距离通信时,常需要利用电话线路,它的频带则只有 300Hz~3400Hz。为了通过电话线路传输数字信号,必须先 把数字信号转换为适合在电话线路上传送的模拟信号,这就 是调制;经过电话线路传输后,在接收端再将模拟信号转换 为数字信号,这就是解调。
调制方法 : 移频键控(FSK) 移相键控PSK 振幅键控(ASK)
相当于I/O读信号
写控制线
数据输出选通DOSTR(高有效)和DOSTR*(低有 效)有一个有效,CPU就将数据写入8250内部寄存器
相当于I/O写信号
8250读写控制信号有两对,每对信号作用完全相 同,只不过有效电平不同而己
(1)处理器接口引脚(3)
驱动器禁止信号DDIS:CPU从8250读取数 据时,DDIS引脚输出低电平,用来禁止外 部收发器对系统总线的驱动;其它时间, DDIS为高电平
主复位线MR:硬件复位信号RESET 中断请求线INTRPT:8250有4级共10个中
断源,当任一个未被屏蔽的中断源有请求 时,INTRPT输出高电平向CPU请求中断
(2)面向外设引脚信号
8250
发送数据SOUT 接收数据SIN 请求发送RTS* 允许发送CTS*
数据装置准备好DSR*
数据终端准备好DTR* 信号地GND
MOV DX ,3FCH
;MCR的地址
MOV AL,00010011B ;LOOP位置“1”
OUT DX,AL
(6)MODEM状态寄存器MSR(3FEH)
反映4个控制输入信号的当前状态及其变化 MSR高4位中某位为1,说明相应输入信号当前
为低有效,否则为高电平 MSR低4位中某位为1,则说明从上次CPU读取
例2:同步传输
用1200bps的波特率工作,用4个同步字 符作为信息帧头部,但不用奇偶校验,那 么 , 传 输 100 个 字 符 所 用 的 时 间 为 7(100+4)/1200=0.6067s,这就是说,每 秒钟能传输的字符数可达到100/0.6067= 165个。
可见,在同样的传输率下,同步传输时 实际字符传输率要比异步传输时高。
同步通信的特点是不仅字符内部保持“同 步”,而且字符与字符之间也是同步的。
在这种通信方式下,收/发双方必须建立准确 的位定时信号,也就是收/发时钟的频率必须 严格地一致。
每个字符不增加任何附加位,而是连续发送
3. 波特率与收/发时钟
(1)串行传输速率
串行传输速率也称波特率(Baud Rate)
0 1 0 中断识别寄存器 0 1 1 线路控制寄存器 1 0 0 MODEM控制寄存器 1 0 1 线路状态寄存器 1 1 0 MODEM状态寄存器
(1) 发送保持寄存器THR (3F8H) :“写”
CPU
发送保持寄存器
发送移位寄存器
SOUT
同步控制 8250
包含将要串行发送的并行数据
(1) 接收缓冲寄存器RBR (3F8H) :“读”
CPU
接收缓冲寄存器
接收移位寄存器
SIN
同步控制 8250
存放串行接收后转换成并行的数据
(2)波特率除数寄存器BRD(3F8H,3F9H)
数据线 (SIN)
时钟 (RCLK)
16 T 起始位
8T
T 16 T
除数寄存器保存设定的分频系数 BRD=基准时钟频率÷(16×波特率)
例 : 计 算 波 特 率 为 1200bps 的 波 特 率 除 数。
当使用UART的内部时钟为 1.8432MHz 时(或由外部通过XTAL1引脚输入),
BRD=1843200/(16×1200)=0060H
(3) 通信线路控制寄存器LCR(3FBH)
DLAB D6 D5 D4 D3 D2 D1 D0
8250的基本功能: 全双工、双缓冲器接收和发送 15种波特率,50-9600bps 可编程的异步通信格式 提供奇偶、溢出和帧校验等错误检测 片内具有优先权中断控制逻辑
8250的内部结构
8250芯片引脚定义与功能
(1)面向CPU一侧的引脚(1)
数据线D7 ~ D0 :在CPU与8250之间交换信息 地址线A0~A2:寻址8250内部寄存器 片选线:8250设计了3个片选输入信号CS0、
每秒传输的二进制位数bps 字符中每个二进制位持续的时间长度都一样,为数据
传输速率的倒数
字符速率与波特率两者关系
字符速率:每秒钟传输的字符数。 波特率:指单位时间内传送二进制数据的 位数。单位为:b/s
例1: 异步传输过程
设每个字符对应1个起始位、7个信息位、1个 奇偶校验位和1个停止位,如果波特率为1200bps, 那么,每秒钟能传输的最大字符数为1200/10= 120个
CS1、CS2*和一个片选输出信号CSOUT。3个片 选 输 入 都 有 效 时 , 才 选 中 8250 芯 片 , 同 时 CSOUT输出高电平有效。 地址选通信号ADS*:当该信号低有效时,锁存 上述地址线和片选线的输入状态,保证读写期间 的地址稳定
百度文库
(1)处理器接口引脚(2)
读控制线
数据输入选通DISTR(高有效)和DISTR*(低有效) 有一个信号有效,CPU从8250内部寄存器读出数据
5. RS232C接口
RS-232C信号定义的说明
RS-232C的25个插脚仅定义22个。在微机通信 中,通常使用的RS-232C接口信号只有 9根引脚 (P299,图7-37)
RS-232C总线的电气规范
RS-232C标准与TTL标准之间的转换
常用于将TTL电平转换为RS-232C电平的芯片,除MC1488外 还有75188,75150等;用于将RS-232C电平转换为TTL电 平,除MC1489外,还有75189,75154等
适配器地址
3F8H
8250内部寄存器端口地址
DLAB A2A1A0
访问寄存器名称
接收数据寄存器(读)
0 0 0 0 发送保持寄存器(写)
3F9H 3F8H 3F9H
0 0 0 1 中断允许寄存器 1 0 0 0 波特率除数锁存寄存器(低字节) 1 0 0 1 波特率除数锁存寄存器(高字节)
3FAH 3FBH 3FCH 3FDH 3FEH
该状态字后,相应输入信号已发生改变,从高变 低或反之 MCR低4位任一位置1,均产生调制解调器状态 中断,当CPU读取该寄存器或复位后,低4位被 清零
(7)中断允许寄存器IER (3F9H)
8250设计有2个中断寄存器和4级中断 4级中断的优先权,是按照串行通信过程中
事件的紧迫程度安排的、是固定不变的 用户可利用中断允许或禁止进行控制 中断允许寄存器的低4位控制8250这4级中
载波检测RLSD* 振铃指示RI*
(3)时钟信号
时钟输入引脚XTAL1:8250的基准工作时钟 时钟输出引脚XTAL2:基准时钟信号的输出端 波特率输出引脚BAUDOUT*:基准时钟经8250
内部波特率发生器分频后产生发送时钟,为波特 率16倍 接收时钟引脚RCLK:接收外部提供的接收时钟 信号;若采用发送时钟作为接收时钟,则只要将 RCLK引脚和BAUDOUT*引脚直接相连
例 : 通 信 线 路 控 制 寄 存 器 ( LCR ) 的 编 程 , 设置发送数据字长为8位,2位停止位,偶校 验,其程序段为:
MOV DX,3FBH
;LCR的地址
MOV AL, 00011111B ;LCR内容数
;据格式参数
OUT DX,AL
(4)通信线路状态寄存器LSR(3FDH)
0 D6 D5 D4 D3 D2 D1 D0
为1为,1为表,1为示表,1为发示表,1为送发示表,1移为送正示表,位1保在出示表,寄持传现出示表存寄输帧现出示器存中错奇现接空器止误偶溢收;空字错出数,符错据缓冲器收到 当数当据CP由U发将送字保符一持写个寄入数存发据器送,移保既入持接收数据准备好; 发送寄移存位器寄后存,器该当时位C,为PU该0读位走为数0 据后,该位为0
提供串行异步通信的当前状态 供CPU读取和处理
(5)MODEM控制寄存器MCR(3FCH)
0 0 0 LOOP OUT2 OUT1 RTS DTR
为1使为O为1使U为1T使O12使U8为*2T引R5110T使脚*为S引D为*循引脚T低R环脚为*工引为低作脚低方为式低 否则否为否则高否则为则为高否为正则高常为工高作方式
设置8250与数据通信设备之间 联络应答的输出信号
例 : 要 使 MCR 的 DTR , RTS 有 效 , OUT1 , OUT2以及LOOP无效,则编程如下:
MOV DX,3FCH
;MCR的地址,
MOV AL,00000011B ;MCR的控制字
OUT DX,AL
例:要对8250通过自发自收进行诊断,则程序 为:
串行通信的基本概念
1. 数据传送方向
单工方式
站A
站B
半双工方式 站A
站B
全双工方式 站A
站B
2. 串行通信的两种基本方式
(1)异步通信及其协议
所谓的异步通信,是指通信中两个字符的时间间 隔是不固定的,而同一字符中的相邻代码间时间 间隔是固定的
串行异步通信以字符为单位进行传输,用 起始位表示字符的开始,用停止位表示字 符结束,其通信协议是起止式异步通信协 议
寄存器选中择止字符
0 1
正除常数值寄01符存无发器作送用校×位0中01验×止0位字设设无置置校奇停011 校验12止1.位位5位位(个(数数数据据位位为为6~数0015010位8据位67时5位位位位时)个)数
验
11 8位
011 设置偶校验
指定串行异1110步11 校通校验验信位位的为为0字1 符格式
(4)输出线
OUT1*和OUT2*:
两个一般用途的输出信号 由调制解调器控制寄存器的D2和D3使其输出
低电平有效信号 复位使其恢复为高
8250的寄存器及编程方法
8250内部有10个可访问的寄存器,除数 寄存器是16位的,占用两个连续的8位端 口
内部寄存器用引脚A0~A2来寻址;同时还 要利用通信线路控制寄存器的最高位,即 除数寄存器访问位DLAB的0和1两种状态, 来区别公用1个端口地址所访问的两个寄 存器
串行通信时的数据、控制和状态信息都使 用同一根信号线传送
收发双方必须遵守共同的通信协议(通信 规程),才能解决传送速率、信息格式、 位同步、字符同步、数据校验等问题
(2)同步通信及其协议 同步通信以一个数据块为传输单位,每个数据块附 加1个或2个同步字符,最后以校验字符结束
同步通信协议有多种,常用的有面向比特的高级数据链 路控制协议HDLC(High-Level Data Link Control)。IBM系 列微机中常用的同步数据链路控制协议SDLC(Synchronous Data Link Control)则是HDLC的子集