新闻中心

EEPW首页 > 设计应用 > IR与RS-232的匹配技术

IR与RS-232的匹配技术

作者:■ Maxim集成产品公司 Ted Salazar时间:2005-04-27来源:eaw

现代电子设备通常包含最新的数据通信接口,以实现更高的数据率或增进用户的便利性。红外技术(IR)是数据通信接口的一个很好例子,但有时单独使用这种最新接口还是不够的,设备还需要与采用传统接口如RS-232的老设备兼容才会被用户所接受。因此,常见的红外技术和RS-232共存于同一设备中。
数据通信接口可以分成三个基本层:物理层、协议层和应用层。物理层主要定义硬件的电气特性和通信速度。协议层定义数据格式。应用层利用数据格式在特定设备中执行特定的工作。例如,在由红外数据协会(IrDA)所定义的协议中,应用层IrTran-P用于在成像设备如数码相机中传递图片。
RS-232只是一个物理层,而IR包括全部三个层。基于IrDA的IR也有多个物理层:115Kb/s的SIR、1Mb/s的MIR、4Mb/s的FIR以及16Mb/s的VFIR。由于RS-232和SIR使用相同的数据成帧器,通常称为一个UART。
RS-232是异步串行通信最常用的物理层,并将继续在多类终端设备中得到广泛应用,诸如网络、工业控制设备和POS系统等。而IR得到了各类电子设备的支持,如笔记本电脑、手机、数码相机和PDA等。

传统解决方案
在仅有一个UART的系统中实现IR和RS-232匹配通常需要4个IC——双SPDT模拟开关、编解码器(ENDEC)、RS-232收发器和IR收发器(见图1)。模拟开关引导发射(Tx)和接收(Rx)信号往返于相应的收发器。来自微处理器(或微控制器)的通用输出控制模拟开关。
对于IR操作,Tx信号必须通过ENDEC的编码器部分。这将传统的UART NRZ信号压缩成IR收发器满足IrDA SIR标准所要求的RZ脉冲。Rx正好相反,需要由IR收发器发送通过ENDEC的解码器部分(见图2a)。解码器将单一脉冲展宽为传统的NRZ信号,从而被UART识别。IR收发器的工作随后只在IR频谱内接发信息(见图2b)。
RS-232的操作更直接。模拟开关引导Tx和Rx信号往返于RS-232收发器。RS-232收发器不需要ENDEC,使之能够接受TTL/CMOS信号,直接往返于UART。RS-232只不过是一个电平转换器,通过使用内部电荷泵将TTL/CMOS电平转换为小于+5V而大于-5V的电平。
另一种普遍的折衷做法是去除模拟开关。用这种方法在仅有一个UART的系统中实现IR和RS-232匹配只需要3个IC——ENDEC、RS-232收发器和IR收发器。将IR和RS-232两收发器的Tx线连到一起,去除模拟开关。两收发器的Rx线采取同样的连接。
由于两收发器的Tx线连结在一起,因而数据同时发送到两个发送器。在同一时间通过IR和RS-232发送器发送相同数据,会浪费功耗,不适合大多数应用。因此,许多系统设计师在这种情况下都将电源从不用的收发器中去除,以节省电力。但是,由于不用的收发器将通过一个内部保护二极管由发送器输入线上的电压来供电,因些,这种方法实际上达不到节电的目的。
这种折衷方案不比传统的解决方案简单,因为它要求两发送器都要经过仔细选择。因此,采用这种做法时,需要确保两个收发器在无需去除电源的情况下,具有满意的关断特性(见图3)。

改进的解决方案
在仅有一个UART的系统中实现IR和RS-232不再需要3或4个IC。相反地,前面所讨论的传统解决方案用一个IC(见图4)就可实现。本例中的MAX3130就是这样一种IC,它将全部四项功能包含在一个28引脚的SSOP封装内。其内部的双SPDT模拟开关通过改变IC的/IR-MODE\脚上的逻辑状态来实现控制。内部的双SPDT模拟开关在/IR-MODE\为高电平时引导信号往返于RS-232收发器。/IR- MODE\为低电平时,信号被引导往返于IR收发器。内部的ENDEC在由UART波特输出信号所提供的Baud16时钟的帮助下对信号进行压缩和展宽。
当前,许多处理器均带有多个内部UART。当设计所选用的处理器拥有两个可用UART时,双SPDT模拟开关便不再需要。
有些微控制器所拥有的内部UART不包含或不能提供像工业标准16550 UART那样与波特输出等效的信号。波特输出信号只不过是一个比选定波特率快16倍的时钟。所有ENDEC在某些时候都需要这种Baud16时钟来生成。
创建支持9600波特以外波特率的Baud16时钟不是一项简单的工作。首先,Baud16时钟需要在开展任何通信之前就存在,且首次通信需在9600波特下进行。首次通信时,两IR连接系统就每一系统所支持的最快速率达成一致。这些完成以后,需要适当增大Baud16时钟,以使所有的新通信都被限定在更快的现行波特率上。换言之,不能仅有一个晶体振荡器、并用触发器和跳线进行分割。必须通过软件来控制Baud16时钟。
虽然带多个内部UART的微处理器很平常,但系统设计师必须采用一种可能没有两个内部UART的特殊处理器。在这种情况下,对于要求每个接口都时时与其自身的UART相连接的设计来说,工作会变得复杂。更为严峻的是,如果8个I/O引脚没办法与一个并行UART连接,那么设计师将很难有更多的选择余地。■ (锄禾译)



关键词: Maxim

评论

技术专区

关闭