3 天前 只看该作者 倒序浏览 阅读:2396 回复:2 本帖最后由 Killoser 于 2020-4-8 16:38 编辑呼吸机的原理和分类作者:东兴研究圈呼吸机为治疗呼吸衰竭患者重要手段。呼吸机用于机械辅助通气,实现帮助患者正常呼吸。当患者呼吸功能失常时,呼吸机可以模仿人的呼吸速率将含氧量不同的气体(21%-100%)送进肺部,并规律性地进行气体交换,帮助患者改善缺氧、二氧化碳滞留状态。医用呼吸机为三类医疗器械,常规家用呼吸机为二类医疗器械。根据 2017 年版《医疗器械分类目录》来看,家用呼吸支持设备(非生命支持)、睡眠呼吸暂停治疗设备属于二类医疗器械,一般用于家庭;治疗呼吸机(生命支持)、急救和转运用呼吸机、高频呼吸机、家用呼吸机(生命支持)属于三类医疗器械,兼具无创与有创的连接方式,多在医疗机构使用。有创呼吸机主要用于治疗重度呼吸衰竭的无意识患者,无创呼吸机是针对有呼吸意识的呼吸衰竭高危患者。从连接方式来看,主要为有创与无创呼吸机。无创呼吸机主要用于重症家监护病房、普通病房、家庭,治疗轻中度呼吸衰竭患者;有创呼吸机一般用于重症监护病房,治疗重度呼吸衰竭患者。
关键芯片技术壁垒高,决定呼吸机质量优劣与使用效果。以医用有创呼吸机来看,按照核心技术难度、供气方式分为低中高档,关键芯片技术决定了呼吸机质量的优劣。其中高档产品主要为外资产品,高档呼吸机运营的稳定性好,可靠性高,价格约为 35-40 万元,中档价格次之,价格约为 20-25 万元。美敦力PB560呼吸机的公开资料作者:朱玉龙/汽车电子设计微信公众号为缓解呼吸机供应短缺,将便携式的PB560呼吸机设计图纸全部开源,包括了软件、硬件(BOM+PCBA)、和结构图纸。如下图所示,我们可以理解下这个呼吸机包含哪些东西。呼吸机的基本功能为是辅助病人呼吸,包括辅助供氧的气路压力控制、整个回路的压力监控、回路的湿度监控,这些是基于医学的一套需求功能。在实际工作中,由于和人的性命相关,整个系统页包含自身的故障诊断功能,包括供电的高、低压报警、病人的窒息报警、湿度过高/过低报警,流速监控报警、供氧基本管路报警、呼吸机供电系统报警、电池系统故障报警、通讯报警等。美敦力的呼吸机基本功能 根据PB569里面的几块板子,包括Power Supply Board、Power Pack2、BuzzerBoard、CPU Board和电池板,整个系统结构是比较简单的。核心的就是我们之前汽车ECU里面,输入传感器检测和输出阀门和基于PWM的气泵控制。美敦力呼吸机电子控制原理图 这个产品的难度,如下图所示,由于这个市场是稳定的,需要强管制的产品。即使是美敦力开源,从PCBA的打样、找部件、烧录软件,这个工作需要挺长一段时间才能把产量提高,而且这些元器件设计选型可能比较老,在当前的条件下,你想批量的按着现有的材料造出来,还比较困难。呼吸机的供电整理开源原理图、PCB作者:公众号作者『strongerHuang』(黄工)从上面下载的第一部分,解压可以看到这个一个文件夹:Electrical Schematics,这里面就是相关的原理图。包含CPU、电源、蜂鸣器等一些板卡的原理图。在下载的第二部分里面包含PCB文件,你会发现CPU的封装类型:通过原理图和PCB,再结合公开的源文件(BOM),可以确定CPU的具体型号为:ST10F276Z5T3.(当然,开源的PB560呼吸机使用的控制器芯片除了ST10F276Z5T3芯片之外,还使用了另一款MCU (PIC18F66)作为电源管理控制器,同时还使用了CY7C67300控制器作为USB HOST)通过以上分析可以得出,开源的PB560呼吸机使用的CPU具体型号为ST10F276Z5T3。今天的STM32是在早期的ST10、STR7等产品的基础上发展而来,今天的STM32和早期的产品一样,发展出了多个系列。虽然部分早期的产品现在还在供货,但是,STM32已经替代了早期的产品,一些工具也不再更新,所以,现在不推荐大家使用早期的产品了。ST10系列是ST意法半导体的具有DSP功能的高性能16位CPU,采用0.18μmCMOS技术,最大64MHz时钟。ST10系列相比之前ST6、ST7系列MCU更新,目前官方还能找到一些相关资料。ST10F276Z5网址:https://www.st.com/en/microcontrollers-microprocessors/st10f276z5.html引脚信息:通过该引脚信息和上面原理图对比,能发现引脚完全对应,通过上面框图可以看见ST10系列MCU资源还是挺丰富,官方也有资料和推荐开发工具:Keil C166开发环境PB560呼吸机公开的源代码(ST10F276)使用的集成开发环境就是Keil C166,这个开发环境和我们使用Keil C51、 MDK差不多,只要你会其中一个,再去使用 Keil C166 就没有难度。1. Keil C166支持的芯片Keil C166相对于Keil C51、 MDK要小众一点,主要是支持一些16位的MCU产品: Infineon(英飞凌)的C16x、 ST10、 XC16x系列; Micronas(微开半导体)的C16x、 ST10、 XC16x系列; ST(意法半导体)的C16x、ST10、XC16x系列;具体请参看:http://www.keil.com/c166/chips.asp2. Keil C166开发环境下载地址:https://www.keil.com/download/product/Keil的相关下载安装和使用,可以参看的我整理的Keil系列教程,后台回复“Keil系列教程”查看更多内容。当然,ST10F276控制器除了Keil,还可以使用Altium的TASKING工具进行开发。软件源代码PB560呼吸机公开的源代码有点多,这个工程其实挺大的,占用空间大小约18M,有1400+个文件。我自认我去年配置的台式电脑配置也不差(9代处理器 16G内存 SSD),结果,编译了1分53秒(当然,与编译器、代码结构等有关):编译后的代码量:550K左右。main函数源代码: