基于ADS1298與CC2640的安卓手機心電監護儀
作者 / 孫健 張石 董冠廷 張天成
本文引用地址:http://www.j9360.com/article/201712/373593.htm東北大學 計算機科學與工程學院(遼寧 沈陽 110819)
*基金項目:東北大學第十批創新項目科研成果
摘要:本文介紹了一種以ADS1298和CC2640為核心器件的便攜式心電儀。該系統采用低功耗藍牙為通訊協議改進傳統便攜式心電儀,將部分功能轉移到安卓平臺上,做到了12導聯數據實時顯示,波形保存等功能。該系統具有低功耗、低成本的優點,為便攜式心電穿戴設備提供了一種可靠的新方法。
引言
近幾年,便攜式醫療設備走進人們的生活之中,便攜式心電儀逐步受到醫生和患者的青睞。現在主流的便攜式心電儀雖然技術已經成熟,但是還存在著功耗大和成本高的問題。心電儀需要具備模擬放大、濾波、AD轉換等功能,加上必要的人機交互、顯示、存儲功能,使得傳統的便攜式心電儀必不可少地出現功耗和成本問題,限制了便攜式心電儀的發展。本文中所介紹的便攜式低功耗12導聯心電圖機采用了TI公司高性能、低功耗的藍牙模塊和模擬前端[1-2]。將數據通過BLE(低功耗藍牙)發送到安卓手機進行顯示和處理[3]。相對于傳統方案,實現了低功耗、低成本。
1 系統整體方案
將模擬采集前端的ADS1298采集到的心電數據通過SPI(串行外設接口)送入CC2640藍牙芯片,利用BLE傳輸到安卓客戶端,在安卓客戶端進行顯示和存儲。通過安卓平臺的各種接口進行離線的診查。結構圖如圖1所示。
2 ADS1298部分
ADS1298芯片是TI公司設計的專門用于生物電位測量的低功耗、8通道、24位模擬前端。該芯片擁有醫療心電圖(ECG)和腦電圖(EEG)應用中通常所需的全部功能。憑借高集成度和出色性能,ADS1298能夠以大幅縮小的尺寸、顯著降低的功耗和整體成本開發可擴展的醫療儀器系統。根據參考電壓最低可分辨的電壓為0.286μV。用其設計電路所占用的組件數量與電路板尺寸比分立器件降低95%,功耗也比分立器件降低95%左右,3 V供電時其最大功耗僅為9.5 mW。如圖2所示,該芯片集成了內置右腿驅動放大器、導聯斷開檢測、威爾遜中心終端、起搏檢測、測試信號等功能。在設計時可以根據實際考慮設置內外參考電壓和時鐘,以上特性大大提升了心電采集前端的性能,降低了PCB體積。
3 CC2640部分
CC2640是一款面向Bluetooth Smart應用的無線MCU。此器件屬于CC26xx系列的經濟高效型超低功耗2.4GHz RF器件。極低的有源RF 和MCU 電流以及低功耗模式流耗可確保卓越的電池使用壽命,允許采用小型紐扣電池在能源采集型應用中使用。CC2640含有一個32位ARM Cortex-M3處理器,具有豐富的外設功能集,包括一個獨特的超低功耗傳感器控制器,適用于在系統處于休眠模式時連接外部傳感器和/或自主采集模擬和數字數據。除此之外還有一個ARM Cortex-M0處理器單獨用于運行藍牙協議棧,與主處理器工作頻率同為48MHz,憑此架構可改善整體系統性能和功耗,并釋放閃存以供用戶應用[4-6]。
CC26xx的供電有3種方式,本文采用外部1.8~3.8V供給VDDS,VDDR電壓通過芯片內置的DCDC生成1.7V的電壓[7]。CC26xx如果采用無線射頻功能,必須采用滿足無線協議標準精度的24MHz外部晶振,否則無法滿足無線協議標準。而為了實現低功耗且定時精確,需要32.768kHz的外部晶振。同時CC26xx系列的24MHz振蕩電路內置可配置容值大小的電容陣列,可以省略24MHz外部晶振的配套電容,以降低成本和PCB面積。在藍牙天線部分,CC26xx支持的無線標準均位于2.4GHz的ISM頻段,因此需要2.4GHz的天線及對應的巴倫和阻抗匹配網絡電路。CC26xx支持多種天線方式,根據偏置是否內置還是外置,以及輸出信號是差分還是單端,分為4種。本方案采用內置差分電路。天線部分追求面積小,因此采用尺寸最小的MIFA-2.4GHz的PCB天線,如圖3所示。CC2640部分原理圖如圖4。
4 BLE簡介
藍牙技術發展至4.0標準包含兩個藍牙標準,是一個雙模的標準。它包含傳統藍牙部分和低功耗藍牙部分。相對于傳統藍牙,BLE(Bluetooth Low Energy)的優勢主要表現在:傳統藍牙技術是一種“面向連接”的無線技術,具有固定的連接時間間隔,而BLE用可變連接時間間隔,這個間隔根據具體應用可以設置為幾毫秒到幾秒不等;BLE只用3個信道做廣播信道,允許毫秒級快速建立連接,效率遠高于傳統藍牙的 32 個信道方式;傳統藍牙的工作峰值電流一般是 35mA,睡眠狀態電流是 0.01mA。而低耗能藍牙的工作峰值電流是小于15mA,睡眠狀態電流是0.004mA,顯著降低了工作電流和睡眠電流。使用低功耗藍牙可以大大降低系統通訊時候的功耗。
5 軟件整體設計
本系統的軟件部分分為兩部分,一部分是心電儀嵌入式的C語言編程,一部分是安卓客戶端的JAVA編程部分。在CC2640上編寫心電儀的數據收集、SPI通訊協議和藍牙發送數據的程序,在安卓平臺上編寫心電數據實時顯示、用戶交互、數據保存的程序。在編寫安卓程序的時候,考慮到心電數據量比較大而使用多線程的編寫方式,目的是進行實時顯示波形。
6 心電儀軟件設計
由于CC2640的特殊架構,使得CC2640擁有特殊的軟件架構,程序由APP和Stack構成。CC2640內置一個藍牙協議棧不需要考慮藍牙Stack編程問題,用戶只需要編寫自己的業務程序APP即可。CC2640的業務程序和藍牙堆棧之間的通訊靠ICall模塊進行。在APP中運行一個TI的操作系統,APP中各個線程通過操作系統來調用CC2640的硬件。由于BLE的數據包一包攜帶位數較少我們需要在在心電監護線程中將通過SPI得到的數據進行拆分然后封包發送出去,然后再安卓平臺進行還原。CC2640的程序流程如圖5。
7 安卓軟件設計
安卓程序部分主要由藍牙模塊、數據處理模塊、實時顯示模塊和數據保存模塊構成。數據首先通過藍牙模塊接受收據然后通過BroadcasrReceiver全局監聽每包數據是否接受成功,成功以后進行分包數據還原通過JAVA內部多線程傳遞機制使用handle將數據傳遞給顯示模塊進行數據的實時顯示,實時顯示部分采用了MPandroidChart框架,此框架可以輕松繪制多種圖表。數據保存的模塊開啟時也要單獨開啟新線程以防止出現ANR導致程序退出[8]。
8 系統結果
最終顯示結果如圖6所示,當選擇change按鈕時候會切換其他導聯。選擇savetxt按鈕時會開始保存為txt形式的數據。當選擇savepicture按鈕時候會保存當前的截圖。Txt形式數據方便長時間的保存心電結果以便醫生獲得24h數據,而截圖的數據能更直觀的給醫患觀察特定時刻的心電波形。保存數據如圖7和圖8所示。
本文采用了TI公司的ADS1298作為心電信號的模擬采集前端,利用CC2640將數據通過BLE傳遞到手機,提高系統性能的同時也減少了PCB的體積。將一部分功能轉移到手機端減低了功耗和成本。并且在安卓平臺可以實時顯示波形和切換導聯,并且可以隨時隨地記錄和存儲心電信號。還可以通過安卓手機的各種接口將數據傳送到醫生手中使得患者在家中也可以進行診斷。
參考文獻:
[1]魏厚杰,金安.ADS1298模擬前端的便攜式生理信號采集系統[J].單片機與嵌入式系統應用,2012,12(2):36-39.
[2]李陽青.基于ADS1298芯片的12導心電圖儀的設計[[J].醫療裝備,2016,(18):34-35.
[3]德州儀器公司.ADS1298R全面集成型模擬前端方案[J].世界電子元器件,2013,(01):62-62.
[4]馬曉玉.基于STM32和藍牙4.1的便攜式心電采集分析系統研究[D].燕山大學,2016.
[5]蔡露.基于Android和ARM平臺BLE4.0的手腕式計步器的設計與實現[D].廣西師范大學,2015.
[6]黃越.一種便攜式動態心電監測系統的研究與開發[D].吉林大學,2013.
[7]曹小娜. TI全新SimpleLink MCU平臺探索無限可能[J].世界電子元器件,2017,(04):46-47.
[8]李寧.Android權威指南[M].北京:人民郵電出版社.2011.
本文來源于《電子產品世界》2018年第1期第42頁,歡迎您寫論文時引用,并注明出處。
評論