0 导言
PLX的一款桥芯片PEX8311可将规范处理器、DSP和FPGA总线接口晋级为PCI Express(PCIe)。PEX8311单道PCIe至32位、66 MHz通用部分总线桥可在两种规范间转化协议,它可用于通讯线路卡、监督体系、工业操控、IP媒体服务器和医疗成像体系,以完成可晋级的高带宽互联。选用根联合体或终端点的PCI嵌入式体系规划可选用PEX8311桥芯片移植到PCIe。本文便是根据PEX8311和FPGA来完成PCIe规范1x传输。
1 体系介绍
FPGA和PEX8311之间通过LBS(LocalBus)来衔接、发送和接纳指令及数据,其间FPGA首要操控LBS的运转,本文通过规划一个高效、牢靠的LBS操控器来完成FPGA和PEX8311的通讯。如图1所示。
本体系的操控的中心是LBS操控器,该操控器是通过FPGA选用VerilogHDL完成的,其长处是稳定性强、不会形成死机,避免了惯例的PC I,PCIe板卡类常常死机的问题,其次是传输速率高,充分使用LBS的时序,削减无用的等候时刻。
FPGA选用Altera公司的Cyclone3系列的3C120款FPGA芯片。Cyclone3是功耗最低、本钱最低的高性能FPGA产品,鉴于上述特色本规划选用它来完成PCIe的传输功用。
PEX8311是PLX公司的一款x1的PCI Express接口芯片,本地端总线频率最高可达66 MHz,数据位宽为32 b。PEX8311有主形式、从形式和DMA三种数据传输形式,可灵敏、方便地与各CPU,FPGA和AS%&&&&&%无缝衔接,完成高速传输。
2 LBS操控器规划
2.1 操控信号介绍
Hold信号:恳求操控总线的信号,FPGA向PEX8311宣布操控总线的恳求。
Holda信号:PEX8311呼应FPGA恳求的信号。
LCLK信号:时钟输入信号。
ADS信号:地址选通讯号。
BLAST信号:最终一个数据的同步信号。
LA[31:2]信号:地址线。
LD[31:0]信号:数据线。
LW/R信号:读写操控。
Ready信号:数据有用信号。
2.2 LBS总线读写操作时序介绍
LBS总线操作有单次读写和Burst读写方法,本规划中选用单次读写规划用来传输FPGA内部的寄存器读写操控,这些寄存器是用于装备各逻辑模块的功用操控,通过CPU或软件来实时操控;Burst读写方法首要用于大批量数据传输,本文中首要是传输高速的DDR数据,使用Burst传输方法能够完成高速主动大容量数据传输,充分使用LBS的传输带宽,进步传输功率。
2.3 PEX8311芯片介绍
PEX8311芯片的LBS端具有32位数据总线宽度和66 MHz时钟频率,PEX8311支撑三种LBS总线接口形式:C形式,J形式和M形式,可方便地与多种微处理器衔接。接口形式由MODE0和MODE1两管脚确认。本规划选用时序逻辑相对简略的C形式,即非复用的地址/数据总线形式。PEX8 311支撑三种部分总线数据传输形式:单周期形式、四周期突发形式、接连突发形式。
DMA传输数据使传输使命从主控设备中摆脱出来,由短且有用的传输描述符来承当,让主控设备能够有时刻去处理其他事情。PEX8311有两个DMA通道,能够一起处理两边总线上要求的传输,免除外部设备的等候。别的,DMA传输能够与主形式和从形式传输同步操作,但后两者比DMA传输优先级高。考虑到DMA传输有以上长处,本规划中PCI Express接口部分选用接连突发形式DMA块传输形式,LBS总线接口选用C形式。
2.4 LBS状况机规划
LBS共规划有4个状况:IDLE,START,DO,BUSY。其状况搬运图如图2所示。
IDLE:闲暇状况。
START:当ADS地址选通有用时进入此状况,进行地址空间判别。
DO:当地址空间有用,而且传输条件满意时进入传输状况,每个时钟判别条件,当条件满意时持续该状况,当条件不满意时,进入BUSY等候状况,传输完毕(BLAST有用)进入IDLE状况。
BUSY:当数据没准备好时,在BUSY状况等候,当数据准备好后进入DO状况,当超时后进入IDLE状况,实时退出。
2.5 LBS状况机作业流程
FPGA作为LBS的逻辑操控器,担任协调好与DDR_FIFO数据和PEX8311之间的时序联系。体系接纳数据时,首先由驱动程序向PEX8311发送复位信号,通过LRESET复位LBS本地端的FPGA,清空FPGA内部DDR_FIFO内部数据,并将HF和FF标志置为无效,然后等候数据的输入。FPGA读入DDR数据后,首先将DDR数据写入DDR_FIFO中,当DDR_FIFO中的数据到达半满状况时,HF标志位有用,通过FPGA向PEX8311宣布DMA中断恳求。PC机呼应中断后,设置DMA传输形式,传输字节数及地址信号等。PEX8311通过LHOLD请求操控本地总线,此刻FPGA宣布的LHOLDA呼应信号后取得本地总线的操控权,并当即进入接连字节突发形式的Block DMA周期即由IDLE状况到START状况。FPGA在收到有用的LW/R读信号和ADS地址选通讯号后,进入DO状况,一起宣布Ready本地准备好应对信号,使能DDR_FIFO的读答应REN和输出答应OE。在传输最终一个数据时,PEX8311宣布BLAST信号,FPGA装备DDR_FIFO读使能和输出使能无效,并撤销Ready然后完毕DMA周期。PC体系发送数据时,FPGA将计算机通过PCIe传过来的LBS数据写入PC_FIFO中,再输出写入到DDR中。
2.6 LBS状况机中心编码规划
依照上述4个状况进行Verilog规划,通过仿真和上板调试,作用很好,下面是状况机规划程序,仿真时序图如图3,图4所示。
3 结语
本文规划的LBS操控器应用在PEX8311和FPGA接口中运转状况正常,稳定性强,已成功应用于某视频采集卡、某PCIe数据采集卡,通过实践证明,根据FPGA规划的LBS操控器具有灵敏性强、可编程能力强、适应性强等长处,能敏捷缩短产品上市时刻、快速呼应客户需求,满意市场需要。