CPCI数据总线接口的设计与实现
2011-07-22 10:44:30
【导读】:通过在FPGA中编写Verilog HDL语言控制CPCI协议转换芯片,从而实现与CPCI总线之间的高速通信。实验结果证明,该设计方案工作稳定、传输速度快、数据准确,并可扩展到其他需要通过CPCI总线的嵌入式系统中。
关键字
CPCI/CPCI协议/DSP

  通过在FPGA 中编写Verilog HDL语言控制CPCI协议转换芯片,从而实现与CPCI总线 之间的高速通信 。实验结果证明,该设计方案工作稳定、传输速度快、数据准确,并可扩展到其他需要通过CPCI总线的嵌入式系统 中。

  高速数据传输技术是现代信息技术的前沿科技,同时也是整个数据链技术的瓶颈之一,为此技术人员不断地寻找新的方法。CPCI(Compact PCI)总线就是其中一个解决方案。

  CPCI总线是当前流行的高速嵌入式 计算机 总线,目前大多数嵌入式计算机系统的接口 最终都要经过CPCI总线与计算机内存进行交互。CPCI的总线规范保证了其具有良好的兼容性和可靠性。

  本文设计的系统采用PLX公司生产的CPCI协议转换芯片PCI9054,通过Verilog HDL语言在FPGA中产生相应的控制信号,完成对数据的快速读写,从而实现了与CPCI总线的高速数据通信。

  1 系统设计

  系统主要由PCI9054和FPGA构成,系统结构图以及信号连接如图1所示。通过利用FPGA的可编程性,可实现更多的扩展功能,如与DSP ,A/D等不同速率间接高速通信等。协议转换芯片PCI9054的作用就是保证本地数据采集板卡和主CPU板卡之间的数据可以高速准确地传输。


  2 PCI9054性能分析

  PCI9054是由PLX公司生产的一种基于PCI V2.2总线规范的通用接口芯片。它支持单字节方式和突发方式两种传输方式。其总线端支持32位/33MHz传输,本地端可以通过突发方式达到最大132Mbit.s-1的传输速率,并且可以控制改变本地端的总线宽度。

  PCI9054可以看做一座建立在CPCI总线和本地用户局部总线之间的桥梁。因为PCI9054具有6个可编程FIFO存储器进行数据缓存,从而保证两者之间数据传输的正确性和实时性。并且PCI9054允许其中任意一端作为主控设备去控制总线,同时另外一端作为目标设备去响应总线。

  PCI9054内部具有多个寄存器组,用以对其两端的工作状态和工作方式进行控制。PCI9054对其内部的所有寄存器组和FIFO都行了统一的地址映射,用户可以从两端通过编程访问所有FIFO及寄存器组的每个字节,从而查看两端的工作状态和改变两端的工作方式。

  3 PCI9054局部总线的接口设计

  整个CPCI接口的设计思路为:FPGA通过桥接芯片PCI9054与CPCI总线连接,其内部使用异步双口RAM来进行高速数据的缓冲,通过使用VerilogHDL语言编程来控制FPGA中的异步双口RAM,以实现系统数据在嵌入式CUP板卡内存与CPCI板卡之间的高速传输。

  PCI9054提供了3种物理总线接口:CPCI总线接口、LOCAL总线接口和串行EPROM接口。其中CPCI总线接口协议在嵌入式操作系统中的驱动 包已经带有,而串行EEPROM的初始化是由PLX公司的PLXMON软件在嵌入式操作系统中进行在线烧写的,所以本系统设计的重点就是关于LOCAL总线接口的控制和传输。