笔者之前在医疗电子行业从事过一段时间,去年用M0核的LPC824设计过一个脉象仪,原型机用了一块LPC824 breakout的板子。
与普通测心率、血压的仪器或者可穿戴测心率的设备相比,脉象仪还需要对数据进行频域的处理与分析。本设计采用了以光反射为原理的心率传感器测量心跳和血氧量,另外在检测端加一个压电传感器测量指尖与传感器的压力。
由于M0本身不带DSP内核,因此在跑cmsis的DSP库的时候非常吃力,笔者将一个采样周期的时间尽量缩短到勉强能进行DFT的计算。心率传感器的数据拟合指尖压力数据,转换为心跳波形。用算法计算出心率的前提下,在每个心率周期中求出极值以及上升(下降)时间,通过这些数据综合中医协会提出的波形标准判断脉象结论。同时脉象波形能够实时显示在一块OLED屏上面。
LPC824的硬件外设使用了以下这些:1路UART(上位机波形调试)、1路SPI(OLED屏)、1路IIC(血氧传感器)、1路ADC、1个定时器。选用LPC的原因就是因为成本适中,比同类产品性能强势,并且比较稳定,容易过医疗行业的安规。
但由于M0本身的局限,笔者的很多想法还未实现。若能成功申请到LPC54068,笔者打算测试一下在DSP内核中跑DFT算法,同时能用电容屏进行UI的进一步优化以及功耗的优化。另外有时间的话,打算再加入Fatfs文件协议和USB host中间件。能够将用户数据以及波形存储在SD卡中以及U盘中。