基于fpga的红外遥控信号解码设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子技术与软件工程
Electronic Technology & Software Engineering 电子技术
Electronic Technology
基于FPGA 的红外遥控信号解码设计
文/陈韵文肖顺文郑瑞王涌罗春梅
(西华师范大学电子信息工程学院 四川省南充市 637009 )
摘 要:本文针对红外遥控信号解码电路,设计了基于FPGA 的红外遥控信号解码电路系统。
本系统包括红外解码关键电路设计和红 外解码状态机设计。
经过电路仿真,FPGA 板级测试,本电路系统达到红外遥控信号解码电路功能要求。
关键词:Verilog HDL;红外遥控;FPGA
红外遥控具有体积小、信息传输可靠、功耗低、成本低等显著
特点⑴,广泛应用于家用家电、工业控制等领域。
红外线为不可见光, 不受电磁环境的干扰,方向性好,同时也具有不干扰其他用电设备
工作,不影响周边环境的良好优点,因此,研究红外遥控系统工作 原理并设计实现显得尤为必要。
本文采用Verilog HDL 来设计实现
红外遥控信号的解码,这种基于FPGA 实现的红外解码比传统方式 解码速度更快、精确率更高。
1红外遥控系统工作原理
红外遥控系统一般分为发送端和接收端两部分,如图1所示。
发送部分的发送元器件为红外发光二极管,通过发送电路使其发出
具有特定编码信号的红外线。
接收电路接收光信号主要元件是红外
接收管,其接收到发送端发出的红外线后经一系列光电转换电路、
放大电路后,转换成相应电信号。
2红外遥控协议
本系统采用的是基于NEC 红外通信协议而生产的HT6221遥
控编码芯片,其采用的PPM 编码方式,即脉冲相位调制。
基于 HT6221遥控芯片的遥控装置发送的数据格式如图2所示。
数据帧
由引导码、8位低位地址码、8位高位地址码、8位数据码、8位数 据反码构成[2]o
引导码由9ms 高电平和4.5ms 低电平组成,代表一帧数据的起 始,也即是帧头⑶。
地址码前8位是低位,后8位为高位。
所以,
理论上NEC 协议可以支持216个不同用户。
数据码由8位二进制构
成,理论上可知NEC 协议支持才个用户指令。
数据反码是由数据 码波形取反而得,主要是用于数据校验,增强红外遥控的可靠性。
在NEC 协议中,区别逻辑“0”和逻辑“1”是根据高低电平 持续时间的长短,逻辑“0”用0.56ms 高电平加上0.56ms 低电平表示 逻辑“ 1 ”则用0.56ms 高电平加上1.69ms 低电平表示叫
3基于FPGA 红外解码电路系统设计实现3. 1红外解码关键电路设计
通过对NEC 协议的认识,知道对引导码和逻辑“0”逻辑“ 1 ” 的识别是解码的关键⑸。
红外线一体化接收头接收到光信号后,经
一系列转换、放大电路后输出与发送信号倒向的数据信号,即发送
端发送的高电平信号,红外线一体化接收头输出低电平信号,发送 端发送的低电平信号,红外线一体化接收头输出高电平信号。
所以,
要能解码出正确的红外信号,关键是识别出9ms 的低电平、4.5ms 的高电平、560us 的低电平、1690us 的高电平、560us 的高电平⑹。
因此需要4个计数器分别对9ms 、4.5ms 、0.56ms> 1.69ms 进行计 数判断,当然,因为不同遥控厂家精度不一定完全一致,这里给定 计数器值的一定范围来实现以兼容不同厂家生产的遥控设备。
部分
Verilog HDL 源程序如下:
//9ms 识别,计数值在8.5ms 至9.5ms 之间
发射端 接收端
图1:红外遥控系统工作原理图
图2: NEC 数据帧格式
图3:红外解码状态机j ?兆转图
always@(posedgeClk or negedgeRst n)
if(!Rst_n)
time9ms <= 1'bO;
else if(cnt> 19'd425000 &&cnt<19'd475000)
time9ms <= l'bl;
else
time9ms <= 1'bO;
//4.5ms 识别,计数值在4.25ms 至4.75ms 之间
always@(posedgeClk or negedgeRst n)
if(!Rst_n)
time4_5ms <= 1'bO;
else if(cnt> 19'd212500&&cnt<19'd237500)
time4_5ms <= l'bl;
else
time4_5ms <= 1'bO;
//0.56ms 识别,计数值在0.5ms 至0.6ms 之间
always@(posedgeClk or negedgeRst n)
if(!Rst_n)
time560us <= 1'bO;
else if(cnt> 19*d25000 &&cnt<19'd30000)
time560us <= l'bl;
else
time560us <= 1'bO;
//1.69ms 识别,计数值在1.5ms 至1.8ms 之间
•基金项目:四川省教育厅人才质量重点项目(JG2018-691);校科研创新团队及英才科研基金项目(CXTD2017-8. 17YC055)。
87
电子技术Electronic Technology
电子技术与软件工程Electronic Technology&Software Engineering
Now241.272201ms■
图4:功能仿真波形[So
Index ~P[31・・0]Type Alas Name
■EBSS
Data「8予卡卡讣q
B54AFF00h B54AFF00h
图5:ISSP抓取数据
always@(posedgeClk or negedgeRst n)
if(!Rst_n)
timel690us<=1'bO;
else if(cnt>19'd75000&&cnt<19*d90000)
time1690us<=l'bl;
else
timel690us<=1'bO;
3.2红外解码状态机设计
红外解码状态机跳转图如图3所示,从解码流程分析,可以分为4个状态:
IDLE:空闲状态,等待一体化接收头信号到来。
CHECK_T9:识别9ms低电平引导码到来,如果识别成功则继续识别4.5ms的高电平引导码,识别不成功则返回IDLE空闲状态。
CHECK_T4_5:识别4.5ms高电平引导码到来,如果识别成功则进入数据码解码状态REC_DATA,识别不成功则返回IDLE空闲状态。
REC_DATA:数据码解码状态,32位码字识别完成后,完成一次红外解码,回到IDLE空闲状态。
4测试结果及分析
在QuatursII软件中编译无误后,设置好testbench脚本,然后调用OEM版本的仿真软件Modelsim-Altera进行功能仿真,可以看到部分仿真波形数据,如图4所示。
从仿真波形看,一体化接收头输出数据ilR产生了一帧数据,在一帧数据传输完成后,解码完成标志信号Rec ok产生一个单时钟高电平。
Rec ok产生一个单位时钟后,可以看到解码后的数据De_Data为1101」010_0010_0101,高8位与低8位互为反码,与NEC协议数据码编码规则一致。
将低8位转换为十六进制后为25H,与在激励文件中设置的数据一致。
得出该设计结果符合设计的要求。
为了更进一步检验红外信号解码的正确性,将进行板级验证。
首先在QuatursII中分配好引脚,进行全编译,通过JTAG配置数据下载到FPGA芯片中。
然后启动QuatursII软件中的ISSP进行数据抓取,将数据显示格式调整为Hexadecimal,使用遥控器按“9”,FPGA解码后,ISSP抓取的B54AFF00h,如图5所示,从使用HT6221遥控芯片的遥控器键码图中,知道按键“9”对应键码为4AH,计算出其反码为B5H,与ISSP抓取的数据一致,符合设计要求。
5结束语
本文介绍了红外遥控信号解码原理,分析了红外遥控系统的组成以及红外遥控信号的编码规则,并采用硬件描述语言Verilog HDL完成了红外遥控信号解码电路的实现。
通过红外线接收头接收遥控器发送的遥控信号,用FPGA对接收信号进行解码。
经过电路仿真,板级测试,符合设计要求。
参考文献
[1]胡进德.单片机STM32F103C8T6的红外遥控器解码系统设计
[J].单片机与嵌入式系统应用,2019(10):78.
[2]杨萍.基于FPGA的功放遥控控制系统的设计与实现[D].成都:
电子科技大学,2015:19-20.
[3]袁玉卓,曾凯峰,梅雪松.FPGA自学笔记一设计与验证[M].
北京:北京航空航天大学出版社,2018.
[4]黄华,李晓锋,曾小宝.基于有限状态机的红外解码实现方法
[J].山西电子技术,2019(5):6-8.
⑸李雪莹.基于单片机的空调红外线编解码系统的设计和实现
[D].成都:电子科技大学,2014:15.
⑹钟炜楠,吴允平,苏伟达,李汪彪,王廷银.基于嵌入式系统
的红外通讯解码应用[J].计算机系统应用,2019,28(8):246-250.
作者简介
陈韵文(1991-),男,四川省营山县人。
硕士研究生。
主要研究方向为软件无线电、EDA技术及SOPC技术。
肖顺文(1970-),男,四川省金堂县人。
硕士学位,教授。
主要研究方向为软件无线电、EDA技术及SOPC技术。
郑瑞,硕士研究生。
主要研究方向为软件无线电、EDA技术及SOPC 技术。
王涌,硕士研究生。
主要研究方向为软件无线电、EDA技术及SOPC 技术。
罗春梅,硕士研究生。
主要研究方向为软件无线电、EDA技术及SOPC技术。
88。