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总线畸形都采用各IC消耗商设计的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#有效方式。