基于STM32的心率检测仪设计与实现_第1页
基于STM32的心率检测仪设计与实现_第2页
基于STM32的心率检测仪设计与实现_第3页
基于STM32的心率检测仪设计与实现_第4页
基于STM32的心率检测仪设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要现代科学的发展,导致越来越多人开始重视自己的身体健康,他们往往会想在能力之余使用健身运动等方式来锻炼自身。你会发现,在健身房,健身达人或者是教练都会叮嘱新手去关注自己的心率节奏。一般来说,人的激烈的锻炼会造成心脏血压的上升,心率变化从而加剧。而心率恰恰就作为人们运动的警戒和灯塔,运动状态下,心率的平稳状态、是否处于正常范围内都是健身人士应该注意的地方,不管你健身的目的是为了什么,而这更多的是与自身体重、体制等的相关。与此同时,心率的表现也能让人们能及时发现身体的异样。心率不定往往会造成。心脏、心血管等疾病。但往往是如此致命的病,检测其的方式就很简单。而心率检测的作用,就是作为一个实时监控并且在危急时刻能警报你的装置,由此可得出心率检测仪对人们的作用十分重要。在这个系统设计上,采用了以STM32芯片中的F103系列芯片来作为总处理终端,在通过BUTTERWORTH滤波等之后将放大的心率信号进行除杂、去噪,也相对的对电路进行了优化。数据显示方面将用到一块OLED屏幕将个人的动态心率进行纪律以及同步在屏幕中显示出来,其显示的内容将包括心率的单独显示已经更显而易见的图标模式。利用心跳脉搏波形的特点以及心电图的基础将平均心率计算出来,从而展示出心率的“脉象图谱”。关键词:心率检测STM32动态光谱脉象图谱AbstractForhealthy,peopleoftenwanttoexercisethemselvesinwayssuchasfitnessexercisesinadditiontotheirability.Heartrateisexactlyanindicatorofexerciseintensity,anditsleveldirectlyaffectsthetrainingeffectofpeople,especiallythosewhowanttolosefat.Atthesametime,theperformanceoftheheartratecanalsoallowpeopletodetecttheabnormalbodyintime.Irregularheartratesoftenresult.Heart,cardiovascularandotherdiseases.Butoftensuchadeadlydisease,thewaytodetectitissimple.Theheartratemonitorisadevicethatcanmonitoryouinrealtimeandalertyouinanemergency,soyoucanseethattheheartratemonitorisveryimportantforpeople.TheheartratedetectorisdesignedwithSTM32F103asthecorecontrolterminalandsignalacquisitionanddetectionsystem,combinedwithdual-wavelengthfrequencydivisionmethodandoversamplertechnology,whichnotonlyimprovesthesignalresolution,improvesthesignal-to-noiseratio,butalsogreatlysimplifiesthecircuit.Digitalfilteringanddigitaldemodulationareusedtoseparatethetwo-waysignals.ThedatasidewilluseanOLEDscreentodisciplineandsynchronizeanindividual'sdynamicheartrate,whichwillincludeaseparatedisplayoftheheartrateinanalreadymorevisibleiconmode.Theaverageheartrateiscalculatedaccordingtothecharacteristicsofthepulsewaveformandthebasisofelectrocardiogram.Keywords:HeartratedetectionSTM32DynamicspectrumPulseconditionmap目录1绪论 11.1关于心率检测仪的研究背景 11.2心率检测仪的意义与目的 11.3关于心率检测仪的发展历程 22设计方案 32.1总体设计思想 32.2心率脉象图谱原理及实现 32.2.1心电图 32.2.2心率的算法 52.2.3脉象图谱的分析方法的研究 52.2.4脉图的判别方法 62.2.5光电容积脉搏波(PPG信号) 73硬件电路设计分析 93.1主控芯片 93.1.1芯片介绍 93.1.2低功耗特点 93.1.3主芯片电路设计 93.2MAX30100心率血氧模块 103.2.1MAX30100简介 103.2.2MAX30100传感器工作原理 113.2.3MAX30100电路设计 113.3OLED显示 123.4蓝牙模块 134软件部分设计分析 154.1主软件设计 154.2MAX30100 154.2.1MAX30100运作流程 154.2.2FIFO寄存器 224.3OLED 23总结 25参考文献 26致谢 27广东东软学院本科生毕业设计(论文)1绪论1.1关于心率检测仪的研究背景在越来越智能化的现代社会中,智能医疗已经开始慢慢步入寻常人家。对于人们来说,在越来越追求生活品质的现在,身体健康的需求同样是他们的刚需。在致力于解决现代医学看病容易预约难的情况下,便携式的只能家用健康医疗设备就体现出了它存在的意义——足不出户就能轻松做到健康检测和疾病预防。而心率检测的作用就是监控纪律心脏跳动的次数,也就是纪律心率的数据,可以直观的看出心率是否正常。一是在包括运动等情况下检测自己是否过度运动导致心率不稳定,二是预防大量心血管疾病的发生。心血管疾病的先兆几乎是肉眼无法见到的,甚至很多后期确诊的人都说感觉不到身体的变化。心血管疾病的突发性与细微程度都是让人们十分担忧的,患者在不知情的情况下,会突然发病,晕倒,甚至可能造成休克或者死亡,然而因为这个病所猝死的人不在少数。心率检测仪就是在持续监控某人在某段时间内的动态心率,做到记录、监控数据以及健康提醒的作用。1.2心率检测仪的意义与目的根据WTO给出的官方数据,心血管疾病在二零一八记录下来的全国患病率高达45%,与排名第二的肿瘤高出了10%左右。由我国给出的数据可以看到,每一千人就会有五个可能患有心血管疾病的人,而因这个而死亡的概率远超百分之四十。随着社会的发展一切都在变化,包括了人们的社交工作以及饮食方式,在这个情况下,如果我们不对此做出点什么改变,造成心血管疾病的原因只会逐渐增多。各种不健康的方式造成了心脏与循环系统的不健康,从而导致的心血管疾病已经开始对人类身体出示红灯警告,是健康的头号大敌。大量数据显示患病人数已经开始低龄化,越来多的年轻心血管患者的出现也让人们开始紧张了起来。心血管疾病出现先兆是细质的、轻微的,但是患病造成的后果却是致命的。也许在人们不去在意的顷刻间就有可能因为心脏病等的急发症而倒下甚至于失去生命。这类疾病的存在是相对慢性发作的,也就是一个人在社会隐性存在为患者可能性相对性也比较高。这样算下来,包括已在老年阶段的大量已经患有其他慢性疾病的人群,已经可能患有心血管疾病的其他年龄段的人群,基数已经很大了。不仅仅是医疗物资的大量消耗,医药资源、医疗护理人员等都是需要被大量输出或者耗费培养的,会对社会医疗资源造成极大的负担。在这个问题基础上,智能医疗的发展将帮助到人们很多。不断的科学进步使得人们不在需要每时每刻跑去医院检测或者是花太多的价钱去购买大仪器检测,比如专业的运动员已经健身专业选手们。而临床上广泛使用的Holter(动态心电图机)成本高,不适合在家庭长期使用。心率的最基础检测方式是监控心跳脉搏的次数,根据一定的算法去算出心率的数值。在这个基础下,设计出满足适于家庭使用,拥有便捷性、实用性且简单的效果的心率检测仪就有着重要的意义。1.3关于心率检测仪的发展历程心率检测仪的雏形可追溯到上个世纪初期,心电图的形成是因为一名老研究学者在鼓弄他仪器的电缆时偶然间触发的,在他悉心研究之后,最终全球第一幅完整的EGC图像诞生了。从此,心电路图像就开始被零零碎碎的一些医生运用在医科学中。直到在40年后ECG才正式进入临床应用,也在步入20世纪中期我们在开始正式运用动态心电图,人们才开始在影视中了解到这个东西。而进入千禧年后,智能科技踏入社会,当一切都在智能科技的支配下,一切都变得更加便利。包括APPLEWATCH、小米智能手环在内的智能检测设备都配备了心率检测这一功能。相比起国外科技起步较早,相对成型的情况下,国内虽然在医疗便携设备这边方面起步较低但是仍有不少新研究的。在2008年后国内的发展就犹如火箭一般发展十分迅速。更加先进的科学学术的教导,更加科学的技术发展,更加新颖的物质开始研创,国内的的医学设备也在跟着更新换代。人们不难发现,在这个科技发展如此迅捷的时代下,包括医学设备在内,国内外出现了更对相对更便携的设备。所有厂商发现,在现有的科学技术下,我们更加追求能够随时能用到的,能随时戴在身上的医学检测器,所以他们的研创目标换成了小。在这个前提下,完成低耗且美观易携带的目标就更加明确且相对容易实现了。直到现在,玲琅满目且各种形态的心率检测仪出现在公众视野,而这些恰好给关于心血管疾病的数据研究提供了量大且很好的参考。不过目前为止,国内的心率检测仪器做到比较好的厂家并不多,而且相对都是汲取外来创意的作品制作,研创发展的晋升空间空前巨大。在未来心率检测仪相关产品将会在智能规划使用、便携性美观设计以及人性化等方面进行发展,力求解决现阶段“求医难”的状况,并且使心率检测仪成为人们可以随时随地都能使用到的产品。因此,心率检测仪在未来肯定会发展状况是可观持续的。2系统总体设计2.1总体设计思想该设计在基于STM32控制板外,另一个主要的板块就是做到如何去采集到心率数据的样本。关于MAX30100,其在简易心率检测仪中使用量非常的大,是一个优质的心率监测器传感器。MAX30100利用其本身含有的LED和光电检测端来检测信号的接收,以显示心率数据。其工作原理等会在后面讲到。另外,在该系统中STM32是主要微控制器和数据处理器;利用OLED屏实现动态心率的实时监控,即数据显示;利用蓝牙串口可以将数据输出显示。电源将设置一个3.5V-8V的电源,在选择合适电源电压供给的情况下输出电源给各模块进行使用。结构图如下图2.1所示:图2.1整体结构图2.2心率脉象图谱原理及实现2.2.1心电图 心脏的跳动是有序,在医学学术上讲到的心电脉冲就是心电图的形成基本。当人体血液流动进入心脏时,血液的流向以及血压都会对心脏内壁造成压迫,从而使心脏肌肉形成了周期性的收缩与放松。而脉冲信号就是由于心脏肌肉收缩,并且在左右压差下传递产生的周期性的电信号。但是人体是一个导体,并且心脏脉冲也会血液中产生传播规律,而这就是脉搏的产生。从而说明了改脉冲信号,可以利用身体内任意一个电极去检测到,心电图(EKG或ECG)便是将这个原理进行的数据可观性的改变,即可视电信号。下图2.2显示的是心脉波形的截断:图2.2心电图心搏波形由上图可见的P波、T波、U波等。Q-R-S波在医学上会被统称为一个波群,即QRS波群。其中U波的存在就犹如空气中的氮气一般,正常心跳波频中U波的占比常常会达到50%以上、75%以下。如图2.2中,T波与P波之间的波形缓冲通常被称作为等电势线,而这正好的心电图形成的基线。波形及其波动间期如表2-1。表2-1心脉波形具体描述表2.2.2心率的算法前面有说到,人的身体能够在全身进行检测到心脏传出的电信号。当我们需要接收心脏通过肌肉收缩和放松造成了的血液流通管道的搏动以及血浆压力的周期性变化时,可通过在身体某些部位放置一个电极来实现,比如我们可以在身体部位上增加一个传感器,通过手指、手腕、胸腔等位置加一个压力传感器或者其他传感器,然后利用其他组件接收并且分析这个电信号。心率的计算方式也相对简单,在得到两个相邻峰的值之间的差值之后,需要进行心率换算。将每秒心率换算成每分钟心率,每分钟心跳的公式是:每分钟心跳=心率间隔(s)*60这个算式的存在是相对理想的,在无其他信号的影响下,并且心率信号已经处理得相对圆滑。2.2.3脉象图谱的分析方法的研究(1)时域分析法:主要是指在某时段将该一数据样本波形进行主观性的分析。在分析层面主要是弄清楚波型运动幅度的高度跟心率脉动的时相之间的相性关系。将会在波形的两个最值峰之间的差值、对应变量时间(t)、心率脉象图是收缩面积以及其舒张期面积的不同等上收集到相关的资料进行分析比对。(2)频域分析法:该一用法通常用于计算机器材上,基本上将心率跳动波简化成段。这时,段与段是相关联但是却独立的。每段都利用算法将这一时段的波形进行倍数放大转换,从而形成一个a倍的简谐振动(a为整数)。在这一基础上再对形成的图像波形进行分析。(3)速率图分析法:言下之意,根据瞬时速率的计算方法,将脉象图分成许多的片段,即形成脉象速率图(脉象微分图)。在微分波形的状态下,我们能对其原本细微的变化进行相当于放大一样的观察分析。速率图告诉我们的是在细微情况下的每个部分的脉象状况,但是却不能够整体观察,大多数下用于二次分析。(4)模糊识别法:例如电路突然接触不良等非常短的一段时间内或者是稳定区间内丢失的一部分数据造成的图像不连贯,我们称之为不清晰的图像,可以利用这个方法进行查漏补缺。利用数据类比重新定义心脉波形并代替其形成完成的脉图。但这个方法无法客观的完成分析,而且没有办法监测到严重不同的数据,也可能直接过滤掉正确信息。(5)时差图的识别:跟模糊识别法有点点相似之处,时差图的方式在更加科学的进行推到及查漏补缺,同时做到预测的作用。心脉的周期性电信号转播就是其成立的根本。除此之外还有自回归—滑动平均模型法、计算机分析法、综合性脉象图谱分析法等方法,综合性脉象图谱分析法适用性较高并且相对科学严谨,需要的参考数据很多,但通常情况下使用最多的还是时域分析法,而这个会更贴近心脉图的自然生成。2.2.4脉图的判别方法脉图的判读方法有多种。每个时间段内都指代了不一样的内容,比如在一个心脉跳动周期t内,将波形的不同形态分为t1、t2、ts等。心脏整个收缩放松的时期分为4个部分,t4心脏处于收缩阶段,而t5则处于放松阶段。在心脏内室血液流入动脉时,我们用t1来表示,这段时间脉图沿y轴快速上升,直到最高峰,这段波幅被称之为主波幅;这时心脏跳出射血期,血管压强降低,波形沿y轴开始缓慢下降,到达途中W点处时,正好是距离整个波幅2/3的高度。随后由于少量血液倒流造成的其他波幅类似于h3都是比较重要的波幅凸起。在心脏还是处于舒张期时,也就t5阶段,会在两个阶段中间形成一个落差低估,也就是图中的h4。随后缓慢的波形凸起与降中峡高度只差则被称之为重拨。另外,整个t4时期的面积在图中用As表示了,t5时期则用Ad表示。图2.3脉图分析的主要参数图2.4脉搏波形说明2.2.5 光电容积脉搏波(PPG信号)PPG信号的生成与人的皮外组织的部分不可被吸收光线有关,这部分光线在日常状态下都是在皮肤上造成漫反射自然流失。该信号的的显示就跟心电图波形相似,由各种信号波形组成。我们从下图的信号采集图中可以观察到,电信号的穿透有交直流周期交替显示,随着时间的流逝,这个周期性的电信号被相关接收器接收了之后会形成的连续信号便是我们称为的PPG信号。当中的交流信号部分就是我们日常能感受到的心跳信号,能清晰的看到一高一低的峰值。图2.5PPG信号采集示意图关于PPG信号波形的相关描述:(1)上升支:心脏的跳动的过程一般是先高压收缩心脏腔部分的肌肉,在这种情况下一般是心脏在往外输送或者导入血液,然后再释放压力,放松心腔的肌肉。PPG信号的谐波上升部分,经过一些计算能够看出心脏每周期送出血浆的容量等信息。(2)下降支:下降支的出现一般在心脏跳动的后半段,也就是上文说到的心脏腔肌肉放松。在这段时间内血管内部压强降低是,血液输出减少,输送进来的血液是因为压强差的原因进入心房。由于压强的原因,心瓣在关闭的瞬间还是会有小部分不要紧的血液倒流发生,而图中的下降支部分出现的小段曲线平缓后再急剧下降就是由这个造成的。而下降支能看出心压是否处于正常区间。图2.5PPG信号三个周期波形图

3硬件电路设计3.1主控芯片3.1.1芯片介绍 STM32F103系列终端微控制器在现阶段使用十分广泛,这在于它低成本、工艺简单、处理方便、低功耗且高品质的优点,其适用范围强大到不仅仅在微机处理上被运用到,在日常生活中的电子设备类如游戏手柄,遥控器等都能运用到该芯片。说完STM32F103的优点,我们来了解下其基本结构。STM32F103拥有极其效率的代码运行速度,这得益于它的三十二位标准精简指令集的ARMv7-M体系结构。除此之外还拥有八和十六位不同数位系统转换的数据处理内核。在十分优越的FLASH处理器与SRAM下,一般情况最高工作频率不会低于72MHz。STM32F103内部优越的设置为其良好的数据处理打下了基础,而它外设部分拥有多个引脚,相当于有设置了很多的I\O口。这样内外兼优的处理器在事实情况下很适合引用于该系统中。3.1.2低功耗特点 STM32F103所包含的众多模式中,低功耗模式是本系统中最为重点的一个部分,相当于空调的超节能模式,这是一个希望能随时带在身边利用的心率检测仪来说是十分必要的。低功耗模式下,也就是系统的睡眠模式下,能够随时唤醒CPU,但是其他非特殊情况下CPU始终在休眠状态,尽量最低限度的消耗能源。除了保留的一条用于唤醒的线,其他连接着包括SRAM、FIFO寄存器、回环整合信号、数字感知区域振荡器在内都处于休止中断中,直到在结束或者唤醒CPU后,整个系统会在最快的时间内进入运行状态。 除此之外,STM32F103还有个休眠模式。在这个模式开启后,系统将进入超低耗能模式。不再像低功耗模式一样只是单纯的将组件控制在低功耗运行状态,在启动之后系统甚至会自动切断除了唤醒与CPU之外的其他线路的电源,真正的做到整机休眠。它的唤醒条件也是十分简单,只要中断唤醒启动,CPU就会被事件唤醒,但是这个启动时间相对较长。3.1.3主芯片电路设计原理图如下图3.1-1,上拉3.3V电源用于复位电路,按下按钮后,内部电路会自动复位。各电源接口和地线必须接上,给各个IO口供电。图3.1主芯片电路原理图图3.2主芯片电路PCB图3.2MAX30100心率血氧模块3.2.1MAX30100简介MAX30100是一个经过多重优化的优秀传感器,能测量心率等多样信息。在结构上,MAX30100包含了检测模块和数据处理模块,检测模块下拥有LED、数据接收器等部分,数据处理部分主要包含了寄存器、数据传输等。在该系统中,便利用了MAX30100对样本进行心率检测并进行数据处理。给MAX30100提供的工作电压根据其工作书显示应为1.8V和3.3V,并可以通过软设备对其进行供电,待机电流可以忽略不计。这种情况下,能允许电源始终保持连接状态。其优点在于:(1)更加简洁的设计(2)光学尺寸为5.6mmx2.8mmx1.2mm的微小14针增强型系统级包装,光感传输MAX。(3)超低功耗的LED电流省电以及超低关断电流(典型值0.7µA),可延长电池寿命,可用于穿戴设备上。(4)高SNR可敏锐的捕捉动态心率运动成像,采样效率高,数据输出能力强。3.2.2MAX30100传感器工作原理使用这个传感器的方式很简单,手指接触传感器表面的玻璃层,不能被吸收的红外线部分光会传达到接受处,从而对样本的心率数据进行计算。心率的信息在这个过程中从电信号转换为光信号,又经过MAX30100转换成电信号,从而将数据信息做成已采集样本储存起来。图3.3MAX30100工作原理图3.2.3MAX30100电路设计 MAX30100的硬件电路没有集成与主控芯片和蓝牙电路,只是驱动这个传感器MAX30100的外接电路,他是由两个电源部分,一个是3.3V给MAX30100的LED电路供电。另外一个是1.8V给MAX30100自己供电。根据规格设计SCL、SDA、INT这三个引脚都有上拉电阻,电路是每个电源脚都有滤波电容,以滤除高频干扰。如下图所示:图3.4MAX30100电路原理图图3.5MAX30100开发板3.3OLED显示 与传统的屏幕显示技术是需要用到TFT背光玻璃板才能运行不一样,OLED屏幕显示的原理是利用了有机电激光显示。它的显示是利用一块涂抹有有机涂料的玻璃片,利用电流流过形成的感应造成类似于LED一样的发光显示。这个基础上不会像传统显示屏一样笨重,在工艺上做到更小、更省、更好。在另一个角度上来理解,就相当于省下了更多的资源。OLED被广泛的运用在有屏电子产品中,它的轻便性、可视性以及低成本低耗的高品质是LCD所不能媲美的。图3.6OLED连接图在4线SPI的读写模式下,设定的样本值都是8位,长度是因为内部寄存而定的。数据的传输一般是先高后低的,在SCLK的上升沿,按照一定的速率从SDIN移至内部特定的芯片——SSD1306。DC线为该芯片设置的数据的标志线,同时也分配给命令单元作为标志线使用。写操作的时序如图3.7所示:图3.7OLED的写入时序数据的读写分别由WR和RD信号接收,在写状态下,WR线将控制数据的写入,这个情况下RD将自动设置为1。(1)DC:高电平状态,写入数据;低电平状态与之相反(2)CS:用于显示屏的初始化,先1后0(3)WR:在WR线处于稳定高电平前将样本数值写入OLED屏内部的微型控制器内3.4蓝牙模块HC-05蓝牙模块有适用性强,数据传输性能较好的特点。一般的厂商在其低价且易融入板子的情况下会大量应用该模块。在在本系统中,蓝牙可以通过串口从而在电脑上进行简易的数据显示。蓝牙连接图如3.8。3.8蓝牙模块连接原理图

4软件系统设计4.1主软件设计 由于单片机的快速数据处理速度和易于编程的原因,单片机用于数据处理可以避免大量蓝牙数据传输。MAX30100通过I2C通信进行读取。平衡光电数据转化,然后确定脉搏,在测量脉搏后,随时间计算心率。4.2MAX30100I2C接口的最大速度为400KHz。该项目中,使用的通信技术为I2C通信,因此采样速率比传输速率慢。由于存储器写操作是通过I2C执行的,所以需要保证主控制芯片的高速通信操作,并且不影响其他子例程。4.2.1MAX30100运作流程在该传感器模块处于SpO2的模式下,会开启心率记录与调取的功能。遮罩HR_RDY。利用LED发出的光信号在手指上收集转化完成的PPG信号波形,完成采样。在此模式下中断将会在收集完每个数据样本之后在触发,即当FIFO仅剩一个空白空间时,产生中断。心率样本包括仅一个IR数据点。当读取FIFO数据寄存器时,终端HR_RDY位自动清零。新样本存储在新的读取指针位置,实际上,它是现在是FIFO中的第一个样本。图4.1心率模式下的数据采集和通讯时序MAX30100的I2C地址:0x57,数据存储在FIFO缓冲区中。它最多可以存储16个测量值,每个样本的大小为4个字节。前两个字节用于IR测量,后两个字节用于RED测量。由于FIFO指向相同的地址,因此用I2C无法读取FIFO缓冲区。您必须完成事务以使FIFO输出地址包含下一个值。MAX30100内置50/60Hz滤波器,在只需要检测脉冲心率信号的情况下,则只需红外线,也就是启用REDLED就可以了。由于采样率和脉冲宽度直接相互关联,我们可以通过更改LED的采样率和脉冲宽度,更改ADC分辨率。图4.2心率信号的采样率与脉冲宽度配置图4.2.1.1关于MAX30100的初始化 要开始从MAX30100读取数据,只需要做两件事:一是设置模式,也就是为其开启心率模式。二是设置红外灯的电流。所以我们需要将其初始化,包括设置中断使能以及模式的选择。 (1)中断使能:首先初始化的寄存器是中断口輸出使能INT,当触发中断后可设定是否输出到IO口,触发中断有温度触发、心率测量、血氧数据收集完成这几个使能中断的寄存器,读取中断寄存器后中断复位。 (2)模式选择:MAX30100包含了血氧心率等的模式,在该设计下直接选择了心率模式。在运行的状态下,可以转换成低耗模式,该模式开启后将直接进入节能模式。该模式适用于各种设计上。复位重置就是初始化上电状态,重启配置寄存器4.2.1.2数据读取流程数据读取基本是靠中断引脚触发主控芯片中断,触发中断后由主控芯片进行读取MAX30100的中断寄存器,从而判断是由哪个触发。例如温度中断就读取温度值,过一段时间再发送采集温度指令然后过一段时间产生中断,这样重复进行。血氧不用发送指令,当FIFO数据快满了后就会发出中断提醒单片机读取,进入待机和省电模式将会关闭这些功能。数据读取流程图如图4.3。图4.3数据读取中断4.2.1.3红外线数据读取及数字滤波设法将MAX30100设置为HR模式并读取原始IR数据后,绘制完成后,其外观应如图4.4所示:图4.4原始IR数据,可见振荡为了正确读取心律,我们需要去除DC信号,仅保留AC部分。可以使用以下两个方程式完成:w(t)=x(t)+∝∗w(t−1)y(t)=w(t)−w(t−1)y(t):是滤波器的输出x(t):当前输入/值w(t):中间值,类似于直流值的历史记录α:是滤波器的响应常数如果α=1,则一切都通过,如果α=0,那么没有任何直流去除通过。这样看来α的理想值应当相当接近1,所以我假设将α=0.95。structfifo_t{uint16_trawIR;uint16_trawRed;};dcFilter_tMAX30100::dcRemoval(floatx,floatprev_w,floatalpha){dcFilter_tfiltered;filtered.w=x+alpha*prev_w;filtered.result=filtered.w-prev_w;returnfiltered;} 一旦使信号通过直流去除滤波器,我们将获得类似于图4.5中的信号:图4.5红外信号通过直流去除滤波器正如图4.5中看到的那样,我们现在只剩下信号的AC部分,它在0DC值而不是50000左右振荡。为了进一步提高检测脉冲的能力,我们必须对信号进行差分处理。我们的脉冲是数据中突然出现最大变化的位置。但是,我决定实现均值中值滤波器,而不是仅仅采用差值来进一步清除信号。顾名思义,这将使我们的平均值产生变化。structmeanDiffFilter_t{floatvalues[MEAN_FILTER_SIZE];byteindex;floatsum;bytecount;};floatMAX30100::meanDiff(floatM,meanDiffFilter_t*filterValues){floatavg=0;filterValues->sum-=filterValues->values[filterValues->index];filterValues->values[filterValues->index]=M;filterValues->sum+=filterValues->values[filterValues->index];filterValues->index++;filterValues->index=filterValues->index%MEAN_FILTER_SIZE;if(filterValues->count<MEAN_FILTER_SIZE)filterValues->count++;avg=filterValues->sum/filterValues->count;returnavg-M;}将经过直流滤波的信号通过均值差滤波器后,我们得到了熟悉的信号,可以重新组装心电图(见图4.6)。图4.6均值差滤波后的IR信号如果仔细观察波形,数据中会有一些更高层次的和谐。它们在信号的底部尤为明显。如果将信号通过低通滤波器或带通滤波器,则可以轻松过滤掉它们。为了消除更高级别的谐波,我将在低通滤波器配置中使用Butterworth滤波器。从技术上讲,它是一个带通滤波器。而且,任何低通滤波器都可以与Butterworth一起工作相对容易。要实现此滤波器,必须建立两个变量:采样率(FS)和截止频率(FC)。MAX30100可用的最快采样率是1kHz,为了方便推断,最后选择配置采样率仅为100Hz的长脉冲宽度,因此,可以直接固定出我们的采样率为100Hz。接下来,我们需要选择截止频率。据资料显示,220BPM是危险的高心率,但在某些情况下仍然可以实现。因此,我选择将其作为截至频率。计算通过的最快频率:F=220BPM/60=3.66Hz假设要测量低至50BPM,则:F=50BMP/60=0.83Hz巴特沃斯滤波器工作需要归一化频率上:Rn=Fc/Fs因此,如果您的采样率不是100Hz,则Butterworth滤波器将开始截止不同的频率。考虑到我们的FS=100Hz和FC=10Hz,我们得到了Butterworth滤波器的以下代码:structbutterworthFilter_t{floatv[2];floatresult;};voidMAX30100::lowPassButterworthFilter(floatx,butterworthFilter_t*filterResult){filterResult->v[0]=filterResult->v[1];//Fs=100HzandFc=10HzfilterResult->v[1]=(2.452372752527856026e-1*x)+(0.50952544949442879485*filterResult->v[0]);filterResult->result=filterResult->v[0]+filterResult->v[1];}一旦传递了心电图观察信号,我们就会得到更加平滑的信号。图4.7Fs=100Hz和Fc=10Hz的巴特沃斯滤波信号。实际采样率Fs=75Hz,即Fc=7.5Hz这就是我们红外输出所要做的全部。在多次滤波过后能清楚的显示出干净的脉象显示图,在这基础上,我们就能用最基础的心率计算方式将需要的数据计算出来了。4.2.2FIFO寄存器该缓存器的方式进行储存读取,即先写入的数据在被读时也会先被读,但FIFO寄储器与一般的先入先出寄存器又有所不同,其拥有双口缓冲器,能实现数据双端同时进行。FIFO寄存器并没有外部读写地址线,这样使该FIFO寄存器的使用性有所提高了,但便利性缺降低了。例如它只能顺序写入数据和顺序读出数据,内部读写数据地址将按设定主动加1进行,无法利用地址线自由的决定读写数据地址或者指定地址,自由程度大大降低了。但FIFO的独特性令许多厂商在设计系统的时候将其应用上了。例如用于加快数据传输速率、用于处理量大且多的数据,用于匹配传输速率不一样的系统,这样就在低成本的情况下提高了系统的性能。该单片寄存器的导向结构有触发导向结构和零导向传输结构两种,这两种不同在于前者主体数据构造是利用了寄存器的数据陈列,而后者则是利用了双口RAM,其功能是载有读写地址指针。由FIFO的主体特征我们可以得出,当我们测试出数据样本之后,可以利用FIFO寄存器,利用代码去更改与读寄存器,从而去储存与读取数据,并通过访问将指针写入。FIFO寄存器可以通过I2C接口联通外部微控制器,从而可以进行数据通信,这样就可以在写入数据样本的同时将该调出的数据读出并通过计算方式传输信息进行显示。当我们将系统处于休眠模式时,该寄存器将进入从机模式。在处于该模式下的寄存器不能进行主动通信。但是系统是不可能处于长期非休眠状态的,在为了解决在该模式下芯片无法进行事件通知,需要在设计时加入了一个中断引脚,即当FIFO处于从机模式的情况下将管脚降到低电平。但是这个引脚的电源是需要一个上拉电阻来提供是。在选择该上拉电阻时,考虑到整体寄存器芯片的较低速运转即低耗能低电流的特性,加上该上拉电阻还要起到一个保护电路的作用,则将该电阻定为4.5K欧以上为更好的。在这个设计下,当外部微控制器接受到中断请求之后会通过该中断引脚进行中断,然后在微控制器读取中断处理器后将会得到是什么中断的设置。在进行特殊地址指针读取设置之后,内部读数地址将不会自动加1,这种情况下我们需要自己设置一下下一个地址。一般来说,FIFO每次读取的数据有四个,分别是红光高低位和红外高低位,处理心率的情况下只读取红外的两位就可以了。这时读取出来的ADC数据位置会有所出入,因此我们需要将读取得到的数据样本根据自身系统的分辨率进行数据位调整,如图4.8。图4.8样品读取和ADC数据排列4.3OLED以简易方便为原则的前提下,满足尽量小但是清晰的情况所以选择了分辨率为128x64的OLED屏幕,其中包含液晶屏的部分占有总组件的86%,有0.96寸的大小。OLED的驱动IC是具有内部升压功能的芯片SSD1306,因此,在设计中不需要专门设计升压电路[9]。为了实现心电图一样的显示,样本完成计算产生的数据波形以及心率的数据会显示在这个OLED液晶屏上。通过编写好的程序控制OLED内部的SSD1306,步骤跟MAX30100中的FIFO寄存器有相似之处,首先初始化,接着就可以将数据信息写入进行展示。这之间的数据显示与实时更新是同步的,OLED上的数据,会在下次数据写入时进行擦除,再初始化更新写入内容,一直进行这样的步骤。而数据的转输并且可控制的SSD1306是通过模拟SPI通信进行的。图4.9和图4.10分别为佩戴该心率检测仪处于正常状态下与运动后的心率展示图。图5.1正常状态下心率展示图5.2运动状态下心率展示

5总结在系统设计方面前前后后总共构思设计了很长一段时间。为了设计并实现出心电图的动态显示,查询了很多相关资料文献,更加了解ECG波形与PPG信号相关的内容。如何在关于心率计算传感器的选择在MAX30102、MAX30100以及S等相关芯片上最后选择了MAX30100。它相对便宜,而且在单单测量心率的数据样本上,单体承载的最大样本采集率为0.1-1KHz,并且与其对的样本分辨率可以达到10-17Bit的ADC分辨率,已经是绰绰有余的了。在进行信号放大及其滤波的时候,滤掉直流波后所选择的BUTTERWORTH滤波器更是一个十分简易的滤波器,操作相对简单而且在其推导下,能更精确的计算出心率的值。包括在电路设计上和PCB排布上、代码设计并应用在系统上在都花了挺多的心思。在设计时由于自身的经验不足以及技术不够过关,无法在原设计的基础上加入APP显示以及危险提醒,这确实为该系统美中不足的一个地方。还有就是MAX30100的设置在手指检测上,当其固定不稳时,检测到的数据是除此之外,系统中对于信号处理部分并没有做到过于完美以至于会出现信号断崖式中断的状态。在检测过硬件保证其正常性下把该以原因定在软件系统设计的不完善上。言下之意,该系统的改进空间十分大,现阶段缺陷还是会有很多,包括其精密程度,稳定程度等都仍需要有所优化。在现阶段的智能医学发展来说,心率检测仪的发展前景十分巨大,未来的智能科技发展以及计算机技术研创也会使其发展到一个更新的高度。在检测心率的基础上,心率检测仪可以增加APP辅助,人们能在APP中得到自己选定时间段里的心率监测,同时得到专家的意见以及建议,不再只是单单的自己观察自己监控,变得更加智能。

参考文献□[1]陈景霞,肖琳,路铭.基于STM32NUCLEO的心率检测仪设计.现代信息科技2019第3卷第4期P150-151,1542096-4706[2]涂颖,刘会衡.基于STM32的心率实时监测系统.电子制作2019第7期P11-131006-5059[3]陈孝英,杨济民.基于STM32血氧心率检测仪的研制[J].电脑知识与技术(15).[4]刘劲松,朱纯午,杨莉.一种基于STM32和PPG技术的腕戴式心率计设计.电子技术应用2016第42卷第10期P62-64,680258-7998[5]王毅,杨志,黄晓英,聂云浩,徐建.基于STM32单片机的人体心率采集系统.电子世界2016第20期P51-521003-0522[6]孟强,徐慧,万青苗.基于STM32的数据采集及显示系统的设计[J].电脑知识与技术,2013(13):251-254.[7]严洁.单片机原理及其接口技术[M].机械工业出版社,2010.[9]王梅艳.OLED技术及面临的技术问题探讨[J].现代显示,2006(10):37-40+12.[10]陈瑾艺.移动医疗产品App界面设计研究[D].南昌大学,2015.[11]徐迪.动态频谱接入综述[J].电子科技,2015,28(03):161-164.PAGE1致谢首先要感谢我的指导老师杨俊伟老师,他时工作繁忙,但在我毕业设计的每个阶段,他都悉心指导:从课题选取,到论文的撰写完毕,期间我的每一个进步和成绩无不倾注了老师的心血和汗水。其次,我要感谢大学里所有教过我课程的老师,在平时的学习中遇到困难时,他们总是耐心和我们探讨问题,帮助我们解决问题。此外,我要感谢本次评审的老师,感谢你们对我的毕业设计与论文提出宝贵意见和指导。最后,我要感谢我的母校,四年的大学生活使我受益匪浅,是母校给我提供了优良的学习氛围与条件。

电脑故障检测卡代码表

1、特殊代码"00"和"ff"及其它起始码有三种情况出现:

①已由一系列其它代码之后再出现:"00"或"ff",则主板ok。

②如果将cmos中设置无错误,则不严重的故障不会影响bios自检的继续,而最终出现"00"或"ff"。

③一开机就出现"00"或"ff"或其它起始代码并且不变化则为主板没有运行起来。

2、本表是按代码值从小到大排序,卡中出码顺序不定。

3、未定义的代码表中未列出。

4、对于不同bios(常用ami、award、phoenix)用同一代码代表的意义不同,因此应弄清您所检测的电脑是属于哪一种类型的bios,您可查阅您的电脑使用手册,或从主板上的bios芯片上直接查看,也可以在启动屏幕时直接看到。

5、有少数主板的pci槽只有一部分代码出现,但isa槽有完整自检代码输出。且目前已发现有极个别原装机主板的isa槽无代码输出,而pci槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同pci槽,有的槽有完整代码送出,如dell810主板只有靠近cpu的一个pci槽有完整代码显示,一直变化到"00"或"ff",而其它pci槽走到"38"后则不继续变化。

6、复位信号所需时间isa与pci不一定同步,故有可能isa开始出代码,但pci的复位灯还不熄,故pci代码停要起始代码上。

代码对照表

00.已显示系统的配置;即将控制INI19引导装入。

01处理器测试1,处理器状态核实,如果测试失败,循环是无限的。处理器寄存器的测试即将开始,不可屏蔽中断即将停用。CPU寄存器测试正在进行或者失败。

02确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。停用不可屏蔽中断;通过延迟开始。CMOS写入/读出正在进行或者失灵。

03清除8042键盘控制器,发出TESTKBRD命令(AAH)通电延迟已完成。ROMBIOS检查部件正在进行或失灵。

04使8042键盘控制器复位,核实TESTKBRD。键盘控制器软复位/通电测试。可编程间隔计时器的测试正在进行或失灵。

05如果不断重复制造测试1至5,可获得8042控制状态。已确定软复位/通电;即将启动ROM。DMA初如准备正在进行或者失灵。

06使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。已启动ROM计算ROMBIOS检查总和,以及检查键盘缓冲器是否清除。DMA初始页面寄存器读/写测试正在进行或失灵。

07处理器测试2,核实CPU寄存器的工作。ROMBIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。.

08使CMOS计时器作初始准备,正常的更新计时器的循环。已向键盘发出BAT命令,即将写入BAT命令。RAM更新检验正在进行或失灵。

09EPROM检查总和且必须等于零才通过。核实键盘的基本保证测试,接着核实键盘命令字节。第一个64KRAM测试正在进行。

0A使视频接口作初始准备。发出键盘命令字节代码,即将写入命令字节数据。第一个64KRAM芯片或数据线失灵,移位。

0B测试8254通道0。写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。第一个64KRAM奇/偶逻辑失灵。

0C测试8254通道1。键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。第一个64KRAN的地址线故障。

0D1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。已处理NOP命令;接着测试CMOS停开寄存器。第一个64KRAM的奇偶性失灵

0E测试CMOS停机字节。CMOS停开寄存器读/写测试;将计算CMOS检查总和。初始化输入/输出端口地址。

0F测试扩展的CMOS。已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。.

10测试DMA通道0。CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。第一个64KRAM第0位故障。

11测试DMA通道1。CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。第一个64DKRAM第1位故障。

12测试DMA页面寄存器。停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。第一个64DKRAM第2位故障。

13测试8741键盘控制器接口。视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。第一个64DKRAM第3位故障。

14测试存储器更新触发电路。电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。第一个64DKRAM第4位故障。

15测试开头64K的系统存储器。第2通道计时器测试了一半;8254第2通道计时器即将完成测试。第一个64DKRAM第5位故障。

16建立8259所用的中断矢量表。第2通道计时器测试结束;8254第1通道计时器即将完成测试。第一个64DKRAM第6位故障。

17调准视频输入/输出工作,若装有视频BIOS则启用。第1通道计时器测试结束;8254第0通道计时器即将完成测试。第一个64DKRAM第7位故障。

18测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。第0通道计时器测试结束;即将开始更新存储器。第一个64DKRAM第8位故障。

19测试第1通道的中断控制器(8259)屏蔽位。已开始更新存储器,接着将完成存储器的更新。第一个64DKRAM第9位故障。

1A测试第2通道的中断控制器(8259)屏蔽位。正在触发存储器更新线路,即将检查15微秒通/断时间。第一个64DKRAM第10位故障。

1B测试CMOS电池电平。完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。第一个64DKRAM第11位故障。

1C测试CMOS检查总和。.第一个64DKRAM第12位故障。

1D调定CMOS配置。.第一个64DKRAM第13位故障。

1E测定系统存储器的大小,并且把它和CMOS值比较。.第一个64DKRAM第14位故障。

1F测试64K存储器至最高640K。.第一个64DKRAM第15位故障。

20测量固定的8259中断位。开始基本的64K存储器测试;即将测试地址线。从属DMA寄存器测试正在进行或失灵。

21维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。通过地址线测试;即将触发奇偶性。主DMA寄存器测试正在进行或失灵。

22测试8259的中断功能。结束触发奇偶性;将开始串行数据读/写测试。主中断屏蔽寄存器测试正在进行或失灵。

23测试保护方式8086虚拟方式和8086页面方式。基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。从属中断屏蔽存器测试正在进行或失灵。

24测定1MB以上的扩展存储器。矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。设置ES段地址寄存器注册表到内存高端。

25测试除头一个64K之后的所有存储器。完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。装入中断矢量正在进行或失灵。

26测试保护方式的例外情况。读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。开启A20地址线;使之参入寻址。

27确定超高速缓冲存储器的控制或屏蔽RAM。全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。键盘控制器测试正在进行或失灵。

28确定超高速缓冲存储器的控制或者特别的8042键盘控制器。完成中断矢量之后的初始准备;即将调定单色方式。CMOS电源故障/检查总和计算正在进行。

29.已调定单色方式,即将调定彩色方式。CMOS配置有效性的检查正在进行。

2A使键盘控制器作初始准备。已调定彩色方式,即将进行ROM测试前的触发奇偶性。置空64K基本内存。

2B使磁碟驱动器和控制器作初始准备。触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。屏幕存储器测试正在进行或失灵。

2C检查串行端口,并使之作初始准备。完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。屏幕初始准备正在进行或失灵。

2D检测并行端口,并使之作初始准备。已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。屏幕回扫测试正在进行或失灵。

2E使硬磁盘驱动器和控制器作初始准备。从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。检测视频ROM正在进行。

2F检测数学协处理器,并使之作初始准备。没发现EGA/VGA;即将开始显示器存储器读/写测试。.

30建立基本内存和扩展内存。通过显示器存储器读/写测试;即将进行扫描检查。认为屏幕是可以工作的。

31检测从C800:0至EFFF:0的选用ROM,并使之作初始准备。显示器存储器读/写测试或扫描检查失败,即将进行另一种显示器存储器读/写测试。单色监视器是可以工作的。

32对主板上COM/LTP/FDD/声音设备等I/O芯片编程使之适合设置值。通过另一种显示器存储器读/写测试;却将进行另一种显示器扫描检查。彩色监视器(40列)是可以工作的。

33.视频显示器检查结束;将开始利用调节开关和实际插卡检验显示器的关型。彩色监视器(80列)是可以工作的。

34.已检验显示器适配器;接着将调定显示方式。计时器滴答声中断测试正在进行或失灵。35.完成调定显示方式;即将检查BIOSROM的数据区。停机测试正在进行或失灵。

36.已检查BIOSROM数据区;即将调定通电信息的游标。门电路中A-20失灵。

37.识别通电信息的游标调定已完成;即将显示通电信息。保护方式中的意外中断。

38.完成显示通电信息;即将读出新的游标位置。RAM测试正在进行或者地址故障>FFFFH。

39.已读出保存游标位置,即将显示引用信息串。.

3A.引用信息串显示结束;即将显示发现信息。间隔计时器通道2测试或失灵。

3B用OPTI电路片(只是486)使辅助超高速缓冲存储器作初始准备。已显示发现<ESC>信息;虚拟方式,存储器测试即将开始。按日计算的日历时钟测试正在进行或失灵。

3C建立允许进入CMOS设置的标志。.串行端口测试正在进行或失灵。

3D初始化键盘/PS2鼠标/PNP设备及总内存节点。.并行端口测试正在进行或失灵。

3E尝试打开L2高速缓存。.数学协处理器测试正在进行或失灵。

40.已开始准备虚拟方式的测试;即将从视频存储器来检验。调整CPU速度,使之与外围时钟精确匹配。

41中断已打开,将初始化数据以便于0:0检测内存变换(中断控制器或内存不良)从视频存储器检验之后复原;即将准备描述符表。系统插件板选择失灵。

42显示窗口进入SETUP。描述符表已准备好;即将进行虚拟方式作存储器测试。扩展CMOSRAM故障。

43若是即插即用BIOS,则串口、并口初始化。进入虚拟方式;即将为诊断方式实现中断。.44.已实现中断(如已接通诊断开关;即将使数据作初始准备以检查存储器在0:0返转。)BIOS中断进行初始化。

45初始化数学协处理器。数据已作初始准备;即将检查存储器在0:0返转以及找出系统存储器的规模。.

46.测试存储器已返回;存储器大小计算完毕,即将写入页面来测试存储器。检查只读存储器ROM版本。

47.即将在扩展的存储器试写页面;即将基本640K存储器写入页面。

48.已将基本存储器写入页面;即将确定1MB以上的存储器。视频检查,CMOS重新配置。

49.找出1BM以下的存储器并检验;即将确定1MB以上的存储器。.

4A.找出1MB以上的存储器并检验;即将检查BIOSROM数据区。进行视频的初始化。

4B.BIOSROM数据区的检验结束,即将检查<ESC>和为软复位清除1MB以上的存储器。.4C.清除1MB以上的存储器(软复位)即将清除1MB以上的存储器.屏蔽视频BIOSROM。.4D。已清除1MB以上的存储器(软复位);将保存存储器的大小。.

4E若检测到有错误;在显示器上显示错误信息,并等待客户按<F1>键继续。开始存储器的测试:(无软复位);即将显示第一个64K存储器的测试。显示版权信息。

4F读写软、硬盘数据,进行DOS引导。开始显示存储器的大小,正在测试存储器将使之更新;将进行串行和随机的存储器测试。.

50将当前BIOS监时区内的CMOS值存到CMOS中。完成1MB以下的存储器测试;即将高速存储器的大小以便再定位和掩蔽。将CPU类型和速度送到屏幕。

51.测试1MB以上的存储器。.

52所有ISA只读存储器ROM进行初始化,最终给PCI分配IRQ号等初始化工作。已完成1MB以上的存储器测试;即将准备回到实址方式。进入键盘检测。

53如果不是即插即用BIOS,则初始化串口、并口和设置时种值。保存CPU寄存器和存储器的大小,将进入实址方式。.

54.成功地开启实址方式;即将复原准备停机时保存的寄存器。扫描“打击键”

55.寄存器已复原,将停用门电路A-20的地址线。.

56.成功地停用A-20的地址线;即将检查BIOSROM数据区。键盘测试结束。

57.BIOSROM数据区检查了一半;继续进行。.

58.BIOSROM的数据区检查结束;将清除发现<ESC>信息。非设置中断测试。

59.已清除<ESC>信息;信息已显示;即将开始DMA和中断控制器的测试。.

5A..显示按“F2”键进行设置。

5B..测试基本内存地址。

5C..测试640K基本内存。

60设置硬盘引导扇区病毒保护功能。通过DMA页面寄存器的测试;即将检验视频存储器。测试扩展内存。

61显示系统配置表。视频存储器检验结束;即将进行DMA#1基本寄存器的测试。.

62开始用中断19H进行系统引导。通过DMA#1基本寄存器的测试;即将进行DMA#2寄存器的测试。测试扩展内存地址线。

63.通过DMA#2基本寄存器的测试;即将检查BIOSROM数据区。.

64.BIOSROM数据区检查了一半,继续进行。.

65.BIOSROM数据区检查结束;将把DMA装置1和2编程。.

66.DMA装置1和2编程结束;即将使用59号中断控制器作初始准备。Cache注册表进行优化配置。

67.82

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论