单片机I/O 口的红外遥控软件调制技术
扫描二维码
随时随地手机看文章
摘要:根据红外线遥控的特性,采用Novatek公司的NT68F632 8051微处理器为核心,设计了一种基于单片机I/O口的红外遥控软件调制系统。该系统具有和PC机进行RS232通信的功能,能够扩展应用,发射各种红外遥控器传输协议的编码,具有使用灵活、易于维护、程序结构良好、代码运行效率高等特点。
关键词:红外线遥控;调制;RS232;单片机
引言
红外线遥控是一种无线、非接触控制技术,是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,抗干扰能力强,信息传输可靠,易实现,被很多电子设备,特别是家用电器广泛采用。鉴于家用电器的品种多样化和用户的使用特点,生产厂家对红外遥控器进行了严格的规范编码。这些编码各不相同,从而形成不同的编码方式,统一称为红外遥控器编码传输协议。红外遥控协议已多达10种,如RC5、SIRCS、SONY、RECS80、Sharp、NEC、Motorola、JVC、SAMSWNG和Daewoo等。一般的红外遥控器编码调制方式采用遥控专用集成电路,不能兼容如此众多的红外遥控器编码传输协议。因此,本文通过对红外遥控器发射码序的特征进行分析,提出一种基于单片机I/O口的软件调制技术。
1 系统设计
遥控专用集成电路是发射系统的核心部分,其内部由振荡电路、定时电路、扫描信号发生器、键输入编码器、指令译码器、用户码转换器、数码调制电路及缓冲放大器等组成。它能产生键位扫描脉冲信号,并能译出按键的键码,再经遥控指令编码器得到某键位的遥控指令(遥控编码脉冲),由38 kHz的载波进行脉冲幅度调制,载有遥控指令的调制信号激励红外二极管发出红外遥控信号。
系统使用NT68F632作为遥控调制发射器主芯片,红外遥控调制发射电路如图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、38 kHz的载波爆裂(约21个周期)。一个逻辑1传输需要2.24 ms(560μs脉冲+1 680μs低电平),一个逻辑0的传输需要1.12 ms(560μs脉冲+560μs低电平)。红外遥控调制特征波形如图2所示。
而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,在接收头端收到的信号为:逻辑1应该是560μs低+1 680μs高,逻辑0应该是560μs低+560μs高。遥控接收特征码如图3所示。
NEC遥控指令的数据格式为:引导码、客户码、客户反码、数据码、数据反码。引导码由一个9 ms的低电平和一个4.5 ms的高电平组成,客户码、客户反码、数据码、数据反码均是8位数据格式。按照低位在前、高位在后的顺序发送。采用反码是为了增加传输的可靠性。NEC遥控指令格式如图4所示。
2.2 通信协议
NT68F632单片机的UART控制口RXD、TXD脚和上位机(PC机)的RS232通信,接收要发送的红外遥控器编码信号。其传输控制串口的通信协议如图5所示。定义的通信协议分4个字节:Command、Addresscode、Data code、Check SUM。第1个字节Command表示红外遥控协议类型,区分是NEC码还是RC5码等;第2个字节Address code表示地址码或客户码;第3个字节Data code表示按键数据码;第4个字节Check SUM表示校验码。
系统的遥控码发送主程序流程如图6所示。NT68F632单片机的UART控制口接收串口通信数据,微处理器根据串口通信协议对数据分析处理,并调制成相应的遥控数据码,同时控制PC6口发送遥控数据码。
2.3 调制过程
本调制技术中,NEC码的每个脉冲是560μs,而载波频率为38 kHz,故约21个周期的载波爆裂。每个载波是26.3μs,其中8.77μs的高电平、17.53μs的低电平。
NEC码脉冲调制流程如图7所示。
NEC码的发送流程如图8所示。先发送9 ms高电平、4.5 ms低电平的引导码,接着发送8位客户码和8位客户码的反码,最后发送8位数据码和8位数据码的反码。
结语
在本文中,根据红外遥控发射码的特征,采用基于单片机I/O口的红外遥控软件调制技术。该单片机能够根据串口通信协议和上位PC机进行串口通信,接收各种红外遥控协议编码,并在经过调制后进行红外发射。经实验测试,本软件调制技术可靠实用。该系统可广泛应用在自动测试、生产控制等领域。