基于web服务器的可重构硬件测控平台设计方案
项目背景及可行性分析
2. 应用背景:
在工业控制和科研过程中经常涉及到对某个系统进行完善的系统性的测试,往往一个设备包括功能和数据率不一的接口,而整个设备又是对所有接口整体输入的响应。所以在系统中调试之前要一段时间来完成整体调试环境的架设。鉴于不同设备的特殊性,建立一个较为通用的硬件测试仿真平台可以提高系统测试的效率。XILINX FPGA和SOC技术对这方面有很好的支持,从硬件IP到操作系统和应用软件有一套完整的解决方案。它结合了FPGA本身和嵌入式系统的诸多优点。
设计并实现一个web服务器,通过客户端网页可以更新测试端服务器的软硬件测试环境,测试端服务器的测试工作流程可以在客户端定制,测试端服务器的测试数据结果可以在线分析,显示或下载。
4. 关键技术和创新点
所有操控都基于网络,便于远程控制和组网。
软硬件环境可以实现在系统重构
测控流程可定制
服务器端支持大容量测试数据库和测试数据实时抽样显示
5. 成熟性和可靠性
该系统一写基本的硬件环境已经建成。该项目现在已经完成了基于lwip协议栈的web服务器的文件传输应用和软硬件重配置的架构。还未完成的包括如SCSI大容量存储模块,Linux操作系统移植的部分工作和网络编程的部分内容仍在有条不紊的继续。
已完成模块已经经过实验室的测试,由于小组人员从事过网络驱动和硬件防火墙的开发。所以网络方面可以达到预期的可靠性。另外移植Linux操作系统之后也会增加系统多任务状态下的可靠性。
项目实施方案
1.方案基本功能框图及描述
图1 系统硬件框图
系统的整体结构是基于web服务器的,它由客户端和服务器两部分组成,服务器端是一个带有用户待测控设备的XILINX XUP开发板,客户端是用户的PC机。服务器主要完成对待测控用户设备的测试和控制。由于FPGA对于接口的控制很灵活内部可以利用很多现有协议的IP核,所以这有利于系统对不同用户设备测控的再利用。另外系统将整个软硬件架构开放只要用户在客户端把软硬件代码编译好上传到服务器就可以对服务器重新配置。为了方便用户测试过程中对存储器的要求,系统扩展了大容量高速SCSI存储器模块。这样也满足了用户对高速数据处理系统的要求。
现将各个模块简述如下:
PPC405是一个基于IBM PowerPC的32-bit定点嵌入式处理器硬核,在系统中工作频率为300MHz。 DDR控制器为XILINX提供的免费IP core,它可以支持达2GB的DDR SDRAM,系统中SDRAM和PLB总线同步工作于100MHz,所以对于64bit的DDR SDRAM内存条来说最大访问带宽可以达到1.6GB/s。以太网MAC层控制器负责完成MAC层协议,MAC层以上的协议由软件部分完成。网络物理层采用Intel的物理层控制芯片WJLXT9720完成。标准输入输出设备接口包括键盘接口,简易的LED显示接口。
System ace是XILINX的一项新技术,通过一个ACE控制芯片可以将CF卡中固定格式的文件通过JTAG口加载到FPGA中。这样可以通过网络将客户端运行编译好的FPGA配置文件上传到服务器端。另外用户编译好的软件可执行文件也可以放在CF卡中,由系统的boot程序来完成软件的加载。
用户自定义接口通过XPS开发工具中自带的IPIF模块与PLB总线连接。这里我们自行开发了一个高速的同步用户接口,主要用于一些高速数据的传输,该接口在DMA传输下实际传输速率可以达到800MB/s。从而可以满足一般用户高速待测设备的数据接口要求。PLB IPIF模块除了支持用户分配地址空间和寄存器空间外还支持用户自定义中断,FIFO接口,DMA传输,主从设备的选择。所以通过IPIF模块用户可以很方便的开发各种高速的外部接口。
大容量高速存储器是小组按照系统得要求另加的模块,它由一组高速硬盘组成,可以完成对高速数据的实时读写。为了满足对图像设备和实时数据的监控的要求,另外增加LCD显示高速缓存模块,可以满足对高速数据或图像的完全或抽样显示。
图2 系统软件流程图
软件部分流程图如图2所示,系统上电后首先由system ace模块完成对FPGA的加载,加载后启动BRAM中的boot loader 程序完成对操作系统的引导。
之后建立web服务器的网络环境。按照网络CS模型对接收到的命令或文件进行处理,处理之后给出状态报告。系统可以接收软件或者硬件重构的命令完成对系统的重构。
2.需要的开发平台
实现本方案需要操作系统的支持并且需要为用户提供实时高速数据接口,包括开发PLB总线外设。同时要利用system ace的在线重构功能。所以系统需要XUP VIRTEX-II PRO开发板。已有软件包括ISE9.1,Chipscope, XPS。
3.方案实施过程中需要开发的模块
现有需要开发的功能模块包括外部告诉数据存储的SCSI硬盘存储控制器以及基于Linux操作系统的控制驱动程序。
图形LCD驱动器高速图像缓存模块。
4.系统最终要达到的性能指标
实现基于Linux的网络服务器
通过客户端网页可以更新测试端服务器的软硬件测试环境
测试端服务器的测试工作流程可以在客户端定制
测试端服务器的测试数据结果可以在线分析,显示或下载。
SCSI控制器目标数据读写速率不低于80MB/s。
图形显示界面支持1024*768 60f/s刷新频率。
五、需要的其它资源
1.设计输入输出功能子板
需要转借SCSI控制器和图像高速缓存模块子板。
计划在10月初完成PCB的加工和制作。11月底完成功能性调试。
2.测试设备
万用表、示波器、逻辑分析仪
3.仿针、开发工具
仿真工具Modelsim、开发工具ISE等。
评论