第05章接口芯片2_第1页
第05章接口芯片2_第2页
第05章接口芯片2_第3页
第05章接口芯片2_第4页
第05章接口芯片2_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1 第5章可编程接口芯片 2 5 3串行通信的基本概念5 4可编程串行通信接口165505 5可编程串行通信接口8251A 2 串行通信是微机和外部设备交换信息的方式之一 所谓串行通信是通过一位一位地进行数据传输来实现通信 与并行通信相比 串行通信具有传输线少 成本低等优点 适合远距离传送 缺点是速度慢 若并行传送n位数据需时间T 则串行传送的时间最少为nT 在实际传输中 是通过一对导线传送信息 在传输中每一位数据都占据一个固定的时间长度 1 串行接口的组成串行接口是通过系统总线和CPU相连 串行接口部件的典型结构如图2所示 主要由控制寄存器 状态寄存器 数据输入寄存器和数据输出寄存器4部分组成 5 3串行通信的基本概念 3 图2串行接口与CPU 外设的连接 4 控制寄存器控制寄存器用来保存决定接口工作方式的控制信息 状态寄存器状态寄存器中的每一个状态位都可以用来标识传输过程中某一种错误或当前传输状态 5 数据寄存器 数据输入寄存器 在输入过程中 串行数据一位一位地从传输线进入串行接口的移位寄存器 经过串入并出 串行输入并行输出 电路的转换 当接收完一个字符之后 数据就从移位寄存器传送到数据输入寄存器 等待CPU读取 6 数据输出寄存器 在输出过程中 当CPU输出一个数据时 先送到数据输出缓冲寄存器 然后 数据由输出寄存器传到移位寄存器 经过并入串出 并行输入串行输出 电路的转换一位一位地通过输出传输线送到对方 串行接口中的数据输入移位寄存器和数据输出移位寄存器是为了和数据输入缓冲寄存器和数据输出缓冲寄存器配对使用的 在学习串行通信方式时 很有必要了解一下有关串行通信中的一些基本概念 这里仅做简单介绍 7 2 串行通信中使用的术语 发送时钟和接收时钟把二进制数据序列称为比特组 由发送器发送到传输线上 再由接收器从传输线上接收 二进制数据序列在传输线上是以数字信号形式出现 即用高电平表示二进制数1 低电平表示二进制数0 而且每一位持续的时间是固定的 在发送时是以发送时钟作为数据位的划分界限 在接收时是以接收时钟作为数据位的检测 8 发送时钟 串行数据的发送由发送时钟控制 数据发送过程是 把并行的数据序列送入移位寄存器 然后通过移位寄存器由发送时钟触发进行移位输出 数据位的时间间隔可由发送时钟周期来划分 接收时钟 串行数据的接收是由接收时钟来检测 数据接收过程是 传输线上送来的串行数据序列由接收时钟作为移位寄存器的触发脉冲 逐位打入移位寄存器 9 DTE和DCE 数据终端设备 dataterminalequipment DTE 是对属于用户所有联网设备和工作站的统称 它们是数据的源或目的或者即是源又是目的 例如 数据输入 输出设备 通信处理机或各种大 中 小型计算机等 DTE可以根据协议来控制通信的功能 10 数据电路终端设备或数据通信设备 datacircuit terminatingequipment或datacommunicationequipment DCE DCE是对网络设备的统称 该设备为用户设备提供入网的连接点 自动呼叫 应答设备 调制解调器Modem和其他一些中间设备均属DCE 信道信道是传输信息所经过的通道 是连接2个DTE的线路 它包括传输介质和有关的中间设备 11 1 串行通信中的工作方式串行通信中的工作方式分为 单工通信方式 半双工通信方式和全双工通信方式 单工工作方式在这种方式下 传输的线路用一根线连接 通信的一端连接发送器 另一端连接接收器 即形成单向连接 只允许数据按照一个固定的方向传送 如图3 a 所示 即数据只能从A站点传送到B站点 而不能由B站点传送到A站点 单工通信类似无线电广播 电台发送信号 收音机接收信号 收音机永远不能发送信号 5 3 1串行数据通信 12 半双工工作方式如果在传输的过程中依然用一根线连接 这样在某一个时刻 只能进行发送 或只能进行接收 由于是一根线连接 发送和接收不可能同时进行 这种传输方式称为半双工工作方式 如图3 b 所示 半双工通信工方式类似对讲机 某时刻A方发送B方接收 另一时刻B方发送A方接收 双方不能同时进行发送和接收 13 全双工工作方式对于相互通信的双方 都可以是接收器也都可以是发送器 分别用2根独立的传输线 一般是双绞线 或同轴电缆 来连接发送信号和接收信号 这样发送方和接收方可同时进行工作 称为全双工的工作方式 如图3 c 所示 全双工通信工方式类似电话机 双方可以同时进行发送和接收 14 图3串行通信工作方式 15 2 通信速率 字符格式的规定通信中 传输字符的格式要按规定写 图5是异步通信的字符格式 在异步传输方式每个字符在传送时 前面必须加一个起始位 后面必须加停止位来结束 停止位可以为1位 1 5位 2位 奇 偶校验位可以加也可以不加 16 比特率 波特率 baudrate 比特率 比特率作为串行传输中数据传输速度的测量单位 用每秒传输的二进制数的位数bit s 位 秒 来表示 波特率 波特率是用来描述每秒钟内发生二进制信号的事件数 用来表示一个二进制数据位的持续时间 17 有关在远距离传输时 数字信号送到传输介质之前要调制为模拟信号 再用比特率来测量传输速度就不那么方便直观了 因此引入波特率作为速率测量单位即 波特率 1 二进制位的持续时间比特率可以大于或等于波特率 假定用正脉冲表示 1 负脉冲表示 0 这时比特率就等于波特率 假如每秒钟要传输10个数据位 则其速率为l0波特 若发送到传输介质时 把每位数据用10个脉冲来调制 则比特率就为100b s 即比特率大于波特率 18 发送时钟与波特率的关系是 时钟频率 n 波特率 n可以是l 16 32 64 n为波特率因子 是传输一位二进制数时所用的时钟周期数 不同芯片的n由手册中给出 波特率是表明传输速度的标准 国际上规定的一个标准的波特率系列是 110 300 600 1200 1800 2400 4800 9600 19200 大多数CRT显示终端能在110 9600波特率下工作 异步通信允许发送方和接收方的时钟误差或波特率误差在4 5 19 3 信号的调制与解调计算机对数字信号的通信 要求传输线的频带很宽 但在实际的长距离传输中 通常是利用电话线来传输 电话线的频带一般都比较窄 为保证信息传输的正确 都普遍采用调制解调器 modem 来实现远距离的信息传输 现在还有很多家庭上网仍使用modem连接 20 调制解调器 顾名思义主要是完成调制和解调的功能 经过调制器 modulator 可把数字信号转换为模拟信号 经过解调器 demodulator 把模拟信号转换为数字信号 使用modem实现了对通信双方信号的转换过程 如图6所示 现在modem的数据传输速率理论值可达72Kb s 而实际速率仅为33 6Kb s 21 图6调制与解调过程 22 串行通信分为2种类型 一种是同步通信方式 另一种是异步通信方式 同步通信方式同步通信方式的特点是 由一个统一的时钟控制发送方和接收方 若干字符组成一个信息组 字符要一个接着一个传送 没有字符时 也要发送专用的 空闲 字符或者是同步字符 因为同步传输时 要求必须连续传送字符 每个字符的位数要相同 中间不允许有间隔 同步传输的特征是 在每组信息的开始 常称为帧头 要加上l一2个同步字符 后面跟着8位的字符数据 同步通信的数据格式如图4所示 5 3 2串行通信的方式 23 图4同步通信字符格式 传送时每个字符的后面是否要奇 偶校验 由初始化时设同步方式字决定 24 异步通信方式异步通信的特点是 字符是一帧一帧的传送 每一帧字符的传送靠起始位来同步 在数据传输过程中 传输线上允许有空字符 所谓异步通信 是指通信中两个字符的时间间隔是不固定的 而在同一字符中的两个相邻代码间的时间间隔是固定的通信 异步通信中发送方和接收方的时钟频率也不要求完全一样 但不能超过一定的允许范围 异步传输时的数据格式如图5所示 25 图5异步通信字符格式 26 字符的前面是一位起始位 低电平 之后跟着5 8位的数据位 低位在前 高位在后 数据位后是奇 偶校验位 最后是停止位 高电平 是否要奇 偶校验位 以及停止位设定的位数是1 1 5位或2位都由初始化时设置异步方式字来决定 27 5 3 4RS 232C标准为了使通信能够顺利地进行 通信双方必须就通信的规则事前进行约定 约定好的并在通信过程中双方共同遵守的通信规则称为通信协议 28 1 信号电平RS 232C标准采用负逻辑逻辑 1 在 3V 15V之间逻辑 0 在 3V 15V之间通常使用 12V作为RS 232C电平MC1488和MC1489进行RS232和TTL之间的电平转换2 信号定义表5 6给出了RS 232C接口部分常用信号的定义 3 接插件使用25个引脚或9个引脚的D型接插件进行连接 29 30 5 4可编程串行通信接口16550 通用的可编程异步通信接口芯片 内部有时钟产生电路 可编程波特率发生器 双缓冲通信数据寄存器和多种中断处理功能 对外有调制解调器控制信号 可直接与MODEM相连 与早期IBM PC机使用的异步通信接口8250兼容 最高波特率提高到1 5Mb s 具有16字节FIFO 先进先出缓冲 发送和接收功能 31 5 4 116550的内部结构与外部引脚1 数据总线缓冲器连接16550与CPU数据总线2 选择和读 写控制逻辑接收来自CPU的地址 片选和控制信息 产生内部各端口的读写操作命令 3 发送器由发送保持寄存器 发送移位寄存器和发送同步控制组成 待发送的数据写入发送保持寄存器 发送保持寄存器的内容自动转存到发送移位寄存器 在发送器时钟的控制下 由SOUT引脚发送出去 32 4 接收器由接收移位寄存器 接收缓冲寄存器和接收同步控制器组成 在接收时钟控制下 由SIN引脚输入的串行数据逐位存入移位寄存器 转换后的并行数据存入接收缓冲寄存器 等待CPU读取 5 调制 解调器控制电路提供一组控制信号 直接与调制解调器相连 完成远程通信任务 6 通信线控制寄存器和通信线状态寄存器控制寄存器保存CPU写入的通讯数据格式 状态寄存器提供串行数据发送和接收时的状态 33 7 波特率发生控制电路由波特率发生器 分频系数寄存器组成 16550对18 432MHz的输入时钟进行分频 产生所要的发送器和接收器时钟信号 分频系数在初始化时分两次写入除数寄存器的高8位和低8位 分频系数可由下式算出 除数 18432000 波特率 16 8 中断控制逻辑由中断允许寄存器 中断识别寄存器和中断控制逻辑三部分组成 实现中断优先权管理 中断申请等功能 34 9 16550的引脚 1 数据信号双向数据线D7 D0 与数据总线相连 2 地址信号片选信号 CS0 CS1 CS2 CS0 CS1 1 CS2 0时 表明芯片被选中 A2 A0 具体访问哪个寄存器 由A2 A0确定 ADS 地址选通信号ADS 为低电平时 锁存三个片选信号以及A2 A0的输入状态 3 读 写控制信号两对读写控制信号 每对信号功能相同 电平不同 RD 1或RD 0中一个有效且16550被选中时 可读 WR和WR 0中一个有效且16550被选中 可写 35 4 中断控制和复位信号INTR 发送保持寄存器空或接收数据有效 16550的中断允许寄存器相应位置1时 16550的中断请求引脚INTR变为高电平 用作中断请求信号 MR 复位信号 输入 它与系统RESET信号连接 系统复位同时也对16550复位 OUT1和OUT2 这两个输出引脚可以通过用户编程来改变输出电平 图5 31 36 5 时钟信号XIN和XOUT 16550的时钟信号输入引脚 从XIN输入的基准时钟 经过16550内部波特率发生器 分频器 分频后产生发送器时钟 并经过BAUDOUT引脚输出 RCLK 接收时钟 输入 常与BAUDOUT相连 6 与外设 调制解调器之间的联络信号RTS 请求发送信号 输出 输出给外设或MODEMCTS 允许发送信号 输入 外设或MODEM对RTS 的应答 DTR 数据终端准备好 输出给外设或MODEM的 DTR 0表示16550已经就绪 DSR 数据设备准备好 对DTR信号的应答 DSR 0 表示外设或MODEM已经就绪 37 DCD 载波检测输入 表示MODEM已经接收到载波信号RI 振铃指示输入信号 表示MODEM已经接收到振铃信号 SIN 串行数据输入 SOUT 串行数据输出 7 数据就绪信号RXRDY 接收器就绪信号TXRDY 发送器就绪信号 38 图5 30 39 5 4 216550的内部寄存器1 16550内部寄存器有10个可寻址的8位寄存器 由地址线A0 A2和读 写控制信号选择要访问的寄存器 内部寄存器分为三组 数据传输 发送保持寄存器和接收缓冲寄存器 工作方式 参数设置 通信线控制寄存器 除数寄存器 MODEM控制寄存器和中断允许寄存器 状态寄存器 通信线状态寄存器 MODEM状态寄存器和中断识别寄存器 40 41 1 发送保持寄存器 3F8H 2F8H 保存CPU送来的并行数据 送到发送移位寄存器 发送移位寄存器在发送器时钟的作用下 把并行数据转换成串行数据从SOUT引脚输出 只有在发送保持寄存器空时 CPU才可以向发送保持寄存器写入下一个要发送的数据 2 接收缓冲寄存器 3F8H 2F8H 在接收时钟的作用下 从SIN引脚输入的串行数据被送到接收移位寄存器 去掉起始位 校验位和停止位后 串行数据转换成并行数据并存入接收缓冲寄存器 等待CPU接收 42 3 通信线控制寄存器 3FBH 2FBH 用来设置串行异步通信的数据格式D7位 DLAB寻址位D7 1 访问除数寄存器D7 0 访问接收缓冲器 发送保持寄存器 D6位 D6 1 发送方连续发送长时间中止信号 空号 空号发送的时间超过一个完整的字符传送时间时 接收方就认为发送方已中止发送 D3 D5位 选择奇偶校验方式 D2位 规定一帧数据中停止位的位数 D0位 D1位 定义一帧数据中数据位的位数 43 图5 32 通信线控制寄存器 3FBH 2FBH 44 4 中断识别寄存器 FIFO控制寄存器 3FAH 2FAH 16550内部有四级中断 但只有一根中断请求信号 中断发生后 CPU通过查询中断识别寄存器来辨别中断类型 FIFO控制寄存器和中断识别寄存器占用相同的端口地址 中断发生时读出该寄存器的内容 它作为中断识别寄存器来使用 写入FIFO控制字时 作为FIFO控制寄存器 图5 33中断识别寄存器 45 图5 34 5 通信线状态寄存器 3FDH 2FDH 46 图5 35 6 中断允许寄存器 3F9H 2F9H 低4位代表中断允许控制位 置1 则允许相应的中断源请求中断 否则禁止中断 47 7 MODEM控制寄存器 3FCH 2FCH 设置与调制解调器连接的联络信号 D7 D5位规定为0 D4位 1 正常发送 接收 0 内部循环方式 用于芯片检测 D0 D3位的状态直接控制相关引脚的输出电平 D0 1 使引脚DTR 0 DTR 信号有效 D1 1 使引脚RTS 0 RTS 信号有效 D2 1 使引脚OUT1 0 该引脚留给用户使用 D3 1 使引脚OUT2 0 使16550能送出中断请求 48 RI 引脚0 引脚为11 引脚为0 8 MODEM状态寄存器 3FEH 2FEH 图5 36 49 9 除数寄存器 3F8H 3F9H 2F8H 2F9H 16550发送或接收的移位时钟 是在它的基准时钟 18 432MHz 基础上分频而来的 根据所需的波特率来确定分频系数 并在初始化时存入除数寄存器 表5 8给出了9种波特率所需设置的除数寄存器的值 50 表5 8波特率与分频系数对照表 51 5 4 3串行通信接口16550的应用 1 16550的初始化计算机硬件或软件复位后 要对16550进行初始化 初始化主要包括 对通信线控制寄存器进行设置 确定异步通信的数据格式 设置除数寄存器 确定通信速率 对FIFO控制寄存器 中断允许寄存器和MODEM控制寄存器进行设置 52 初始化步骤 1 80H送通信线控制寄存器 使寻址位D7 1 2 除数高8位 低8为分别送除数寄存器高8位 低8位 确定通信速率 3 将D7 0的命令字写入通信线控制寄存器 确定串行异步通信一帧数据帧的格式 图5 32 53 图5 32 通信线控制寄存器 3FBH 2FBH 54 4 设置FIFO控制寄存器 3FAH FIFO控制寄存器与中断识别寄存器的地址都是3FAH 读出时是中断识别寄存器 写入时是FIFO控制寄存器 FIFO控制寄存器中各位的功能如图5 37 55 5 设置中断允许寄存器 3F9H 2F9H 设置成查询方式 中断允许寄存器中的命令字为0 设置为中断方式 设置中断允许寄存器中的相应位为1 该位所控制的中断请求允许中断 56 6 设置MODEM控制寄存器 3FCH 2FCH D4 0 设置16550为正常接收 发送方式 D4 1 设置16550工作在内部循环自检方式 D3 0 16550工作在查询方式 D3 1 16550工作在中断方式 MODEM控制寄存器 57 例 16550端口地址为3F8H 3FFH 使16550以19200波特率进行异步通信 每字符为8比特 1个停止位 采用奇校验 允许所有中断 则初始化程序为 MOVDX 03FBH 16550控制寄存器地址送DXMOVAL 80H 置DLAB 1 设置除数寄存器OUTDX ALMOVDX 03F8H 除数低8位寄存器地址送DXMOVAX 003CH 波特率为19200bpsOUTDX AL 送除数低8位MOVAL AHINCDX 产生除数高8位寄存器地址OUTDX AL 送除数高8位 58 MOVDX 03FBH 16550控制寄存器地址送DXMOVAL 0BH 8位数据位 奇校验 1位停止位OUTDX ALMOVDX 03FAH FIFO控制寄存器地址送DXMOVAL 47H 允许FIFO并清除OUTDX AL 设FIFO中断触发值为4字节MOVDX 03F9H 中断允许寄存器地址送DXMOVAL 0FH 允许所有中断OUTDX AL 设置中断允许控制字MOVDX 03FCH MODEM控制字寄存器地址MOVAL 0BH 正常收发 OUT1 OUT2有效OUTDX AL 设置MODEM控制字 59 2 16550应用举例两台计算机通过16550实现异步通信16550的接收和发送数据均采用查询工作方式通信波特率9600bit s每字符为8比特 1个停止位采用奇校验 60 计算机A 16550查询方式发送程序DATASEGMENTSEND DATADBNUM1 NUM2 要发送的数据TIMESDWN 发送的数据个数DATAENDSCODESEGMENTASSUMECS CODE DS DATABEGIN1 MOVAX DATAMOVDS AX 61 初始化16550MOVDX 03FBH 16550控制寄存器地址送DXMOVAL 80H 置DLAB 1 设置除数寄存器OUTDX ALMOVDX 03F8H 除数寄存器地址送DXMOVAX 0078H 波特率为9600bit sOUTDX ALMOVAL AHINCDXOUTDX ALMOVDX 03FBH 16550控制寄存器地址送DXMOVAL 0BH 8位数据位 奇校验 1位停止位OUTDX AL 62 CALLTRANS MOVAH 4CH 程序结束 返回操作系统INT21H 查询方式发送子程序TRANSPROCNEARLEABX SEND DATAMOVCX TIMES 要发送的数据个数送CXAGAIN MOVDX 03FDH 通信状态寄存器地址送DXINAL DXTESTAL 20H 检测发送器是否准备就绪JZAGAIN 63 MOVDX 03F8HMOVAL BX 取出发送区域的待发送数据OUTDX ALINCBX 指向下一个待发送数据LOOPAGAIN N个数据传送完了吗 RETTRANSENDPCODEENDSENDBEGIN1 64 计算机B 16550查询方式接收程序DATASEGMENTREC DATADB100DUP 存放接收的数据TIMESDWN 要接收的数据个数DATAENDSCODESEGMENTASSUMECS CODE DS DATABEGIN2 MOVAX DATAMOVDS AX 初始化16550MOVDX 03FBH 16550控制寄存器地址送DXMOVAL 80H 置DLAB 1 设置除数寄存器OUTDX AL 65 MOVDX 03F8H 除数寄存器地址送DXMOVAX 0078H 波特率为9600bit sOUTDX ALMOVAL AHINCDXOUTDX ALMOVDX 03FBH 16550控制寄存器地址送DXMOVAL 0BH 8位数据位 奇校验 1位停止位OUTDX AL CALLRECEIVE MOVAH 4CH 程序结束 返回操作系统INT21H 66 查询方式接收子程序RECEIVEPROCNEARLEABX REC DATA 接收缓冲区首址送BXMOVCX TIMES 要接收的数据个数送CXREPIN MOVDX 03FDH 通信状态寄存器地址INAL DXTESTAL 1EH 检测接收的数据有无错误JNZERRORTESTAL 01H 检测接收缓冲器中是否有数据JZREPIN 67 MOVDX 03F8H 数据接收寄存器地址送DXINAL DXMOV BX ALINCBXLOOPREPINCLC 接收成功 清CY标志位JMPDONEERROR STC 接收不成功 置CY标志位DONE RETRECEIVEENDPCODEENDSENDBEGIN2 68 5 5可编程串行通信接口8251A 1 可用于串行异步通信 也可用于串行同步通信 2 接收 发送数据分别有各自的缓冲器 可以进行全双工通信 3 提供与外部设备特别是调制解调器的联络信号 便于直接和通信线路相连接 4 每个字符的位数可以是5 8位 可以设定奇校验或偶校验 也可以不设校验 校验位的插入 检错及剔除都由芯片自动完成 5 异步通信时 停止位可选1位 1 5位或2位 波特率为0 19 2K 时钟频率可设为波特率的1倍 16倍或64倍 6 同步通信时 波特率的范围为0 56K波特 可设为单同步 双同步或者外同步 同步字符可由用户自行设定 69 5 5 18251A的外部引脚 1 与CPU连接的引脚D7 D0 数据线 与系统数据总线相连 RESET 复位信号 输入 高电平有效 复位后8251A处于空闲状态直至被初始化编程 RD 读选通信号 输入 低电平有效 WR 写选通信号 输入 低电平有效 70 C D 控制 数据端口选择输入线 8251A内部占用两个端口地址 为 0 时选择数据端口 传输数据 读或写 为 1 时选择控制端口 传输的是控制字 写 或状态信息 读 由于该引脚信号用于选择内部端口 通常把它和地址总线的A0 8088 或A1 8086 相连 CS 选片信号 输入 低电平有效 为低电平时CPU才能对8251A操作 TxRDY 发送准备好状态 输出 高电平有效 发送寄存器空且允许发送 脚电平为低 同时命令字中TxEN位为1 时TxRDY为高电平 CPU向8251A写入一个字符后TxRDY恢复为低电平 TxRDY可以用来向8259A申请发送中断 71 TxE 发送缓冲器空闲状态 输出 高电平有效 TxE 1 表示发送缓冲器中没有要发送的字符 CPU把要发送的下一个数据写入8251A后 TxE自动复位 RxRDY 接收准备好状态 输入 高电平有效 接收器接到一个字符后RxRDY为 1 字符被CPU读取后恢复为 0 RxRDY可用来向8259A申请接收中断 72 2 与外设或调制解调器连接的引脚TxD 发送数据输出 CPU并行输出给8251A的数据从这个引脚串行发送出去 RxD 串行数据输入 高电平表示数字1 低电平表示数字0 SYNDET 同步状态输出 或者外同步信号输入 此引脚仅对同步方式有意义 73 以下4根引脚用来连接调制解调器DTR 数据终端准备好 输出 低电平有效 8251A命令字位D1为1时有效 用于向调制解调器表示数据终端 计算机 已准备好 DSR 数据设备准备好 输入 低电平有效 调制解调器准备好时有效 向8251A表示MODEM 数据设备 已准备就绪 CPU可通过读取状态寄存器的D7位检测该信号 RTS 请求发送信号 输出 低电平有效 8251A命令字位D5为1时有效 请求调制解调器作好发送准备 建立载波 CTS 清除发送 允许传送 信号 输入 低电平有效 调制解调器作好传送准备时有效 作为对8251A的信号的响应 74 注意 如果8251A不使用调制解调器直接和外界通信 应将8251A的DSR CTS 接地 75 3 时钟信号CLK 时钟信号 输入 用于产生8251A内部时序 CLK的周期为0 42 s 1 35 s 要求CLK的频率至少应是接收 发送时钟的30倍 对同步方式 或4 5倍 对异步方式 RxC 接收器时钟输入 它控制接收器接收字符的速率 在它的上升沿采集串行数据输入线 的频率应等于波特率 同步方式 或等于波特率的1倍 16倍 64倍 异步方式 TxC 发送器时钟输入 在的下降沿数据由8251A移位输出 对频率的要求同RxC 76 4 8251A的工作过程 1 接收器的工作过程异步方式中 接收器接收到有效的起始位后 开始接收后续的数据位 奇偶校验位和停止位 然后将数据送入寄存器 此后RxRDY输出高电平 表示已收到一字符 CPU可以来读取 同步方式中 若程序设定8251A外同步接收 则SYNDET脚用于输入外同步信号 来自MODEM SYNDET脚上的电平正跳变启动接收数据 若程序设定8251A内同步接收 则8251A先搜索同步字符 同步字符事先由程序装在同步字符寄存器中 RxD线上每收到一位信息就移入接收寄存器并和同步字符寄存器内容比较 若不相等则接收下一位后再比较 直到两者相等 此后SYNDET输出高电平 表示已搜索到同步字符 接下来便把接收到的数据逐个地装入接收数据寄存器 77 4 8251A的工作过程 2 2 发送器的工作过程异步方式中 发送器在数据前加上起始位 并根据程序的设定在数据后加上校验位和停止位 组成 一帧 信息 然后从低位开始 从TxD引脚逐位发送 同步方式中 发送器先发送同步字符 然后逐位地发送数据 若CPU没有及时把数据写入发送缓冲器 则8251A用同步字符填充 直至CPU写入新的数据 78 5 5 28251A的内部寄存器 8251A芯片占用2个端口地址 由C D 引脚上输入的电平进行选择 C D 0数据端口数据输入寄存器读操作数据输出寄存器写操作C D 1控制端口方式控制字寄存器写操作命令字寄存器写操作同步字符寄存器写操作 仅同步方式 状态寄存器读操作 79 1 方式控制字寄存器方式控制字确定8251A的通信方式 同步 异步 校验方式 奇校验 偶校验 不校验 数据位数 5 6 7 8位 及波特率参数等 方式控制字的格式如图5 39所示 它应在复位后写入 且只需写入一次 80 2 命令字寄存器命令控制字使8251A处于规定的状态以准备发送或接收数据 它应在写入方式控制字后写入 用于控制8251A的工作 可以多次写入 81 3 同步字符寄存器8251A工作在 内同步 方式时 需要由程序员把使用的 同步字符 存入该寄存器 供搜寻同步字符使用 可以有 单同步字符 和 双

温馨提示

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

评论

0/150

提交评论