生理刺激反应时间测试仪 实验报告.docx
- 文档编号:10161435
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:21
- 大小:1.51MB
生理刺激反应时间测试仪 实验报告.docx
《生理刺激反应时间测试仪 实验报告.docx》由会员分享,可在线阅读,更多相关《生理刺激反应时间测试仪 实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
生理刺激反应时间测试仪实验报告
生理刺激反应时间测试仪
第一章设计指标……………………………………………………………………2
设计指标……………………………………………………………………………2
第二章系统概述……………………………………………………………………3
2.1设计思想………………………………………………………………………3
2.2可行性论证……………………………………………………………………4
2.3各功能的组成…………………………………………………………………5
2.4总体工作过程…………………………………………………………………6
第三章单元电路设计与分析……………………………………………………7
3.1各单元电路的选择……………………………………………………………7
3.2设计及工作原理分析…………………………………………………………8
第四章电路的组构与调试…………………………………………………………16
4.1遇到的主要问题………………………………………………………………16
4.2现象记录及原因分析…………………………………………………………16
4.3解决措施及效果………………………………………………………………17
4.4功能的测试方法、步骤、设备、记录的数据………………………………19
第五章结束语………………………………………………………………………20
5.1对设计题目的结论性意见及进一步改进的意向说明………………………20
5.2总结设计的收获与体会………………………………………………………20
附图(电路总图、引脚标号…………………………………………………………21
参考文献……………………………………………………………………………22
第一章设计指标
设计指标
生理刺激反应时间测试仪就是用于测量被测试者在受到声、光信号刺激后做出反应动作的之后时间。
设计要求如下:
(1)受试者可以按“刺激源选择键”选择刺激信号是光或声。
(2)当受试者按“测试开始”按键后,系统进入准备状态,“准备”灯亮,其他指示灯灭,显示器显示全零。
(3)测试仪在“准备”灯亮后的1~10s时间内发出光刺激信号(“测试”灯亮)或声刺激信号(蜂鸣器响),“准备”灯灭。
(4)档次及心海发出后测试仪开始计时,知道受试者按下“反应”键停止计时。
及时单位为0.1ms。
(5)以七段LED数码管显示计时测量值的高3位,最低位测量值进行四舍五入处理,显示值保持到新的测量开始。
(6)若受试者的反应时间超过999.5ms,“溢出”灯量指示,测试计数器立即停止计时,“测试”灯灭或蜂鸣器停,“溢出”灯持续发光直到下次测试开始。
(7)若受试者在刺激信号未发出前按“反应”键,“违例”指示灯亮,“准备”灯灭,并禁止刺激信号发出。
此外,还要完成对MS计时器的仿真波形实现;设计中,共有4盏灯(ready准备,weili违例灯,yichu溢出灯,light等测试信号),一个蜂鸣测试信号,下降沿有效的start开始信号和resp反应信号,蜂鸣器或测试等用电平键选择,ready、weili、yichu、light为触发器产生的电平信号
硬件环境
测试仪的控制部分以FPGA实现,光刺激信号由发光二极管产生,生刺激信号由蜂鸣器产生。
“测试开始”按键和“反应”按键选择买重建产生脉冲信号,刺激源选择电平键产生电平信号。
测量值采用3个七段LED数码管显示,显示方式由FPGA开发装置决定。
设计在ED2开发板或LP-2900开发装置上实现。
第二章系统概述
2.1设计思想
分析系统功能,可以设置生理刺激反应测试仪的主要控制信号为开始信号start准备信号ready、随机信号random、测试信号test(light或fengming)、测试计数器溢出信号yichu和违例信号weili。
选择下降沿有效的点触键为“测试开始”键げ“反应”键,比如LP-2900开发装置上的PS1和PS2键,则start、resp为相应按键产生的负脉冲信号。
Ready、test、yichu、weili设置为触发器产生的电平信号。
系统电路根据控制功能划分为刺激信号随机产生、测试计时、显示、逻辑控制、时基信号产生等五个模块。
其中随机信号才用模N的延时计数器、模M的定时计数器及相应的控制逻辑产生,测试计数器才用可预置、有时能控制的4级8421BCD码十进制加计数器实现。
由于正常测试时间小于1s,所以时间计数值可以不经锁存直接显示。
时基电路是产生定时、延时、计时电路以及显示扫描电路的时钟脉冲,蜂鸣器的发声也需要音频脉冲控制。
各脉冲可以根据所用FPGA开发装置的基准时钟分频获得。
要完成一个符合要求的数字电路,首先要了解各个输入输出的逻辑关系,画出正确的时序分析图,可以全面地掌握系统的运行思路。
根据工作原理,各信号时序关系如下:
(1)“测试开始”按键产生的start负脉冲触发ready信号有效,控制test、weili、yichu、无效,并预置测试计数器处置。
(2)ready信号控制延时计数器开始计数,延时时间1~2s。
当延时时间到,dealy信号有效。
Dealy信号等待选通模M定时计数器的溢出信号产生随机脉冲random,等待时间为0~Ms,这样,随机信号random比“测试开始”按键的作用时间之后1~M+2s出现。
(3)当随机脉冲random出现后,触发test信号有效并控制ready、dealy信号无效。
Test信号点亮“测试”灯或控制蜂鸣器响,并允许测试计数器开始计时。
(4)当“反应”键按下后产生resp负脉冲,使test信号无效,测试计数器停止计数。
(5)若反应时间超过999.5ms,则测试计数器产生的溢出脉冲触发yichu信号有效。
yichu信号控制测试计数器停止计数。
(6)若test信号五小时按下“反应”键,则resp脉冲触发weili信号有效,并控制ready信号无效。
Weili信号禁止随机脉冲产生,test信号始终无效。
综上所述,生理刺激反应测试仪的参考设计原理框图如图2.1.1显示
图2.1.1参考设计原理框图
2.2可行性论证
该系统大体分为三个部分,计时器与扫描显示电路部分,各个时钟信号选择部分,实验总体逻辑电路部分。
计时显示部分运用到以74160、74153、74153M等元件设计的七段显示器模块;时钟信号选择部分通过石英振荡器产生的10.0MHZ时钟信号分频获得;逻辑电路部分通过quartusII的BDF文件实现。
最终的系统仿真,通过EDA实验箱,LP-2900开发装置上实现。
Start信号为下降沿脉冲,可以运用开发箱上的PS1、PS2下降沿脉冲产生。
Ready信号灯是经过start信号上升沿触发,在random随机信号产生时的上升沿清零。
在溢出操作中,resp信号提前产生,其上升沿触发ready灯清零。
可以用钟控D触发器实现ready灯的逻辑控制。
Start反向构成触发时钟,yichu灯信号的非与random信号的非通过与门作为清零端的输入(清零端为低电平有效)。
随机信号通过模10的分频电路实现,进位信号CO作为random随机信号。
Screen的显示、计数、保持、清零的实现分别可以通过二进制计数信号控制七段显示共阴极的3-8译码器实现扫描电路,从而显示;通过控制十进制计数器最低一级(0.1ms位)的计时使能端ENP,高电平为计时,低电平为保持。
清零可以由start下降沿脉冲直接控制计时器各位的清零输入端实现。
Weili信号灯可以由钟控D触发器实现。
以resp的非和random的非作为触发时钟,同时,start与random的下降沿作为清零时钟。
Yichu信号灯由钟控D触发器实现。
以计数器每位的进位信号触发,start下降沿清零。
2.3各功能的组成
随机信号的产生:
随机信号“random”要求是1~10s间发出的电平信号。
是一直存在的信号,与控制有效电平没有任何关系。
当控制信号有效后,在定时周期时间范围内会随机出现选通脉冲。
由于数字电路中,计数器溢出信号是循环定时产生的,故设计由分频电路的10M档(周期为1s)发出,经模为10的74160元件产生的的溢出信号CO作为random信号。
Random信号发出后,选择的测试灯或蜂鸣器开始工作。
Random信号为低电平时,测试灯和蜂鸣器停止工作。
最低位计数值的四舍五入处理
生理反应测试仪的测量时间为四位十进制数,仅显示3位十进制数,最低位的测量值要求进行四舍五入处理。
即当最低位计数值小于5时,高三位测量值直接显示,当最低位计数值大于4时,高三为测量值加1后显示。
本设计可以利用计数器的预置数功能,在测量前将计数器的初始值预置为5。
这样,测试结束时的计数值是实际测量值加5,档最低位测量值大于等于5时,必然产生高位的进位,实现了测量值的四舍五入功能。
控制逻辑电路
逻辑控制电路的功能是根据按键信号控制延时、定时电路的测试计数器,判断受试者发出的反应信号resp是否违例,测试计时器是否溢出,并根据各信号控制相应的指示灯点亮。
在生理刺激反应测试仪中,部分控制信号是互相关联的。
根据设计思想,本测试仪将用到钟控D触发器,它可以实现A信号上升沿触发Q信号置位,B信号有效电平(低电平有效)使Q信号复位。
图2.3.1钟控D触发器时序关系及参考控制方法
2.4总体工作过程
图2.1.1生理刺激反应时间测试仪时序图
由图可以看出正常反应下,按start下降沿开关,ready灯亮,可以用反相器,D触发器实现。
随机信号由石英振荡器产生的时钟信号通过脉冲八分频选择电路经模10计数器输出信号产生。
Random信号发出时,ready灯灭,开始计时七段led显示器显示三位计时。
Resp按下后计时结束,显示器显示反应时间,显示直至下一次start负脉冲出现时被清零。
皆可用触发器完成该逻辑电路。
溢出反应中,start反应键按下后,ready键灯亮,random信号发出时,ready灯灭。
resp反应键未在随机信号高电平时间段内发出,则随机信号下降沿时,触发yichu灯电平信号。
违例反应中,在random信号发出之前,若resp键提前按下,则会触发weili灯亮,random信号来时,不计时,从而显示器持续显示零。
在电路中可能运用到前面几节课中设计出来的动态扫描电路和脉冲分频电路。
第三章单元电路设计与分析
3.1各单元电路的选择
1、分频电路
由七片7490组成的十分频模块级联组成,并每一级产生一个输出端,将输入信号分为八级模10的输出时钟信号。
2、随机信号的产生
将八级分频电路的1HZ(10M档)时钟输入到模十计数器74160时钟输入端,溢出信号作为随机信号。
无需清零。
3、计数、七段显示电路、溢出
计数部分:
10KHZ时钟作为计数单位。
运用四片74160级联,低位进位作为高位的计数时钟。
Start连接最低位置数端LDN,最低位置数5;start也连接到各级的清零端。
“溢出”与“反应”信号控制计数使能端ENP。
溢出:
计数器每级的溢出端之与作为溢出信号的触发信号。
使用钟控D触发器,start作为清零信号。
七段显示器:
高频信号输入74161输出二进制计数信号作为七段显示器共阴极3-8选择器的输入信号a、b,用三片四选一74153,a、b作为选择时钟,选择计数器每级每位输出的计数信号QA、QB、QC、QD。
实现扫描与显示的功能。
4、ready灯的实现
使用钟控D触发器,start信号反向产生的上升沿作为ready信号置数脉冲,随机信号和违例信号的反向低电平之与作为清零端输入信号。
5、违例灯的实现
由钟控D触发器实现。
以resp的非和random的非之与作为触发时钟,start与random的下降沿之和作为清零时钟。
6、选择test方式的实现
添加一个输入电平信号控制触发测试灯或者蜂鸣器。
电平信号为低时,选择蜂鸣器为测试信号;电平信号为高时,蜂鸣器触发信号为低,测试灯触发信号为高。
由random信号上升沿作为触发信号。
其中蜂鸣器的Q端与分频器10K档与门连接,输出到蜂鸣器。
违例信号,溢出信号,反应信号,开始信号都会引起测试信号清零。
反应信号与start信号与门输出和溢出信号或门输出作为测试信号的清零信号。
3.2设计及工作原理分析
1、脉冲分频选择电路
本实验中需要用到10KHZ、1KHZ、1M、1HZ的时钟信号,可以通过将EDA设备提供的10MHZ石英振荡器信号OSC输入一个八级倍率为10的分频电路,输出频率分别为1HZ、10HZ、100HZ、1KHZ、10KHZ、100KHZ、1MHZ、10MHZ八组占空比为50%的脉冲信号。
首先,实现脉冲信号分频。
图3.2.1十分频电路
选择7490二-五-十进制加计数器,如图,为十分频电路图。
7490片上有一个二进制计数器和一个异步五进制计数器,QA为二进制计数器的输出;OB~QD为五进制计数器输出,位序从高至低依序为D、C、B。
CLKA和CLKB分别为二进制和五进制计数器的脉冲输入端,下降沿触发有效。
CLKA和CLKB分别为两个计数器的复位清零端,同为高电平时有效。
将计数脉冲CP控制五进制计数器的时钟CLKB(如图3.2.1),并以无进制计数器的最高为输出DQ控制二进制计数器的时钟CLKA,即构成5421BCD码十进制计数器,输出码从高位至低位顺序为QA、QD、QC、QB。
在每个计数脉冲的下降沿五进制计数器加1;而每个QD的下降沿QA翻转。
毎10个计数脉冲周期计数器输出状态循环一周。
图3.2.2八级十分频电路
八级十分频电路是由上面的十进制计数器级联实现,计数脉冲进入低片位五进制计数器CLKB,溢出信号QA为下一级计数脉冲。
每一级输入以及最后一级输出都引入输出端,从而获得八级十分频信号输出。
最后,由quartusII创建八级十分频元件。
图3.2.3分频器元件
2、随机信号的产生
实验要求,随机信号宽度为1s,间隔约1~10s。
故可以用1HZ信号作为时钟,运用模十计数器的溢出信号作为随机信号。
设计方案如图3.2.4。
图3.2.4随机信号的产生
使用分频器1M档(1HZ)输入74160计时信号输入端。
使能端接高电平信号VCC,RCO作为随机信号输出端。
3、计数、七段显示电路、溢出
计数、溢出电路的实现:
(图3.2.5)
图3.2.5计数、溢出模块
图3.2.6计数器仿真波形图
计数电路是通过4个十进制计数器级联产生,最低位计时时钟为1KHZ,即计数单位为0.1ms。
注意在这里要为最低位置数5。
可以通过start信号的下降沿控制置数信号LDN有效,同步置五。
0.1ms位进位时,最低位计数从0开始。
同时,start的下降沿可以作为每级计数模块的清零信号,输入CLRN端。
每级的进位信号RCO作为下级的计数信号;每级的QA、QB、QC、QD输出,作为十进制每位数字的二进制编码。
同时,溢出信号和反应信号resp的高电平(resp下脉冲的反向)之和再经过非门作为停止计数的信号,与最低位计数器使能端ENP相连。
溢出信号是由计数器各级溢出信号之与触发,start下脉冲清零。
溢出信号在对测试信号以及溢出灯都有不同作用。
七段显示电路(扫描电路实现)
图3.2.7七段显示扫描电路
采用LP-2900开发装置,由于已在FPGA外部设置了3-8线译码器74138控制显示器的共阴极,因此只要采用计数器产生二进制计数信号控制译码器即能实现动态显示扫描。
在这里要求显示前三位,因此我们用时钟信号控制16位计数器74161产生的二进制数最低两位a,b作为3-8线译码器的选择输入端,这样实现了七段共阴极显示电路的显示。
同时,以a,b作为选择信号输入四个四选一选择器74163,实现扫描的同时,给选中的数位置数。
如图所示,当a、b信号为0,0时,显示器最高位(100ms位)被选中显示,同时每片四选一选择器的C0端选中,再按照选中输出的顺序由高位到低位(ms[3]、ms[2]、ms[1]、ms[0])控制数值的显示。
七段共阴级译码器的显示逻辑设置如下:
图3.2.8七段显示译码器的设计
设计程序中可以看出,七段显示译码器是将输入信号以总线形式(ms[3..0])输入,转换成显示器七个二极管不同的发光模式。
其中特别的,设置“1111”显示七段全零,这样在扫描电路中,当二位二进制扫描选择信号值为“11”时,显示器第四位选中,可是我们不需要第四位计数发光,所以可以在四个四选一选择器的四个C3端置“1”,从而实现末位气短显示器全零不发光。
4、ready灯的实现
图3.2.9ready灯实现电路
当start键按下,ready灯亮。
Random信号未到来时,weili信号产生;或者weili信号未到时random信号产生,其有效信号的上升沿触发清零信号。
时序图如下:
图3.2.10Ready信号时序图
5、违例灯的实现
违例灯要求为start清零后,ready灯亮,在随机信号random还未到达前,反应键按下,违例灯亮,计时器不计时(违例灯控制计时器计时前文已分析)。
同时,在随机信号结束时,违例灯灭。
实现违例灯的电路图如图3.2.11所示。
实现违例灯的时序图如图3.2.12所示。
图3.2.11weili灯实现原理图
电路符合时序图:
图3.2.12Weili灯时序图
6、选择test信号(光信号或声信号)
Test信号的选择,由一个电平输入控制。
测试开始时,test信号默认为蜂鸣器的声音信号,当按下选择方式按钮电平信号输入,则选择test方式为光信号,输出连接到EDA开发装置的二极管发光电路。
声光信号由随机信号random触发,由反应键resp或start清零。
同时,若操作违例,即使random信号到来,test信号也不会发出。
Random信号停止,则测试信号停止。
从设计原理图中看出:
蜂鸣器在被选通的同时,需要20~20KHZ的信号输入才能发出声响。
清零信号为resp、start、yichu、weili四个输入通过与门、或门、非门实现低电平清零;通过对开关增加非门的控制实现单刀双掷的功能。
图3.2.13test信号选择电路原理图
图3.2.14选择电路时序图
第四章电路的组构与调试
4.1遇到的主要问题
问题一:
扫描电路的四选一输入信号如何与数位一一对应
问题二:
计数方法的选择
问题三:
测试信号的逻辑实现问题
问题四:
下载到开发装置上后,许多没有用到的发光二极管以及发光元件发光。
问题五:
下载到开发装置后,运行测试功能,设定的发光元件不亮,但是集成电路板上对应引脚标号的发光元件亮了。
4.2现象记录及原因分析
1、实验过程与现象:
(1)打开装置,将仿真实验图下载到实验装置中。
(2)按下start按钮。
实验现象:
ready灯亮.显示器为全零,yichu灯、违例灯、test灯全灭。
原因分析:
start为下降沿脉冲,可以控制ready灯触发的上跳沿时钟。
根据电路,可知,start是所有元件的清零信号组成部分。
(3)几秒钟后,随机信号触发了蜂鸣器鸣响,快速反应,按下resp反应键。
实验现象:
随机信号刚产生,ready灯即灭。
测试信号(测试选择电平为低,测试信号为蜂鸣)立即发出,计时器开始显示计时。
Resp按下之后,蜂鸣器停止鸣叫,计时器停止计时。
原因分析:
随机信号作为测试信号的触发信号,使得被选中的测试方式生效。
Resp按下后,对测试信号清零,计时器使能端ENP为低电平停止计时功能。
(4)再次启动start,现象同第二步。
(5)在随机信号产生,测试信号蜂鸣鸣叫后,一直不触发resp信号。
实验现象:
random产生后,蜂鸣器鸣叫,计时器一直计数,同时停止于random信号结束。
当显示器显示计数到达999时,溢出信号灯亮。
原因分析:
计数器在random有效的1S内到达999ms计数器溢出信号有效。
(6)再次启动start按键。
(7)在随机信号产生之前,按下resp键
实验现象:
resp键按下后,ready灯灭,weili灯亮,此次计数器不计数,测试信号不响。
随机信号结束时,违例灯灭。
原因分析:
根据weili灯实现原理分析,违例灯由start以及random的下降沿触发清零。
而反应触发时,和random不是同时有效(指resp为低,random)违例灯即亮。
4.3解决措施及效果
问题一:
扫描电路的四选一输入信号如何与数位一一对应
选择信号a、b一直存在“00、01、10、11”的循环,作为多个元件的选择时钟,灵活方便。
但是选择出来的信号却大相径庭。
在扫描电路中,a、b控制显示电路的扫描,由于人眼有视觉暂留作用,我们几乎分辨不出显示电路是依次闪烁的。
当输入a、b选择了某位显示器,相应的,会从四选一电路中选择表示该位应显示的四位二进制数。
因为扫描电路的3-8线译码器输出Y0~Y7分别为显示器的高位到低位,与平时所说的高位低位不同,所以四选一的74153的输入端口的数据选择需要谨慎考虑。
从设计的计时扫描显示电路上看,当选择到显示器高位时,对应的四选一输出ms[3..0]是表示显示器上该位数字的四位二进制从高位到低位的各位数字。
如扫描到Y1位显示器,各片的C1被选中。
而每片上的C1都是表示10ms位的四位二进制数。
所以,在四选一元件74153上,输入在ms[3]的四个数分别为计数器毎位数字的四位二进制数的最高位,ms[2]表示第二位,ms[1]表示第三位,ms[0]表示每个数字的二进制数的最低位。
实验初时,由于对选择电路的不熟悉,动态扫描电路的数位显示顺序有误。
最后在最后的大实验中,改正了以往的错误,做出了符合规范的扫描显示电路。
问题二:
计数方法的选择
在实验初期的3~4天内,我用了三种不同的四位十进制计数电路。
因为对选择电路比较熟悉,开始使用了四个十选一模块分别对应计数器的各位,但是此方案操作大,结构繁琐,耗时多也容易错。
并且在开始没有正确处理好溢出信号,导致仿真时遇到结果不可预期的错误。
最终舍弃了这个不够经济的计数方法。
最终选定的是四片十进制计数器74160级联,输出端可以并行输出当前计时数据,并且此数据符合十进制的四位二进制表示,易于进入四选一电路进行数据分配。
在处理计数结束产生的溢出信号时,最终将溢出信号与反应信号共同控制计数使能端ENP从而实现了避免仿真时出现的“系统结果unexpected”。
问题三:
测试信号的逻辑实现问题
在计数器模块仿真与设计下载成功后,设计变得有头绪了很多,直到测试信号发生时,却出了一连串的问题,有的已经解决,有的还尚未总结。
比如:
蜂鸣器在random开始后一直响,resp与start信号在random信号有效时触发对test信号和计时信号无影响(清零后在random剩余时间里继续工作)。
当违例信号产生以后,random到来时,蜂鸣器仍持续鸣叫……
这一系列问题的解决对策有:
控制触发test信号的清零端,因为start与resp为下降沿触发按钮,常为高电平,使用CLRN=(start×resp+yichu)×(weili非)即可解决test信号在random有效时间内持续发光(或鸣叫)的问题。
除此之外还有一些未处理好的问题。
比如第一次计时后,计时与显示器均静止。
在下一个脉冲未到来之间,若计时器未清零或者start未触发,则random到来时,会在原计时基础上累积计时时间直至溢出。
预想方案是在原有的控制清零端基础上,增加“与random的非”,使random的上升沿即可触发计时器清零。
问题四:
下载到开发装置上后,许多没有用到的发光二极管以及发光元件发光。
解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生理刺激反应时间测试仪 实验报告 生理 刺激 反应时间 测试仪 实验 报告