微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 极客DIY限时挑战 — 10月挑战任务:自动视力测试仪(基于FPGA)

极客DIY限时挑战 — 10月挑战任务:自动视力测试仪(基于FPGA)

时间:10-02 整理:3721RD 点击:
本月极客DIY限时挑战最终结果出炉:

综合项目完成速度,项目完成情况,以及扩展功能对的扩展,恭喜社区用户 chy520cvv童鞋荣获10月挑战的冠军。并赢得本月挑战的1000元挑战悬赏!

项目帖请见:http://bbs.elecfans.com/jishu_941738_1_1.html
本月任务挑战书:自动视力测试仪

任务描述:挑战者需基于上述指定软硬件,在为期三周的时间内制作一个自动视力测试仪,实现用FPGA随机生成不同方向的E, 通过VGA接口在显示器上显示,判断测试者按的按键方向是否正确,通过几轮测试计算并显示最终视力测试结果的功能。
本月挑战指定硬件:Basys 3 Artix-7 FPGA训练板 (DIGILENT提供免费租借 | 板卡功能介绍:www.digilent.com.cn/products/product-basys3-artix-7-fpga-board.html)

本月挑战指定软件:Xilinx Vivado (免费下载地址:www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2016-2.html)


挑战悬赏:

1. 挑战周期内最先完成挑战任务的选手:¥1,000元挑战悬红

2. 挑战周期内,非第1位但如期完成挑战任务的选手:¥100精美礼品

3. 每月限3名入围挑战者(从报名参与者中择优录取,并提供硬件免费租借)


本月挑战周期:3周(提交截止日为10月20日


挑战参与规则:

1. 挑战者需为高校在校学生(研究生、本科生、专科生皆可)

2. 通过活动官方报名窗口【https://www.sojump.hk/jq/9710758.aspx 】报名参加挑战(申请挑战者需同时为DIGILENT开源技术论坛与电子发烧友论坛的实名注册用户)

3. DIGILENT将在当月的报名者中择优挑选3名挑战者,并提供当月项目开发所涉及主要硬件的免费租借(需挑战者交付押金¥500元,活动结束归还硬件后押金退还)

4. 在限定挑战周期内,挑战者需在DIGILENT开源技术论坛“创客小组版块”及电子发烧友论坛“FPGA板块”单独开贴提交以下素材:

      · 所完成挑战任务的“Demo视频”

      · 所完成挑战任务的“功能实现说明(限150-300字)”

      · 所完成挑战任务的“DIY动手指南(包括每一个步骤的配图)”【参考样式:http://www.digilent.com.cn/diy/83.html】

5. 在限定挑战周期内,最先完整提交上述素材的“第1位挑战者”即为当月挑战王,并获得挑战悬红;

6. “第1位提交者”以在DIGILENT开源技术论坛“创客小组版块”及电子发烧友论坛“FPGA板块”开贴提交上述全部材料的用户为准(特别提示:两边论坛皆需提交),提交先后以天为判定。若多位挑战者在同一48小时内提交材料,DIGILENT将根据①在任务书的规定功能之外,所实现的扩展能;以及②“项目DIY动手指南”制作的精细程度来判定获胜者。


摸我立即报名申请参与挑战,赢取千元现金挑战悬红!


参考步骤如下哟:
1、随机生成不同方向视力测试的符号“E”,通过FPGA的VGA接口在显示器上显示。四个方向的概率应相同。
生成有两种方法:
1) 用VGA显示图像,并旋转图像,得到不同方向的E
2)用VGA显示字符
注:VGA显示字符可参考GIThub上的VHDL代码。如果挑战者熟悉的是Verilog编程,亦可作为参考改写。https://github.com/dries007/Basys3/tree/master/VGA
工程在顶层文件中通过draw_string函数调用draw_char函数来显示一行字符。如draw_string(X, Y, posX, posY, "HELLO", true, 2),将在(posX, posY)位置显示一行大小为2的字符HELLO。文字颜色可以通过设置RGB改变。
为了显示不同方向的“E”,可以改变draw_char函数中的二进制矩阵。比如,将字符U对应的矩阵改为向上的“E”,将字符D对应的矩阵改为向下的“E”,将字符L对应的矩阵改为向左的“E”,将字符R对应的矩阵改为向右的“E”。这样在代码中就可以用U/D/R/L来代替不同方向的E。
该工程还使用了四个方向按键来控制字符位置。在我们的挑战中,字符位置不需要移动,四个按键将被用于视力测试。具体功能在步骤2中描述。


图:原代码中字符“E”的二进制矩阵(可将字符的棱角去除,变为宽高一致的“E”,更符合视力测试的需求)
2、测试者按Basys3板上的中央按键开始测试。测试分为5轮,每轮用同样大小的字号进行3次测试,每次在屏幕显示一个“E”。测试者通过Basys3板上的四个方向按键选择看到的字符方向。若三次判断正确两次及以上,则字号变小,进行下一轮测试;否则测试结束,通过VGA在屏幕上提示测试结束,并显示视力测试结果(参考标准视力对照表)。
3、测试过程中,数码管显示测试的等级、每轮已完成的次数,以提醒测试者测试进程。
4、完成一组测试后,测试者可按Basys3板上的中央按键重设,进行另一只眼睛的视力测试。

@2016 DIGILENT保留对该活动的最终解释权。关于本次活动如有任何问题,欢迎回帖询问。

好难呀  期待学习一下               

mark一下

                           期待

要是硬件平台不限多好

以前一直学习单片机,FPGA正在学习,HDL语言

  1. 1          %%
  2. 2          close all;
  3. 3          clear all;
  4. 4          clc;
  5. 5          %% parameters
  6. 6          CY=8;
  7. 7          fSymbol=67000;
  8. 8          fs=CY*fSymbol;
  9. 9          N_fft=100000;
  10. 10         addr_diff=8;
  11. 11         addr_find=512;
  12. 12         L=5;

复制代码

这个贴真的很有帮助!

正在学习FPGA

哇塞,这样的机会不错,,,,,,,,,,,,,,,

小编能发下源码吗,,新手想学下...

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top