




免费预览已结束,剩余75页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文本科毕业设计论文 I 摘要 随着科技的发展 医疗器械不断完善 在医疗行业占据了越来越重要的地位 在输液过程中输液管中若出现气泡 气泡进入病人体内会对病人产生不利影响 当气泡体积大于 5mL 时甚至会致病人死亡 为保证病人的安全现在的输液泵中 通常包含了气泡检测这一项 超声波气泡检测技术已经比较成熟 并在医学上 被广泛应用 本此毕业设计的任务就是完成输液管中气泡检测计的设计 从而 完成输液过程的气泡的自动检测 本文的主要工作是研究超声波气泡检测在 STM32 上的实现 该技术主要将 超声波的散射衰减特性应用在输液泵上 即 超声波在介质中传播时 遇到声 阻抗不同的界面产生散乱反射 从而会引起超声波的衰减 当输液管中没有气 泡时 超声波反射系数很小 几乎没有衰减 有气泡时 由于空气和水的声阻 抗相差较大 超声波会有很大的反射系数 此时超声波衰减严重 本次毕业设计分为硬件部分和软件部分的设计 硬件部分设计了电路原理图 讨论了电路的可实现性以及 PCB 电路板的制作 其中电路设计主要包括超声波 传感器驱动电路设计 超声波转化的电信号放大电路设计 充放电电路设计 软件部分设计包括对 GPIO 配置程序设计 时钟配置程序设计 中断配置程序 设计等 并通过编程完成对 STM32 各端口输入输出配置和检测功能模块的实现 上述工作完成后用 Uvision3 对整个超声波检测系统进行调试 最后软硬件相结 合后完成对超声波信号的产生 发射 接收 检测 最终实现了对气泡的检测 本课题是在原有技术基础上做的一些探讨和新的检测方法的实现 具有一定 的现实意义 关键词 超声波 STM32 RC 时间常数 Uvision3 本科毕业设计论文本科毕业设计论文 II ABSTRACTABSTRACT With the development of science and technology medical devices continue to improve And they have occupied an increasingly important position It will adversely affect the patient when the air bubbles in the infusion tube go into patients bodies during the infusion When the volume of bubble is greater than 5mL it can even make the patient to death In order to ensure the patient s safety the current infusion pumps typically include the item of bubble detection Ultrasonic bubble detection technology is relatively mature and has been widely used in medicine field The task of the graduation project is to complete the design of air bubbles detection and get to detect the air bubbles automatically in the process of infusion finally This main work of the text is to study the realization of the ultrasonic bubble detection based on STM32 This technology is mainly used on infusion pumps and it applies the physical properties of ultrasonic scattering and attenuation this is when the ultrasonic wave propagate in the medium it will scatter and reflect with the meeting of the interface of different acoustic impedance which leads to fading When there s not air bubbles in the infusion tube the ultrasonic reflection coefficient is very small almost no decay On the contrary because of the large difference of acoustic impedance of air and water there will be a great reflection coefficient of ultrasonic Ultrasonic attenuates seriously this time The design is divided into hardware and software parts Hardware part includes the design of circuit schematic the discussion of the circuit realization and PCB board making The circuit includes a driver circuit of ultrasonic sensors amplifier of electronic signal switched from ultrasonic charging and discharging circuit Software part includes the design of GPIO configuration the clock configuration and interruption configuration Complete the STM32 configuration and detection functional modules of the input and output ports through programming And then we use Uvision3 for the whole debugging of ultrasonic inspection system Last but not the least the combination of hardware and software achieves the producing transmitting receiving detection of ultrasonic signal Ultimately it realize the detection of air bubbles This subject is just to do some research based on the original technology and 本科毕业设计论文本科毕业设计论文 III argue the implementation of new detection method So after all it has some practical significance KEY WORDS Ultrasonic STM32 RC time constant Uvision3 本科毕业设计论文本科毕业设计论文 IV 目录 第一章第一章 绪论绪论 7 1 1 引言 7 1 2 选题背景及意义 8 1 3 智能型输液泵 10 1 4 超声波 11 1 4 1 超声波的概念及定义 11 1 4 2 超声波性质 12 1 4 3 超声波的应用 13 1 5 论文的主要内容及章节安排 14 第二章第二章 超声波气泡检测的基本原理及方案设计超声波气泡检测的基本原理及方案设计 16 2 1 气泡检测常见方法 16 2 1 1 电容法 16 2 1 2 光电式 18 2 1 3 超声波式 18 2 1 4 方法小结 18 2 2 气泡检测超声波传感器 19 2 2 1 超声波空气传感器的设计原理 19 2 2 22 2 2 超声波发射与接收 21 2 2 3 信号检测与处理 22 2 3 超声波气泡检测原理 23 2 4 超声波气泡检测器系统总体方案设计 24 2 4 1 硬件总体方案设计 24 2 4 2 软件总体方案设计 25 第三章第三章 硬件系统的设计硬件系统的设计 26 3 1 超声波气泡检测系统工作原理超声波气泡检测系统工作原理 26 3 2 STM32 27 3 2 1 STM32 的选取及介绍 27 本科毕业设计论文本科毕业设计论文 V 3 2 2 STM32 芯片的引脚端口 29 3 3 STM32 电源管理 30 3 3 1 电源 30 3 3 2 上电复位 POR 和掉电复位 PDR 31 3 4 时钟控制 32 3 4 1 HSE 时钟 32 3 4 2 LSE 时钟 33 3 5 STM32 硬件配置 34 3 5 1 时钟配置 34 3 5 2 启动配置 35 3 5 3 电源配置 36 3 6 硬件系统的模块功能实现 39 3 6 1 发射部分驱动电路设计 39 3 6 2 接收部分放大电路设计 42 3 6 3 充电放电电路设计 45 3 6 4 报警电路设计 47 第四章第四章 软件部分设计软件部分设计 48 4 1 KEILUVISION3 简介 48 4 2 软件设计流程 48 4 3 GPIO 口配置 49 4 3 1 GPIO 口功能 49 4 3 2各端口软件配置程序编程 50 4 4 TIMER控制与时钟输出 51 4 4 1 时钟配置及配置程序编程 51 4 4 2PWM 输出配置及配置程序编程 53 4 5 DMA 配置及配置程序编程 55 4 6 ADC 配置及配置程序编程 57 4 7 报警信号软件设置 59 第五章第五章 系统调试系统调试 61 5 1 调试过程 61 5 2 调试结果 64 本科毕业设计论文本科毕业设计论文 VI 总结总结 66 参考文献参考文献 67 致致 谢谢 68 毕业设计小结毕业设计小结 69 附附 录录 70 程序代码 70 硬件电路原理图 后续 78 本科毕业设计论文本科毕业设计论文 7 第一章 绪论 1 1 引言 随着科技的发展 越来越多的领域需要对流体的流量或流速进行精确控制 如化工领域里对微量化学元素的检测和分析常需精确控制流量 医疗保健领域 中药液的流量与流速有时也要精确控制 静脉输液是一种最常用的临床治疗方法 是护理专业的一项常用给药治疗技 术 临床上应根据药物和患者情况不同配以适当的输液速度 输液过快 可能 会导致中毒 更严重时会导致水肿和心力衰竭 输液过慢则可能发生药量不够或无谓地延长输液时间 使治疗受影响并给患 者和护理工作增加不必要的负担 常规临床输液 普遍采用挂瓶输液 并用眼 睛观察 依靠手动夹子来控制药滴速度 不易精确控制输液速度 而且工作量 大 癌症病人的化疗和病危病人的抢救治疗需要使药物以恒定的速度灌注 通过调 节输入的速度和时间将化疗药物均匀持续地注入 既达到化疗的最佳效果 又 能最大限度地降低化疗药物的副作用 糖尿病人遭受病痛的折磨 需要以一定的速度给他们注射一定量的胰岛素 以往的做法基本上是一次注射较大剂量的胰岛素 这不仅造成巨大的浪费 而 且药效作用时间也较短 因此极需一种流量和流速能控的持续输送装置 来输 送少量的药物并精确控制其输送速度和流量 对老人 儿童和体质较弱者输送某些特殊药物 如麻醉药 降压药硝普纳 TPN 三磷酸吡啶核苷酸 等时 输液速度和用药量尤其需要认真精确控制 否则 会产生严重的后果 血液非常容易凝固 输血时很容易阻塞输液管 要保证血 流速度大于某一值 才能顺利输血 另外 不管是输液还是输血 普通输液器对输液完毕和输液过程中偶然出现 的故障 如气泡 阻塞等都不能自动报警 也不能及时切断输液通路 从而产 生不良后果 应该及时处理 以避免血液倒流或其他后果 因此需要用智能型 输液泵来控制药液的输送 并进行异常报警 长期以来点滴输液是临床上最普遍的治疗手段之一 实时检测输液管道中是 否存在空气气泡及气泡的大小直接关系到人的生命安危 为保障人身安全目前 临床上多采用人工观察检测输液管道内是否存在气泡 因此研制在输液中能自 动报警的气泡检测方法与系统具有非常重要的实用价值 对输液管道中空气气 本科毕业设计论文本科毕业设计论文 8 泡的探测从原理上讲主要有电容法 光电式 超声波方式等 然而电容式探测器 性能不稳定极易受电路干扰 光电式检测器相对于介质的颜色敏感对液柱和气 泡的区别不太明显 1 2 选题背景及意义 这次的课题是与深科医疗器械开发有限公司的一次项目合作 深科主要生产 输液泵 SK 600 系列和注射泵 SK 500 系列 产品主要面向海外市场 在医疗器 械行业具有一定的实力 超声波气泡检测是输液泵检测系统中不可或缺的一部分 它主要应用了超声 波的物理特性 声阻抗 单位为其中 为介质密度 C 为介ZC A 2 Kg m s A 质传播超声波速度 在同一介质中介质声阻抗 Z 一样 超声波几乎无衰减 在 不同介质中 声阻抗的差异会导致超声波在不同介质面上的反射造成能量的损 失 因而 当输液泵中没有气泡时 超声波基本上没有衰减 如果输液管中出 现气泡 液体与气体是为声阻抗之比相当大 超声波反射系数很大 而出现严 重的衰减 我们在紧贴输液管的两侧放有超声波传感器 一个用于发射超声波 一个用于接收超声波 两者功能互逆 深科在超声检测方面具有较成熟的技术 目前采用的是基于单片机 PIC16F616 14 脚封装 的超声波气泡检测 该技术主要是通过 PIC 产生一个 时间的高电平脉冲 来与超声波脉冲进行逻辑与的运算 然后在特定时间内对 脉冲计数 当脉冲数达到一定值是认为输液管中没有气泡 低于某一值时则认 为有气泡产生 同时为了减小误差 消除外接必要的干扰单片机采用对最近的 几组数据取平均值来取超声波脉冲数 判断是否有气泡 本着产品开发和功能扩展的战略大局 公司希望在原有的基础上采用 STM32 来取代 PIC 单片机对气泡进行判断 STM32 系列基于专为要求高性能 低成本 低功耗的嵌入式应用专门设计 的 ARM Cortex M3 内核 按性能分成两个不同的系列 STM32F103 增强型 系列和 STM32F101 基本型 系列 增强型系列时钟频率达到 72MHz 是同类 产品中性能最高的产品 基本型时钟频率为 36MHz 以 16 位产品的价格得到 比 16 位产品大幅提升的性能 是 16 位产品用户的最佳选择 两个系列都内置 32K 到 128K 的闪存 不同的是 SRAM 的最大容量和外设接口的组合 时钟频 率 72MHz 时 从闪存执行代码 STM32 功耗 36mA 是 32 位市场上功耗最低 的产品 相当于 0 5mA MHz 本次毕业设计的任务是选用 STM32F103RBT6 核完成超声波气泡检测 它与 其他系列单片机比较如表 1 1 所示 本科毕业设计论文本科毕业设计论文 9 表 1 1 STM32 与 PIC AVR 单片机的比较 单片机系列项目MEGA128PIC18F6680STM32F103RBT6 位数8832 是否单指令周期是是是 流水线技术3 级流水线双指令流水线3 级流水线 是否位 RISC 架构是是是 最高频率16M40M72M 硬件乘法器有 8X8 双周期 有 8X8 单周期 有 32X32 单周期 硬件除法器无无有 内部 Flash128K64K128K 内部 RAM4K3K20K 内部 EEPROM4K1K无 Flash 的 IAP 功能 AD 转换器个数112 AD 转换器通道数81616 AD 转换器位数101012 SPI 接口112 I2C 接口112 USART 接口213 定时计数器16 位 2 个 8 位 2 个 16 位 2 个 8 位 2 个 16 位 6 个 看门狗定时器 2 24 位 1 个 CAN 模块无1 个1 USB 模块无无1 ISP 下载支持支持支持 JTAG 调试支持不支持支持 编程支持C 汇编 basicC 汇编C 汇编 适合 C 编程程度适合一般很好 适合操作系统否适合不适合适合 价格25 元50 元22 元 以上表格对 AVR PIC 和 STM32 这三种系列的单片机进行比较 对象都选 择各个系列的 64 脚封装的芯片 其中 Mega128 和 PIC18F6680 均为其所在系列 中高端芯片 通过表格可以看出不管在处理速度 外围设备还是价格上 STM32 都具有非常大的优势 唯一不足之处就是 STM32 暂时还未集成内部 EEPROM 但可以使用 Flash 的 IAP 功能来替代 在可靠性上会更高 本科毕业设计论文本科毕业设计论文 10 在使用 C 语言编程方面 PIC 的体系结构是最不适合的 且编译软件无法与 GCC keilC 相比 在抗干扰方面 主要还是和开发者的水平有关 而一定要说哪种单片机的抗 干扰强 哪种弱 其实标准不一样 结果也不一样 人们普遍认为 PIC 的抗干 扰很强 但那是 C 系列 现在集成内部 Flash 的 F 系列要差许多 特别是早期 出厂的几批 AVR 系列单片机普遍被认为抗干扰性能是比较差的 曾经有人列 出了一个表格 使用日本的测试方法 结果是 AVR 排在了最后 其实对于一 般的应用也没什么问题 STM32 是由著名的 ST 公司生产的 该公司一直致力 于电机控制芯片的研发生产 而且做的很出色 抗干扰应该没什么问题 至少 不会比前两种差 1 3 智能型输液泵 智能型医用输液泵可满足多种功能的需求 归纳起来 输液泵能实现以下功 能 1 可精确测量和控制输液速度 2 可精确测定和控制输液量 3 液流 线性度好 不产生脉动 4 能对气泡 空液 漏液 心率异常和输液管阻塞等 异常情况进行报警 并自动切断输液通路 5 实现智能控制输液 智能型输液泵系统主要由以下几个部分组成 微机系统 泵装置 检测装置 报警装置和输入及显示装置 微机系统 整个系统的 大脑 对整个系统进行智能控制和管理 并对检测 信号进行处理 一般采用单片机系统 泵装置 整个系统的 心脏 是输送液体的动力源 检测装置 主要是各种传感器 如红外滴数传感器 负责对液体流速和流量 的检测 压力传感器 负责堵塞及漏液的检测 和超声波传感器 负责对气泡的 检测 等 它们可感应相应的信号 这些信号经过放大处理后 送入微机系统进 行信号处理 并得出控制指令 然后进行相应的控制操作 报警装置 传感器感应到的信号经微机处理后 得出报警控制信号 再由报 警装置响应 引起人们的注意 同时进行正确的处理 主要有光电报警 发光二 极管 和声音报警 扬声器和蜂鸣器 等 输入及显示装置 输入部分负责设定输液的各参数 如输液量和输液速度等 显示部分负责显示各参数和当前的工作状态等 多采用 LED 数码管显示和 LCD 液晶显示 输液泵的类型 固定点泵和非固定点泵 体外泵和可植入泵 机械泵和电子泵 推注式注射 器输液泵 GPIOA 配置 TIM1 通道 3 设置为复用推挽输出 传输速度设为 10MHz 本科毕业设计论文本科毕业设计论文 53 GPIO InitStructure GPIO Pin GPIO Pin 10 GPIO InitStructure GPIO Mode GPIO Mode AF PP GPIO InitStructure GPIO Speed GPIO Speed 10MHz GPIO Init GPIOA PC11 12 LED1 2 接口配置 设为推挽输出 传输速度为 10MHz GPIO InitStructure GPIO Pin GPIO Pin 11 GPIO Pin 12 GPIO InitStructure GPIO Speed GPIO Speed 10MHz GPIO InitStructure GPIO Mode GPIO Mode Out PP GPIO Init GPIOC 配置 PC 00 ADC Channel10 为模拟输入 GPIO InitStructure GPIO Pin GPIO Pin 0 PC 00 为 ADC Channel 10 模 拟输入端口 GPIO InitStructure GPIO Mode GPIO Mode AIN GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOC 4 4 Timer 控制与时钟输出 4 4 1 时钟配置及配置程序编程 时钟设置我们分十二步来走 1 将 RCC 寄存器重新设置为默认值 2 打开外部高速时钟晶振 HSE 3 等待外部高速时钟晶振工作 4 设 置 AHB 时钟 5 设置 APB2 时钟 6 设置 APB1 时钟 7 设置 PLL 8 打开 PLL 9 等待 PLL 工作 10 设置系统时钟 11 判断 是否 PLL 是系统时钟 12 打开要使用的外设时钟 时钟配置如下 void RCC Configuration void RCC 系统重置 以便进行调制 RCC DeInit 本科毕业设计论文本科毕业设计论文 54 使能 HSE RCC HSEConfig RCC HSE ON 等待直到 HSE 起振 HSEStartUpStatus RCC WaitForHSEStartUp if HSEStartUpStatus SUCCESS Enable Prefetch Buffer FLASH PrefetchBufferCmd FLASH PrefetchBuffer Enable Flash 2 wait state FLASH SetLatency FLASH Latency 2 HCLK SYSCLK RCC HCLKConfig RCC SYSCLK Div1 PCLK2 HCLK 1 RCC PCLK2Config RCC HCLK Div1 PCLK1 HCLK 2 RCC PCLK1Config RCC HCLK Div2 PLLCLK 8MHz 9 72 MHz RCC PLLConfig RCC PLLSource HSE Div1 RCC PLLMul 9 使能 PLL RCC PLLCmd ENABLE 等待 PLL 准备完成 while RCC GetFlagStatus RCC FLAG PLLRDY RESET 选择 PLL 作为系统时钟资源 RCC SYSCLKConfig RCC SYSCLKSource PLLCLK 本科毕业设计论文本科毕业设计论文 55 等待 PLL 作为系统时钟资源完成 while RCC GetSYSCLKSource 0 x08 使能 TIM1 RCC APB2PeriphClockCmd RCC APB2Periph TIM1 ENABLE 使能 GPIOA 时钟 RCC APB2PeriphClockCmd RCC APB2Periph GPIOA ENABLE 使能 GPIOC 时钟 RCC APB2PeriphClockCmd RCC APB2Periph GPIOC ENABLE 启动 AFIO RCC APB2PeriphClockCmd RCC APB2Periph AFIO ENABLE HSE 起振波形图如图 4 2 图 4 2 4 4 2PWM 输出配置及配置程序编程 PA10 输出的 PWM 选在 2 85MHZ 左右 由 TIM1 Frequency TIM1 counter clock ARR 1 其中 TIM1 counter clock 72 MHz SYSCLK 可得 TIM1 ARR Register 25 本科毕业设计论文本科毕业设计论文 56 再由 TIM1 Channel 3 duty cycle TIM1 CCR3 TIM1 ARR 100 50 得 CCR3 13 脉冲信号有如下程序生成 TIM1 Configuration TIM1CLK 72 MHz Prescaler 0 x0 TIM1 counter clock 72 MHz TIM1 ARR Register 25 TIM1 Frequency TIM1 counter clock ARR 1 TIM1 Frequency 2 77 MHz TIM1 Channel 3 duty cycle TIM1 CCR3 TIM1 ARR 100 50 时钟基础配置 TIM TimeBaseStructure TIM Period 25 TIM TimeBaseStructure TIM Prescaler 0 TIM TimeBaseStructure TIM ClockDivision 0 TIM TimeBaseStructure TIM CounterMode TIM CounterMode Up TIM TimeBaseInit TIM1 PWM1 模式配置 Channel3 TIM OCInitStructure TIM OCMode TIM OCMode PWM1 TIM OCInitStructure TIM OutputState TIM OutputState Enable TIM OCInitStructure TIM Pulse CCR3 Val TIM OCInitStructure TIM OCPolarity TIM OCPolarity High TIM OC3Init TIM1 TIM OCInitStructure TIM OutputState TIM OutputState Enable TIM OCInitStructure TIM Pulse CCR3 Val TIM OC3Init TIM1 TIM OC3PreloadConfig TIM1 TIM OCPreload Enable 本科毕业设计论文本科毕业设计论文 57 TIM ARRPreloadConfig TIM1 ENABLE TIM1 enable counter TIM Cmd TIM1 ENABLE 输出值结果如图 4 3 图 4 3 4 5 DMA 配置及配置程序编程 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高 速数据传输 无须 CPU 任何干预 通过 DMA 数据可以快速地移动 这就节省 了 CPU 的资源来做其他操作 两个 DMA 控制器有 12 个通道 DMA1 有 7 个通道 DMA2 有 5 个通道 每个通道专门用来管理来自于一个或多个外设对存储器访问的请求 还有一个 仲裁器来协调各个 DMA 请求的优先权 DMA 主要特性 12 个 独立的可配置的通道 请求 DMA1 有 7 个通道 DMA2 有 5 个通道 每个通道都直接连接专用的硬件 DMA 请求 每个通道都同样支持软件触 发 这些功能通过 软件来配置 在七个请求间的优先权可以通过软件编程设置 共有四级 很高 高 中等 和低 假如在相 等优先权时由硬件决定 请求 0 优先于请求 1 依此类推 本科毕业设计论文本科毕业设计论文 58 独立的源和目标数据区的传输宽度 字节 半字 全字 模拟打包和拆包 的过程 源和目标 地址必须按数据传输宽度对齐 支持循环的缓冲器管理 每个通道都有 3 个事件标志 DMA 半传输 DMA 传输完成和 DMA 传输出 错 这 3 个事件标志 逻辑或成为一个单独的中断请求 存储器和存储器间的传输 外设和存储器 存储器和外设的传输 闪存 SRAM 外设的 SRAM APB1 APB2 和 AHB 外设均可作为访问的 源和目标 可编程的数据传输数目 最大为 65536 DMA 配置程序如下 vu16 ADC RCVTab 160 0 define ADC1 DR Address u32 0 x4001244C void Init DMA void DMA InitTypeDef DMA InitStructure RCC AHBPeriphClockCmd RCC AHBPeriph DMA1 ENABLE 使能DMA 时钟 DMA DeInit DMA1 Channel1 DMA InitStructure DMA PeripheralBaseAddr ADC1 DR Address 外设地 址 DMA InitStructure DMA MemoryBaseAddr u32 内存地 址 DMA InitStructure DMA DIR DMA DIR PeripheralSRC dma传输方向单 向 DMA InitStructure DMA BufferSize 32 设置DMA在传输时缓冲区的长度 word DMA InitStructure DMA PeripheralInc DMA PeripheralInc Disable 设置 DMA的外设递增模式 一个外设 DMA InitStructure DMA MemoryInc DMA MemoryInc Enable 设置DMA 本科毕业设计论文本科毕业设计论文 59 的内存递增模式 DMA InitStructure DMA PeripheralDataSize DMA PeripheralDataSize HalfWord 外设数据字长 DMA InitStructure DMA MemoryDataSize DMA MemoryDataSize HalfWord 内存数据字长 DMA InitStructure DMA Mode DMA Mode Circular 设置DMA的传输模 式 连续不断的循环模式 DMA InitStructure DMA Priority DMA Priority High 设置DMA的优先级 别 DMA InitStructure DMA M2M DMA M2M Disable 非内存到内存 DMA Init DMA1 Channel1 DMA ITConfig DMA1 Channel1 DMA IT TC ENABLE DMA通道1传输 完成中断 DMA Cmd DMA1 Channel1 ENABLE 4 6 ADC 配置及配置程序编程 12 位 ADC 是一种逐次逼近型模拟数字转换器 它有 18 个通道 可测量 16 个外部和 2 个内部信号源 各通道的 A D 转换可以单次 连续 扫描或间断模 式执行 ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高 低阀值 值 ADC 主要特征 12 位分辨率 转换结束 注入转换结束和发生模拟看门狗事件时产生中断 单次和连续转换模式 从通道 0 到通道 n 的自动扫描模式 自校准 带内嵌数据一致的数据对齐 通道之间采样间隔可编程 规则转换和注入转换均有外部触发选项 间断模式 双重模式 带 2 个或以上 ADC 的器件 本科毕业设计论文本科毕业设计论文 60 ADC 转换时间 STM32F103xx 增强型产品 ADC 时钟为 56MHz 时为 1 s ADC 时钟为 72MHz 为 1 17 s STM32F101xx 基本型产品 ADC 时钟为 28MHz 时为 1 s ADC 时钟为 36MHz 为 1 55 s STM32F102xxUSB 型产品 ADC 时钟为 48MHz 时为 1 2 s ADC 供电要求 2 4V 到 3 6V ADC 输入范围 VREF VIN VREF 规则通道转换期间有 DMA 请求产生 程序如下所示 void Init ADC void ADC InitTypeDef ADC InitStructure RCC APB2PeriphClockCmd RCC APB2Periph ADC1 ENABLE ADC DeInit ADC1 ADC1 configuration ADC InitStructure ADC Mode ADC Mode Independent ADC InitStructure ADC ScanConvMode DISABLE 单通道 ADC InitStructure ADC ContinuousConvMode ENABLE 单通道连续 ADC InitStructure ADC ExternalTrigConv ADC ExternalTrigConv None 软件控制 ADC InitStructure ADC DataAlign ADC DataAlign Right ADC InitStructure ADC NbrOfChannel 1 ADC Init ADC1 ADC1常规通道10配置 ADC RegularChannelConfig ADC1 ADC Channel 10 1 ADC SampleTime 13Cycles5 使能ADC DMA ADC DMACmd ADC1 ENABLE 本科毕业设计论文本科毕业设计论文 61 ADC Cmd ADC1 ENABLE 下面是ADC自动校准 开机后需执行一次 保证精度 使能 ADC1 复位端口寄存器 ADC ResetCalibration ADC1 检测ADC1末端复位端口寄存器 while ADC GetResetCalibrationStatus ADC1 开始 ADC1端口 ADC StartCalibration ADC1 检测ADC1末端 复位 端口寄存器 while ADC GetCalibrationStatus ADC1 ADC自动校准结束 开始ADC1 软件转换 ADC SoftwareStartConvCmd ADC1 ENABLE 4 7 报警信号软件设置 在输液管中 出现气泡是一种意外事故 而在绝大多数情况下输液管中是没 有气泡的 设计报警部分时 正是考虑到出现意外事故的时间可能非常短暂 不得不有意的使报警时间有所延长 如在对数据进行分析后 判定没有气泡 则使得 LED1 亮 LED2 灭 不做延时继续进行数据分析 加快检测速度 出现 气泡时 设置 LED1 灭 LED2 亮延时 1S 左右以便让人观察到 也就是将检测重 点放在气泡出现时 软件实现如下 while 1 unsigned long dianya temp unsigned long base temp 0 xE8B 设置比较基值 dianya temp Get dianya 调用求均值函数 if dianya temp base temp 判断报警 GPIO SetBits GPIOC GPIO Pin 11 将 PC 11 配置为高电平 本科毕业设计论文本科毕业设计论文 62 LED1 亮 GPIO ResetBits GPIOC GPIO Pin 12 else GPIO ResetBits GPIOC GPIO Pin 11 GPIO SetBits GPIOC GPIO Pin 12 delayms 1000 延时 1 秒左右 求 ADC 采样均值函数 unsigned long Get dianya void int i 0 unsigned long dianya 0 for i 0 i 5 延时约 1ms 程序 static void delayms INT16U cnt INT16U i while cnt for i 0 iDR 地址 define ADC1 DR Address u32 0 x4001244C vu16 ADC RCVTab 160 0 TIM TimeBaseInitTypeDef TIM TimeBaseStructure TIM OCInitTypeDef TIM OCInitStructure TIM BDTRInitTypeDef TIM BDTRInitStructure u16 CCR3 Val 13 typedef unsigned int INT16U ErrorStatus HSEStartUpStatus Private function prototypes void RCC Configuration void void GPIO Configuration void void NVIC Configuration void static void delayms INT16U cnt void Init DMA void void Init ADC void 本科毕业设计论文本科毕业设计论文 73 unsigned long Get dianya void Function Name main Description Main program Input None Output None Return None int main void ifdef DEBUG debug endif System Clocks Configuration RCC Configuration NVIC Configuration NVIC Configuration GPIO Configuration GPIO Configuration Init DMA Init ADC TIM1 Configuration TIM1CLK 72 MHz Prescaler 0 x0 TIM1 counter clock 72 MHz TIM1 ARR Register 25 TIM1 Frequency TIM1 counter clock ARR 1 TIM1 Frequency 2 77 MHz TIM1 Channel 3 duty cycle TIM1 CCR3 TIM1 ARR 100 50 Time base configuration TIM TimeBaseStructure TIM Period 25 TIM TimeBaseStructure TIM Prescaler 0 TIM TimeBaseStructure TIM ClockDivision 0 TIM TimeBaseStructure TIM CounterMode TIM CounterMode Up TIM TimeBaseStructure TIM RepetitionCounter 0 TIM TimeBaseInit TIM1 PWM1 Mode configuration Channel3 本科毕业设计论文本科毕业设计论文 74 TIM OCInitStructure TIM OCMode TIM OCMode PWM1 TIM OCInitStructure TIM OutputState TIM OutputState Enable TIM OCInitStructure TIM Pulse CCR3 Val TIM OCInitStructure TIM OCPolarity TIM OCPolarity High TIM OC3Init TIM1 TIM OC3Init TIM1 TIM OC3PreloadConfig TIM1 TIM OCPreload Enable TIM ARRPreloadConfig TIM1 ENABLE TIM1 enable counter TIM Cmd TIM1 ENABLE TIM CtrlPWMOutputs TIM1 ENABLE while 1 unsigned long dianya temp unsigned long base temp 0 xE8B dianya temp Get dianya if dianya temp base temp GPIO SetBits GPIOC GPIO Pin 11 将 PC 11 配置为高电平 LED1 亮 GPIO ResetBits GPIOC GPIO Pin 12 else GPIO ResetBits GPIOC GPIO Pin 11 GPIO SetBits GPIOC GPIO Pin 12 delayms 1000 Function Name RCC Configuration Description Configures the different system clocks Input None Output None Return None 本科毕业设计论文本科毕业设计论文 75 void RCC Configuration void RCC system reset for debug purpose RCC DeInit Enable HSE RCC HSEConfig RCC HSE ON Wait till HSE is ready HSEStartUpStatus RCC WaitForHSEStartUp if HSEStartUpStatus SUCCESS Enable Prefetch Buffer FLASH PrefetchBufferCmd FLASH PrefetchBuffer Enable Flash 2 wait state FLASH SetLatency FLASH Latency 2 HCLK SYSCLK RCC HCLKConfig RCC SYSCLK Div1 PCLK2 HCLK 1 RCC PCLK2Config RCC HCLK Div1 PCLK1 HCLK 2 RCC PCLK1Config RCC HCLK Div2 PLLCLK 8MHz 9 72 MHz RCC PLLConfig RCC PLLSource HSE Div1 RCC PLLMul 9 Enable PLL RCC PLLCmd ENABLE Wait till PLL is ready while RCC GetFlagStatus RCC FLAG PLLRDY RESET Select PLL as system clock source RCC SYSCLKConfig RCC SYSCLKSource PLLCLK Wait till PLL is used as system clock source while RCC GetSYSCLKSource 0 x08 TIM1 clock enable RCC APB2PeriphClockCmd RCC APB2Periph TIM1 ENABLE 本科毕业设计论文本科毕业设计论文 76 启动 AFIO RCC APB2PeriphClockCmd RCC A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 01《运动的描述》-2025高中物理水平合格考备考知识清单+习题巩固
- 【2025秋高中英语】选择性必修三单词默写
- 2023-2024学年江苏省苏州市高二下学期6月期末考试数学试题(解析版)
- 2025届广东省深圳市高三模拟演练检测语文试题(解析版)
- 2025年秋三年级上册语文同步教案 语文园地三
- 环境污染课件
- 风口阻力完整版本
- 作业记录统计管理制度
- 供暖公司仓储管理制度
- 供水公司技术管理制度
- 十一学校小升初入学测试数学真题及详细解答
- 婚内赌博欠债协议书范本
- 造价咨询项目管理制度
- 徐圩港区疏港航道整治工程报告书
- XX公司事故隐患内部报告奖励制度1
- 儿童重症肺炎护理常规
- 装饰装修施工方案
- 骨科手术切口感染的预防与控制
- 影视制作基地装修施工合同
- 2025年广西职业院校技能大赛高职组(中药传统技能赛项)参考试题库及答案
- 电动车售后维修流程与服务质量提升
评论
0/150
提交评论