1.一种基于FPGA的远程实验系统,其特征在于:系统基于Internet网和C/S架构,由服务器、多个PC客户端和多个ARM客户端组成,连接的网络拓扑结构是星形连接,使用基于TCP/IP协议的自定义应用层协议;其ARM客户端的硬件基础为FPGA远程实验板卡,由ARM及其外围电路、FPGA及其实验外设构成,FPGA的被动配置接口与ARM连接,用以实现FPGA程序的远程配置;FPGA的IO引脚一部分连接实验外设,一部分连接到ARM,定义为仿真外设;PC客户端和FPGA远程实验板卡之间的连接通道是:
2.根据权利要求1所述的一种基于FPGA的远程实验系统,其特征在于:所述的实验外设为开关、LED灯。
3.一种基于FPGA的远程实验系统的设计方法,其方法包含以下步骤:步骤一、实验预约:PC客户端是用户与服务器、ARM客户端的交互接口,用户通过客户端程序登陆并预约远程实验;服务器根据PC客户端发来的预约请求,提供实验预约服务,并将预约信息存入数据库;
步骤二、远程登陆与配对:在规定的远程实验时间,用户通过PC客户端登陆后,由服务器在PC客户端和ARM客户端之间进行动态配对,记录在数据库中,并建立点对点的连接;
步骤三、远程配置:远程实验时,用户需要将FPGA的实验程序,下载到远程的FPGA实验板卡,方法是:步骤1、PC客户端将配置程序传送给服务器,由服务器转发给配对的ARM客户端,ARM客户端程序将其存储于ARM的NAND Flash中;
步骤2、ARM客户端程序打开该配置文件,读取一个字节;
步骤3、ARM客户端程序按照FPGA的从串模式或者PS模式的时序将字节逐位写入FPGA;
步骤4、如果配置文件没有读取完,则读取下一个字节,转步骤3;否则,配置结束;
步骤四、远程交互:远程实验实现的是双向交互,方法是:
(1)从FPGA远程实验板卡到PC客户端,传送的是实验数据,步骤是:步骤1、在PC客户端和ARM客户端建立连接后,ARM客户端定时采集FPGA的仿真输出外设对应的输出引脚状态,按照自定义的应用层协议,打包传递给PC客户端;
步骤2、PC客户端将这些FPGA输出引脚的状态定义为仿真输出外设,以可视化图形的形式,将仿真输出外设的状态,展现在PC客户端用户画面上;
(2)从PC客户端到FPGA远程实验板卡,传送的是实验操作指令,步骤是:步骤1、用户在PC客户端用户画面上,改变图形化的仿真输入设备的状态,按照自定义的应用层协议,打包传递给ARM客户端;
步骤2、ARM客户端程序将仿真输入设备的状态,变成0或1,控制ARM输出到FPGA的对应输入引脚。