基于SoPC系统的红外解码IP核的设计与实现方法研究
红外通信作为一种简便的无线通信技术在电子设备中具有广泛的应用。它的主要优点是无需专门申请特定频率的使用执照;具有移动通信设备所必需的体积小,功率低的特点;传输速率适合家庭和办公室使用的网络;信号无干扰,传输准确度高;成本低廉。
SoPC 技术是在可编程逻辑器件的基础上发展起来的一种灵活、高效的嵌入式系统解决方案。它将处理器、存储器、I/O口、常用外设等系统设计所需要的部件以IP核的形式集成到一片FPGA器件上,构建成一个可编程的片上系统,实现特定的逻辑功能。其中,IP核可理解为一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。因此,IP核的设计与复用是SoPC设计中解决设计层次、产品成本、设计周期和降低风险的关键环节,是SoPC设计中的关键技术。
本文提出一种红外解码IP核在SoPC系统中的设计与实现方法,重点研究红外系统的数据编码和传输机制、红外解码电路的HDL设计、IP核的制作及在SoPC系统中的应用方法。
1红外通信原理与Avalon总线规范
1.1红外通信原理
本文采用的红外接收部分的硬件电路由红外发射芯片TC9012和红外接收芯片DS338S组成。DS338S的输出信号IR_out接入FPGA的GPIO,实现红外解码功能。硬件电路图如图1所示。
发射端TC9012发送的红外数据帧的格式如图2所示。
每帧含有32b,包含2次8位用户码,8位数据码和8位数据码的反码及最后位的同步位。其中,用户码是由硬件决定的,通过解码用户码来识别控制单位是否有权控制设备。数据反码是用于验证数据码是否正确的。引导码由4.5ms的载波和4.5ms的载波关断波形所构成,作为用户码、数据码以及他们的反码的先导。 TC9012采用PPM(PulsePhaseModulation)脉冲相位调制方式完成数据的发送。载波、同步位、位元‘0’和‘1’和引导码的波形如图3所示。由图可知,载波频率为38kHz,占空比为1/3;同步位(SY)是标志最后一位编码"0"或"1"的标识位,它只有0.56ms的有载波信号构成;位元0由0.56ms的有载波部分和0.565ms的空闲部分构成;位元1由0.56ms的有载波部分和1.69ms的空闲部分构成。
红外接收端DS338S内含高速高灵敏度PIN光电二极管和低功耗、高增益前置放大IC,采用外屏蔽,在红外遥控系统中作为接收器使用。IRM-338S的输入/输出波形如图4所示。
由图可知,在进行红外解码的时候,输入信号是从IRM-338S接收管送出的信号,接收管的输出信号与发射端的发射信号是倒相关系。
1.2Avalon总线规范简介
Avalon 总线是Altera公司专门为SoPC推出的一套片内总线系统,是SoPC解决方案中的核心部分。本设计采用的是Avalon-MM总线接口,该总线接口是内存映射系统下用于主从设备之间通信的读写接口,采用主从式的传输方式,即由一个主控端外设发起并控制传输过程,而从属端外设响应经由总线模块发来的信号完成整个传输。Avalon-MM定义了一组接口信号和总线时序,具体的接口信号见表1。
2 红外解码IP核的设计
红外解码IP核包括红外解码逻辑和Avalon总线接入逻辑两个部分,其端口描述如图5所示。
2.1红外解码逻辑的设计
红外解码逻辑的设计核心是:采用脉冲计数的方法,检测IRM-338S接收管输出的IR_OUT信号在连续两次跳沿间处于高电平或低电平的时间,进而判断出每个位元的类型和对应信息,把位元信息组成字节,将字节还原成帧,实现红外解码。该逻辑的设计框架见图6。
(1) 时钟分频逻辑。在红外通信协议中,IR_OUT信号在连续2次跳沿间的最小电平持续时间为0.56ms。为精确检测该电乎的持续时间,选取周期为40μs 时钟脉冲信号对电平进行计数。该时钟脉冲信号由Avalon总线的csi_clock_clk信号分频得到。位元检测解码逻辑:检测IR_OUT信号的跳沿,以跳沿为计数起始和结束点,使用时钟脉冲信号对位元电平进行计数。位元解码逻辑将计数结果转换成位元信息,并输出位元结束信号。在位元解码逻辑中,考虑到实际硬件误差,用不同的计数范围对应各种位元信息,具体对应关系见表2。
(2) 字节检测解码逻辑。检测位元结束信号并进行计数,将连续8个位元的信息填充成1个字节,输出字节结束信号。帧检测解码逻辑:检测字节结束信号并进行计数,将连续4个字节的信息填充成1个红外数据帧,输出解码结束信号,用于产生中断;使用SignaltapⅡ对设计的红外解码逻辑进行测试,其中位元检测解码逻辑时序见图7。由图可
- xilinx IP建立向导创建的目录和文件的作用分析(10-29)
- 学习FPGA需要注意的几个重要问题(02-11)
- 一种消防应急灯具专用控制芯片的设计(11-02)
- 基于FPGA的8段数码管动态显示IP核设计(02-03)
- 基于FPGA和IP Core的定制缓冲管理的实现(08-14)
- 基于Altera ASI IP核的ASI发送卡实现(02-25)