首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA开发板远程检测系统的实现

FPGA开发板远程检测系统的实现

1系统概述
目前FPGA开发板的板载资源检测都是采用将示例下载到开发板上检测的方法,检测不同的资源需要一般使用不同的示例。这样的检测方法缺少对检测结果信息的收集。对于实验室批量管理FPGA开发板的情况,难以应对。

本系统基于Nexys™3 Spartan-6 FPGA开发板,不仅可对该开发板的板载资源进行检测,并且可以对检测结果数据进行收集,将收集的数据进行保存以方便诊断开发板的状态。

其原理是由上位机通过串口发送测试数据到开发板上的串口模块,FPGA从串口模块得到相应的测试命令,然后根据命令,对开发板上对应的资源进行检测,并将检测结果反馈到上位机进行保存。

本系统的结构示意图如下所示。

图1系统结构示意图


本系统还可作为FPGA设备远程诊断系统的原型,通过提交上位机生成的检测结果文件,可以在管理信息系统中直接显示开发板的状态。。

本系统可以以下载流文件的形式或以存入EEPROM的形式应用到Nexys™3 Spartan-6 FPGA开发板。本系统还可通过修改部分代码应用于其他型号的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.3 FPGA上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.2 FPGA开发板
3.2.1 控制软件
控制软件包括以下结构。
模块
描述
串口通讯:
将串口传入的数据读入FPGA,或将FPGA上的数据发送到串口。
VGA检测
从串口读取用于显示的检测数据以及显示位置和显示颜色等信息传输到VGA控制模块。
自由按键检测
从串口得到检测启动命令,从自由按键控制模块得到实际按下按键编号,从串口传出。
拨码开关检测
从串口得到检测启动命令,从拨码开关控制模块得到实际打开的开关编号,从串口传出。
7段数码管检测
从串口读取检测用数据传输到7段数码管控制模块。
LED灯检测
从串口读取检测用数据传输到LED灯控制模块。
PMod检测
从串口得到检测启动命令,将一组检测数据传输到PMod控制模块,再取出,进行对比,将对比结果从串口发出。
USB Host检测
从串口得到检测启动命令,将一组检测数据传输到USB Host控制模块,再执行读取操作从USB Host控制模块取出数据,进行对比,将对比结果从串口发出。
LAN检测
从串口得到检测启动命令,将一组检测数据传输到LAN控制模块,再取出,进行对比,将对比结果从串口发出。
VHDC检测
从串口得到检测启动命令,将一组检测数据传输到VHDC控制模块,再取出,进行对比,将对比结果从串口发出。

3.2.2 SOC子系统
SOC子系统包括以下结构。
模块
描述
控制核心
实例化一个RISC_CPU作为核心控制软件的载体。
串口控制模块
控制板载串口资源,从串口传入/传出数据。
VGA控制模块
控制板载VGA资源,将显示内容、位置、颜色等数据传输到VGA口
自由按键控制模块
监测自由按键按下或抬起的状态。
拨码开关控制模块
监测拨码开关打开或关闭的状态。
7段数码管控制模块
将要显示的检测用数据更新到数码管。
LED灯控制模块
将要检测的LED灯点亮。
PMod控制模块
将检测用数据传输到PMod口的输出针,从PMod口的输入针接受数据。
USB Host控制模块
将检测用数据传输到USB Host硬件模块的传出端口,从USB Host硬件模块的传入端口接收数据。
LAN控制模块
使用127.0.0.1做回环测试。
VHDC控制模块
将检测数据传输到VHDC口的一对I/O针脚中的一根,从令一根接收数据。
返回列表