基于NiosⅡ的红外学习型遥控器设计

基于NiosⅡ的红外学习型遥控器设计,第1张

  本文设计了一种基于Nios红外学习型遥控器,把载波频率测量红外信号解调、脉宽测量、调制发送IP核集中到FPGA器件上,极大地简化外围硬件电路,利用了Nios软核CPU的32位处理器,可以很好地对脉宽进行精确测量,同时提高处理速度,能够精确地对载波频率进行测量,并将原始的红外信号进行最大程度上无失真还原,解决了单片机时钟频率低无法对载波频率进行测量的瓶颈,实现了对各种各样红外控的学习,真正完成了学习型遥控器的学习功能。

  1 整体设计方案

  

基于NiosⅡ的红外学习型遥控器设计,基于NiosⅡ的红外学习型遥控器设计 www.elecfans.com,第2张

  2 硬件电路设计

  2. 1 主控制电路设计

  主控制电路主要以Altera FPGA系列Cyclone EPlCl2Q240C8器件为载体,通过SoPC技术构建嵌入式软核NiosⅡ处理器平台,运用Verilog HDL硬件描述语言设计等精度测量载波频率IP核、红外信号解调IP核、红外编码脉宽测量IP核和红外发送调制逻辑电路,以实现载波的精确测量,红外信号解调、脉宽测量和调制功能。复位电路采用了专用看门狗芯片CATl025,以避免电路的死循环,同时也可以通过手动按下复位键,使系统重新启动。时钟是采用外部时钟方式,其频率为50 MHz。主控制电路图如图2所示。

  

基于NiosⅡ的红外学习型遥控器设计,第3张

  2.2 外围硬件电路设计

  2.2.1 按键与指示电路

  为了简化软件程序,结合FPGA多I/O口的优势,本设计采用独立按键方式,当按键按下时,FPGA对应的I/O口会检测到低电平;按键d起时,FPGA 对应的I/O口会检测到高电平。对于指示电路,采用不同颜色的发光二极管来指示不同的状态或控制不同的家用电器,当其中的一个指示灯闪烁时,表示正在学习对应的家电遥控器或者是发送对应的家电遥控信号。

  2.2.2 红外接收和发送电路

  红外接收电路由红外二极管三极管9014及电阻组成。当未检测到红外信号时,红外接收二极管电阻很大(近似于断路),三极管9014处手截止状态,此时 IR_RECEIVE端检测到高电平;当检测到红外信号时,红外接收二极管电阻较小,这时三极管9014发射极正偏,集电极反偏,三极管处于放大状态。红外信号通过共发射极电路放大后输入到FPGA的I/O口18脚,交给Nios软核进行处理。发送时,经过红外发送调制逻辑电路调制后的红外信号从FPGA I/O口16脚输出,红外信号通过三极管9014再次倒相放大后从集电极输出,驱动红外发射管辐射出红外调制信号,从而实现红外遥控信号的再生。红外发送和接收电路如图3所示。

  

基于NiosⅡ的红外学习型遥控器设计,第4张

  2.2.3 存储电路

  存储电路主要由AM29LV320DT(4 MB 16位并行总线)FLASH芯片和K4S641632H(64 MB 16位并行总线)SDRAM芯片组成。其中的SDRAM芯片起缓冲数据的作用,保存处理器及外部交换的数据信息,掉电或复位后数据丢失。FLASH闪速存储器,用于SoPC系统的程序存放和需要掉电保存的数据存放,但是,FLASH的读 *** 作比SDRAM慢,写速度更加缓慢(相对于SDRAM而言)。 NiosⅡ系统启动后,在NiosⅡ的Boot程序把存放在FLA-SH中的程序复制到SDRAM后,再运行。

  3 软件设计

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

  

基于NiosⅡ的红外学习型遥控器设计,第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://outofmemory.cn/dianzi/2712890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存