高速视频信号的光纤传输系统设计
图3
2.2 PCI传输单元设计
为实现高速视频信号的实时记录,设计中利用了PCI总线技术,PCI控制芯片采用PLX9052,它与FIFO相结合可以实现最高数据传输速率120MBps数字量输入。
PLX9052符合PCI2.1规范,支持低成本从属适配器。内部包括一个64字节的写FIFO和一个32字节的读FIFO,通过读写FIFOs,可实现高性能的突发式数据传输;其局部总线与PCI总线的时钟相互独立,局部总线的时钟频率范围为0~40MHz,PCI的时钟频率范围为0~33MHz;可以通过串行EEPROM提供PCI总线和局部总线的部分重要配置信息。PLX9052支持突发式内存映射传输和单周期的内存或I/O映射传输,利用32字节的直接从设备读FIFO和64字节的直接从设备写FIFO,映射在PCI内存和I/O空间中的地址由PCI基址寄存器设置。而且,局部映射寄存器允许将PCI地址空间转换为局部地址空间。图6是PLX9052与FIFO相互连接的电路图,FIFO采用IDT公司的IDT72205。
2.3 控制单元设计
整个设计的时序控制单元均由CPLD完成,在光发射端主要提供40路信号的2:1复用、数据的锁存及系统工作的时序信号;在光接收端主要为解复用、FWO和PLX9052提供相应的时序逻辑。本设计选用Xilinx公司的XC9572作为控制单元的核心芯片,结合它的在线编程功能,完成整个系统的时序调试与设计。
结合Verilog语言与原理图(sch)方法,较好地实现了整个系统时序的设计。以下是40路数字信号8:1复用Verilog语言设计代码。
3 软件设计
整个系统软件主要包括PCI传输单元的驱动程序和系统应用程序设计。 Windows下的PCI驱动程序不仅仅包括物理设备的驱动程序,也包括为文件系统等非物理设备编写的虚拟设备驱动程序。在设计中主要针对Windows2000下PCI驱动程序设计。由于Windows 2000禁止用户模式的程序访问I/O端口(Windows 95/98则允许用户程序直接访问I/O端口),直接控制物理设备的驱动程序均为内核模式。而本设计的PCI驱动程序要求对各种硬件资源访问,所以应该选择工作在零级的驱动程序模式。
开发设备驱动采用的主要开发工具是JUNGO公司提供的软件包Windriver。这个软件包提供开发PLX9052有关设备的文档、编译需要的头文件和库文件、调试工具和程序范例。利用其内部定义的可以调用的系统底层服务,如DMA服务、中断服务、内存管理服务、可安装文件系统服务等,结合VC++完成整个PCI设备驱动程序。本设计包括以下几个方面:
(1)PCI设备初始化
PCI设备驱动程序首先实现识别PLX9052器件、寻址PLX9052器件的资源和对PLX9052器件中断的服务。主要调用Windirver软件包内以下函数:
WD_Open(hWD);
PCI_Get_WD_handle(&hWD);
PLX_LocateAndOpenBoard(0x10b5,0x9052,UseInt);
(2)PCI端口地址操作
《高速视频信号的光纤传输系统设计(第2页)》