基于VHDL语言和Up3-1C6评估板实现视觉反应时间测试系统的设计

描述

1 引言

视觉是人和动物感知外界物体的大小、明暗、颜色、动静的主要途径,对机体生存具有重要意义。研究表明,在人脑所获得的外界信息中,至少有70%以上来自于视觉。眼睛之所以能看见物体是由于光照射到物体上,再由物体把光反射到人的视网膜上。视网膜上的感光换能系统将光线的刺激转变成神经信息,通过神经将这些信息传递给大脑,这样就形成了视觉。视觉延时所讨论的即这段神经通路从感受、自中枢传入传出至效应阶段所需的时间。而视觉的敏感程度指的是视神经感受光量子刺激的最低阈值,即视网膜所能感受到的最低亮度。视神经阈下刺激不能促使视网膜上的光换能系统发生作用,将光能转化为神经冲动的形式传递给大脑。

测试人视觉反应的各项指标,对于疾病诊断以及医学研究都具有重要的意义。视觉延时直接反映了神经冲动的传导时间,人在疲劳、醉酒以及病理的神经冲动传递阻滞时,都会使延时时间明显增加。所以视觉延时可以作为航天、驾驶等高危行业操作者的基本生理参数,综合反映操作者的基本生理状况,避免疲劳驾驶导致的事故。由于人体有些病理状态的前期也会出现视觉延时增加,所以这项指标也可以作为体检的基本测试项目,用于评估人体的亚健康状态,为疾病的及早预防、治疗提供部分依据的依据。而视神经的阈值高低也直接反映了眼底的健康状况,对于一些眼科疾病的预防具有积极的作用。

视觉自身所具有的诸多特点也对设计提出了特殊的要求。首先视觉自身具有明适应及暗适应的能力,及在不同的环境亮度下,使神经的感受阈值并不相同。并且在不同亮度条件下视觉反应时间也不尽相同。所以测试时要求有基本一致的环境亮度,即全黑的状态。视觉的另一时间特点就是视觉暂留现象,动画或电影的画面刷新率在高于每秒24帧时,人眼就已不能显著分辨画面的单帧过程。加上视觉大约200至400毫秒的延时时间,在亮度逐级增加的情况下变化速率必须进行合理的控制。再者由于人眼,尤其是在弱光环境下,对亮度的分辨能力甚至可以达到光子数量级,所以对于系统亮度变化的最小单位也提出了较高的要求。

2 系统功能

本视觉反应时间测试系统主要利用VHDL硬件描述语言并结合顶层原理图进行设计,并在Up3-1C6评估板上进行测试后完成。可以测试人体视觉反应对不同亮度光线的延迟时间以及对亮度的敏感程度。

现已投入临床使用的视觉反应测试系统,如北京中仪金叶科技有限公司生产的BD-II-511型视觉反应时测试仪,只能达到10ms的显示精度,且延时需要手动设置。本文所介绍的视觉反应时间测试系统设计利用多级分频技术,去除时序中的干扰因素,使得视觉反应时间测试精度达到0.01ms。为减少被试心理因素的干扰,特别添加随机延时电路,使得测试更为准确。利用PWM调节LED发光二极管的亮度,使得亮度可分为一万级,根据人体对亮度较为敏感的特点,所测范围设为前一百级(0-99)。用功能选择键控制功能的切换,当运行其中一个功能时,另一功能模块停止工作,这样可以减少系统工作时所用到的资源,提高运行效率。

以LED显示作为视觉刺激信号,测量被试者的反应时间:在按键按下后,以0.01s为最小单位,在1s-5s之间产生一随机延时后,点亮LED。被试者在LED点亮后,释放按键,从LED点亮到按键释放的时间间隔即为反应时间,将测得的反应时间以最小单位为0.01ms显示在LCD上。LED灯亮度可调,可以完成不同亮度级别下的视觉延时。

以LED显示作为视觉刺激信号,测量被试者对亮度的敏感性:在按键按下后,以0.01s为最小单位,在1s-5s之间产生一随机延时后,逐渐点亮LED。以LED总亮度的万分之一为单位,每一秒进一级,显示前一百级。被试者在看到灯亮后即释放按键,在LCD上显示被试者可看到的最低量度级别。

3 系统设计

系统框图主要分为分频、延时、计时、亮度调节及显示等几个模块。48MHz外部时钟经过分频电路,分别为各个电路提供时钟信号。延时电路从按键按下开始,利用脉冲计数产生随机延时后分别点亮LED1并且启动计时装置。当被测试者看到灯亮放开按键后LED1熄灭并且计时停止。亮度设置模块用于置数,并通过LED亮度调节模块控制灯的亮度,通过总线接至LCD显示模块,显示亮度级别。

随机延时模块同样可以启动亮度渐变模块。亮度渐变用于控制LED2的亮度逐渐增加并将所显示的亮度级别通过总线形式接至LCD显示,当按键被放开时,亮度渐变随即停止,屏幕上所显示为被测试者可以观察到的最低亮度。

为了便于功能的扩展,所有模块均具有清零和使能端,并将LED亮度调节模块、计时模块、亮度调节模块和LCD显示模块均连接功能切换键,用于选通视觉测试和敏感度测试两功能。系统框图如图1所示。

lcd

图1 反应时间与亮度敏感性测试系统框图

3.1 分频电路

利用PWM方式设置参数可调的分频电路,将48MHz占空比为50%的脉冲分为4.8MHZ和0.1MHz占空比为50%的脉冲信号。

3.2 延时电路

延时电路由按键开关控制,按下即开始工作,产生一最小单位为0.01s、1s-5s间的随机延时。随后输出一“en”使能信号,控制之后的电路。随机数在100-500的计数循环中产生,按键时将数字读出,即为随机数。将此数乘以1000,作为0.1MHz计数器的终止数,即可产生随机延时。延时电路仿真波形图如图2。Clk为输入的0.1MHz脉冲,start为开始信号,en为输出信号,当start为‘0’后,经过一定时间的延时,en输出高电平信号。当start变为‘1’后,en同时变为‘0’。延时时间随机产生。

3.3 计时器

由1MHz的脉冲信号作为时钟,计数器的精度为0.01ms。由“en”信号和清零端控制,输出五位数字,逐级进位,输出五位数字总线并连接至LCD显示模块,用于视觉反应时间的计时。

3.4 LED亮度调节

用PWM方式改变0.1MHz的频率以及占空比,占空比为0-1,每0.1一级,将不同占空比的脉冲信号输出至LED灯,即可调节灯的亮度,用于测试不同亮度下的视觉反应时间。LED亮度调节模块波形仿真图如图3。Clk为输入的0.1MHz脉冲,level为输入的不同等级的数据,en为使能端,clkout为根据不同level值得到的不同占空比的脉冲。有些level下的波形有些毛刺,但对整体的效果没有影响。

lcd

3.5 亮度设置模块

为循环计数器,脉冲信号由亮度设置键提供,每经过一个下降沿计数器加一,并输出亮度级别“level”信号以及两个需显示的数字,输出至LCD显示。

3.6 亮度渐变模块

由于正常人眼存在视觉暂留现象,且视觉延时多在0.2-0.4秒之间,所以利用PWM方式改变4.8MHz脉冲的占空比,使得亮度每秒增加一级,步长为万分之一,可以基本排除人眼视觉延时的干扰[7]。

另外,该设计还包括数据选择器、按键防抖电路、LCD显示等其它设计。

4 系统基本操作

LED1:视觉敏感测试灯;

LED2:视觉反应时间测试灯,设置不同等级有不同的亮度。

LCD显示:受功能选择键控制,高电平时为视觉反应时间测试功能,屏幕显示“000.00 ms/Level 00”,记录不同等级下反应时间。低电平时为视觉敏感测试功能,开始后,随着灯亮度增加而数字增加,显示灯的亮度等级。

按键说明:

En键(使能端):控制整个器件的运行,en =‘1’时开,可以运行各个功能,en =‘0’,整个系统关闭。

Control键(功能选择键):控制功能切换,control =‘1’时为视觉反应时间测试功能,control =‘0’时为视觉敏感测试功能。

Ldset键(亮度设置键):用于亮度等级设置,按一下,亮度等级加一。

Start键:测试开始键,视觉反应时间测试时,设置好等级,等级显示在LCD屏幕上,当start按下,经过延时,LED灯亮,释放start键,屏幕显示反应时间。

Reset键(清零端):按下后,屏幕显示清零。

5 误差分析

虽然设计精度较高,但是由于实现方法本身以及硬件条件的限制使得系统仍然存在误差和改进的余地。延时模块送出高电平后,计时模块直接开始计时,此信号要经过LED亮度调节模块才能使D4灯亮,这两者之间有LED亮度调节这一模块的几个纳秒的延时。从人眼睛感觉到光的存在到手释放Start键,这之间也有反映时间,所以我们测量到的是人视觉反应时间和人手反应时间的总和。但是由于视觉反应时间处于百毫秒数量级,所以这些误差基本可以忽略,如需更高精度的测试,设计仍需改进。

6 结论

各模块设计均用VHDL硬件描述语言进行编写,模块之间用顶层原理图绘制。测试视觉反应时间时,将亮度分为10级,当设置不同的亮度等级,可以测试不同亮度下的视觉反应时间,得到光强与视觉反应的关系。在测试视觉反应时间的基础上增加了视觉敏感程度的测试模块,用于测试人对于光敏感的最低亮度。亮度分为100个等级,正常人眼十级以上就基本能感觉到光线的存在。在所有测试功能中都有延时模块,能产生1s到5s之间随机的延时,减少测试误差,得到最准确的测试结果。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分