产品设计、开发人员经常被要求设计一系列产品,以覆盖低成本的低端产品和高成本的高端产品。对设计团队来说,一旦硬件出现问题,他们就会遇到麻烦,因为通常这个系列每种产品的硬件板卡都必须进行修改。此外,软件同样也是难题。为每个产品的软件进行维护,费用高而且工作量巨大。本文使用Flexis QE128微控制器进行高端血压计设计,可以在硬件和软件上获得很多方便。血压计模块图如图1所示。
图1 血压计模块图
低端血压计可以使用相同的硬件设计和印刷电路板,但是不必组装该系统未使用的区域。例如,低端应用可能不具备通讯的功能,因此该设计的物料清单可能就不包括与通信相关的硬件。使用Flexis 系列MCU,硬件开发人员能够只开发一个硬件平台而用于多个项目,并将需要较高集成度的部件放在单独的物料清单中。在布局印刷电路板时,不同模块分布在不同区域有单独的布局和走线,实现模块化设计。每个模块代表一种独立的功能,创建新设计时只需添加模块即可。这种方法就是硬件构建模块法。图1为高端血压计样品的结构图。
软件架构
整个平台的软件被开发为无阻塞模式。因此,MCU 不需要操作系统就能够执行几种任务。每个模块都是一个独立的状态机(当MCU 运行到该代码时会自动更新),或基于中断的进程。采用这种格式编写的代码,支持MCU 总是能够返回主环路,甚至在一个任务正常停止工作后还能继续操作。图2描述了该软件的工作原理。
图2 血压计软件流
当程序添加新模块时,代码中要插入初始化代码,并且在主循环中简单调用子程序就能使该模块的代码保持运行。
血压计应用
使用Flexis系列器件给设计/开发人员带来了灵活性。下面的应用都构建在相同的软硬件平台上。
心跳检测
将手臂上血压臂带里的空气慢慢放走,您能够看到臂带中压力细微的变化,如图3所示。 实际上,这种臂带中细小的压力变化是由血液循环产生的压变而产生的。该变化的偏移量通过一个1Hz的高通滤波器时被放大。这个新信号就是心跳信号。
图3 心跳信号l
图4中,信号显示了压力信号的变化,同时以图形方式表示了病人心跳随时间变化而发生的变化。
图4 心跳随时间变化
使用HCS08 进行收缩压和舒张压的测量
使用前面所述的心跳检测,可以通过简单的示波极谱法确定收缩压(SBP) 和舒张压(DBP)。这种简单的测量法基于下列概念:当臂带充气到收缩压时,心跳信号的振幅会发生变化。当臂带缓慢放气,臂带使心跳信号通过时,心跳信号的振幅会增加。当臂带压力进一步减少时,有节律跳动的振幅会继续增加,直到达到最大脉冲——平均动脉压(MAP)为止。然后它才会快速下降,直到达到舒张压,如图5所示。
图5 心跳和舒张压对比
使用Coldfire V1 进行收缩压舒张压测量
如果使用简单的示波极谱法,病人手臂上臂带所充气体的气压必须高于病人的收缩压。而问题在于系统不清楚病人的收缩压是多少,因此它会过量地向臂带充气,以确保发现收缩压。但这样做病人就会感到不舒服。使用Coldfire V1,系统则能够采用反向示波极谱法。通过该方法,32位内核能够将臂带充气时电机附带的系统噪音过滤掉。
全部0条评论
快来发表一下你的评论吧 !