基于NiosⅡ的学习型遥控器设计
3 软件设计
当系统上电后进入等待状态。当检测到学习键按下时候,系统进入学习状态。在学习过程中,Nios处理器写入频率测量控制字,通过A-valon总线调用频率测量IP核对载波频率进行测量。测量完成后,检测到有启动解调控制字和测量脉宽控制字写入,即开始对红外信号解调同时对解调后的信号的脉宽进行测量。测量完成后,处理器会将数据写入对应存储区域,完成本次学习过程。如图4所示。还原信号时,处理器写入发送调制控制字,通过Avalon总线控制红外发送调制逻辑电路,发送完成后返回等待状态,等待下一次发送。如图5所示。

4 系统功能仿真
为了验证该学习型遥控器的原理、硬件系统和软件系统,选用21K8型飞利浦电视遥控器,RMFDLC7461型NEC电视遥控器和RM-687C型索尼电视遥控器作为实验对象,分别按这三个遥控器的“电源”功能键,发送红外遥控信号,它们对应的载波频率分别为36 kHz,38 kHz和40k-Hz,学习型遥控器的红外接收二极管接收到红外信号,并通过三极管9014放大,送入FPGA的I/O口18脚,利用QuartusⅡ软件中的集成仿真器可对学习型遥控器进行功能仿真。首先建立一个工程,全部编译通过后,然后对其功能和时序进行仿真测试,如图6~图8所示。通过比较图6~图8中的已经滤掉载波红外信号High_En和红外发送调制逻辑电路输出的信号IR_code的波形可看出,接收和发射的高低电平维持的时间相同,数据一致,电平也一致。

由仿真结果表明,21K8型飞利浦电视遥控器、RM-FDLC7461型NEC电视遥控器和RM-687C型索尼电视遥控器的“电源”功能键代码和学习型遥控器发出的代码,两者相同,表示学习成功。同时也表明该遥控器可以精确地测量不同载波的红外遥控信号,解决了单片机因时钟频率低而无法对载波频率进行测量的瓶颈。
5 结语
该学习型遥控器通过SoPC技术构建嵌入式软核NiosⅡ处理器平台,运用Verilog HDL语言设计等精度测量载波频率IP核、红外信号解调IP核、红外编码脉宽测量IP核和红外发送调制逻辑电路,把载波的精确测量,红外信号解调、脉宽测量和调制集中到Ahera FPGA系列Cyclone-EPICl2Q240C8器件上,极大地简化外围硬件电路。实验表明,该遥控器解决了单片机因时钟频率低而无法对载波频率进行测量的瓶颈,实现了对任何一款普通遥控器的按键编码学习,真正完成了学习型遥控器的学习功能。
本文引用地址:https://www.eepw.com.cn/article/162578.htm
评论