本帖最后由 chy520cvv 于 2016-10-2 18:15 编辑
功能实现说明: 1、 随机生成不同方向视力测试的符号“E”,并在显示器上显示。四个方向的概率应相同。 2、 拨动Basys3板上的SW15开关开始测试。测试者通过Basys3板上的四个方向按键选择看到的字符方向,然后按下中间按键表示确认。若三次判断正确两次及以上,则字号变小,进行下一轮测试;否则测试结束,通过VGA在屏幕上提示测试结束,并显示视力测试结果(完全按照标准视力对照表设计)。 3、 测试过程中,数码管显示测试的等级、每轮已完成的次数,以提醒测试者测试进程。 4、 完成一组测试后,测试者可2、 拨动Basys3板上的SW15开关重设,进行另一只眼睛的视力测试。 5、 附加功能:完成蓝牙控制模式,提高测试等级。通过开关SW0切换有线和蓝牙两种模式。通过安卓蓝牙串口调试助手,实现方向按键和确认按键的远程控制。
实验说明: 1、 中间按键的功能定义为确认键; 2、 根据标准视力对照表4.0-1M14.51mm,4.0-5M 72.7mm(视力等级-测试距离字体大小),设计两种模式,有线模式:距离为1M进行视力测试,蓝牙模式则距离5M进行视力测试。由于显示分辨率的限制,在有线模式下,测试等级范围为3.9—4.0,蓝牙模式下,测试等级范围为3.9—4.9。 3、 测试等级从3.9开始,根据实际视力检测情况,在等级3.9时,仅测试1次,在等级为4.0时,测试2次。之后,由于符号“E”越来越小,测试者有三次机会,只能答错一次。若前两次都正确,则直接转到下一等级。
DIY动手指南: Step1:材料准备 项目需要的硬件包括: 1. Basys 3 x1 2. 蓝牙模块 x1 3. 显示器 x1
软件平台: Xilinx Vivado Design Suite 2014.4
Step2:系统框架
图1:自动视力测试仪的系统框架 上图展示了整个视力测试仪的系统框架。通过开关选择有线和蓝牙两种模式。手动模式是通过板卡上的按键进行输入;蓝牙模式是通过手机蓝牙进行传输测试者选择的方向和确认信息。随机数模块产生每轮测试“E” 的方向。通过控制模块与用户输入进行比对,产生结果,输出到VGA 显示器上。同时在数码管上显示当前测试状态。
Step3:系统控制
图1:系统控制 Basys3板卡上的拨码开关SW0用于设置有线或者蓝牙模式,SW0置0,则表示有线模式,通过板卡上的按键进行输入。SW0置1,则表示蓝牙模式,通过蓝牙助手app的按键进行输入。 Basys3板卡上的五个按键分别表示上下左右的方向选择,中间按键表示确认选择。只有当确认键按下,才进行测试结果比对。 由于板卡上按键资源全部使用了,所以利用拨码开关SW15临时代替为启动按键和重设按键。
图2:蓝牙app设置1
图2:蓝牙app设置2 使用蓝牙串口调试软件时,连接上蓝牙后,选择键盘模式,
Step4:程序下载及固化
下载查看vivado项目代码。 附件提供了已经生成的bit 文件和bin 文件可供直接下载或者固化到FPGA上。 1)如果不需要固化,则可以直接下载bit文件。具体步骤如下:
图1:下载bit文件选项 打开hardware manager连接上Basys3,选择绿色提示框中的Program device或者右击芯片型号,选择Program Device(如图1所示)。
图2:下载bit文件到FPGA中 选择相应的bit文件,点击Program完成下载(如图2)。
2)如果需要固化到FPGA中,则需要按照下面的步骤。
图3:添加配置存储器选项 打开hardware manager 连接Basys3 ,在Hardware 窗口里右击芯片型号,选择Add Configura tion Memory Device ,(如上图3 所示)。
图4:添加配置存储器 Basys3中内嵌的flash memory型号是s25f1032p,搜索找到之后点击OK完成添加(如图4所示)。
图5:将bin文件固化到配置存储器中 然后将生成的BIN文件写入闪存内(如图5所示)。
Step5:硬件连接
图1:视力测试仪的硬件连接图 按照图1所示进行硬件连接: 1) 通过USB 下载线将计算机与Basys3上的microUSB 编程端口连接,将 电源选择跳线(JP2,Basys3电源开关左边的跳线)设置为USB 供电模式。如果需要通过外部电源供电,则跳线JP2设置为EXT模式; 2) 通过VGA与显示器连接; 3) 将蓝牙模块插入JA上排,确保蓝牙模块的TX端口对应与JA4端口,即最靠近GND引脚的端口。
Step6:视力测试仪功能测试 完成程序的固化和硬件连接后,我们可以对视力测试仪进行测试。 首先将SW0置为0,选择有线模式,然后将SW15置为1,然后再置为0,模拟按键的按下,启动系统。通过板卡上的上下左右按键选择方向,在按下中间键确认选择的方向。此时可以通过板卡上的数码管看到系统当前的测试等级和测试次数。若判断正确,则进行下一轮测试。 在两次判断错误后,结束测试,显示器显示视力等级。 完成一次测试后,再次将SW15置为1,然后再置为0,模拟按键的按下,重设系统,换另一只眼睛测试。
首先将SW0置为1,选择蓝牙模式,同样将SW15置为1,然后再置为0,模拟按键的按下,启动系统。通过按下蓝牙串口app的上下左右以及确认按键,发送信息,完成测试。
演示结果见该项目首页视频。
|