单片机的红外串行通信(上)             作者:憨牛电子

  我们知道,在红外通信中(例如电视机、电风扇、DVD等家电的遥控器),其载波频率通常为38KHz。也有一些系统使用

32KHz,36KHz,40KHz,56KHz等载波频率,但是比较少见。我们可以用T0或T1脚产生38KHz的波特率,然后把串口TXD送出的

信号也叠加到上面(调制),这样就形成线外信号的载波传输,调制后再通过红外发光二极管发送出去。接收则使用3端红外

接收模块。红外接收模块的载波频率固定为38KHz,集成了红外线的接收、放大、解调等功能,解调后的数据直接输入UART的

RXD引脚。通信的波特率设置为2400bps(38KHz的载波频率不适于更高的波特率)。

  为了避免发射时造成对本机的干扰,我们采用了半双工的通信方式。所谓半双工通信,指的是主机与从机可以进行双向通

信,但是不能同时进行,在同一时间内,要么是主机发射,从机接收;要么是从机发射,主机接收。事实上,一般红外线接收

模块的接收载波中心频率虽然是38KHz,但其接收频率实际上是非常宽的,从30KHz到60KHz它都可以正确接收和解调。所以主

机和从机使用不同的载波频率以实现全双工通信也是比较困难的,除非使用选频特性比较好的红外线接收电路。

在红外线传输过程中采用的是负逻辑,即有红外线表示逻辑0,无红外线表示逻辑1。而红外接收模块平时为高电平,接收到红

外信号就变为低电平。

   如何增加传送距离呢?有两个方法:其中一个方法是采用高灵敏度的红外接收电路,但是其成本比较高,且比较容易受

到干扰。另一个方法是提高发射功率(指峰值功率,不一定需要提高平均功率),这可以通过减小连接到发射器的电阻R来实

现,通常可以减小到10Ω。但是需要注意的是,在这种情况下,为了降低功耗和对其他红外设备的干扰,红外线载波的占空比

需要降低。一般选择30%左右的占空比,,也就是DATCLK的高电平时间应为18uS左右,而低电平时间应为8uS左右(38KHz载波

频率)

             如果哪位朋友有疑问,请发EMAIL共同探讨




                       欢迎链接,为尊重作者劳动成果,请不要COPY,谢谢
                             http://www.hanniu.com