红外通信有着广泛应用,比如,在电力系统的二次设备上,很多是单片机设备,而在正常运行时,很多情况不允许运行人员直接接触设备,在这种情况下,即使有的设备有液晶能显示部分装置信息,但总不完整,而且为显示较多内容,要求液晶点阵多,液晶面积大,装置外壳开口大,这必然带来电磁干扰问题。装置运行时,如果使用的是RS232等方式与设备通信,那么带电插拔通信接口可能会损坏设备,而大部分情况下不允许关闭运行设备电源再接上监视通信接口,而有时关闭设备电源就不能再现当前故障情况。在这种情况下,红外通信就有大显身手的机会。红外通信在一定距离内不与设备产生物理接触就可获取设备内部信息。
在工业控制设备中,串行通信速率一般不太高,因此我们重点在于设计通信速率不高于115200bps的红外通信方案,设计了三套方案。
一、IrDA红外通信方案方案一
图1 IrDA红外通信方案1
(一)方案组成原理
本方案由CS8130芯片和相应红外收发器组成。
CS8130芯片集成了红外调制/解调回路,红外驱动回路。它的主要特点有:
可编程通信波特率,它使用波特率寄存器来设置红外通信速率,范围为2400bps~115.2kbps。
红外发射器VD1,VD2使用HSDL-4400,红外接收器VD3使用HSDL-5400。
如果要求通信距离远,可以通过短接跳线,增加LED2C管脚上的红外发射器VD1,这样发送红外信号时,有两个红外发射器在工作,可增加红外发射功率,扩大通信距离。
它实际上就可以通过PC机的RS232串口与本方案RS232电平接口通信,设置CS8130相应寄存器,测试相应管脚和设置相应管脚的逻辑电平,达到正常通信的目的。
使用RS232的RTS信号用于复位CS8130芯片。
图2 CS8130芯片控制模式时序图
使用RS232的DTR信号用于控制 D/C管脚,当要设置CS8130控制寄存器时,要将DTR信号设置为逻辑低电平,如图2,这样CS8130芯片的TXD管脚接收到的数据是设置其控制寄存器的内容,先是一个开始位,CD0~CD3和AD0~AD3,最后是一个结束位,其中8个数据位分为两段,高四位AD3~AD0为控制寄存器地址,低四位CD3~CD0是设置该寄存器的内容。一旦设置完控制寄存器,就要将 D/C 管脚拉高。
当CS8130接收到设置控制寄存器内容,完成设置后,会通过其RXD管脚,将刚刚接收到的设置控制寄存器的内容立即发送出去,也是一个开始位,CD0~CD3和AD0~AD3,以及一个结束位,这样我们完全可以测试控制寄存器的设置是否正确。
在正常要求发送红外数据时,D/C管脚为高电平,此时CS8130的RXD管脚接收到的数据直接转化为红外数据发送。测试RS232的CTS信号,我们可以知道FORM/BSY管脚状态,如果逻辑为“1”,说明CS8130的FIFO空间已满,不能再接收发送数据,一旦发送出 一个红外数据字节,FORM/BSY的逻辑就为“0”了。这样我们可以正常发送数据,不会出现超越错误。
(二)控制寄存器介绍
下面对CS8130的寄存器给予介绍(见表1)。
通过对控制寄存器的大致介绍,我们可以知道CS8130红外驱动芯片是如何工作的,通过对相应控制寄存器设置,可以设置通信波特率、红外工作模式、红外发射功率,可以调整红外工作灵敏度以减少外界噪声,并可测试红外接收是否正常。
二、IrDA红外通信方案方案二
本方案适用于工业控制产品,通信速率为2400bps~115200bps,它可以完成串行通信的TTL电平到红外信号的转换。要注意的是,HSDL-7001红外控制器在发送时会将/TXD管脚收到的要发送的数据由RCV管脚返回,相当于“自环”,原理图见图3。
在本方案HSDL-7001是HP公司满足IrDA 1.0版本的红外调制/解调器件,通信速率范围为2400bps~115200bps,满足大部分工业控制产品的通信要求。
HSDL-7001的通信速率是可调的。如果使用UART的BAOUDOUT信号,将它接到16XCLK管脚上,则红外信号通信速率的变化是根据UART的波特率设置的改变而改变。如果使用内部晶振回路,则可以通过对A2~A0管脚电平的设置改变通信波特率,内部晶振为3.6864MHz,则可以选择2400bps、4800bps、9600bps、19200bps、38400bps、57600bps、115200bps。
图3 IrDA1.0红外通信方案1设计图
对CLK_SEL管脚的电平的设置来设置工作在内部时钟模式还是外部时钟模式,即是选择使用16XCLK管脚信号还是内部晶振回路信号作为时钟源。在本通信方案中,我们使用内部时钟模式。
HSDL-1001是HP公司的红外发射器和接收器。它将经过HSDL-7001调制后的信号转换为红外信号发射出去,还可以将接收的红外信号转换为电信号,由HSDL-7001解调为一般的通信电平信号。
|