第七章串行通信接口内容摘要:

路 ,其电气性能与 RS232C几乎相同 ,并设计成可连接 RS232C和 RS422连接 ,另一端则可与 RS232C连接 ,提供了一种从旧技术到新技术过渡的手段 .同时又提高位速率 (最大为 300Kb/s)和传输距离 (最大为 600m)。 因 RS485为半双工的 ,当用于多站互连时可节省信号线 ,便于高速、远距离传送 .许多智能仪器设备均配有 RS485总线接口 ,将它们联网也十分方便。 167。 串行通信接口任务 一 、 串口的基本任务 ( 1) 进行串 , 并转换 ( 2) 实现串行数据格式化 ( 3) 可靠性检验 ( 4) 实施接口与端口设备之间联络控制 二 、 串口电路的组成 1. 内部有四个寄存器:控制寄存器、状态寄存器、数据输入内部有寄存器、数据输出寄存器 2. 数据线 3. 联络信号线 4. 地址线与片选线 5. 串并转换和并串转换 PC机常用可编程串行通信接口的芯片除了 8251A以外 , 还有 8250、 PC16550等。 和 8251A相比 ,8250、 PC16550不具备同步方式的传送功能。 但是 , 对异步通信的控制功能强于 8251A。 8250和PC16550都具有波特率发生器 , 从而可以对波特率进行编程。 和 8251A相比 , 它们还具有全部控制调制解调器的信号 , 包括载波信号检测 DCD和振铃指示 RI, 因此就可以直接和调制解调器连接。 而且它们和 Intel CPU也完全兼容。 可编程串行接口 8250/16550 串行通信:数据被 逐位顺序传送 串行同步通信: 每个字符及位都是同步 串行异步通信: 同一字符内是同步的 , 而字符与字符之间不同步 ( 异步 ) 协议 :通信收 /发双方必须共同遵守的基本通信规程 协议内容 :一般包括收发双方的同步方式 、传输控制步骤 、 差错检验方式 、 数据编码 、数据传输速率 、 通信报文格式及控制字符定义 异步通信协议 为使通信双方确认数据有效 , 在字符中设置 起 、止标志位 起始标志位:每个字符前添加的一个 “ 0” 停止标志位:每个字符后添加的若干个 “ 1” 字符之间的空隙用 “ 1”填满 , 此时的 “ 1”称为空闲位 , “ 0”为空号 、 “ 1”为传号 基本功能: ( 1) 每个字符的数据位数 ( 5~ 8位 ) , 奇偶校验 ( 奇校验 、 偶校验或无奇偶校验 ) , 及停止位数 ( 1, 2个 ) 均可以自由选择 ( 2) 内装可编程波特率发生器 , 可对输入时钟进行 1到( 2^161) 的分频并产生 16倍发送波特率的波特率输出信号 ( )。 具有独立的接收器时钟信号输入。 允许数据传送波特率为 50~ 96000B/S ( 3) 收和发都具有双重缓冲 ( 4) 具有优先权中断管理系统并提供对发送接收 、 错误和通信线路状态的中断检测 ( 5) 提供通信线路和 MODEM的全部状态 ( 6) 能检测假起始位 ( 7) 能产生和检测中止符 ( 8) 具有自诊断测试功能 B A U D O U T芯片引脚 面向系统的引脚:  D0~ D7 双向数据线。 与系统数据总线 DB相连接 , 用以传送数据 、控制信息和状态信息。  CS0, CS1, CS2 片选信号 , 当它们同时有效时 , 该 8250芯片被选中。  CSOUT 片选输出信号。 当 8250的 CS0、CS1和 CS2同时有效时 , CSOUT为高电平。  MR 主复位信号 , 高电平有效。 当它有效时 , 除接收数据寄存器 、发送保持寄存器 、 除数锁存器外 ,其余寄存器的内容均被清除 A0~ A2 8250内部寄存器的选择信号。 不同的编码 对应于不同的寄存器。 ADS 地址选通信号。 有效时可将 CS0, CS1, CS2及 A0A2锁存于 8250内部。 不需要锁存时 , ADS可直接接地。 DISTR 读选通信号。 通常与系统总线的 IOR信号相连接。 DOSTR 写选通信号。 通常与系统总线的 IOW信号相连接。 INTR 中断请求信号。 当允许 8250中断时 , 接收出错 、 接收数据寄存器满 、 发送数据寄存器空以及 MODEM的状态均能够产生有效的 INTR信号。 8250 的引脚及功能 (续 ) 面向通信设备的引脚信号  SIN, SOUT: 串行输入 /输出端  CTS, RTS, DTR, DSR:( 同 RS232标准中的信号 )  RLSD: 即 RS232C标准中的 DCD信号  RI:( 同 RS232标准中的信号 )  OUT1, OUT2: 可由用户编程确定其状态的输出端  BAUDOUT: 波特率信号输出 ( 频率 =fCLK/分频值 )  XTAL1, XTAL2: 接外部晶振 , 作为基准时钟 fCLK  RCLK: 接收时钟输入 ( 可直接与 BAUDOUT相连 ) 8250与 8088系统的连接 系 统 总 线 D7D0 DISTR DOSTR INTR MR A0 A1 A2 ADS DISTR DOSTR CS2 CS1 CS0 +5V CS D7D0 IOR IOW INTR RESET A0 A1 A2 电平转换 /驱动器 1488 1489 到 RS232接口 XTAL1 XTAL2 BAUDOUT RCLK SOUT SIN RTS DTR DSR DCD CTS RI 8250 XTAL 寄存器结构 RBR THR LCR LSR MCR MSR IER IIR DLL及DLM 思考: 3条地址线如何编码 10个寄存器。 8250的内部寄存器(续) 除数锁存器 ( DLL , DLH ) —BASE+0,1 用来保存分频系数 , 以获得所需的 波特率。 • 波特率 可以简单地看成每秒传送多少二进制位 PC机中基准时钟频率 fCLK=, 波特率因子K=16。 所以 , 对于指定的波特率 B 除数值 =1843200/(B 16)=115200/B 例如 , 通信速率为 9600波特时 , 除数值 =12。 注意:写除数前 , 必须把 LCR的最高位 (DL位 )置 1 寄存器端口地址分配 DLAB A2 A1 A0 被访问的寄存器 串口 1的地址 0 0 0 0 接收缓冲器 RBR、 发送缓冲器 THR 3F8H 0 0 0 1 中断允许寄存器 IER 3F9H 0 1 0 中断标识寄存器 ( 只读 ) IIR 3FAH 0 1 1 传输线控制寄存器 LCR 3FBH 1 0 0 Modem控制寄存器 MCR 3FCH 1 0 1 传输线状态寄存器 LSR 3FDH 1 1 0 Modem状态寄存器 MSR 3FEH 1 0 0 0 除数寄存器 ( 低字节 ) DLL 3F8H 1 0 0 1 除数寄存器 ( 高字节 ) DLM 3F9H 线路控制寄存器 LCR( BASE+3) D7 D6 D5 D4 D3 D2 D1 D0 XX0:校验位无效 001:奇校验 011:偶校验 101:校验 0 111:校验恒 1 校 验方 式 数据 帧长 00: 5位 01: 6位 10: 7位 11: 8位 设置简断 1强制间断 0正常 寻址识别 1:分频 0:收发数据、中断 停止位 1:1位半或2位 0:1位停止位 决定传输时的数据帧格式 ( 通信双方必须一致 ) SOUT强制为 1 ( Break符号) 传输线状态寄存器 LSR( BASE+5) D7 D6 D5 D4 D3 D2 D1 D0 0 恒定值 1:发送移位空 1:发送缓冲空 1:检测到间断 1:帧错 1:奇偶校验错 1:数据溢出错误 1:接收数据就绪 反映传输时的通信线状态 发送保持寄存器 ( THR) ——BASE+0 要发送的数据写入此寄存器。 当发送移位寄存器TSR空时 , THR中的内容移入 TSR被发送出去。 只有 THR空时 , CPU才能写入下一个要发送的数据 接收缓冲寄存器 ( RB。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。