FPGA开发板远程检测系统的实现
1系统概述
目前FPGA开发板的板载资源检测都是采用将示例下载到开发板上检测的方法,检测不同的资源需要一般使用不同的示例。这样的检测方法缺少对检测结果信息的收集。对于实验室批量管理FPGA开发板的情况,难以应对。
本系统基于Nexys?3 Spartan-6FPGA开发板,不仅可对该开发板的板载资源进行检测,并且可以对检测结果数据进行收集,将收集的数据进行保存以方便诊断开发板的状态。
其原理是由上位机通过串口发送测试数据到开发板上的串口模块,FPGA从串口模块得到相应的测试命令,然后根据命令,对开发板上对应的资源进行检测,并将检测结果反馈到上位机进行保存。
本系统的结构示意图如下所示。
图1系统结构示意图
本系统还可作为FPGA设备远程诊断系统的原型,通过提交上位机生成的检测结果文件,可以在管理信息系统中直接显示开发板的状态。。
本系统可以以下载流文件的形式或以存入EEPROM的形式应用到Nexys?3 Spartan-6FPGA开发板。本系统还可通过修改部分代码应用于其他型号的FPGA开发板。
2系统需求
本系统由三部分组成,上位机软件,核心控制软件,SOC子系统。
2.1上位机软件
在本系统中以上位机作为检测程序的发起者。
模块需求描述
串口通讯:上位机数据的接受和发送。
VGA检测启动VGA模块的检测,输入实际显示结果。
自由按键检测启动自由按键模块的检测,显示检测结果。
拨码开关检测启动拨码开关模块的检测,显示检测结果。
7段数码管检测启动7段数码管的检测,输入实际显示结果。
LED灯检测启动LED灯的检测,输入实际显示结果。
PMod检测发送启动检测命令,显示检测结果。
USB Host检测发送启动检测命令,显示检测结果。
LAN检测发送启动检测命令,显示检测结果
VHDC检测发送启动检测命令,显示检测结果。
2.2核心控制软件
在本系统中核心控制软件负责FPGA开发板上串口的输入/输出,以及负责将检测数据应用到各模块并收集检测结果。
模块需求描述
串口通讯:开发板上数据的传入和输出。
VGA检测从串口读取检测用数据传输到VGA控制模块。
自由按键检测接收命令,读取自由按键模块的数据。
拨码开关检测接收命令,读取拨码开关模块的数据。
7段数码管检测从串口读取检测用数据传输到7段数码管控制模块。
LED灯检测从串口读取检测用数据传输到LED灯控制模块。
PMod检测实现PMod的自检测。
USB Host检测实现USB Host的自检测。
LAN检测实现LAN的自检测。
VHDC检测实现VHDC的自检测。
2.3FPGA上SOC子系统
在本系统中SOC子系统包括控制核心以及各资源的控制模块。
模块需求描述
控制核心控制其他模块,执行部分逻辑功能。
串口控制模块控制开发板上的串口硬件。
VGA控制模块控制开发板上的VGA硬件。
自由按键控制模块控制开发板上的自由按键。
拨码开关控制模块控制开发板上的拨码开关。
7段数码管控制模块控制开发板上的7段数码管
LED灯控制模块控制开发板上的LED灯。
PMod控制模块控制开发板上的PMod硬件。
USB Host控制模块控制开发板上的USB Host硬件。
LAN控制模块控制开发板上的LAN硬件。
VHDC控制模块控制开发板上的VHDC硬件。
3 系统结构
图2系统结构图
3.1 上位机软件
上位机软件包括以下结构。
模块描述
启动检测用户界面,检测活动的发起者
输入实际显示结果用户界面,用来输入从显示设备、数码管以及LED灯看到的实际显示结果
串口通讯协议:发送检测用数据到开发板串口,从开发板串口接收反馈数据。
VGA模块检测随机生成用于显示的检测数据以及显示位置和显示颜色,将其与实际显示信息进行比较,判断检测结果并记录。
自由按键检测发送启动检测命令,将按键编号依次与从串口读取检测结果进行对比,判断检测结果并记录。
拨码开关检测发送启动检测命令,将拨码开关编号依次与从串口读取检测结果进行对比,判断检测结果并记录。
7段数码管检测可设置全亮或全灭,或生成一个随机数字,将其与实际显示信息进行比较,判断检测结果并记录。
LED灯检测可设置依次点亮、全亮或全灭,或随机生成一组LED灯编号,将其与实际显示信息进行比较,判断检测结果并记录。
PMod检测发送启动检测命令,从串口读取检测结果并显示。
USB Host检测发送启动检测命令,从串口读取检测结果并显示。
LAN检测发送启动检测命令,从串口读取检测结果并显示。
VHDC检测发送启动检测命令,从串口读取检测结果并显示。
3.2FPGA开发板
3.2.1 控制软件
控制软件包括以下结构。
模块描述
串口通讯:将串口传入的数据读入FPGA,或将FPGA上的数据发送到串口。
VGA检测从串口读取用于显示的检测数据以及显示位置和显示颜色等信息传输到VGA控制模块。
自
FPGA开发板远程检测系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)