hua2999 发表于 2013-11-20 11:11:21

CPLD初学者教程-红外操作

红外线遥控是目前使用广泛的一种通信和遥控手段。在继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也大量采用红外线遥控。同时,工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。我们的开发板上装配了一个集成的红外接收头,可接收遥控器的红外信号,通过CPLD/FPGA编程来进行解码。
红外编码格式常有两种,NEC和RC5。一般家庭用的DVD、VCD、音响都使用NEC这种编码方式,我们这里讲解一下一下NEC格式的特征:1.使用38k载波频率。 2.引导码间隔是9ms+4.5ms。3.使用16位用户码。 4. 使用8为数据代码和8位取反的数据代码。 5.红外接头周期是108ms
经解调后的红外信号以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”,以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1。如下图。(以接收端的信号波形进行讲解,发射端的波形要进行反向)file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image002.gif
红外遥控器发出的编码是32位的,其中前16位为系统码(又称用户码),能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的数据码和8位的数据补码用于核对数据是否接收正确。
file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image004.gif
在每次编码信号送出之前,会有一段引导码,包括9ms的低电平和4.5ms的高电平。file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
在我们的开发板上装配了一个一体化的红外接收头,能完成从红外线接收到输出与TTL电平信号兼容的所有工作,封装尺寸如下图所示。file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image008.jpg
随开发板一起配装的还有一个红外遥控器(在使用标配的红外遥控器前,需要先抽掉底部的电源隔离塑料片,这样遥控器内电池才能上电进行工作。在平常不用时,可将该塑料片插入,这样可延长内部电池的使用寿命),NEC的编码格式,用户码位00FF,键位码如下图所示。file:///C:/Windows/system32/config/SYSTEM~1/AppData/Local/Temp/msohtml1/01/clip_image010.jpg
比如:按下“0”键后,红外信号经红外接收头处理后,FPGA/CPLD接收到的编码如下(16进制):00 FF 16 E9

hua2999 发表于 2013-11-20 11:12:18

还有两部分源码

ahljj 发表于 2015-12-25 08:00:45

CPLD初学者教程-红外操作
页: [1]
查看完整版本: CPLD初学者教程-红外操作