logo资料库

FPGA编写USB画笔实验报告.docx

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
USB 画笔实验
2.实现方案
3.设计过程
4.主要模块仿真
5.问题与解决
2)NIOSii连接时出现
6.设计结果
USB 画笔实验 1.选题目的 USB 接口在多媒体设备里面广泛应用,如果用带USB接口的有线或无线设备 来画画或写字,那样将给人们的生活带来极大的便利。可以将自己的作品或手 写体的文章底稿真实地保存在电脑中。本设计以USB 鼠标作为输入设备为例, 来设计USB‘画笔’功能。 2.实现方案 本设计使用飞利浦ISP1362 芯片的主设备端口结合Nios II 处理器实现了 USB 鼠标的移动检测。系统还实现了一个视频帧缓冲器,结合VGA 控制器完 成实时图像存储和显示。下图1给出了系统电路框图。VGA 控制器作为一个 Avalon 从设备,可以使用Nios II 处理器直接控制。 程序运行后,Nios II 处理器开始检测DE2-115开发板上的USB 鼠标是否存 在。当鼠标有移动时,Nios II 处理器可以跟踪这些移动并将其记录在帧缓冲存 储器。VGA 控制器会在VGA 缓冲器中存储的默认图像基础上叠加移动坐标数 据点,并将其显示在VGA 显示器上。 图 1 USB 画笔设计范例系统框图 3.设计过程 1)首先建立一个工程,命名为 DE2_115_NIOS_HOST_MOUSE_VGA,创 建一个包括 SOPC 功能硬件系统。生成后的系统如图 2 所示。
图2 SOPC Builder生成硬件系统 2)编写VGA控制、图片相关的RAM等的Verilog程序,所在工程如图3. 图3 DE2_115_NIOS_HOST_MOUSE_VGA工程 3)编写NIOSii中的控制程序。这些程序使用C语言编写,包括的文件如
图4所示。 4)对程序进行配置、仿真,端口配置列表如图5所示。 图4 NIOSii中包括程序 5)将DE2_115_NIOS_HOST_MOUSE_VGA.sof文件下载到DE2_115开发板 图5 端口配置列表 中进行调试,操作步骤如下: ()连接一个USB 鼠标到DE2-115 开发板的USB 主机端口(A 型接口) ()连接DE2-115 的VGA 输出到VGA 显示器(LCD 或者CRT) ()下载FPGA 配置数据DE2_115_NIOS_HOST_MOUSE_VGA.sof ()运行Nios II IDE 并切换工作目录到 DE2_115_NIOS_HOST_MOUSE_VGA\Software 运行环境搭建好后的架构如图6所示:
图 6 USB 画笔设计范例运行环境构架 4.主要模块仿真 在 DE2_115_NIOS_HOST_MOUSE_VGA 工程中,下图中的蓝框部分 VGA_Controller.v 是最主要的模块,它负责控制背景图片的显示,鼠标移动的 坐标显示等。 图7 工程中的文件
对 VGA_Controller.v 模块使用 ModelSim 仿真,得到的结果如图 8 所示。 图8 ModelSim仿真结果 5.问题与解决 1)仿真时出错。 问题:在用ModleSim仿真上述模块时,只有输入的波形,没有输出波形, 仿真结果如图9所示。
图9 ModleSim仿真出错的结果 解决:经过细心检查发现,在例化VGA_Controller DUT时忘记了输出端口 的例化,即缺了图9中的30 ~40行的内容,最后加上了就得到了正确输出,如图 11所示。 图10 VGA_Controller 例化程序
2)NIOSii 连接时出现 图11 ModleSim仿真正确的结果 问题:NIOSii 连接时出现下图 12 所示的问题,导致连接不上 解决:点击Target Connection页面中的Refresh Connections按钮,然后 图12 NIOSii连接出错 就消除了错误。 6.设计结果 (1)打开开发板电源,程序下载后,可以观察到 VGA 显示器给出的一幅 带 Altera 标识蓝色背景图片如图 13 所示,开发板上 LCD 上显示内容,数码管上 显示鼠标坐标,LED 灯点亮一部分,如图 14 所示。
图13 显示器上的初始画面 图14 开发板上的显示画面 ()移动鼠标会观察到屏幕上相应的光标动作,点击鼠标左键会在屏幕上 光标位置绘制白色的点,右键绘制蓝色的点(这个功能暂时没有实现),即可 以通过滑动鼠标写字或画图,结果如图15所示,鼠标移动时数码管上的坐标在 一直发生变化,LED灯也跟着闪烁,如图16所示。该USB画笔使用简单方遍方便, 达到了预期的效果。
分享到:
收藏