原创 I/O口简单介绍

2008-9-8 21:40 1967 6 6 分类: MCU/ 嵌入式

I/O口简单介绍


CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
   一、I/0接口的概念
   1.接口的分类

   I/O接口的功能是负责实现CPU通过系统总线把I/O电路和 外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:

   1I/O接口芯片
   这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。

   2I/O接口控制卡
   有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。

   按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。

   2.接口的功能
   由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题:

   速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不 同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。

   时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。

   信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等

   信息类型不匹配:不同IO设备采用的信号类型不同,有些是数字信号,而 有些是模拟信号,因此所采用的处理方式也不同。

   基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:

   1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
   2)能够进行信息格式的转换,例如串行和并行的转换;
   3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;
   4)协调时序差异;
   5)地址译码和设备选择功能;
   6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。

   3.接口的控制方式

   CPU通过接口对外设进行控制的方式有以下几种:
   1)程序查询方式
   这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
   这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低。
   2)中断处理方式

   在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
  中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个IO设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(IO接口芯片)管理IO设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
   此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。

3
DMA(直接存储器存取)传送方式
  DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
   在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU
   二、常见接口
   1.并行接口
   目前,计算机中的并行接口主要作为打印机端口,接口使用的不再是36针接头而是25D形接头。所谓并行,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错。
   现在有五种常见的并口:4位、8位、半8位、EPPECP,大多数PC机配有4位或8位的并口,许多利用Intel386芯片组的便携机配有EPP口,支持全部IEEE1284并口规格的计算机配有ECP并口。
   标准并行口4位、8位、半8:
   4位口一次只能输入4位数据,但可以输出8位数据;8位口可以一次输入和输出8位数据;半8位也可以。
   EPP口(增强并行口):Intel等公司开发,允许8位双向数据传送,可以连接各种非打印机设备,如扫描仪、LAN适配器、磁盘驱动器和CDROM 驱动器等。
   ECP口(扩展并行口):MicrosoftHP公司开发,能支持命令周期、数据周期和多个逻辑设备寻址,在多任务环境下可以使用DMA(直接存储器 访问)。
   目前几乎所有的586机的主板都集成了并行口插座,标注为 Paralle1LPT1,是一个26针的双排针插座。
   2.串行接口
  计算机的另一种标准接口是串行口,现在的PC机一般至少有两个串行口COM1COM2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送距离较并行口更长,因此长距离的通信应使用串行口。通常COM1使用的是9D形连接器,而COM2有些使用的是老式的DB25针连接器。

   3.磁盘接口

   1IDE接口
   IDE接口也叫做ATA端口,只可以接两个容量不超过<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />528M的硬盘驱动器,接口的成本很低,因此在386486时期非常流行。但大多数IDE接口不支持DMA数据传送,只能使用标准的PCIO端口指令来传送所有的命令、状态、数据。几乎所有的586主板上都集成了两个40针的双排针IDE接口插座,分别标注为IDE1IDE2

   2EIDE接口

   EIDE接口较IDE接口有了很大改进,是目前最流行的接口。

   首先,它所支持的外设不再是2个而是4个了,所支持的设备除了硬盘,还包括CDROM驱动器磁盘备份设备等。

   其次,EIDE标准取消了528MB的限制,代之以8GP限制。

   第三,EIDE有更高的数据传送速率,支持PIO模式3和模式4标准。

   4.SCSI接口
   SCSISmallComputerSystemInterface)小计算机系统接口,在做图形处理和网络服务的计算机中被广泛采用SCSI接口的硬盘。除了硬盘以外,SCSI接口还可以连接CDROM驱动器、扫描仪和打印机等,它具有以下特点:
   *可同时连接7个外设;
   *总线配置为并行8位、16位或32位;
   *允许最大硬盘空间为8.4GB(有些已达到9.09GB);
   *更高的数据传输速率,IDE2MB每秒,SCSI通常可以达到5MB每秒,FASTSCSISCSI2)能达到10MB每秒,最新的SCSI3甚至能够达到40MB每秒,而EIDE最高只能达到16.6MB每秒;
   *成本较IDEEIDE接口高很多,而且,SCSI接口硬盘必须和SCSI接口卡配合使用,SCSI接口卡也比IEDEIDE接口贵很多。
   SCSI接口是智能化的,可以彼此通信而不增加CPU的负担。在IDEEIDE设备之间传输数据时,CPU必须介入,而SCSI设备在数据传输过程中起主动作用,并能在SCSI总线内部具体执行,直至完成再通知CPU
   5.USB接口

  最新的USB串行接口标准是由MicrosoftIntelCompaqIBM等大公司共同推出,它提供机箱外的热即插即用连接,用户在连接外设时不用再打开机箱、关闭电源,而是采用级联方式,每个USB设备用一个USB插头连接到一个外设的USB插座上,而其本身又提供一个USB插座给下一个 USB设备使用,通过这种方式的连接,一个USB控制器可以连接多达127个外设,而每个外设间的距离可达5USB统一的4针圆形插头将取代机箱后的众多的串/并口(鼠标、MODEM)键盘等插头。USB能智能识别USB链上外围设备的插入或拆卸。  除了能够连接键盘、鼠标等,USB还可以连接ISDN、电话系统、数字音响、打印机以及扫描仪等低速外设。

   三、I/O扩展槽

   I/O扩展槽即I/O信号传输的路径,是系统总线的延伸,可以插入任意的标准选件,如显示卡、解压卡、MODEM卡和声卡等。通过I/O扩展槽,CPU可对连接到该通道的所有IO接口芯片和控制卡寻址访问,进行读写。

   根据总线的类型不同,主板上的扩展槽可分为ISAEISAMACVESAPCI几种。

   1ISA插槽
   黑色,分为8位、16位两种。16位的扩展槽可以插8位和16位的控制卡,但8位的扩展槽只能插8位卡。
   2EISA插槽
   棕色,外型、长度与16位的ISA卡一样,但深度较大,可插入ISAEISA控制卡。
   3VESA插槽
   棕色,位于16ISA扩展插槽的下方,与ISA插槽配合使用。

   4PCI插槽

  白色,与VESA插槽一样长,与ISA插槽平行,不需要与ISA插槽配合使用,而且只能插入PCI控制卡。由于主板的空间有限,PCI插槽要占用ISA插槽的位置<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口 (RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连,以回答前段网友的咨询。


1.DB9DB25的常用信号脚说明




 9针串口(DB9


25针串口(DB25


针号


功能说明


缩写


针号


功能说明


缩写


1


数据载波检 测


DCD


8


数据载波检测


DCD


2


接收数据


RXD


3


接收数据


RXD


3


发送数据


TXD


2


发送数据


TXD


4


数据终端准备


DTR


20


数据终端准备


DTR


5


信号地


GND


7


信号地


GND


6


数据设备准备好


DSR


6


数据准备好


DSR


7


请求发送


RTS


4


请求发送


RTS


8


清除发送


CTS


5


清除发送


CTS


9


振铃指示


DELL


22


振铃指示


DELL


2.RS232C串口通信接线方法(三线制)


  首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连



  • 同一个串口的接收脚和发送脚直接用线相连 对9针串口和25针串口,均是23直接相连;


  • 两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)




9针-9


25针-25


9针-25


2


3


3


2


2


2


3


2


2


3


3


3


5


5


7


7


5


7


  上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接,就能百战百胜。


3.串口调试中要注意的几点:



  • 不同编码机制不能混接,如RS232C不能直接与RS422接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接;


  • 线路焊接要牢固,不然程序没问题,却因为接线问题误事;


  • 串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;


  • 强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条