单片机I/O口的红外遥控软件调制技术
2011-06-22叶林俊
叶林俊
(福州大学 物理与信息工程学院,福州350001)
叶林俊(硕士生),研究方向为现代电视系统。
引 言
红外线遥控是一种无线、非接触控制技术,是目前使用最广泛的一种通信和遥控手段[1]。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,抗干扰能力强,信息传输可靠,易实现,被很多电子设备,特别是家用电器广泛采用。鉴于家用电器的品种多样化和用户的使用特点,生产厂家对红外遥控器进行了严格的规范编码。这些编码各不相同,从而形成不同的编码方式,统一称为红外遥控器编码传输协议。红外遥控协议已多达10种,如 RC5、SⅠRCS、SONY、RECS80、Sharp、NEC、Motorola、JVC、SAMSWNG 和 Daewoo等。一般的红外遥控器编码调制方式采用遥控专用集成电路,不能兼容如此众多的红外遥控器编码传输协议。因此,本文通过对红外遥控器发射码序的特征进行分析,提出一种基于单片机Ⅰ/O口的软件调制技术。
1 系统设计
遥控专用集成电路是发射系统的核心部分,其内部由振荡电路、定时电路、扫描信号发生器、键输入编码器、指令译码器、用户码转换器、数码调制电路及缓冲放大器等组成。它能产生键位扫描脉冲信号,并能译出按键的键码,再经遥控指令编码器得到某键位的遥控指令(遥控编码脉冲),由38kHz的载波进行脉冲幅度调制,载有遥控指令的调制信号激励红外二极管发出红外遥控信号。
图1 红外遥控调制发射电路
系统使用NT68F632[2]作为遥控调制发射器主芯片,红外遥控调制发射电路如图1所示。系统采用Novatek公司的单片机芯片NT68F632,该芯片内部集成8051 8位微处理器,带有全双工的UART通信接口。NT68F632单片机的UART控制口RXD和TXD脚负责和上位机(PC机)的RS232通信,接收要发送的红外遥控器编码信号。NT68F632单片机接收到发送的红外遥控器编码信号后,经过微处理器分析处理,调制成红外遥控信号。由NT68F632单片机控制PC6引脚输出经过调制的红外遥控信号,驱动晶体管Q1开关,使得红外发光二极管LED1发送调制的红外光波。
2 软件调制设计
2.1 红外遥控调制结构分析
红外遥控器编码传输协议NEC码的主要特征是8位地址和8位指令;地址和命令2次传输(确保可靠性);PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”;载波频率为38kHz;位时间为1.125ms或2.25ms。
NEC的协议使用的位脉冲距离编码。每个脉冲是560μs、38kHz的载波爆裂(约21个周期)。一个逻辑1传输需要2.24ms(560μs脉冲+1 680μs低电平),一个逻辑0的传输需要1.12ms(560μs脉冲+560μs低电平)。红外遥控调制特征波形如图2所示。
图2 红外遥控调制特征波形
而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平[3-4],这样,在接收头端收到的信号为:逻辑1应该是560μs低+1680μs高,逻辑0应该是560 μs低+560μs高。遥控接收特征码如图3所示。
图3 遥控接收特征码
NEC遥控指令的数据格式为:引导码、客户码、客户反码、数据码、数据反码。引导码由一个9ms的低电平和一个4.5ms的高电平组成,客户码、客户反码、数据码、数据反码均是8位数据格式。按照低位在前、高位在后的顺序发送。采用反码是为了增加传输的可靠性。NEC遥控指令格式如图4所示。
图4 NEC遥控指令格式
2.2 通信协议
NT68F632单片机的UART控制口RXD、TXD脚和上位机(PC机)的RS232通信,接收要发送的红外遥控器编码信号。其传输控制串口的通信协议如图5所示。定义的通信协议分4个字节:Command、Address code、Data code、Check SUM。第1个字节Command表示红外遥控协议类型,区分是NEC码还是RC5码等;第2个字节Address code表示地址码或客户码;第3个字节Data code表示按键数据码;第4个字节Check SUM表示校验码。
图5 通信协议
系统的遥控码发送主程序流程如图6所示。NT68F632单片机的UART控制口接收串口通信数据,微处理器根据串口通信协议对数据分析处理,并调制成相应的遥控数据码,同时控制PC6口发送遥控数据码。
图6 遥控码发送主程序流程
2.3 调制过程
本调制技术中,NEC码的每个脉冲是560μs,而载波频率为38kHz,故约21个周期的载波爆裂。每个载波是26.3μs,其中8.77μs的高电平、17.53μs的低电平。NEC码脉冲调制流程如图7所示。
图7 NEC码脉冲调制流程
NEC码的脉冲函数:
产生一个字节的脉冲函数:
NEC码的发送流程如图8所示。先发送9ms高电平、4.5ms低电平的引导码,接着发送8位客户码和8位客户码的反码,最后发送8位数据码和8位数据码的反码。
图8 NEC码的发送流程
结 语
在本文中,根据红外遥控发射码的特征,采用基于单片机Ⅰ/O口的红外遥控软件调制技术。该单片机能够根据串口通信协议和上位PC机进行串口通信,接收各种红外遥控协议编码,并在经过调制后进行红外发射。经实验测试,本软件调制技术可靠实用。该系统可广泛应用在自动测试、生产控制等领域。
[1]李从宏.基于功能码的红外遥控软件解码技术[J].单片机与嵌入式系统应用,2010(9):72-73.
[2]Novatek Microelectronics Corp.NT68F632[OL].[2011-06].http://www.novatek.com.tw.
[3]唐柳,方风才.一种基于AT89S52单片机的红外遥控发射码解码技术[J].广西师范学院学报:自然科学版,2009,26(2):44-47.
[4]施新华.利用单片机实现的红外遥控技术[J].上海电机学院学报,2006,9(3):69-71.