高速红外VFIR控制器的设计与实现
PCI(Peripheral Component Interconnect)局部总线[1]是一种高性能、32位或64位地址数据多路复用的同步总线。它的用途是在高度集成的外设控制器件、扩展卡和处理器/存储器系统之间提供一种内部的连接机构,它规定了互连机构的协议、机械以及设备配置空间。PCI局部总线因具有极小延迟时间、支持线性突发数据传输、兼容性能以及系统能进行全自动配置等特点受到业界青睐。PCI总线规范2.1版本还定义了由32位数据总线扩充为64位总线的方法,使总线宽度扩展,并对32位和64位PCI局部总线外设做到向前和向后兼容。
目前微机之间的红外通信是基于IRDA-1.1标准的红外无线串行SIR通信,参考文献[2]给出了基于ISA总线的红外无线串行通信卡的设计及实现,该通信卡的数据速率为9.6kbps~115.2kbps,工作距离0~3m。但由于RS-232端口的最高数据速率上限为115.2kbps,不能满足IRDA-1.4规范甚高速红外VFIR 16Mbps速率要求,所以使用了PCI同步总线扩展外设的方法设计甚高速红外控制器。虽然ISA总线的传输速率能满足甚高速红外控制器设计要求,但目前许多微机系统已经逐渐淘汰ISA/EISA标准总线。原因是高速微处理器和低速ISA总线之间不同步,造成扩展外设只能通过一个慢速且狭窄的瓶颈发送和接收数据,使CPU高性能受到严重影响。
1 HHH(1,13)编解码
2001年5月,红外无线数据协会IRDA发布了红外串行物理层规范IRDA-1.4[4];它与前期发布的物理层规范的主要区别在于增加甚高速红外VFIR 16Mbps数据速率的编解码技术和帧结构,而其它如视角范围、发射器最小(大)光功率和接收器灵敏度等规范基于相同。红外串行物理层规范IRDA-1.4规定数据速率小于4Mbps采用RZI(归零反转)调制,最大脉冲宽度是位周期的3/16或1/4;数据速率4Mbps采用4PPM(脉冲位置调制);数据速率16Mbps采用HHH(1,13)码。
IRDA提出的VFIR编解码技术-HHH(1,13)码是码率为2/3,(d,k)=(1,13)的RLL(run-length-limited)码;它是一种功率消耗和频带利用率相对折中的高效编码,其中参数d、k分别表示在两个'1'之间最小和最大的'0'的数目,参数d决定接收信号中有无码间干扰ISI,参数k决定接收器能否从接收序列中恢复时钟。HHH(1,13)码的带宽效率使数据通信能够选择成本很低、上升/下降时间为19ns的LED。功率效率避免了LED的热问题,它能保证1m距离范围内保持链接。1m距离16Mbps链路可达到过去4Mbps链路的驱动电流和功耗。HHH(1,13)码和4PPM码(用于4Mbps)的显著区别是HHH(1,13)码决不允许一个红外脉冲紧跟前一个红外脉冲,脉冲之间应该保持一个chip时间差。由于光电管工作区域内有少量载流子的慢辐射,使LED或光电二极光表现出拖尾效应,HHH(1,13)码能够兼容拖尾效应,从而允许在chip时间周期内脉冲的扩展。
虽然HHH(1,13)码的设计过程比较复杂,但IRDA-1.4标准已经详细给出了编译码逻辑方程和电路,所以实现起来比较容易。笔者使用Altera MAX+plus II进行逻辑功能仿真,并用GW48 EDA实验系统进行硬件伪真,验证HHH(1,13)码编译码电路设计的正确性。
2 甚高速红外VFIR控制器的硬件设计
由于PCI总线规定了严格的电气特性,开发PCI总线的应用具有很大难度,因此使用AMCC(Applied Micro Corporation)公司推出的PCI接口控制器S5933实现红外控制器PCI总线接口规范[5]。甚高速红外VFIR控制器原理框图如图1所示。选用Altera公司的FLEX10K系列现场可编程门阵列器件实现S5933与红外TX/RXFIFO、寄存器的传输控制和逻辑时序以及红外接口控制逻辑和红外收发器接口功能模块(CRC校验、编解码以及串/并转换)。甚高速红外VFIR控制器工作原理如下:首先由AMCC S5933外部非易失性串行EEPROM AT24C02下载PCI配置空间,然后主机通过直通(PassThru)寄存器数据访问方式向红外接口控制寄存器写控制命令[3]。红外接口控制逻辑根据控制命令发出控制信号,使整个红外控制器处于准备状态。当上层协议发出数据发送事件时,红外接口控制逻辑发出消息,通知主机启动S5933总线主控读操作,把上层数据写到外部红外TXFIFO数据缓冲器;同时红外接口控制逻辑根据TXFIFO状态把TXFIFO的数据发送到红外收发器接口,进行锁存、并/串转换、CRC校验和编码,最后通过VFIR收发器发送数据。同理VFIR收发器接收到的数据经过译码、CRC校验、串/并转换和锁存,写入RXFIFO数据缓冲器。红外接口控制逻辑触发上层协议发出数据接收事件接收数据,主机启动S5933总线主控写操作向上层协议递交数据,数据传输完成上层协议发回消息,通知数据接收完成。下面重点
- 一种基FPGA和DSP的高性能PCI数据采集处理卡设计(08-26)
- 用双端口RAM实现与PCI总线接口的数据通讯(05-06)
- 基于PCI总线和DSP芯片的图像处理平台的硬件设计(07-06)
- 基于DSP和PCI总线的通用数字信号处理系统(11-13)
- 一种基于PCI总线和DSP技术的虚拟仪器设计(03-16)
- 基于DSP的PCI驱动程序开发 (04-08)