找回密码
 注册
关于网站域名变更的通知
查看: 406|回复: 2
打印 上一主题 下一主题

转——ZRtech Altera CycloneIV FPGA开发板--红外接口原理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-26 13:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Zedd 于 2019-4-26 15:37 编辑 : b1 \$ j5 }7 U

( M0 u& T; J1 L7 |
转——ZRtech Altera CycloneIV FPGA开发板--红外接口原理
4 R6 d0 |0 U# ^- Y

; j7 x7 l! V4 m
话说红外接口很常见,各种单片机开发板上都有,可惜以前没玩,好吧,那就零基础开始吧。
于是便开始了:
按照光盘中实验4所说:
建立一个signaltap ,来观察IRDA接收后的数据。
下面就来分析一下:按下了5(遥控器上),接收到的数据如下:
" I1 X& A, U  p% f9 @

" r0 _  ]+ r6 B0 I4 x3 G
这个时候看看红外手册了,由于想快速上手,偷了个懒,网上下载了中文版。共享出来哈。
首先改红外接口采用的是NEC协议,我们先从发送端看起:

# ?/ U! W! `2 M" a4 P4 n2 O
根据NEC协议,
发送端发出引导码,用户码(00,FF),数据码(1C,e3)
也就是说按下了5(遥控器上)这个键的话
那么在接收端:
; Z8 }, j% K+ p0 a9 k) d1 E
# o" v- F( t) T
也就是说:
引导码:  9ms低电平+4.5ms高电平
重复码:  周期110ms,9ms低电平+2.25ms高电平+0.56ms低电平+剩余全部高电平
数据1: 0.56ms低电平+1.69ms高电平 (比较宽)
数据0: 0.56ms低电平+0.56ms高电平 (比较窄)
那么来看signaltap传回的数据:

& Y' u, _5 ~) ~6 z& a' I' y4 w( O
说明白些就是窄的就是0,宽的就是1,因此:
1和2组成的是引导码,3是用户码的0,4就是反码FF,5就是数据码1C,6是反码e3(注意NEC协议是先发送LSB)
然后就可以判断出来了是5(遥控器上)这个按键按下去的。

# k1 E6 b" `) c% L9 i
还有注意的地方:如果没有键按下去的话就是一直高电平。
一直按下去的话就是

" P/ g2 r7 w2 i; c8 N: D
那么FPGA设计中就只要考虑几个问题就可以了:
(1)      引导码+数据,这是第一次按下的时候的数据格式,那么我们就是要识别出引导码,然后读出后面的数据了,(NEC是发送LSB在前)
(2)      重复码,如上图110ms,9ms低电平+2.25ms高电平+0.56ms低电平+剩余全部高电平。
(3)      无键按下的时候就是高电平了。
IRDA中来的信号就是上面几种形式,那么接下来就是编写verilog了。

, o1 X2 t/ `- `% {! F
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-20 06:04 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表