基于嵌入式FPGA的MINI VOS服务器

更新时间:2023-05-08 09:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第七章案例一

——基于嵌入式FPGA的Mini VOS服务器

本章描述了在Spartan3E-Starter Kit开发板上进行基于WEB的娱乐系统的设计,完成了WEB SERVER的功能,可以利用网络访问该服务器的内容。

7.1案例简介

本案例实现远程主机通过Web网络对终端开发板进行操作和控制,形成类似于可控智能家庭网络的应用。例如可以通过终端玩音乐游戏,播放MP3等。

1.功能描述

该设计模拟目前流行的VOS音乐游戏,称之为MINI VOS。其功能是当音符不断下落时,用户需在它们落地前将其打掉。三个难度等级,下落速度不断增加,挑战你的反映速度。用户还可以自己编曲。

此外,用户可以选择播放自己喜欢的歌曲,有3首供选择。

本应用具有实时性,高效性,信息传递稳定精确,误操作少和系统功耗低等性能特点,并具有友好的用户界面。

2.开发环境

1)硬件环境与工具

FPGA开发板及其相关附件(Xilinx Spartan3E-Starter Kit)

硬件连线:RS232串口线,RJ45网线

网络设备:以太网集线器(HUB)

2)软件环境与工具

EDK8.2i(不可选用其他版本或其升级版本如8.2.03i)

Fedora Core4(或RedHat9Linux)操作系统

虚拟机VMware5.0.0build-13124

3.没有标题

本案例所使用的资源请参考/Chapter7/目录:

/Doc:本案例的操作指导文档

/Src:源代码与web网页所需资源,以及LED驱动源文件

/Tools:本案例中使用的工具。包含uClinux配置文件uclinux_v1_00_d文件夹,交叉工具链microblaze-elf-tools-20060213.tar.gz,uClinux源码包uClinux-dist-20060803.tar.bz2。

注:本案例中所用到工程目录应在英文目录下,中文目录会出现问题。

7.2搭建MicroBlaze硬件平台

硬件平台搭建参照如下步骤进行

1.启动XPS8.2i,软件系统弹出如下对话框:

共三个选项,由于我们此次是新建一个MicroBlaze硬件平台,所以选中Base System Builder Wizard,点击OK,进入硬件平台搭建向导。

2.在弹出的对话框中,点击browse,选择一个目标磁盘并建立一个自己的工程文件夹,双击进入自己的工程文件夹后,点击保存,系统会自动为此项目命名为system。点击OK,进入BSB欢迎对话框。

3.在欢迎对话框内,选择I would like to create a new design,点击next。

4.进入开发板选择对话框后,进行如下的系统配置:

Board Vendor:Xilinx

Board Name:Spartan3E starter board

Board Revision:C

点击next。

5.进入处理器选择对话框,由于Spartan3E只支持软核MicroBlaze,所以默认即可。在对话框中还可以看到MicroBlaze系统的一些参数,比如封装类型,速度等。点击next。

6.进入MicroBlaze配置对话框,参考时钟频率选择默认50MHz即可,MicroBlaze处理器总线时钟频率选择为66.67MHz。其中参考时钟由开发板上的时钟源提供,用来产生总线和处理器的频率,根据开发板的不同而不同。Debug I/F选择on-chip H/W debug module,Local memory选择默认8K即可。

Cache setup选择Enable Cache link。点击next。

7.进入I/O端口配置对话框。I/O设备选择RS232-DCE,不选RS232-DTE。波特率选择115200,并且打开中断,其他选项默认即可。可以看到窗口的右侧

有Data sheet,可以点击进入看到关于每个外设的data sheet。点击next。

8.继续配置I/O端口。由于在远程控制中需要通过LED来测试远程控制成功与否,所以选择LED-8bit,并且打开中断,其他外设除FLASH外,暂不需

要,均不勾选。点击next。

9.进入外部存储器与网络接口对话框。Spartan3E开发板使用32M外部存储器,选择DDR_SDRAM_16M*16。由于在远程控制中需要通过网络接口来发送数据

包,所以Ethernet_MAC也是必不可少的,同时需要把中断打开。点击next。

10.由于此次远程控制中使用了操作系统,所以需要添加定时器,点击Add Peripherals,在弹出的对话框中选择OPB_TIMER,点击OK。

并把中断打开。点击next。

12.进入cache配置对话框。由于在系统构建之初,我们已经选择了对外部存储器进行cache缓存,所以在这里我们需要对其大小进行设置,数据Cache与指令Cache分别为默认8K与2K即可,并且勾选ICache与DCache。点击next。

13.弹出软件配置对话框。标准输入输出选项我们选择默认的RS232_DCE即可。另外,在搭建MicroBalze硬件平台后,系统会自动生成两个测试程序,分

别对外设与外部存储器进行测试,这里默认即可。点击next。

14.进入测试程序配置对话框,主要任务是对存储器测试程序存放的位置进行设置,我们选择使用默认的片内存储器就可以了。当我们下载bitstream至开发

板后,测试程序会自动运行。点击next。

在外部存储器就可以了,点击next。

16.至此,一个MicroBlaze硬件平台已经搭建完毕。点击Generate。

17.点击finish。系统会弹出窗口如下,选择Start Using Platform Studio。

18.此时系统会出现如下界面,即Xilinx Platform Studio的操作界面。

19.在Hardware菜单中点击Generate Netlist,系统会自动综合MicroBlaze的网表文件,值得提醒的是这一步所花时间比较长。

20.选择Application选项,右击工程TestApp_Memory,确定Mark to Initialize the BRAMs被选中。这样在把bitstream下载到开发板的过程中,会自动执行外部

存储器的测试程序。

21.点击菜单Device Configuration?Update Bitstream,生成bit文件。

22.由于此次远程控制中我们选择串口进行调试,因此需要新建超级终端。

2

23.首先输入超级终端名字,点击确定。

24.打开连接后使用下拉菜单,选择开发板所使用的串口号。

25.对串口进行配置,如图所示。配置好之后,点击确定。

26.把操作环境切换到EDK,选择Device Configuration-〉Download Bitstream,把之前生成的Bitstream与executable可执行文件一起下载到开发板中。观察超级终端,查看外部存储器的测试信息。

27.在下载Bitstream的过程中,系统会自动把外部存储器的测试程序下载到片内存储器中并执行,观察超级终端测试结果,如果测试通过,超级终端会打印出以下信息:

项目软件环境

7.3在EDK中配置

配置项目软件环境

1.由于此次实验中,我们需要在MicroBlaze处理器上需要运行uClinux,所以首先要把uClinux的配置文件uclinux_v1_00_d文件夹拷贝到/EDK/sw/lib/bsp/文件夹下。否则后续的配置工作将会遇到很大问题。

2.启动EDK,打开刚才搭建的MicroBlaze硬件系统工作目录文件夹下的system.xmp文件。

3.在打开MicroBlaze系统文件后,可以在EDK开发环境中看到相关系统信息,如下图所示。首先我们切换到Bus interface,看到MicroBlaze系统中各个模块与总线的连接情况。

4.这里,我们需要对此系统做出如下修改。把窗口切换到port,点开debug module,点开interrupt中的net选项,选择debug module interrupt。

5.接着点开port选项中的opb_inct _0,双击L to H。

6.系统会弹出如下对话框。

本文来源:https://www.bwwdw.com/article/go2e.html

Top