




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江万里学院 本科毕业设计本科毕业设计 论文论文 2015 届 论文题目论文题目 心音波形采集与显示系统设计 英文 The design of heart sound waveform acquisition and Display 所在学院 电子信息学院 专业班级 电子信息工程 116 学生姓名 xx 学号 指导教师 职称 完成日期 2015 年 4 月 15 日 心音波形采集与显示系统设计心音波形采集与显示系统设计 X X 浙江万里学院电信学院电子 116 班 2015 年 4 月 摘摘 要要 在进入二十一世纪以来 随着国民生活水平条件的提高 不健康的饮食习 惯和作息习惯等的共同作用下 心血管疾病对人们健康的威胁越来越大 而心 音信号作为在临床最常见的诊断心血管疾病的依据 其信号有一般比较微弱 且采集过程中也容易受外界干扰等特点 根据医务人员的知识和经验对听到的 心音作出主观的分析判断 准确性较差 缺乏客观的指标 故针对当前心音信 号采集系统的不足 论述设计了一个以基于 STM32 单片机为控制核心 运用驻 极体话筒 A D 转换 TFT 显示 串口通信等技术手段的信号综合采集显示系统 该系统首先采用传感器对人体的心音信号进行采集 然后经过信号处理电路对 信号进行滤波放大等处理 最后通过控制电路将采集到的数据存储到单片机内 部的缓存区中并在 TFT 液晶屏上显示 结果表明 该系统能够采集到纯粹的心 音信号 最后可以在采集系统的板载 TFT 液晶上显示出心音信号的波形 这种 对心音信号的实时显示功能 能够极大的非常方便医生对病人心血管疾病的诊 断 另一方面也可以使的心血管疾病的诊断更准确 关键词 关键词 心音 传感器 信号处理 A D 转换 波形显示 Abstract In the 21st century with the improvement of the national standard of living conditions unhealthy eating habits and routines etc under the function of cardiovascular disease is more and more big threat to people s health The heart sound signals as the most common in clinical diagnosis of cardiovascular disease the signal is generally weak and in the process of acquisition is susceptible to interference characteristics according to the medical staff s knowledge and experience to hear heart sounds to make the analysis of the subjective judgment accuracy is poorer lack of objective indicators Therefore aiming at the shortcomings of the current heart sound signal acquisition system this paper designed A based on STM32 microcontroller as the control core using the electret microphone A D conversion TFT display serial port communication technology such as signal collection and display system The system first USES sensors to the human body heart sound signal acquisition and then through the signal processing circuit the signal filtering processing such as to enlarge the final by control circuit will be collected data stored in the microcontroller in the internal cache area and on the TFT LCD screen display Results show that the system can collect to the pure of heart sound signal finally can be displayed on the acquisition system onboard TFT LCD out of heart sound signal waveform This real time display function of heart sound signals it can greatly convenient doctor to the diagnosis of patients with cardiovascular diseases on the other hand also can make more accurate diagnosis of cardiovascular disease Key Words Heart sounds sensor signal processing A D conversion Waveform display 目目 录录 摘 要 3 ABSTRACT 4 1 引言 1 2 系统总体设计 3 3 硬件设计 4 3 1 心音信号采集模块 4 3 1 1 心音信号传感器的选择 4 3 2 心音信号放大滤波模块 5 3 2 1 LM324 运算放大器简介 5 3 2 2 心音信号前置放大电路 6 3 2 3 心音信号带通滤波电路 7 3 2 4 心音信号后级放大电路 8 3 2 5 心音信号放大滤波电路 PCB 绘制 9 3 3 心音信号处理显示模块 10 3 3 1 CPU 的选型 10 3 3 2 单片机最小系统及外围电路设计 11 4 软件设计 13 4 1 开发环境简介 13 4 2 主体程序部分以及流程图 14 4 3 系统初始化模块 16 4 4 时间日期显示模块 17 4 5 波形坐标显示模块 18 4 6 ADC 采集模块 19 4 7 LCD 显示模块 21 5 制作和调试 24 5 1 硬件制作和调试 24 5 2 软件的调试 25 5 3 整体调试结果 26 6 结论 28 致 谢 29 参考文献 30 附录 1 系统实物图 31 附录 2 实验原理图 32 附录 3 毕业设计作品说明书 33 浙江万里学院本科毕业论文 0 1 1 引言引言 改革开放以来 我们整个国家正在以远远超出我们预想的速度发展着 我 们借此极大的丰富着自身的生活水平 从以前的吃饱到现在的吃好 似乎只要 我们想就能摄取到多少的营养的 然而人们的生活观念却跟不上如此迅速发展 的物质水平 开始有越来越多的人们因为老旧 不健康的饮食习惯造成身体出 了问题 而心血管疾病是这其中占绝大数的疾病 并且在我国心血管疾病患者已 经是全球数量最多的 甚至有研究表明 在未来五年内 心血管疾病势必将成 为对人类健康威胁最大的疾病 1 与此同时 对自身健康的关注也是随着社会的发展而被越来越多的人们关 注起来 不只是局限于改善自我的饮食等生活习惯 并且还会定期去医院进行 各项检查 以预防一些严重影响身体健康疾病 但定期去医院做各项检查毕竟 是繁琐和昂贵的 并且不是每个人都有如此的时间和金钱 因此一些小型便携 式的医疗设备开始进入部分人们的视线中 随着越来越多的人们将更多的关注 度放到自身健康上 便携式医疗设备的需求在不久的将来会急剧增大 有需求便会有市场 心血管疾病作为我国目前患者数量最多的疾病之一 而对于其的预防和治疗的便携式医疗设备的市场需求应当是巨大的 鉴于在可 以预见的未来几年内 对于心血管疾病的预防和治疗将会是我国医疗卫生事业 的重中之重 本文研究了对心血管疾病的各种检测手段 发现现阶段的检测手 段主要还是依靠做心电图等传统的方式 一项国外的研究表明 2 医院里普遍 做的心电图的数据是不能简单的用来判断心脏有没有发生不正常的变化 因为 由心电传导组织不正常所引起的心脏机械活动障碍不会在第一时间反应到心脏 电信号 ECG 变化上 却能够表现在心音信号的变化上 所以对心音信号的分 析具有心电信号所不可替代的地位 3 医生在临床可以通过这些独特而鲜明的声音提供有关心脏情况的重要资讯 通过对心音信号的实时监测 我们可以在患者的心音信号进入非正常状态的第 一时间就开始医疗干预 而通常在第一时间得到的干预是最有效的治疗 但是 使用医用听诊器来诊断心血管病变不是简单的 它需要长期的训练以及深厚的 经验 4 而现代科技的进步促使医疗行业的从业人员们学习使用高科技设备来 对人体进行诊断 不再单单依靠医生的经验 5 针对心血管疾病这些特性 本 浙江万里学院本科毕业论文 1 课题主要的研究方向是便携式的心音波形采集与显示系统设计 采用医用听诊 器探头和空心皮管组合加上驻极体话筒收集心音信号 LM324 运算放大器来实 现信号的前端滤波放大模块 STM32 单片机用 AD 采集收集到的心音信号并处理 控制液晶屏显示心音信号以及相关信息的显示 实现心音采集显示系统的设计 本系统设计特点有 1 用医疗用听诊器听头结合驻极体话筒作为心音信号的采集设备 2 用 LM324 运算放大器构成简单的心音信号信号前端信号放大滤波电路 3 STM32 作为高性能 32 位单片机用于信号的采集 处理 显示 4 可实现心音信号的采集 显示以及存储 5 留有可扩展接口方便数据的共享 本文的主要章节分为 1 绪论 2 总体设计方案 3 硬件设计 4 软件设计 5 总结 浙江万里学院本科毕业论文 2 2 2 系统总体设计系统总体设计 本系统主要由心音信号部分组成 考虑到心音采集系统应有的便携 成本 可扩展 信号显示直观等特性 系统的心音采集传感器选择驻极体话筒搭配常 见的医用听诊器探头和空心皮管组合的方式 采集到的心音信号转化成电信号 经由前置放大滤波模块进行硬件放大滤波 而系统的心音信号放大滤波模块采 用常见的 LM324 运算放大器来构成 系统的主控部分采用 ST 公司的 STM32 单片机作为主控芯片 集成了 A D 转 换模块 最大 72M 的工作频率 各种完备的通信接口 更有 FSMC 可变静态存储 控制器用来控制 LCD 屏幕 本设计的系统框图如图 2 1 所示 图 2 1 心音采集显示系统框图 TFT 液晶 显示波形 心音信号的采 集 驻极体话筒 信号调理 LM324 组成 的放大滤波电 路 单片机 stm32 串口 SPI FLASH 上位机 波形存储 拓展部分 浙江万里学院本科毕业论文 3 3 3 硬件设计硬件设计 本系统主要由 3 个模块组成 分别是 1 心音信号采集模块 主要功能是将心音信号转化为模拟电信号 2 心音信号放大滤波模块 主要功能是将传感器产生的心音电信号进 行放大滤波 滤除高频以及低频杂波 得到纯粹的心音电信号 最后一 级减法器电路将上级放大滤波得到的高于 3 3V 的信号减小至能被 AD 采 集到的 0 3 3V 信号 3 心音信号处理显示模块 运用 AD 芯片将调制到 0 3 3V 的心音信号 转化为数字信号 主控芯片再将信号存储到 SPI FLASH 中以及串口实时 发送数据至上位机 并将心音信号的波形在 TFT 液晶屏上实时的显示 3 1 心音信号采集模块 目前 专业的医生诊断心血管疾病时是借用医用听诊器听心音的方式 听 诊器于 1816 年被发明 已经有了两百年的历史 现在已成为内外妇儿医生最常 用的诊断用具 本系统的心音采集用具便是使用医用听诊器来收集心音 方便 声音传感器接收到心音信号 3 1 1 心音信号传感器的选择 心音信号的采集系统最关键的就是对心音信号的采集 在采集到心音信号即 已经将声音转化为模拟电信号之后 可以采取对心音传感器得到的心音电信号 进行前级放大滤波 调制到合适的幅值 信号便可以被各种 A D 芯片识别 转 化成处理芯片可以处理的数字信号 接着才能对心音数字信号进行分析 作为心音信号采集的系统 采集心音为设计首先需要解决的问题 心音信 号 即指由于心肌收缩 心脏瓣膜关闭和血液撞击心室壁 大动脉壁等引起的 振动所产生的声音 如何将这些振动产生的声音转化成计算机系统能进行处理 的数字信号就得依靠声音传感器的作用了 声音传感器有很多类 常见的有电容式 动圈式以及驻极体式话筒这几种 浙江万里学院本科毕业论文 4 这三种之中 电容式话筒的灵敏度是最好的 对声音的反应特性也最为均衡 但受制于工作原理 必须工作在加以极化的电压上 且对噪声的反应也不理想 成本也高 动圈式话筒价格便宜 但是性能较其他两类差 灵敏度低 频响较 差 最后一类为驻极体话筒 它的灵敏度较高 价格也便宜 较为欠缺的是它 的指向性不够好 由于心音信号的频率范围为 20Hz 600Hz 6 属于我们人耳所能听见的低频 段声音人耳能听到的频带范围约 20Hz 20KHz 7 本系统应该选择一款灵敏度高 抗噪声好 性价比高的声音传感器作为本系统的心音传感器 经过综合比较之 后 决定使用在这一频段声音特性最佳的驻极体话筒作为心音传感器 3 2 心音信号放大滤波模块 心音由心音传感器输出后的信号并不能输入到单片机内部进行处理 这一 时期的信号可能相当微弱并且夹杂着非常多的噪声 所以在信号送到单片机或 者 AD 处理之前要先对信号进行放大和滤波 在这一电路的设计上 我们选取了 LM324 输入电压范围广 功耗小 可以单电源使用以及价格较为便宜的集成运 放芯片 非常适合用于小信号的放大电路设计之中 8 3 2 1 LM324 运算放大器简介 如图 3 1 所示 LM324 芯片内部集成了 4 个完全相同的运算放大器电路 封装是 DIP14 即 14 引脚的双列直插封装 芯片的 4 号 11 号引脚为芯片的电 源引脚 芯片内的四个运放公用这一个电源 除此之外 这四个运放完全独立 互不影响 图 3 1 LM324 引脚图 浙江万里学院本科毕业论文 5 如图 3 2 所示是一个单运放 LM324 即由 4 个这样的单运放组成 它有 5 个 引脚 V V 是正负电源引脚 VI 是运放的反相输入端 VI 是同相输入端 Vo 为运放输出端 Vi 引脚的输入信号与运放输出端 Vo 相位相反 Vi 引脚的 输入信号与运放输出端 Vo 相位相同 图 3 2 单运放 3 2 2 心音信号前置放大电路 由于心音信号本身微弱且高内阻源 不稳定 所以要求心音信号的前置放 大模块在输入心音信号时必须尽量减少对原始信号的影响 因此心音信号前置 放大电路的输入阻抗必须要非常大 只有这样才能满足采集的要求 尽量少的 对信号本身造成影响 前置放大电路不仅要能不对输入信号本身造成影响 其电路本身也不能对 电路产生大的噪声 且对温度变化的所造成的温漂都不能太大 以免性能不稳 定 对输出造成影响 在心音传感器采集过程中没法避免要和人体接触产生摩擦 而电路本身工 作产生的工频信号等等也都会混入心音信号中 产生共模干扰 9 所以前置放 大电路还需要有抑制共模干扰向差模干扰转化的作用 心音信号前置放大电路如图 3 3 所示 端口 P1 的第三引脚为前端心音信号 传感器的电信号输入端 为心音信号通过前置放大电路后经过 OUT1 端输出 输 入后端的带通滤波电路的中 考虑到心音信号在前置级增益过大的情况下 未 滤除的噪声信号也将会被放大 这样不利于后端带通滤波电路的工作 整体电 路的稳定性也将会受到一定的影响 查阅资料知道心音信号幅值大概在 10mv 10 左右 STM32 的 AD 信号输入为 0 3 3V 11 所以为了保证能够有效的 浙江万里学院本科毕业论文 6 获取心音信号但又不影响系统整体稳定性 我们把前置放大电路的增益暂时调 整为 10 倍 如图 3 3 系统的放大倍数为 1 R6 R5 R6 在图中为可变电阻 所 以只需要将 R6 的阻值设置为 R5 的 10 倍 即 10K 即可使放大倍数设置为 10 倍 图 3 3 心音信号前置放大电路 3 2 3 心音信号带通滤波电路 心音信号经过前置放大电路后的输出信号并没有去除信号采集过程中夹带 的工频干扰信号 心音传感器和皮肤的摩擦噪声干扰 人体呼吸噪音干扰 外 部环境噪声 芯片工作所产生的干扰信号 10 以及前置放大器产生的失调漂 移等 这些干扰信号一并通过前置放大电路放大了十倍 如果不去除这些噪声 在后置的放大模块输出中 这些噪声不仅会淹没心音信号 造成系统的功能无 法实现 查资料可以知道人体内产生的心音信号频率范围为从 20 600Hz 4 根 据这一特性我们可以设计一个截止频率的高通滤波器和一个截止频率20LfHz 的低通滤波电路 通过这个带通滤波电路来滤除出 20 600HZ 以外的600HfHz 一系列干扰信号 如图 3 4 所示即为截止频率为 20 600Hz 的心音带通滤波电路 图中的 IN2 端即为模块的输入端口 输入信号为从心音前置放大电路输出的心 浙江万里学院本科毕业论文 7 音信号 图 3 4 心音带通滤波电路 3 2 4 心音信号后级放大电路 STM32 芯片内部 A D 模块的输入电压范围为 0 3 3V 心音信号从传感器传 出时的初始电压经测量为几百毫伏 心音信号经前置放大电路 10 倍的增益后还 未达到 A D 模块的最佳输入电压范围 所以在经过无增益的带通滤波电路模块 后需加一级后级放大电路 将信号调节到 AD 的最佳输入电压范围 心音信号后 浙江万里学院本科毕业论文 8 级放大模块原理图如图 3 5 所示 其中 IN4 端输入即是 OUT3 端输出 输入的是 通过带通滤波电路后 20 600Hz 的心音信号 OUT4 端为心音信号经过后级放大 电路后由 P3 端口输出到单片机的 AD 输入端口进行 AD 转换 后级放大模块的放 大倍数计算方法为 R13 R12 在此可通过调节可调电阻 R13 的大小 获得相应 的放大倍数 图中设计的最大放大倍数可达 10 倍 另外在整个电路的设计过程 中应预先设有高于计算值的增益空间 这样才能在实际的电路制作调试中对各 级放大模块的放大倍数进行微调 达到最佳效果 图 3 5 心音后级放大电路 3 2 5 心音信号放大滤波电路 PCB 绘制 如图 3 6 所示为整个心音放大滤波模块的 PCB 绘制图 制作工具为目前最 流行的 Altium Designer 10 因为系统要求不高以及实验室制作 PCB 的条件限 制 我们采用了单面板进行布板 在绘制过程中不仅要考虑芯片的排版与走线 之间的配合 还要考虑好信号的流向是否一致 以防出现干扰信号对系统造成 影响 浙江万里学院本科毕业论文 9 图 3 6 心音前置放大电路 PCB 3 3 心音信号处理显示模块 信号的处理与波形的显示都是需要借助单片机来完成的 所以单片机是这 一部分的核心 它的性能直接关系到系统各个模块的功能是否能有效运作 下 面将对系统的单片机选择进行介绍 3 3 1 CPU 的选型 本系统所选用的单片机是 ST 公司的 STM32 系列单片机 具体型号为 STM32F103VCT6 它采用了基于 ARM Cortex 一 M3 32 位的高性能 RISC 内核 工 作频率最高可以设置到为 72 MHz 执行代码的效率为 1 25 DMips MHz 而 ARM7 ARM9 为 0 9 DMips MHz 相比而言 STM32 的代码执行效率比 ARM7 ARM9 高出 30 芯片采用了 LQFPl00 封装 多达 80 个用户可用 GPIO 除了模拟输入 I O 其他通用数字管脚可以承受 5 V 信号的输入 同时该芯片 内部还包含了 256KB 的 Flash 容量 48KB 的 SRAM 空间供用户使用 为方便使 用这些资源 芯片内部集成了灵活的静态存储器控制器 除了支持 SD 卡 SRAM PSRAM NOR 和 NAND 存储器协议外 还可以用来模拟 LCD 接口 6800 8080 等类似协议 当然该芯片内部还集成有非常丰富的增强型外设 包括了 3 个 12 浙江万里学院本科毕业论文 10 位 16 通道的 ADC 以及两个 12 位的 DAC 转换器 12 通道的 DMA 控制器 还有 16 位高级定时器 基础定时器 2 个硬件 12C 3 个硬件 SPI 2 个 rS 1 个 SDIO 控制器 5 个 USART 串口 1 个 USB2 0 接口和 1 个 CAN 总线协议 基本可 以囊括市面上所有常用的通信协议 非常适合应用与工业控制领域 此外 该 芯片还拥有非常宽的供电范围 2 0 3 6 V 工作温度为 40 105 足 够满足工业应用的需要 由于本系统需要将心音传感器收集到的模拟电信号转化为单片机能够处理 的数字信号 所以系统需要用到 A D 转化功能 可以选择 STM32 内部的 12 位 A D 转换器 也可以在系统中选择外置 A D 转换芯片进行 A D 转换 权衡性能 和成本 我们最终选择使用 STM32 内部的 12 位 A D 转换模块 3 3 2 单片机最小系统及外围电路设计 STM32单片机最小系统是非常简单的 只需要在芯片外围加上复位电路 晶 振电路以及下载电路即可组成一个STM32最小系统 甚至如果是在对工作频率要 求不高的系统中还可以简化外部晶振电路使用芯片内部的晶振 如图3 7为以 STM32F103VCT6芯片为主控的STM32单片机最小系统 图3 7 STM32VCT6最小系统 浙江万里学院本科毕业论文 11 图 3 8 STM32 最小系统 PCB 图 浙江万里学院本科毕业论文 12 4 4 软件设计软件设计 心音波形采集与显示系统软件系统主要包括系统初始化模块 万年历模块 LCD显示模块 ADC采集模块以及GUI波形显示模块 4 1 开发环境简介 Keil MDK 也称 MDK ARM Realview MDK I MDK uVision4 等 目前 Keil MDK 由三家国内代理商提供技术支持和相关服务 MDK ARM 软件为基于 Cortex M Cortex R4 ARM7 ARM9 处理器设备提供了 一个完整的开发环境 MDK ARM 专为微控制器应用而设计 不仅易学易用 而 且功能强大 能够满足大多数苛刻的嵌入式应用 如图 4 1 所示为 MDK 的界面图 界面左侧的窗口为工程文件管理窗口 用 于管理工程文件 界面标题栏下分别为菜单栏以及工具栏 界面右侧的大窗口 为文本编辑窗口 用于键入代码 界面最下的窗口为编译信息输出窗口 用于 在编译工程文件时输出编译的一些相关信息 图4 1 MDK工作窗口 浙江万里学院本科毕业论文 13 4 2 主体程序部分以及流程图 系统主程序流程图如图 4 1 所示 图 4 1 总体系统程序流程图 该程序主要实现了系统的初始化 包括时钟 按键 串口 LCD RTC以及 ADC的初始化 系统时间的显示 波形坐标以及UI的显示 心音信号的周期 ADC采集 心音波形的显示以及更新等功能 为了最大的简化主程序 使main程 硬件初始化 软件开始 LCD 绘制波形界面 ADC 采集信号并缓 存 串口输出数据 LCD 擦除波 形 延迟显示 LCD 显示系 统时间日期 采集 320 点 LCD 更新波 形 N Y 浙江万里学院本科毕业论文 14 序简练易懂 我们把各个模块的代码分别封装在子程序中 ST公司为STM32制作了可以供用户任意调用的库函数 用户只需要调用功能 已经封装好了的库函数就可以完成复杂的操作 极大的减少了编程人员的工作 量 简化了系统开发复杂度 如本系统的串口模块的设置就只有几句代码 之 后就只需使用printf函数便可以使用串口发送数据 系统主体代码如下 int main void u16 i STM Init All 系统模块初始化 while 1 Time Date Show 因为时间和日期动态显示 必须在主循环里 面 X Y ZuoBiao RED 绘制X Y坐标 线条颜色为红色 for i 0 i 320 i ADC采集320个点的心音信号 Wave Value i Get ADC Value 将采集到的数据 放到缓存数组中 printf d n Wave Value i delay ms 10 每次采集相距10ms Clear Wave BLACK 擦除上次显示的波形 擦除部分采用 黑色填充 Show Wave YELLOW 显示最新的波形 波形颜色为黄色 浙江万里学院本科毕业论文 15 4 3 系统初始化模块 函数名称 STM Init All 功 能 初始化所有配置 void STM Init All void GPIO PinRemapConfig GPIO Remap SWJ JTAGDisable ENABLE 只 SW 使能 JTAG 失能 程序里面的 SYSTEM 初始化操作 SystemInit 芯片时钟频率 滴答定时器初始化 delay init 延时函数初始化 uart init 9600 串口初始化为 9600bps HARDWARE 初始化操作 LCD Init 对 LCD 模块进行初始化 RTC Init 读取备份寄存器保存的 RTC 数值 Adc Init 里面包含了内置温度传感器的使能 温度传感器的初始化 NVIC Configuration 设置中断分组 2 2 位抢占优先级 2 位响应优先 级 POINT COLOR RED 设置字体为红色 时间汉字显示 Show Font 0 0 Chinese 11 16 POINT COLOR RED 每次显示完汉字以后都会变成背景色 所以必须重设 Show Font 16 0 Chinese 12 16 POINT COLOR RED LCD ShowString 32 0 时 分 LCD ShowChar 96 0 16 星期 Show Font 104 0 Chinese 13 16 POINT COLOR RED Show Font 120 0 Chinese 14 16 POINT COLOR RED 浙江万里学院本科毕业论文 16 Show Fonts 240 0 LCD Fill 0 60 319 239 BLACK 显示参数信息 4 4 时间日期显示模块 void Time Date Show void POINT COLOR RED LCD ShowNum 32 0 calendar hour 2 16 LCD ShowNum 56 0 calendar min 2 16 LCD ShowNum 80 0 calendar sec 2 16 switch calendar week case 0 Show Font 136 0 Chinese 21 16 POINT COLOR RED break case 1 Show Font 136 0 Chinese 15 16 POINT COLOR RED break case 2 Show Font 136 0 Chinese 16 16 POINT COLOR RED break case 3 Show Font 136 0 Chinese 17 16 POINT COLOR RED break case 4 Show Font 136 0 Chinese 18 16 POINT COLOR RED break case 5 Show Font 136 0 Chinese 19 16 POINT COLOR RED break case 6 Show Font 136 0 Chinese 20 16 POINT COLOR RED break 浙江万里学院本科毕业论文 17 函数名称 RTC IRQHandler 功 能 RTC 时钟中断 每秒触发一次 void RTC IRQHandler void if RTC GetITStatus RTC IT SEC RESET 秒钟中断 RTC Get 更新时间 if RTC GetITStatus RTC IT ALR RESET 闹钟中断 RTC ClearITPendingBit RTC IT ALR 清闹钟中断 RTC ClearITPendingBit RTC IT SEC RTC IT OW 清闹钟中断 RTC WaitForLastTask 在主循环中 Time Date Show 函数一直在循环执行 但只是将每秒改变一次 的时间数据在 LCD 上更新显示 真正再起作用的是 RTC IRQHandler 函数 此 中断函数每秒触发一次 每次触发该中断会调用 RTC Get 函数更新时间 RTC Get 函数内部封装了万年历算法 可以计算出从 1970 年开始的闰年平年 月份 时分秒等等 只要调用该函数便可以完成这些算法 4 5 波形坐标显示模块 void X Y ZuoBiao u16 LineColor u16 i for i 60 i 240 i 20 if i 60 i 120 i 180 i 240 POINT COLOR RED else POINT COLOR LineColor LCD DrawLine 0 i 320 i 浙江万里学院本科毕业论文 18 for i 20 i 320 i 20 if i 80 i 240 i 160 i 320 POINT COLOR RED else POINT COLOR LineColor LCD DrawLine i 60 i 240 该模块的主要功能即绘制用于显示波形的坐标系 可以直观的让使用者感 受当前波形的状态 LCD 坐标的绘制主要调用了 GUI 算法中画线的函数 而 GUI 画线的函数则是 通用的 唯一不同的是需要修改 LCD 底层驱动代码中画点的函数 这样就实现 了算法的通用性 方便了不同平台的移植 4 6 ADC 采集模块 STM32F103VCT6 内部集成了 3 个 12 位的 16 通道位逐次逼近型的模拟数字转 换器 即 AD 模块 16 个通道都可以进行单次 连续 扫描以及间断模式的 AD 转换 AD 模块最大转换速度为 1Mhz 1us 进行一次 AD 转换 本系统将 AD 模块 中的 ADC1 设置为单通道 单次转换模式 依靠软件处罚每一次 AD 转换 void Adc Init void ADC InitTypeDef ADC InitStructure GPIO InitTypeDef GPIO InitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOA RCC APB2Periph ADC 1 ENABLE 使能 ADC1 通道时钟 RCC ADCCLKConfig RCC PCLK2 Div6 设置 ADC 分频因子 6 72M 6 12 ADC 最大时间不能超过 14M PA1 作为模拟通道输入引脚 GPIO InitStructure GPIO Pin GPIO Pin 1 浙江万里学院本科毕业论文 19 GPIO InitStructure GPIO Mode GPIO Mode AIN 模拟输入引脚 GPIO Init GPIOA ADC DeInit ADC1 将外设 ADC1 的全部寄存器重设为缺省值 ADC InitStructure ADC Mode ADC Mode Independent ADC 工作 模式 ADC1 和 ADC2 工作在独立模式 ADC InitStructure ADC ScanConvMode DISABLE 模数转换工作在 单通道模式 ADC InitStructure ADC ContinuousConvMode DISABLE 模数转 换工作在单次转换模式 ADC InitStructure ADC ExternalTrigConv ADC ExternalTrigConv None 转换由软件而不是外部触发启动 ADC InitStructure ADC DataAlign ADC DataAlign Right ADC 数据右对齐 ADC InitStructure ADC NbrOfChannel 1 顺序进行规则转换的 ADC 通道的数目 ADC Init ADC1 根据 ADC InitStruct 中 指定的参数初始化外设 ADCx 的寄存器 ADC Cmd ADC1 ENABLE 使能指定的 ADC1 ADC ResetCalibration ADC1 使能复位校准 while ADC GetResetCalibrationStatus ADC1 等待复位校准结束 ADC StartCalibration ADC1 开启 AD 校准 u16 Get ADC Value void 设置指定 ADC 的规则组通道 设置它们的转化顺序和采样时间 在配置好之后设置采样周期 最快为 1 5 个周期 转换时间 采样周期 12 5 个 ADC 时钟周期 所以转换时间 1 5 12 5 14ADC 时钟周期 就是 1US 设置指定 ADC 的规则组通道 一个序列 采样时间 浙江万里学院本科毕业论文 20 ADC RegularChannelConfig ADC1 ADC Channel 2 1 ADC SampleTime 2 39Cycles5 ADC1 ADC 通道 采样时间为 239 5 周期 ADC SoftwareStartConvCmd ADC1 ENABLE 使能指定的 ADC1 的软件转换启动功能 while ADC GetFlagStatus ADC1 ADC FLAG EOC 等待转换结束 return ADC GetConversionValue ADC1 返回最近一次 ADC1 规则 组的转换结果 Get ADC Value void 函数由主循环调用 每调用一次 AD 转换即触发一次 能得到一个当前的 AD 值 心音信号就是靠这每一次采集转换成单片机内部的数 字信号 才能在 LCD 屏上显示出波形 4 7 LCD 显示模块 目前市面上的 LCD 都自带了液晶控制器 控制器的通讯接口也大都使用了 8080 或者是 6800 接口时序 二者的差别非常小 本系统使用的 LCD 自带的液 晶控制器为使用 8080 接口的 ILI9325 芯片 有 5 条控制信号线 分别为 CSX WRX RDX D CX RESX 其中 CSX 为片选信号 WRX 为写使能 RDX 为读使能 D CX 为数据 命令区分信号 RESX 为复位信号 如图 4 2 为 8080 接口时序 图 4 2 8080 接口时序 浙江万里学院本科毕业论文 21 我们可以使用 STM32 的普通 IO 口对 8080 接口时序进行模拟 但这是复杂 而且效率很低 ST 公司提供了另一种方法 用 FSMC 接口进行模拟 只需要通 过设置一些 FSMC 的初始化参数便能模拟出 8080 接口 readWriteTiming FSMC AddressSetupTime 0 x01 地址建立时间 ADDSET 为 2 个 HCLK 1 36M 27ns readWriteTiming FSMC AddressHoldTime 0 x00 地址保持时间 ADDHLD 模式 A 未用到 readWriteTiming FSMC DataSetupTime 0 x0f 数据保存时间 为 16 个 HCLK 因为液晶驱动 IC 的读数据的时候 速度不能太快 尤其对 1289 这个 IC readWriteTiming FSMC BusTurnAroundDuration 0 x00 readWriteTiming FSMC CLKDivision 0 x00 readWriteTiming FSMC DataLatency 0 x00 readWriteTiming FSMC AccessMode FSMC AccessMode A 模式 A writeTiming FSMC AddressSetupTime 0 x00 地址建立时间 ADDSET 为 1 个 HCLK writeTiming FSMC AddressHoldTime 0 x00 地址保持时间 A writeTiming FSMC DataSetupTime 0 x03 数据保存时间为 4 个 HCLK writeTiming FSMC BusTurnAroundDuration 0 x00 writeTiming FSMC CLKDivision 0 x00 writeTiming FSMC DataLatency 0 x00 writeTiming FSMC AccessMode FSMC AccessMode A 模式 A FSMC NORSRAMInitStructure FSMC Bank FSMC Bank1 NORSRAM1 这 里我们使用 NE4 也就对应 BTCR 6 7 FSMC NORSRAMInitStructure FSMC DataAddressMux FSMC DataAddressMux Disable 不复用数据地址 FSMC NORSRAMInitStructure FSMC MemoryType FSMC MemoryType SRAM FSMC MemoryType SRAM SRAM 浙江万里学院本科毕业论文 22 FSMC NORSRAMInitStructure FSMC MemoryDataWidth FSMC MemoryDataWidth 16b 存储器数据宽度为 16bit FSMC NORSRAMInitStructure FSMC BurstAccessMode FSMC BurstAccessMode Disable FSMC BurstAccessMode Disable FSMC NORSRAMInitStructure FSMC WaitSignalPolarity FSMC WaitSignalPolarity Low FSMC NORSRAMInitStructure FSMC AsynchronousWait FSMC Asynchronous Wait Disable FSMC NORSRAMInitStructure FSMC WrapMode FSMC WrapMode Disable FSMC NORSRAMInitStructure FSMC WaitSignalActive FSMC WaitSignalActive BeforeWaitState FSMC NORSRAMInitStructure FSMC WriteOperation FSMC WriteOperation Enable 存储器写使能 FSMC NORSRAMInitStructure FSMC WaitSignal FSMC WaitSignal Disable FSMC NORSRAMInitStructure FSMC ExtendedMode FSMC ExtendedMode Enable 读写使用不同的时序 FSMC NORSRAMInitStructure FSMC WriteBurst FSMC WriteBurst Disable 突发读写不允许 FSMC NORSRAMInitStructure FSMC ReadWriteTimingStruct 读写时序 FSMC NORSRAMInitStructure FSMC WriteTimingStruct 写时序 FSMC NORSRAMInit 初始化 FSMC 配置 FSMC NORSRAMCmd FSMC Bank1 NORSRAM1 ENABLE 使能 BANK1 浙江万里学院本科毕业论文 23 5 5 制作和调试制作和调试 5 1 硬件制作和调试 本系统是心音信号采集及显示系统 是用作处理心音信号的 整个系统想 要运行起来首先得要有硬件平台 不仅要有单片机电路 还要有信号的采集 滤波放大电路等的支持 软件是一个系统的灵魂 可硬件更是一个系统的基础 一个好的系统 其硬件平台一定是优秀的 不然再好的软件都无法弥补硬件上 的缺陷 在硬件制作过程中 首要的是保证硬件原理性的正确 要保证原理性的正 确 最基本的就是要保证芯片的连接不出错 如图 5 1 所示 系统硬件可分为 主控芯片模块 5VDC 电源模块 心音采集传感探头模块以及心音信号放大滤波 模块 其中心音采集传感探头模块采用了将驻极体话筒与医用听诊器探头结合的 方式来采集心音信号 即将医用听诊器的听筒部分去除 转而接上驻极体话筒 实际调试过程中发现此方式得到的传感信号较预期的几十毫伏电信号要大十倍 左右 大约为几百毫伏 因此 用这一方案构成的心音传感探头运作非常成功 超出预期值 浙江万里学院本科毕业论文 24 图 5 1 系统硬件实物图 心音信号放大滤波模块的制作过程非常顺利 因为只是简单的用几个 lm324 运算放大器设计几个放大滤波电路 但调试的过程却是整个系统中最花时间的 一项 由于本系统采用的是单电源供电 不能给运放芯片提供负电压 因此只 能牺牲芯片的数量 将几个运放模块构成 referee 电压 虚拟正负电压来使芯 片工作在正常状态 波形在每一级的放大模块的输出都得调试到最佳的电压状 态 否则在下一级放大电路中便会失调 波形的上部或者下部被截掉一部分 这些都不是我们所希望看到的 由于 lm324 并没有轨至轨输出特性 因此电压 输出范围不能达到芯片的电源电压 并且芯片的输入电压为 5V STM32 输入电 压是 3 3V 所以 在模块的最后加上一级减法电路将信号调制到 0 3 3V 也是 有必要的 STM32 最小系统板的绘制也是很有讲究的 单片机内部的 AD 模块的参考电 压是外部输入的 外部 reference 的稳定性和准确性直接影响着 AD 采集的准确 度 因此 AD 的 ref 输入的电压应先经过磁珠与主电源相连 接着在靠近引脚 的位置加几个滤波电容 这样才能保证 reference 电压的精确性 另外 STM32 的晶振负载电容必须焊接在远离芯片的一侧 不然会导致晶振 不起振 从而芯片不能正常工作 浙江万里学院本科毕业论文 25 5 2 软件的调试 软件是整个系统的灵魂 软件的调试一点儿也不比硬件的调试轻松 软件 由无数个字符码成 出现的问题也千奇百怪 小到一个字符的大小写都会让整 个程序不能正常运行 想要避
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大连淘宝代运营服务合同涵盖店铺优化及数据分析
- 说课课件公众号
- 语言文字规范知识培训教案课件
- 2025浙江省医疗机构安全保卫劳动合同
- 红色足迹课件
- 2025现代企业合同管理中存在的问题及解决的对策
- 农业发展农业科技投入优惠合作协议
- 红楼梦第3回课件
- 红楼梦判词课件
- 红楼梦元春课件
- 养老机构入住护理、风险评估表、计划表、记录、告知书等健康档案护理记录模板
- 汽车传感器的原理与应用课件
- 电梯每日巡视检查表
- 《健康评估技术》课件-7.《发绀》
- 《分析化学总复习》课件
- 《生物试卷分析》课件
- 皮肤科常见疾病瘙痒症护理的课件
- 2023年湖北黄石新港(物流)工业园区总工会协理员招考聘用笔试历年难易错点考题荟萃附带答案详解
- 电力电子技术(第3版)PPT全套完整教学课件
- 招投标结果申诉函
- 内部准驾证管理办法
评论
0/150
提交评论