張玉晨
【摘要】本文主要介紹了基于LPC1114單片機的緊急行為檢測模塊的設計實現。在文章中詳細的分析了緊急行為檢測模塊的功能需求與特點,描述了系統的軟件硬設計與實現,綜合考慮了系統的功耗需求和性能需求。
【關鍵詞】設計;LPC1114;行為檢測模塊
Abstract:This paper mainly introduces the design and implementation of emergency behavior detection unit.The feature and requirement of emergency behavior detection unit is analyzed in detail.System hardware and software are both described in block diagrams.And the system design take power consumption and performance into account.
Keywords:design;emergency behavior detection;LPC1114
1.介紹
隨著社會的發展,眾多國家的社會都進入到了老齡化的社會,老年人在國家的人口比重中越來越大,更好的服務老年人,對于所有的國家來說都是一個亟待解決的問題。而本文所述的緊急行為檢測模塊就是針對老年人所設計的設備。它布置在老人的腰間,就可以實時檢測老年人是否處于摔倒需要報警的狀態。一旦老年人發生了緊急的行為,緊急信息會馬上發送給緊急聯系人或者醫院,進行最實時的處理。文章的結構大致如下,第二章會列舉行為檢測系統的一些特點和相關的功能及非功能性的需求。第三章會簡要的介紹行為檢測模塊的軟硬件實現和系統的構成。
2.緊急行為檢測模塊的特點
行為檢測模塊主要用于檢測老年人的行為是否處于危險狀態。它在工作過程中會不停的進行數據的采集,并在單片機的處理器上針對所采集到的數據運行行為檢測算法,當它檢測到老人處于危險狀態時會通過藍牙模塊向綁定的手機發送緊急數據,而手機則會通過電話或者短信的形式通知緊急聯系人或者醫院來救助老人。
總而言之,緊急行為檢測模塊實則是一個數據采集系統同時伴隨一些控制。由于行為檢測模塊是布置在人體表面,出于安全和移動性的考慮,檢測模塊會以電池作為能量來源。
功能性需求:
●低電壓提示,當電池電壓過低,需要充電時,點亮LED指示燈。
●過熱保護,當溫度傳感器檢測溫度過高時,主動斷開充電電路。
●藍牙連接指示,處于斷開狀態時,LED燈點亮提示。
●運動數據采集,每隔一定周期進行數據的采集,頻率在50Hz以上。
●行為檢測,對于運動數據進行分析和計算,出現緊急情況時必須通知緊急聯系人或醫院。
●緊急按鍵,當老人覺得已處于緊急狀態時,可以通過緊急按鍵向聯系人發送報警信息。
非功能性需求:
●系統的功耗必須要足夠低,至少要保證在全天大部份時間都可以實時檢測老人的狀態。
●緊急數據的實時發送,當出現緊急情況時,必須實時發送給聯系人或醫院。
3.行為檢測模塊軟硬件構成
我們所設計的行為檢測模塊主要由軟硬件兩個部份組成。以下的兩章會具體的介紹行為檢測模塊的硬件和軟件的設計。
3.1 緊急行為檢測模塊硬件組成
系統所采用的處理器是LPC1114,是基于ARM-Cortex M0核的一款32位低功耗單片機,擁有32KB的Flash存儲空間,和8KB的SRAM,主頻可以提升至50MHz。具備多種常用的外圍電路。
行為檢測模塊的硬件組成如圖1所示:
圖1 硬件原理圖
如圖1所示,三軸加速度運動傳感器是通過I2C總線和LPC1114單片機連接起來的。而藍牙則是通過串口與之相連。其它的資源比如緊急按鍵, LED指示燈,蜂鳴器還有溫度傳感器則是通過IO口進行控制的。其中溫度傳感器通過ADC轉換將模擬的溫度值變換成實際的溫度數據。
表1 典型情況下的供電電流
模式 系統時鐘 典型電流 單位
激活 50MHz 9 mA
激活 12MHz 3 mA
休眠 12MHz 2 mA
深度休眠 N/A 6 uA
圖2 軟件結構圖
圖3 傳統軟件流程圖
圖4 基于中斷的軟件流程圖
模塊的供電是由300mAh的鋰電池來實現的,模塊還搭載了充電芯片,可以對其進行充電,以及充電控制。
3.2 緊急行為檢測模塊軟件組成
系統的軟件主要由圖2所示的幾個模塊組成。
如圖2所示,我們的軟件模塊有緊急按鍵檢測,藍牙連接檢測,行為識別,三軸加速度運動數據采集,過熱保護,還有電源指示,六個部分組成。
其中緊急行為檢測算法的實現是基于D-S證據理論所進行的傳感器數據融合來實現的,不屬于本文所討論的范疇,不做描述。
傳統的對功耗不敏感的嵌入式軟件設計可能非常簡單,它可以是如圖3所示結構。
這種結構的好處就是簡單,清晰,不易出錯,也可以作為其它版本程序的一個參考。它的不足之處也非常明顯,單片機一直都處于工作狀態,不停地在一個接一個的輪詢硬件的狀態,并針對硬件狀態所發生的改變而作出相應的處理。比如,查詢三軸加速度運動傳感器是否有數據產生,并對于所讀取的數據進行行為算法的檢測處理。
這樣的處理方式就造成了操作上的冗余。單片機有絕大部份的處理能力浪費在了不停的輪詢上。硬件本身其實并不需要這么頻繁的訪問。部份單片機的處理時間是在做無用的行為。
而且單片機處于工作狀態時,功耗遠遠要大于它在休眠狀態下的功耗。詳細的參數如表1所示,LPC1114的處理器在激活狀態和休眠狀態相差7mA。
針對這個問題,本文中的設計是采用了一種基于中斷的軟件設計策略來優化整體功耗。
經過對原有軟件執行流的分析,可以發現,硬件多數都具備中斷的能力,完全可以采用基于中斷的方式來優化單片機的冗余訪問。對于無法提供中斷能力的硬件或者內部的功能塊,可以利用芯片上的定時器電路制造人為的中斷來減少單片機的冗余訪問。
經過優化后,軟件的結構就變成了如圖4所示的情形。
可以看到,這個方式對于軟件的改動并不大,但是卻獲得了功耗上的降低。通過實驗可以證明,在傳統的流程圖下,整個系統的功耗在25~26mA,而在基于中斷的流程圖下,則僅有20mA。系統的工作時間得到了延長。
4.總結
本文描述了一個緊急行為檢測模塊的設計與實現,著重的強調了軟件模塊的設計與分析,并通過基于中斷的軟件設計,從整體上降低了模塊的功耗。
參考文獻
[1]White.E[M].Making Embedded Systems,1stEd,OReilly Media,2011.
[2]W.Li,J.Bao,X.Fu,G.Fortino and S.Galzarano“Human postures recognition based on D-S evidence theory and multi-sensor data fusion”,Proc.12th IEEE/ACM Int.Symp.Cluster,Cloud Grid Comput.,pp.912-917 2012.
[3]基于ARM的嵌入式系統程序開發要點(四)異常處理機制的設計[J].單片機與嵌入式系統應用,2003.
[4]基于ARM的嵌入式系統中斷處理機制研究[J].現代電子技術,2005.