- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
龙芯1B开发板一体化红外接收头20键迷你红外遥控器驱动[精选]
1. 红外知识简介 3
1.1. 怎么判断遥控板是否发射了红外命令(是否有电) 3
1.2. 红外遥控器是怎样解决干扰问题的 3
2. 硬件简介 3
2.1. 一体化红外接收头 4
2.1.1. 一体化红外接收头在开发板上的位置 4
2.1.2. 一体化红外接收头原理图 5
2.1.3. 一体化红外接收头原理 7
2.2. 迷你20键38K红外遥控板 7
2.2.1. 遥控器按键编码表 7
2.2.2. NEC编码分析 8
3. 源码分析 9
3.1. 主要思路 9
3.2. 阻塞IO 10
3.3. 中断的上下半部 10
3.4. 内核定时器 11
4. 运行效果 12
4.1. 打开调试开关的效果 12
4.2. 不打开调试开关的效果 17
5. 源码清单 18
5.1. 驱动程序 18
5.1.1. ls1b_ir.h 18
5.1.2. ls1b_ir.c 18
5.1.3. Platform.c 29
5.2. 应用程序 30
5.2.1. ls1b_ir_test_app.c 30
6. 参考文档 31
版本 更新日期 更新内容 V1.0 2014.4.5 创建
红外知识简介
个人认为百度文库中的文档《全面了解红外遥控(中文版).pdf》讲得很好。我这里只是把要点提一下。
怎么判断遥控板是否发射了红外命令(是否有电)
我们时常会碰到一个问题——到底遥控器还有电没有。对于电视遥控器可以取下电池看看,但是对于这里使用的迷你遥控器怎么办?使用的是锂电池。
办法是通过手机的摄像头看遥控器的红外发射管。当按下遥控器按键时,如果有电会发射红外命令,遥控器上的红外发射管会发出红外光,手机的摄像头能看到这种光。下图《全面了解红外遥控(中文版).pdf》为通过手机摄像头看遥控器的图片
红外遥控器是怎样解决干扰问题的
只要有发热的物体都有红外光,问题是这么多红外光源,遥控器是怎样进行准确的传递信息的呢?
采取了两种措施:一、采用指定波长(940nm)的红外光;二、对940nm的红外光进行调制,调制到38Khz上。
虽然发出红外光的光源有很多,但是每个发出红外光的波长不一定一样,就算是都发出940nm的红外光,通常也没有什么规律,为了排除干扰能够进行准确的通信,遥控器还将940nm的红外光调制到38Khz上。
硬件简介
说了这么久,还不知道开发板和遥控器到底是哪一款,来个合影吧。
注意:本驱动是针对图中所示的遥控器的驱动。
一体化红外接收头
一体化红外接收头在开发板上的位置
先来看一下开发板上一体化红外接收头在哪里
位于电源和网口之间。
一体化红外接收头原理图
再来看看原理图中的一体化红外接收头的电路
由图可知,一体化红外接收头有3个引脚,分别为5v电源,地和信号输出引脚。
注意:原理图中信号输出引脚为GPIO60,这是原理图中的标注,实际上是龙芯1B处理器的GPIO61,这点很重要。原理图中也有说明,如下图所示
一体化红外接收头原理
左边为遥控器发射的38khz的红外信号,右边为一体化红外接收头收到信号后,解调得到的信号。即没有38khz红外信号时,一体化红外接收头输出高电平;有38khz红外信号时,输出低电平。
迷你20键38K红外遥控板
遥控器按键编码表
为了在linux驱动中能够正确解析遥控器的红外命令,并判断出具体是哪个按键被按下,必须知道遥控器按键编码。这里选择的这款遥控器的按键编码是已知的,如下图所示
注意:第一行中间那个(编码为46的)按键本遥控器没有。其它的编码都正确,详细请看后面的测试结果。
如果不幸没有这个编码表,只有通过示波器来找出每个按键的编码值了。
NEC编码分析
参考文档《全面了解红外遥控(中文版).pdf》中给出了NEC编码格式,如下图所示
针对这里使用的遥控器,对应的编码如下
其中address就是用户码0x00,按键编码为按键编码表中的值,比如“开关”按键的编码值为0x45,“menu”按键的编码值为0x47,“Test”按键的编码值为0x44,“倒退”按键的编码值为0x43等等。
驱动中要得到的就是按键编码。
上图中的逻辑‘1’和逻辑‘0’对应红外接收头信号引脚的高低电平,NEC编码规定:560us高电平+1690us低电平表示逻辑‘1’,560高电平+560低电平表示逻辑‘0’。如下图所示。
源码分析
主要思路
简单来说,应用程序执行read()函数,然后阻塞,直到有红外命令并解析后,驱动才将获取的“按键编码”返回给应用程序,应用程序的read()才返回。
获取按键编码的方法是:一体化红外接收头在收到遥控器信号后,在信号输出引脚输出高低电平,并产生中断,中断程序中计算两次中断间隔的时间如果为2.25ms则
您可能关注的文档
- 黑龙江省卫生职业教育现状与发展趋势[精选].doc
- 黑龙江省双鸭山市一中2014届高三12月月考语文试题(含答案)[精选].doc
- 黑龙江省哈三中09-10学年高一下学期期末考试(语文)[精选].doc
- 黑龙江省哈六中09-10学年高一下学期期中考试(语文)[精选].doc
- 黑龙江省哈三中2013届高三第一次模拟[精选].doc
- 黑龙江省哈三中2014届高三第一次高考模拟考试语文试卷[精选].doc
- 黑龙江省哈六中2013届高三第一次模拟考试语文试题[精选].doc
- 黑龙江省哈尔滨市2014年初中毕业学年调研测试语文试卷及答案[精选].doc
- 黑龙江省哈尔滨市第六中学2014届高三9月月考历史试题 Word版含答案[精选].doc
- 黑龙江省哈尔滨市第六中学2016届高三语文上学期10月月考试题(含答案)[精选].doc
最近下载
- CJJ_T 135-2009 (2023年版) 透水水泥混凝土路面技术规程正式版.pdf
- 肠道门诊知识考试试题及答案.doc
- 义务教育语文课程(2022版).pdf
- 2023.05.14 金沙之行考察报告(2023.05.14 改).pptx VIP
- 开放系统23661《计算机组网技术》期末机考真题及答案(第101套).docx
- 2022高二【语文(统编版)】大卫·科波菲尔(第二课时)课件.pptx
- 民事起诉状(征信名誉权纠纷).docx
- 第1讲 E.K.Strong销售技巧(上).doc VIP
- AQ1018-2006《矿井瓦斯涌出量预测方法》.pdf
- 吴兴区湖州市第十一中学教育集团社团类初中科学微型校本课程教材.pdf
文档评论(0)