跳转至

基于紫光同创 FPGA 的远程实验室 - 系统设计报告

约 1337 个字 预计阅读时间 4 分钟


快速预览简介

我们基于双 FPGA 架构、Web 前后端构建了高集成、可扩展的远程 FPGA 实验平台,支持用户通过 Web 界面远程或线下配置硬件、程序调试、实时监控、数据传输,实现“数字孪生”式实验教学。

双 FPGA 架构:Ctrl_FPGA——管理员控制核心,单芯片集成以太网通信、JTAG 模拟、视频流 DDR3 缓存、电源管理、模拟信号抓取(DSO)、逻辑信号抓取(Analyzer)、模拟信号发送(DDS)等功能。Lab_FPGA——用户可编程 FPGA,支持远程烧录 Bitstream,线下配备的各类外设均可在线上同步操作和覆盖操作,提供与线下一致的实验体验。二者通过 SFP 高速互连,效率优于 FPGA- 单片机架构。支持虚拟外设静态配置,管理员可远程升级固件。

AXI4-Full 总线设计:Ctrl_FPGA 硬件设计使用 AXI 总线,支持跨时钟域、乱序执行、重排序、优先级仲裁,主频 Fmax 跨时钟域 120MHz。标准化接口实现模块化设计,支持虚拟外设静态重分配。

以太网 -UDP 协议栈:实现 AXI4 总线与以太网的直接映射,支持千兆高速数据传输。支持 ARP 协议确定主机 MAC,支持永久设定板卡 IP 和 MAC。支持多端口并发,支持时间戳。

MJPEG 视频流编码:Ctrl_FPGA 内置 JPEG 编码器,支持最高 2048x2048 YUV444 编码为 MJPEG 视频流,支持动态调整压缩率,实现 1:20 倍传输视频流时的带宽节省。

全功能 JTAG 模拟:IEEE 1149.1 标准,最高时钟 50MHz,动态降频适配不同场景。后端集成 BSDL 解析,实现边界扫描、IDCODE、UID、状态寄存器获取、Bitstream 下载等功能。

丰富的外设配置:系统配备了 32 位数码管、3 组 EC11 旋转编码器、4x4 矩阵机械键盘、5 路拨码开关、一路用户可使用的 AD、DA 模块、1 块 128 位 WS2812 灯排、1 路 HDMI-IN、1 路 HDMI-OUT、1 块最高 1366x768@60Hz 规格的便携显示屏。所有外设线下 / 线上均可操作 / 监看。对于输入类外设,线上用户可以屏蔽线下操作,使用 Web 界面代替实物;对于输出类外设,线上用户可以实时在 Web 界面观察外设输出结果。

工程化设计:系统在设计时充分考虑实际生产应用。系统工作时仅需一根电源线和网线,支持电源管理,支持 IP 地址、MAC 地址自动分配,支持 EEPROM 断电保存 IP、MAC 等板卡信息,支持 ARP 响应,支持 port 多端口并发,支持比特流校验等安全操作。后端支持多板卡管理,多线程管理,多任务管理。

Web 前后端系统:后端(C# + SQLite)——用户管理、实验管理、提交管理、Bitstream 校验、FPGA 状态监控、安全烧录、实验板网络配置、逻辑分析仪、网络摄像头、HDMI 采集、示波器、Debugger、等配置。前端(Vue3 + TypeScript)——图形化实验界面,支持画布自定义、文档查阅、实时信号可视化。

完善的实验代码和文档:目前已经完成 6 个基础实验和 5 个进阶实验以及 1 个基于 SD 卡的 ISP 处理平台的设计,每个实验配备完善的实验文档和 rtl 代码,为了方便用户使用,配备工程文件和仿真处理文件,方便用户使用和仿真。

实验系统的功能清单和实现方式如下表所示:

基础和拓展功能 实现 说明
基础实验项目 ✔ 基础 -01- 流水灯
基础 -02- 按键
基础 -03- 数码管
基础 -04- 矩阵键盘
基础 -05- 呼吸灯
基础 -06-HDMI 显示
高阶实验项目 ✔ 高阶 -11- 密码锁
高阶 -12-sfp 通信
高阶 -13- 频率计
远程下载 ✔ 以太网 -FPGA-Jtag 方案
远程固化 ✔ 以太网 -FPGA-spi 方案
远程调试 ✔ 自制 Debugger 核例化、抓取和调试已实现
Web 前后端正在适配 Debugger 功能
远程示波器 ✔ 线下可通过 HDMI 查看波形
线上 Web 端可实时采集波形
远程信号发生器 ✔ 支持四路波形暂存
支持频率相位调节
Web 可视化调节界面
支持输入函数表达式
支持 dat 文件上传
数字视频摄像头 ✔ 后端处理为 Http 视频流,实现网络摄像头功能
支持自动对焦
远程逻辑分析仪 ✔ 支持 8 路采集、自定义深度、各类触发条件
数字孪生 ✔ Jtag 边界扫描捕获低频信号,部分硬件经过特殊设计,可通过以太网远程输出激励
远程登录及管理 ✔ SQLite 数据库管理
其他功能 说明
- -
多板卡资源分配 后端数据库可注册多套板卡,并为每套系统分配唯一 ID
断电记忆 通过 EEPROM 为每套系统分配 IP、MAC,断电保存
Bootloader 板卡上电后自动读取固化信息并装载,随后进入工作模式
管理员模式 板卡处于管理员模式下时允许更多底层操作
HDMI 采集
HDMI 推流
实验管理、提交

评论