本课题是在课题组已实现的高速串行通信平台的基础上,进一步引伸,设计开源的PCI软核通信模块替代Xilinx公司提供的LogiCORE PCI核,力求在从模式下,做到占用资源更少,传输速度更快,也为以后实现更完整的功能提供平台。 本文以此为背景,基于FPGA平台,搭建以开源的PCI软核为核心的串行通信接口平台,使其成为PCI总线与用户逻辑之间的桥梁,使用户逻辑避开与复杂的PCI总线协议。本课题采用Spartan-II FPGA芯片XC2S200-6FG456C系统开发板作为串行通信接口的硬件实验平台,实现了支持配置读/写交易、单数据段读/写、突发模式读/写、命令/地址译码功能和数据传送错误检测与处理功能的PCI软核。 本文主要阐述了以PCI软核为核心的串行通信平台的实现,首先介绍了PCI软核的编程语言、软件工具和硬件实验平台Spartan-II FPGA芯片XC2S200-6FG456C系统开发板。然后,介绍了PCI总线命令、PCI软核所支持的功能、PCI软核两侧信号的定义、PCI软核配置模块以及探讨了PCI软核的状态机接收、发送数据等过程,分析了PCI软核的数据收发功能仿真,主要包括配置读/写交易、单数据段模式读/写和突发模式读/写的仿真图形,并阐述了管脚约束的操作流程。最后介绍PCI软核模块的WDM驱动,内容包括驱动程序简介、驱动程序的开发、中断处理、驱动程序与应用程序之间的通信以及应用程序操作。最后,对PCI软核的各种性能进行了比较分析。整个模块设计紧凑,完成在实验平台上的数据发送。 设计选用硬件描述语言VerilogHDL,在开发工具Xilinx ISE7.1中完成整个系统的设计、综合、布局布线,利用Modelsim进行功能及时序仿真,使用DriverWorks为PCI软核编写WinXP下的驱动程序,用VC++6.0编写相应的测试应用程序。之后,将FPGA设计下载到Spanan-II FPGA芯片XC2S200-6FG456C系统开发板中运行。 文章最后指出工作中的不足之处和需要进一步完善的地方。
猜您喜欢
评论