16550芯片课程介绍

美国国家半导体公司(National Semiconductor)的PC 16550D是一个通用的异步接收器/发送器UART芯片,它与IBM早期推出的个人计算机IBM PC/XT所使用的UART芯片INS 8250 兼容,但最高波特率提高到1.5Mb/s,且具有接收器和发送器FIFO(first-in first-out先进先出)缓冲区,每个FIFO缓冲区长度均为16个字节。目前16550在PC机的外围芯片组中得到了广泛的应用,本节以16550为例来说明UART芯片的功能、特点和用法。
12.3.1 16550的功能描述
  16550作为一个通用的异步通信接口芯片,与大多数UART芯片一样,其内部结构可分为发送器中冶成工建设有限公司接收器控制器三大部分,分别承担各自的功能。其中接收器和发送器两个部分完全相互独立,使得16550可以工作在单工半双工全双工方式下。
1.发送器:由发送保持寄存器、发送移位寄存器和发送同步控制三部分组成。数据发送时,接收CPU送来的并行数据,再添加上起始位、校验位和停止位以后,由SOUT引脚依次串行发送出去。
2.接收器:由接收移位寄存器、接收缓冲寄存器和接收同步控制器三部分组成。它将由SIN引
脚输入的串行数据逐位移入,去掉起始位、停止位和校验位后转换成并行数据,且进行奇/偶然校验后,提供给CPU。
3.控制器:16550的内部控制器完成对芯片自身工作状况的控制,分为以下几个部分电路。
(1)波特率发生器控制电路:
  由波特率发生器、分频系数(亦称除数)寄存器组成,用于产生串行通信时所需要的波特率时钟信号。若16550是以18.432MHZ外部时钟源作为基准时钟,则16位二进制的分频系数与所要求的波特率的关系可由下式表示:
韩启德简历分频系数=18432000÷(波特率×16) (12.1)
式(12.1)中除以16是因为接收或发送的时钟频率为相应波持率的16倍。
(2)通信线控制寄存器和通信线状态寄存器:
  这里的控制寄存器用来接收CPU写入的控制字,并依此控制字来控制串行通信的数据格
式;状态寄存器则是反映16550在数据发送和接收时的状态,供CPU读取。
(3)中断控制逻辑:
  由中断允许寄存器、中断识别寄存器和中断控制电路等三部分组成,用来实现中断申请、优先权排队等管理功能。
(4)调制/解调器控制电路:
  这部分电路对外可提供一组Modem控制信号,使得16550可直接与Modem连接,实现远程通信。
(5)与CPU的接口电路:
  16550与Intel微处理器完全相容,可以与8088/8086 CPU直接连接,接口电路含八位的双向三态数据总线缓冲器和片选及读写控制逻辑,用于与CPU双向交换各种信息。两河文明
12.3.2 16550的引脚及其功能
  采用DIP(双列直插式组件)封装的16550有40条引脚,如图12.15所示,各引脚的功能如下。
完全市场经济地位
1.数据线
  D0~D7:八位双向三态数据线,与CPU的数据总线连接,用于实现16550与CPU之间的通信,包括数据、控制字及状态信息的双向传输。
2.地址线:
  用来实现让CPU对16550片内寄存器的寻址,含有:
  CS0、CS1片选信号,当输入的CS0、CS1为高电平,为低电平时,16550芯片被CPU选中。
  A0~A2:片内寄存器选择线,CPU用此来选择要访问的16550的内部寄存器中的某一个。
  地址选通信号,用于锁存三个片选信号和A2~A0的输入状态,若在对16550读写过程中,A2~A0稳定(例如用在Intel微处理器上),可直接接地。
3.读/写控制逻辑线:
  RD读控制信号(两者可任意用一个),用于控制16550内部寄存器中读出数据或状态信息。
  WR写控制信号(两者可任意用一个),用于控制向16550内部的寄存器写入命令字或数据。马达加斯加2电影
  DDIS:驱动器禁止信号输出,每当CPU从16550读取数据时,DDIS=0。其余时候均为高电平,禁止挂在CPU与16550之间的数据线上的收发器与16550通信。
  Xin、Xout:三一混凝土输送泵时钟信号输入引脚,有两种方式可以通过这两引脚产生16550的内部基准时钟,一种方式是将石英晶体振荡器直接连接在这两个引脚之间,另一种是将外部时钟信号连接到Xin引脚上。
  MR:主复位信号,用于对16550复位操作,一般应将此引脚连接到系统RESET信号上,使16550与系统同时复位。
  INTR:中断请求信号,由此引脚向CPU申请中断。
  用户自定义的输出信号,可由用户编程来改变这两个引脚输出电平,作何用途,由用户自己设计。
  波特输出信号,是16550内部发送器的波特率发生器产生的发送时钟信号。
  RCLK:接收器时钟输入,此信号将作为16650接收器的基准时钟信号,一般将其与连接在一起,则16550通信中的发送波特率与接收波特率是相同的。
  接收器就绪,输出信号。
  发送器就绪,输出信号。
4.串行数据输入/输出线
  SIN、SOUT:串行数据信号,分别用于接收串行数据和发送串行数据。
5.Modem 控制逻辑
  共有6个专用来与Modem 连接的控制信号
  请求发送,输出,表明16550希望发送数据给Modem。
  允许发送,输入,是对的应答信号,表明Modem已作好接收数据的准备,16550可以发送数据。
  数据终端准备好,输出,通知Modem,表明16550已准备就绪。
  数据通信装置准备好,输入,是对的应答信号,表明Modem已准备就绪。
  载波检测,输入,表明Modem已收到数据载波信号。
  振铃指示,输入,表明Modem 已收到电话线上的振铃信号。
12.3.3 16550的内部可编程寄存器及控制字格式
从用户的角度来看,16550内部有11个可寻址访问的功能寄存器,但只用3根寄存器选择线A2~A0来寻址,因此必然有两个寄存器共用一个端口地址的情况,对它们的区分是由DLAB位(除数锁存器访问)和读、写信号来实现的,如表12-2所示。

本文发布于:2024-09-22 21:12:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/32776.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   信号   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议