基于三軸加速度傳感器的跌倒探測(cè)儀的研制
跌倒探測(cè)儀適用于自理能力和自我保護(hù)能力比較差的老年人和兒童,它通過(guò)測(cè)量佩戴該儀器的個(gè)體在運(yùn)動(dòng)過(guò)程中的三個(gè)正交方向上的加速度來(lái)感知其身體姿態(tài)的變化,并可按照需要進(jìn)行報(bào)警和發(fā)布。
跌倒探測(cè)儀由加速度傳感器、數(shù)據(jù)處理模塊、電源和通信模塊構(gòu)成。其中傳感器測(cè)量對(duì)象的加速度矢量;處理器模塊負(fù)責(zé)采集加速度傳感器的數(shù)據(jù),分析判斷對(duì)象的身體姿態(tài)并控制報(bào)警及報(bào)警信息的發(fā)布;電源模塊負(fù)責(zé)為整個(gè)系統(tǒng)提供電力供給;通信模塊負(fù)責(zé)將報(bào)警信息通過(guò)一定的協(xié)議進(jìn)行發(fā)布。
關(guān)鍵技術(shù)
人體運(yùn)動(dòng)模型的建立
在姿態(tài)轉(zhuǎn)變過(guò)程中,重力將成為影響這一運(yùn)動(dòng)過(guò)程的主要因素。跌倒過(guò)程中,對(duì)象的加速度、速度和位移三種矢量均發(fā)生了變化。
如圖1建立直角坐標(biāo)系,X、Y、Z軸相互正交,任意空間方向上的矢量變化均可以分解成X、Y、Z三個(gè)方向上的分量變化。使用者正確佩戴跌倒探測(cè)器且處于靜止或水平勻速運(yùn)動(dòng)狀態(tài)下,Z軸方向的加速度為重力加速度(g),其他兩個(gè)方向上加速度為0。當(dāng)佩戴者跌倒時(shí),如果僅考慮初始狀態(tài)和最終狀態(tài)就可以發(fā)現(xiàn),理想情況下Z軸分量發(fā)生從最大值(1g)變化為0,而X或Y軸的分量則從0變化為最大(1g),具體是X軸還是Y軸發(fā)生這一變化,則由佩戴者跌倒后的姿態(tài)決定--平臥為X軸變化,側(cè)臥為Y軸變化。如果身體姿態(tài)介于平臥和側(cè)臥之間,則X軸和Y軸的加速度分量將滿(mǎn)足sqrt{x^{2}+y^{2}}=1g(站立情況下這個(gè)矢量和為0),仍然能夠通過(guò)計(jì)算分析得出與站立不同的加速度分布。
但是在實(shí)際情況中,僅根據(jù)加速度分量的改變很難分辨臥倒姿態(tài)的形成原因,容易出現(xiàn)很多假陽(yáng)性(檢測(cè)到跌倒而實(shí)際沒(méi)有跌倒)或假陰性(未檢測(cè)到跌倒而實(shí)際出現(xiàn)跌倒)。因此,需要算法作進(jìn)一步改進(jìn)。一般來(lái)說(shuō),假陽(yáng)性情況可以通過(guò)對(duì)加速度在時(shí)間域進(jìn)行一次積分求速度、兩次積分求位移的方式,全方位分析佩戴者身體姿態(tài)變化加以篩選;而假陰性情況除采用上面的全面姿態(tài)分析外,還需要佩戴者自主參與才能有效提高檢出效率。因此,建立人體跌倒過(guò)程的運(yùn)動(dòng)模型,提取跌倒過(guò)程中身體姿態(tài)變化的特征參數(shù)是準(zhǔn)確檢測(cè)跌倒并發(fā)布報(bào)警信息的關(guān)鍵。
無(wú)線通信及空間定位信息獲取
跌倒報(bào)警必須及時(shí)送達(dá)救助中心才能夠保證救助的有效性,報(bào)警信息的及時(shí)發(fā)布要求包含兩層含意:其一是報(bào)警信息不會(huì)因?yàn)榈固綔y(cè)器佩戴者的行動(dòng)和所處的位置受到影響;其二,發(fā)布的報(bào)警信息中應(yīng)該包括佩戴者跌倒的地理位置內(nèi)容,這樣才能保證跌倒者得到有效救助。
采用無(wú)線通信的方式發(fā)布跌倒報(bào)警信息非常適合能夠自由行動(dòng)的配戴者,無(wú)線通信技術(shù)從技術(shù)成熟度、運(yùn)行成本角度也都非常適用。從技術(shù)實(shí)現(xiàn)和成本方面考慮,選擇CDMA通信方式更加適合跌倒探測(cè)器設(shè)計(jì)目的的實(shí)現(xiàn)。
系統(tǒng)方案設(shè)計(jì)
需求分析
身體姿態(tài)監(jiān)測(cè)
通過(guò)三軸加速度傳感器的測(cè)量值,利用相應(yīng)算法計(jì)算出佩戴者的身體姿態(tài)。當(dāng)出現(xiàn)跌倒動(dòng)作時(shí),能夠觸發(fā)MCU中斷處理。
報(bào)警控制機(jī)制
使用者可根據(jù)自己的身體狀況選擇是否報(bào)警,當(dāng)使用者已無(wú)法控制自己行為時(shí),本產(chǎn)品應(yīng)能夠保證自動(dòng)實(shí)施報(bào)警。
計(jì)步器
在一般佩戴過(guò)程中,用戶(hù)可使用該項(xiàng)功能,為自己的步行健身活動(dòng)提供量化的參考信息。
空間定位
在實(shí)施跌倒報(bào)警時(shí),應(yīng)為報(bào)警信息接受方提供報(bào)警地點(diǎn)的空間定位信息,保證有效救助及時(shí)到達(dá)。
無(wú)線通訊
能夠?qū)?bào)警和定位信息通過(guò)無(wú)線方式傳輸?shù)较嚓P(guān)人員處。
供電采用鋰電池
部分信息顯示使用液晶屏
系統(tǒng)架構(gòu)設(shè)計(jì)
根據(jù)跌倒探測(cè)器的需求分析,具體的實(shí)現(xiàn)方案設(shè)計(jì)采用如圖2所示的架構(gòu)。該架構(gòu)基于高性能、低功耗MCU--MC9S08QG8,通過(guò)獲取加速度傳感器的采集信息,經(jīng)分析和計(jì)算后實(shí)現(xiàn)跌倒探測(cè)及報(bào)警等多項(xiàng)功能。
硬件設(shè)計(jì)
硬件設(shè)計(jì)圍繞MCU展開(kāi),產(chǎn)品采用MC9S08QG8芯片,如何充分利用芯片資源,妥善完成產(chǎn)品的各項(xiàng)任務(wù)處理,是設(shè)計(jì)的關(guān)鍵。參考系統(tǒng)結(jié)構(gòu)框架,根據(jù)功能模塊劃分,系統(tǒng)的硬件設(shè)計(jì)詳細(xì)描述如下:
加速度采集電路
加速度采集使用MMA7260QT,該芯片輸出為模擬信號(hào),需進(jìn)行A/D轉(zhuǎn)換后才能進(jìn)行數(shù)據(jù)處理。MC9S08QG8芯片的PA腳為復(fù)用通道,可根據(jù)需要設(shè)置為I/O、鍵盤(pán)中斷或A/D采樣通道。本設(shè)計(jì)將利用MC9S08QG8芯片內(nèi)部的A/D模塊實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,具體實(shí)現(xiàn)中采用PA0、PA1和PA2作為三軸加速度的采集通道,與MMA7260QT的Xout(Pin15)、Yout(Pin14)和Zout(Pin13)相連,A/D采樣的控制時(shí)鐘通過(guò)軟件配置MC9S08QG8相應(yīng)控制寄存器完成。
MCU外圍電路
本設(shè)計(jì)中,MCU外圍電路包括電源與時(shí)鐘、數(shù)據(jù)緩存和按鍵電路三部分構(gòu)成,下面分別描述。
電源與時(shí)鐘
功能組件包括MCU、液晶、按鍵、采集、數(shù)據(jù)存儲(chǔ)和通信幾部分。根據(jù)所選用器件的數(shù)據(jù)手冊(cè),各組件對(duì)供電要求如圖3所示。
從圖中可以看出,整個(gè)系統(tǒng)設(shè)計(jì)要求電源參數(shù)有三種,分別為3V、3.3V和3.7V。其中,主要數(shù)字電路部分--包括MCU及其外圍電路部分要求提供3.3V的工作電壓;而在無(wú)線通信模塊中,針對(duì)讀取入網(wǎng)SIM卡部分電路要求3V的供電電壓,CDMA射頻部分工作電壓要求不低于3.5V。
在實(shí)際設(shè)計(jì)中,輸出電壓為3.7V,由于能夠滿(mǎn)足CDMA射頻模塊的工作要求,故直接使用Li電池的輸出供電;聯(lián)通入網(wǎng)SIM卡信息讀取電路的工作電壓為3V,設(shè)計(jì)中采用MICREL公司的MIC5219-3.0芯片執(zhí)行電壓轉(zhuǎn)換工作;其他數(shù)字電路部分的工作電壓為3.3V,設(shè)計(jì)中采用MICREL公司的MIC5219-3.3芯片實(shí)現(xiàn)這一轉(zhuǎn)換,參見(jiàn)圖3中虛線框中的內(nèi)容。
MC9S08QG8自帶時(shí)鐘模塊(ICS),為了降低功耗和簡(jiǎn)化設(shè)計(jì),本系統(tǒng)通過(guò)軟件設(shè)置相應(yīng)的控制寄存器實(shí)現(xiàn)系統(tǒng)時(shí)鐘的上電穩(wěn)定工作,故在硬件電路設(shè)計(jì)中不需作過(guò)多的考慮。
存儲(chǔ)器
有效的數(shù)據(jù)緩存要求至少具有320點(diǎn)(合1920字節(jié))的存儲(chǔ)深度。 在本設(shè)計(jì)中,采用Holtek公司的HT24LC16串行EEPROM作為數(shù)據(jù)緩存。該芯片采用I2C通訊接口,存儲(chǔ)深度2K字節(jié),數(shù)據(jù)讀寫(xiě)速度在微妙量級(jí),能夠滿(mǎn)足數(shù)據(jù)實(shí)時(shí)寫(xiě)入的要求。數(shù)據(jù)寫(xiě)滿(mǎn)后,MCU自動(dòng)將地址重置,從首地址開(kāi)始覆蓋寫(xiě)入新的數(shù)據(jù)。
由于MC9S08QG8內(nèi)部配有I2C控制模塊,故只需將該模塊對(duì)應(yīng)管腳與EEPROM連接即可--使用PB6(Pin5)和PB7(Pin6)與EEPROM連接。
按鍵電路
報(bào)警確認(rèn)、報(bào)警取消、計(jì)步器啟動(dòng)、計(jì)步器暫停、計(jì)數(shù)清零以及無(wú)線通信中接受方號(hào)碼的設(shè)置,都要求跌倒探測(cè)器具有用戶(hù)輸入的接口,設(shè)計(jì)中采用按鍵實(shí)現(xiàn)。按鍵的接法和使用較為簡(jiǎn)單,直接利用MCU的輸入輸出管腳即可,本設(shè)計(jì)采用Pin1和Pin13。
液晶顯示
本設(shè)計(jì)采用5位7段碼液晶屏,計(jì)步器顯示計(jì)數(shù)和報(bào)警接受方電話號(hào)碼輸入都是通過(guò)該液晶屏提供給使用者確認(rèn)。液晶屏的控制管腳為24個(gè),由于MCU全部管腳座位液晶控制也無(wú)法滿(mǎn)足工作需求,故在本設(shè)計(jì)中采用Holtek公司的HT1621B液晶驅(qū)動(dòng)芯片完成從MCU到液晶屏顯示數(shù)據(jù)的管理和驅(qū)動(dòng)。另外,HT1621B芯片還具有蜂鳴器控制和驅(qū)動(dòng)能力,在本設(shè)計(jì)中,集成蜂鳴器作為現(xiàn)場(chǎng)報(bào)警提示將有助于提高跌倒探測(cè)器報(bào)警的針對(duì)性和準(zhǔn)確性,將通過(guò)在HT1621B的BZ管腳連接一蜂鳴器得以實(shí)現(xiàn)。
HT1621B為I2C接口,MCU可通過(guò)內(nèi)部I2C控制模塊傳輸指令和數(shù)據(jù)給該芯片。由于本系統(tǒng)采用的EEPROM也是使用I2C接口,針對(duì)不同器件的數(shù)據(jù)傳輸和控制指令將通過(guò)地址選擇加以實(shí)現(xiàn)。
通信模塊
本設(shè)計(jì)采用AnyData公司的DTGS-800b型OEM模塊。該模塊符合CDMA:IS-95 A/B、IS-98A、IS-126、IS-637A、IS-707A以及IS-2000等標(biāo)準(zhǔn)協(xié)議,能夠提供最高153.6K的數(shù)據(jù)通訊速率,工作電壓3.6V~4.4V,外形尺寸為53*33*2.7mm,總重量為15g,提供外部通訊接口包括RS-232s、Digital/Analog Audios、LCD、Keypad、Ringer External Reset Control、R-UIM、MP3、MIDI、GPIOs和USB。另外該模塊可收發(fā)短信、集成GpsOne技術(shù),無(wú)須添加其他組件即可得到地理定位信息,且廠家技術(shù)支持非常完善,其各項(xiàng)功能配置非常適合跌倒探測(cè)器的需求描述。
具體實(shí)現(xiàn)中,CDMA模塊要求配套入網(wǎng)SIM卡,模塊各項(xiàng)功能可由MCU通過(guò)RS232接口以AT命令的方式加以調(diào)用。本設(shè)計(jì)中通信模塊的設(shè)計(jì)如圖4所示。
MC9S08QG8的SCI外設(shè)接口經(jīng)TTL-RS232轉(zhuǎn)換后,與DTGS-800b的RS232端口相連,用以向該模塊發(fā)AT命令。由于該模塊要求7信號(hào)的RS232接口,而MCU自帶SCI不提供該種通信方式,故在系統(tǒng)設(shè)計(jì)中采用I/O口進(jìn)行軟件模擬其他的控制信號(hào):CTS、RFR和DTR。DTGS-800b模塊通過(guò)SIM卡讀卡電路與SIM卡相連,內(nèi)部自帶處理器根據(jù)需要讀取SIM卡信息,完成CDMA的入網(wǎng)和通信信息的交換。
端口分配
由于本設(shè)計(jì)采用MC9S08QG8單片機(jī)僅能提供最多14個(gè)I/O端口,根本無(wú)法滿(mǎn)足控制整個(gè)系統(tǒng)運(yùn)行的信號(hào)數(shù)量要求,故在進(jìn)行具體設(shè)計(jì)時(shí),對(duì)各管腳的使用和分配進(jìn)行了專(zhuān)門(mén)的部署,如圖5所示。
程序調(diào)試和燒入需要兩個(gè)端口,但完成調(diào)試和燒寫(xiě)操作后,這兩個(gè)端口可以作為標(biāo)準(zhǔn)的I/O使用,故在設(shè)計(jì)中將其中一個(gè)I/O(Pin1)作為按鍵的輸入,實(shí)現(xiàn)了端口的復(fù)用。
CDMA組件與MCU的通訊要求
通過(guò)7信號(hào)RS232接口,而MC9S08QG8
的SCI模塊僅有TXD和RXD兩個(gè)信號(hào),在設(shè)計(jì)中采用標(biāo)準(zhǔn)I/O通過(guò)軟件模擬的方式實(shí)現(xiàn)其它所需信號(hào),包括DTR、CTS、RFR。
EEPROM和液晶驅(qū)動(dòng)組件的存取采用I2C接口,本設(shè)計(jì)中將使用MC9S08QG8的I2C模塊進(jìn)行硬件控制,通過(guò)地址選擇實(shí)現(xiàn)不同組件間的切換。
軟件設(shè)計(jì)
軟件設(shè)計(jì)是系統(tǒng)各項(xiàng)功能具體實(shí)現(xiàn)的關(guān)鍵。在跌倒探測(cè)器的軟件設(shè)計(jì)中,由實(shí)線系統(tǒng)功能引發(fā)的處理內(nèi)容較多,為了更好地利用和分配MCU的資源,采用了事務(wù)處理和狀態(tài)機(jī)相結(jié)合的設(shè)計(jì)方法。
事務(wù)處理及狀態(tài)機(jī)
根據(jù)跌倒探測(cè)器的設(shè)計(jì)需求,系統(tǒng)要同時(shí)具備計(jì)步器、跌倒檢測(cè)、報(bào)警處理、系統(tǒng)設(shè)置和無(wú)線通信控制等功能。
事務(wù)處理的方法借鑒操作系統(tǒng)中的線程概念。首先將每項(xiàng)事務(wù)執(zhí)行的操作明確,確定每種操作的優(yōu)先級(jí)、相互關(guān)系和對(duì)資源的要求,然后在主循環(huán)中設(shè)置各種操作的啟動(dòng)機(jī)制,從總體上看,這些事物在主循環(huán)中并行地得到實(shí)現(xiàn)。跌倒探測(cè)器事務(wù)處理的調(diào)用關(guān)系如圖6所示。
針對(duì)某些項(xiàng)事務(wù)處理的實(shí)現(xiàn),在軟件設(shè)計(jì)中采用了狀態(tài)機(jī)的方法以確保整個(gè)任務(wù)能夠順暢而正確地得以實(shí)現(xiàn)。
系統(tǒng)設(shè)置
系統(tǒng)設(shè)置主要完成一些初始化操作和需要使用者進(jìn)行確認(rèn)的系統(tǒng)信息的設(shè)定操作。
系統(tǒng)初始化工作主要由MCU完成,包括各種配置寄存器的設(shè)置、液晶初始化指令和存儲(chǔ)緩沖區(qū)的設(shè)置,初始化工作將保證系統(tǒng)各功能組件能夠在上電后正常啟動(dòng)。
MCU初始化--MCU_Init( ):
通過(guò)設(shè)置相應(yīng)的控制寄存器實(shí)現(xiàn)MCU的啟動(dòng)和對(duì)各功能外設(shè)(Peripheral)的管理:
時(shí)鐘:MCU工作采用內(nèi)部時(shí)鐘,通過(guò)設(shè)置ICS控制寄存器實(shí)現(xiàn);
端口:根據(jù)系統(tǒng)端口分配方案,結(jié)合相關(guān)外設(shè)--I2C、SCI的控制寄存器實(shí)現(xiàn);
I2C控制器:傳輸速率、地址選擇設(shè)定;
SCI控制器:波特率設(shè)置。
液晶初始化--LCD_Init( ):
通過(guò)指令初始化液晶驅(qū)動(dòng)控制芯片HT1621B,完成液晶顯示器的初始化。
存儲(chǔ)緩沖區(qū)初始化--RT_Data、 Word_Base[ ]:
MC9S08QG8內(nèi)部集成了512字節(jié)的RAM滿(mǎn)足程序運(yùn)行所需。而在跌倒探測(cè)器運(yùn)行過(guò)程中,MCU持續(xù)采集加速度傳感器的數(shù)據(jù),并進(jìn)行處理,因此要為數(shù)據(jù)分析預(yù)先開(kāi)辟好緩存區(qū)。同樣,在利用CDMA發(fā)布報(bào)警信息時(shí),報(bào)警信息文字內(nèi)容需要在進(jìn)行軟件設(shè)計(jì)時(shí)預(yù)先設(shè)定好,并在需要使用時(shí)通過(guò)指針調(diào)用。
需要使用者進(jìn)行確認(rèn)的系統(tǒng)信息的設(shè)定,是指跌倒探測(cè)器報(bào)警信息的接收方可以根據(jù)實(shí)際情況由使用者進(jìn)行設(shè)定,例如親屬的移動(dòng)電話或急救中心的固定座機(jī)(要求能夠接收短信)。使用者可以通過(guò)按鍵配合液晶,輸入接收方的號(hào)碼即可,必要時(shí)使用者也可以對(duì)接收方號(hào)碼進(jìn)行修改。
按鍵功能
按鍵功能在軟件設(shè)計(jì)中單獨(dú)提出是因?yàn)楸鞠到y(tǒng)受限于MCU端口數(shù)量,無(wú)法按照預(yù)先設(shè)計(jì)的人機(jī)交互需求安排足夠端口作為鍵盤(pán)掃描之用。本設(shè)計(jì)中最終確定使用2個(gè)按鍵,按鍵的功能設(shè)定及使用方法設(shè)計(jì)如下。
"Alam"鍵(啟動(dòng)報(bào)警接收方號(hào)碼輸入、手動(dòng)報(bào)警):
跌倒探測(cè)器一般工作模式下,長(zhǎng)按(超過(guò)2秒)"Alam"鍵,啟動(dòng)報(bào)警信息發(fā)布功能,適用于除跌倒情況外其他緊急情況;
跌倒探測(cè)器一般工作模式下,按"Alam"鍵,跌倒探測(cè)器進(jìn)入設(shè)置報(bào)警接收方號(hào)碼狀態(tài),配合"Alter"鍵實(shí)現(xiàn)號(hào)碼輸入;
跌倒探測(cè)器進(jìn)入報(bào)警處理狀態(tài)(蜂鳴器beep)時(shí),按"Alam"鍵,直接發(fā)布報(bào)警信息,然后關(guān)閉蜂鳴器;
"Alter"鍵(計(jì)步器啟動(dòng)、暫停、清零、取消報(bào)警、設(shè)置報(bào)警接收方號(hào)碼):
跌倒探測(cè)器一般工作模式下,按"Alter"鍵在計(jì)步器啟動(dòng)、暫停和清零三項(xiàng)功能之間切換;
跌倒探測(cè)器進(jìn)入報(bào)警接收方號(hào)碼輸入狀態(tài)時(shí),"Alter"鍵執(zhí)行液晶顯示的數(shù)字加1的操作,數(shù)字從0-9循環(huán);
跌倒探測(cè)器進(jìn)入報(bào)警處理狀態(tài)(蜂鳴器beep)時(shí),按"Alter"鍵取消報(bào)警,然后關(guān)閉蜂鳴器。
計(jì)步器
MCU始終在分析佩戴者身體姿態(tài)的信息,因此可以將佩戴者的行走動(dòng)作分析作為一項(xiàng)附屬結(jié)果輸出,從而使跌倒探測(cè)器還具有了計(jì)步器的功能。
參考圖1,在理想狀態(tài)下的步行過(guò)程中,X軸和Z軸都應(yīng)該能夠檢測(cè)到加速度的周期性變化--X軸由前進(jìn)的動(dòng)作引起,Z軸由身體的上下起伏引起,這種周期性的變化可以為步行動(dòng)作的分析提供依據(jù)。由于在實(shí)際使用過(guò)程中,身體隨邁步動(dòng)作產(chǎn)生相應(yīng)的晃動(dòng)同樣會(huì)引起加速度傳感器在三個(gè)正交坐標(biāo)軸方向上的輸出,因此在設(shè)計(jì)檢測(cè)算法時(shí)應(yīng)設(shè)定合適的加速度閾值。只有超過(guò)一定幅度的輸出才被看作是由于邁步動(dòng)作所引起,避免由于正常的身體晃動(dòng)引入的各種偽差。計(jì)步器實(shí)現(xiàn)的軟件流程如圖7。
跌倒檢測(cè)
危險(xiǎn)的或者可能已產(chǎn)生較嚴(yán)重后果的跌倒發(fā)生后,人體通常處于水平狀態(tài),因此對(duì)于這種類(lèi)型的跌倒,要求跌倒探測(cè)器都能夠檢測(cè)到并實(shí)施報(bào)警處理機(jī)制。而對(duì)于其他較為復(fù)雜的跌倒過(guò)程,則需要通過(guò)報(bào)警機(jī)制的配合,實(shí)現(xiàn)對(duì)跌倒探測(cè)及危險(xiǎn)報(bào)警的準(zhǔn)確觸發(fā)。跌倒檢測(cè)的算法狀態(tài)機(jī)如圖8所示,
跌倒檢測(cè)算法描述如下:
1)主循環(huán)等待,監(jiān)測(cè)Z軸加速度變化,如果超過(guò)閾值,進(jìn)入下一步;
2)等待加速度恢復(fù)到正常范圍內(nèi),進(jìn)入下一步;
3)再設(shè)置延時(shí)10秒,等待佩戴者狀態(tài)穩(wěn)定;
4)數(shù)據(jù)分析,如果發(fā)現(xiàn)佩戴者身體水平,認(rèn)為發(fā)生跌倒?fàn)顩r,觸發(fā)報(bào)警處理。
報(bào)警處理
在本設(shè)計(jì)中,采用跌倒檢測(cè)算法和多種報(bào)警模式相結(jié)合的方式。跌倒探測(cè)器檢測(cè)到跌倒發(fā)生時(shí),系統(tǒng)必須能夠準(zhǔn)確無(wú)誤地將報(bào)警信息發(fā)布出去,才能保證跌倒者獲得救助。跌倒包含很多種類(lèi)型,有些情況下,檢測(cè)到的"跌倒"是有意識(shí)的行為--或者根本不是跌倒--假陽(yáng)性;另外,有時(shí)跌倒者仍然還保持一定的行動(dòng)能力,為了盡快得到救助,自身可以采取一定的行動(dòng);還有一種情況,跌倒造成比較嚴(yán)重的后果,跌倒者已無(wú)法行動(dòng)。
針對(duì)上面提到的幾種情況,報(bào)警處理的軟件設(shè)計(jì)將加以區(qū)分對(duì)待:
檢測(cè)到跌倒后,系統(tǒng)啟動(dòng)30S的倒計(jì)時(shí)器,并打開(kāi)蜂鳴器,每3S響一次,如果沒(méi)有接收到任何輸入,30S結(jié)束后,系統(tǒng)自動(dòng)發(fā)布報(bào)警信息;
進(jìn)入30S倒計(jì)時(shí)后,蜂鳴器"beep",系統(tǒng)可以響應(yīng)用戶(hù)輸入,跌倒探測(cè)器的兩個(gè)按鍵分別設(shè)置為"手動(dòng)報(bào)警"和"取消(報(bào)警)"的功能,如果用戶(hù)按"手動(dòng)報(bào)警"鍵,系統(tǒng)發(fā)布報(bào)警信息;
如果用戶(hù)按"取消"鍵,系統(tǒng)關(guān)閉30S倒計(jì)時(shí)和蜂鳴器,不作任何處理,直接返回計(jì)步器和跌倒檢測(cè)狀態(tài)。
通信控制
報(bào)警信息通過(guò)CDMA短信的方式發(fā)送給接收方,跌倒探測(cè)器采用DTGS-800b型CDMA模塊,通信控制就是使其能夠正常工作的一段例程。DTGS-800b型CDMA模塊提供RS232接口,MCU可以根據(jù)需要通過(guò)AT命令實(shí)施對(duì)通信過(guò)程的控制。具體通信例程根據(jù)設(shè)計(jì)需求應(yīng)包括如下內(nèi)容:
啟動(dòng)CDMA模塊--Comm_Start( );
啟動(dòng)GpsOne?服務(wù)--Gps_Start( );
獲得GPS空間定位信息--Gps_Position( );
發(fā)送短信息報(bào)警--Send_SMS( )。
由于通信例程涉及的狀態(tài)不多,基本是按照上面的順序進(jìn)行,因而程序結(jié)構(gòu)比較簡(jiǎn)單,這里就不再贅述。
結(jié)論
按照上述方案設(shè)計(jì)完成的跌倒探測(cè)器樣機(jī)線路板如圖9所示,左圖為帶有CDMA模塊線路,右圖為不帶CDMA模塊線路,可見(jiàn)其下方是讀SIM卡電路。上電后,該線路板各功能模塊工作正常,能夠完成加速度采集、EEPROM數(shù)據(jù)存儲(chǔ)和跌倒報(bào)警短信發(fā)送(包括自動(dòng)、手動(dòng)和取消模式),按鍵液晶均能夠正常