PCI总线及在其基础上发展起来的CPCI总线,在工业操控、数据收集、信息通讯、航空航天等范畴得到了广泛的运用。高档数据链路操控(HDLC)是一个在同步网上传输数据并面向位的数据链路层协议,具有通明传输、牢靠性高、传输效率高以及灵敏性高档特色,能够完结点到点或许点到多点的数据传输,在路由器、网关等通讯或许网络设备中运用广泛。为了满意实际作业的需求,并为后续体系升级供给拓宽空间,本文规划并完结了一款依据PCI总线、契合HDLC协议的通讯卡,以满意高速数据传输的需求。通讯卡选用PCI总线操控器完结PCI总线接口规划,选用FPGA完结HDLC通讯协议及接口逻辑规划,选用RS一422规范对外通讯,完结与外体系的互连。
1 HDLC通讯卡总体方案
通讯卡首要选用PCI9054和FPGA构成硬件体系,其硬件结构图如图1所示。数据传输流程为:接纳数据时,经过RS一422接口芯片接纳数据,数据格式满意简化的HDLC协议;经过FPGA内部的HDI.C模块进行数据接纳和串并转化;然后在本地操控逻辑的操控下经过PCI9054以DMA方法传给上位机,完结数据的接纳和判读;发送数据时,上位机软件将数据以DMA方法传给PCI9054再输入FPGA,在其内部HDLC模块的效果下,进行数据并串转化和HDLC协议转化,最终经过RS一422发送器进行电平转化和数据发送。预留SDRAM以满意大容量数据通讯需求。
2 HDLC通讯卡电路规划
2.1 总线接口规划
PCI总线具有高性能、低成本、开放性、兼容性杰出等长处,但PCI总线具有严厉的时序联系和电气规范,使得开发作业量和难度比较大。PCI总线一般都选用各%&&&&&%生产商规划的PCI专用接口芯片进行PCI总线设的开发,以削减开发难度、下降上作量。依据此考虑,在本规划中,选用PLX公司的PCI9054芯片进行总线开发。
PCI9054芯片满意PCI V2.2协议,可作为桥接芯片在PCI总线和本地总线(10cal bus)之间供给信息传输,既能够作为两个总线的主控设备去操控总线,也能够作为两个总线的方针设备去呼应总线。其本地总线可作业在M、C、J三种形式,可方便地与多种微处理器衔接。在C形式下,因本地总线的地址线和数据线分隔,时序与操控逻辑比较简略,得到了广泛运用[31。因而本通讯卡中,PCI9054作业于C形式从设备方法,本地总线时钟选用40 MHz恒温补偿晶振。PCt9054的PCI总线端引脚依照对应联系与PCI总线金手指衔接器相连,本地端地址总线为15 bit,数据总线为32 bit,操控总线包含ADS、BLAST、LHOLD、LHOLDA、LW/R#、READY、EOT#引脚,将它们别离与FPGA的10口互连。
2.2 FPGA芯片选型与规划
HDLC协议是面向比特的高档数据链路操控规程,具有强壮的过失检测功用、高效和同步传输的特色,运用它能够保证数据信息牢靠互通。商场上有许多运用简略的专用HDLC芯片,但由于HDLC规范的文本较多,这些芯片出于专用意图难以通用于不同版别,缺少运用灵敏性,且其片内存储器容量有限。另一种方法是经过软件对MCU编程完结HDLC协议,尽管功用灵敏、适应性强,但处理速度慢、占用处理器资源多,难以高速完结对HDLC数据的插“0”和去“0”操作,一般只适用于路数较少的低速场合141。
为了完结与当时体系HDLC协议的兼容,本通讯卡选用FPGA完结HDLC收发功用模块,充分运用FPGA硬件可编程的特色,发挥其速度快、灵敏性高、并行处理信号、实时性能够猜测的优势。一起,考虑到通讯卡传输一帧数据的长度一般为512 KB~1 KB,而PCI9054的DMA只要32长字FIFO,且PCI读写速度与HDLC收发速度不一致,需求运用FIFO进行数据缓存,到达时序匹配的意图。为了进步体系集成度及其牢靠性,选用FPGA内部存储单元完结FIFO功用。因而,归纳考虑FPGA内部存储单元数量、10引脚数量等,挑选Altera公司的EP2C20一F240用于功用模块开发。EP2C20F240为QFP封装,可用IO口142个,内部LE 18 752个,内部RAM为239 616 bit,能够满意体系开发需求。
2.3 差分接口规划
通讯卡对外通讯选用RS一422方法传输数据,传输频率最高为768 kHz。因而,选用MAXIM公司的RS一422发送器MAX3032E和接纳器MAx3094E,其数据传输率最高别离可达20 Mb/s和10 Mb/s,满意数据高速传输需求。
3 HDLC通讯卡逻辑规划
通讯卡上的FPGA完结PCI9054本地总线数据读写时序逻辑的转化,完结HDLC收发模块和FIFO数据缓存功用。规划中选用VHDL硬件描绘言语完结各功用模块,运用Ahera公司的集成开发环境Quartus II(11.0)完结相关的编译、调试、下载等开发作业。
3.1 本地总线数据读写模块
PCI9054作业于C形式从设备方法,选用涣散/聚合(Scatter—Gather)DMA方法进行数据快速传输,以发挥其速度快的优势。依据PCI9054读写时序图可知,在C形式从设备方法下,FPGA读取PCI9054本地端ads_n和hlast_n的引脚状况,判别是单周期读写状况仍是猝发读写状况,完结地址获取和数据读写,其状况机如图2所示。一起,在上位机读数据完毕后,假如读FI.FO为空则将EOT#引脚拉低,将数据传输完毕信号上传,强行中止主机数据读操作。这就需求在DMA初始化过程中,设置DMAMODE寄存器的第14位为EOT#有用形式。