摘 要: 針對(duì)MTK芯片高性價(jià)比的優(yōu)勢(shì),設(shè)計(jì)了基于MTK平臺(tái)的家用燃?xì)鉂舛葯z測(cè)系統(tǒng)。選用MTK系列的MT6225芯片為本方案的核心,深入研究MTK平臺(tái)的短信息模塊和GPIO口的驅(qū)動(dòng)原理,該平臺(tái)有豐富的GPIO口,可以用來(lái)掛載傳感器和蜂鳴器以及其他外擴(kuò)設(shè)備。一旦燃?xì)庑孤舛瘸^(guò)預(yù)警值,蜂鳴器響同時(shí)將信息發(fā)送到信息接收終端,且給出一種解決方案——控制抽油煙機(jī)工作,及時(shí)解決安全隱患。本系統(tǒng)具有一定的實(shí)用性。
關(guān)鍵詞: MTK;GPIO口;短信息;定時(shí)器;繼電器
在我國(guó),隨著人民生活水平的提高,燃?xì)庖哑毡閼?yīng)用到城鎮(zhèn)居民的家庭中,人們對(duì)其的依賴程度也越來(lái)越大,相伴而來(lái)的安全問(wèn)題也成為重中之重。近年來(lái),因燃?xì)庑孤┒鸬幕馂?zāi)、爆炸和中毒事故日漸趨多,嚴(yán)重地威脅著人們生命財(cái)產(chǎn)安全?,F(xiàn)有的燃?xì)鈭?bào)警系統(tǒng)只能在燃?xì)庑孤r(shí)響起警鈴報(bào)警,并沒(méi)有從根本上排除危險(xiǎn)的發(fā)生。本系統(tǒng)基于MTK平臺(tái)的優(yōu)勢(shì),設(shè)計(jì)了一種自動(dòng)解決方案,能在檢測(cè)到燃?xì)庑孤┖髥?dòng)蜂鳴器并同時(shí)發(fā)送報(bào)警信息到用戶手機(jī)上,通過(guò)MTK平臺(tái)控制抽油煙機(jī)工作,防范災(zāi)難的發(fā)生,避免不必要的財(cái)產(chǎn)損失和人身傷害。由于手機(jī)已經(jīng)成為人們生活中必不可少的工具,所以更能有效地發(fā)揮報(bào)警作用,使得用戶及時(shí)解除報(bào)警。
1 MTK系統(tǒng)簡(jiǎn)介
1.1 MTK硬件系統(tǒng)
MTK芯片是由聯(lián)發(fā)科技股份有限公司設(shè)計(jì)制造的一款功能多樣化的芯片,其采用Nucleus OS操作系統(tǒng),開(kāi)發(fā)語(yǔ)言為C語(yǔ)言,同時(shí)也提供了完整的Java開(kāi)發(fā)環(huán)境。MTK手機(jī)系統(tǒng)是目前國(guó)內(nèi)手機(jī)生產(chǎn)廠家應(yīng)用最多的手機(jī)產(chǎn)品解決方案,其高性價(jià)比和二次開(kāi)發(fā)的特性備受歡迎。本方案選擇了MT6225為核心芯片,通過(guò)MT6225的GPIO口可進(jìn)行外設(shè)擴(kuò)展。
1.2 MTK軟件系統(tǒng)
MTK采用Nucleus OS實(shí)時(shí)操作系統(tǒng),整個(gè)軟件系統(tǒng)包括Nucleus OS操作系統(tǒng)、平臺(tái)設(shè)備驅(qū)動(dòng)、協(xié)議棧、文件系統(tǒng)、WGUI、MMI、J2ME等。MTK手機(jī)平臺(tái)上的程序基于J2ME軟件平臺(tái)開(kāi)發(fā),采用的是Java語(yǔ)言。
J2ME使用配置和簡(jiǎn)表定制Java運(yùn)行時(shí)環(huán)境(JRE)。作為一個(gè)完整的JRE,J2ME由配置和簡(jiǎn)表組成,配置決定了使用的JVM,而簡(jiǎn)表通過(guò)添加特定于域的類來(lái)定義應(yīng)用程序。
配置將基本運(yùn)行時(shí)環(huán)境定義為一組核心類和一個(gè)運(yùn)行在特定類型設(shè)備上的特定JVM。簡(jiǎn)表定義應(yīng)用程序,它向J2ME配置添加特定于域的類,定義設(shè)備的某種作用[1]。
J2ME架構(gòu)由3個(gè)軟件層組成,如圖1所示。第一層包括在內(nèi)的配置層直接與原生操作系統(tǒng)進(jìn)行交互。配置層還有Profile和JVM之間的交互。第二層是Profile層,由小型計(jì)算設(shè)備的應(yīng)用程序編程接口的最小集合組成。第三層是Mobile Information Device Profile(MIDP)層。MIDP層由用戶網(wǎng)絡(luò)連接,永久存儲(chǔ)與用戶界面的Java API組成,還能夠訪問(wèn)CLDC庫(kù)和MIDP庫(kù)。
2 系統(tǒng)技術(shù)方案
2.1 MTK GPIO口的驅(qū)動(dòng)
GPIO口即通用輸入輸出口。MT6225提供了53個(gè)通用輸入輸出口和4個(gè)通用輸出口。GPIO口在系統(tǒng)上電時(shí),有的是默認(rèn)高電平,有的是默認(rèn)低電平,這是MCU內(nèi)部決定的,軟件無(wú)法更改。MCU中有多個(gè)GPIO模式初始化寄存器,在系統(tǒng)開(kāi)機(jī)過(guò)程中,通過(guò)這些寄存器對(duì)GPIO進(jìn)行初始化。
MTK通過(guò)對(duì)IO口的復(fù)用來(lái)減少IO端口的個(gè)數(shù),每個(gè)GPIO口有4種工作模式,即模式0~3,每個(gè)GPIO口都可以通過(guò)軟件配置為輸出或輸入或特定用途雙向口,其被當(dāng)作輸入使用時(shí),GPIO口可作為中斷源[1]。本系統(tǒng)選擇通用GPIO口GPIO30的模式0,即配置端口為輸入輸出模式。對(duì)GPIO初始化成功并對(duì)GPIO端口讀寫(xiě)數(shù)據(jù)完成后,通過(guò)讀取其端口狀態(tài)來(lái)與寫(xiě)到GPIO口的數(shù)據(jù)相比較,若超過(guò)預(yù)警值則報(bào)警,否則接收下組數(shù)據(jù)。選擇GPIO41的模式0,將蜂鳴器的負(fù)極接到這個(gè)端口,當(dāng)GPIO30接收到的數(shù)據(jù)超過(guò)預(yù)警值,MTK平臺(tái)便將其拉低,此時(shí)蜂鳴器工作。選擇GPIO42的模式0,連接油煙機(jī)控制模塊。
2.2 MTK定時(shí)器的使用
定時(shí)器事件是在指定的時(shí)間或時(shí)間間隔內(nèi)反復(fù)觸發(fā)指定的事件,這個(gè)指定的事件是通過(guò)一個(gè)注冊(cè)的功能函數(shù)來(lái)實(shí)現(xiàn)的。在MTK平臺(tái)中,操作定時(shí)器的具體流程如下:
(1)在定時(shí)器ID的頭文件TimerEvents.h中定義一個(gè)自己的TimerID,實(shí)驗(yàn)中定義的ID為MY_TIMER_ID。當(dāng)然,要在MAX_TIMERS之前定義。
(2)使用函數(shù)StartTimer(U16TimerID,U16delay,funcPtr)啟動(dòng)一個(gè)定時(shí)器,其中TimerID為時(shí)鐘ID,delay為時(shí)間間隔,funcPtr為該定時(shí)器事件的回調(diào)函數(shù)。StartTimer已經(jīng)執(zhí)行,當(dāng)達(dá)到時(shí)間間隔delay時(shí)系統(tǒng)會(huì)通知執(zhí)行funcPtr。如:StartTimer(MY_TIMER_ID,1 000,my_funcPtr),其中,1 000為間隔時(shí)間,在MT6225中1 000即意味著定時(shí)時(shí)間為1 s。函數(shù)my_funcPtr為定時(shí)器到時(shí)后所要做事情的函數(shù)。
(3)退出程序時(shí),通過(guò)調(diào)用StopTimer(U16TimerID)來(lái)停止TimerID所對(duì)應(yīng)的定時(shí)器事件。實(shí)驗(yàn)中調(diào)用情況為StopTimer(MY_TIMER_ID)。
2.3 MTK短信息功能
短信功能作為MTK平臺(tái)的亮點(diǎn)之一,有著廣泛的應(yīng)用。本設(shè)計(jì)中在系統(tǒng)得到的數(shù)值超出預(yù)警值產(chǎn)生報(bào)警的同時(shí)通過(guò)短信通知主人,能夠及時(shí)阻止不利情況的進(jìn)一步發(fā)展。參考MTK 本身具有短信通信功能模塊,修改軟件系統(tǒng),通過(guò)設(shè)置固定的號(hào)碼,發(fā)生異常情況時(shí),MTK系統(tǒng)便會(huì)自動(dòng)發(fā)送信息給該號(hào)碼[2]。
2.4 繼電器的使用
本系統(tǒng)設(shè)計(jì)了遇到氣體泄漏時(shí)的解決方案,系統(tǒng)自動(dòng)打開(kāi)油煙機(jī)排出泄漏氣體,以免用戶疏忽造成火災(zāi)甚至爆炸。選用固態(tài)繼電器控制油煙機(jī)的開(kāi)關(guān),固態(tài)繼電器由于沒(méi)有機(jī)械觸電以及其他機(jī)械部件,因此可靠性相當(dāng)高,在通與斷的瞬間不會(huì)產(chǎn)生電火花,很適合本系統(tǒng)使用。又因該種繼電器的輸入與輸出間采用光耦合器,因此具有良好的抗干擾性。系統(tǒng)選用SSR-10DA型號(hào)的繼電器。該繼電器為雙向可控硅輸出,零電壓開(kāi)啟,零電流關(guān)閉,輸入輸出回路之間采用光隔離。系統(tǒng)通過(guò)GPIO口外接一反相器控制固態(tài)繼電器發(fā)光二極管的閉合,控制油煙機(jī)的啟動(dòng)與關(guān)閉。當(dāng)GPIO口輸出低電平時(shí),固態(tài)繼電器SSR-10DA內(nèi)部的發(fā)光二極管通電變亮,觸發(fā)導(dǎo)通右側(cè)的光控晶閘管,形成電機(jī)啟動(dòng)的閉合回路,油煙機(jī)啟動(dòng);當(dāng)GPIO口輸出為高電平時(shí),發(fā)光二極管不發(fā)光,固態(tài)繼電器SSR-10DA不能觸發(fā)導(dǎo)通,無(wú)法形成電機(jī)啟動(dòng)的閉合回路,油煙機(jī)關(guān)閉[3]。電路如圖2所示。
氣濃度的變化進(jìn)而轉(zhuǎn)變成電阻值的變化,通過(guò)傳感器處理電路處理后,轉(zhuǎn)變成系統(tǒng)可識(shí)別信號(hào)[4]。將傳感器模塊掛載在MTK系統(tǒng)的核心芯片MT6225的GPIO口上,通過(guò)定時(shí)查詢GPIO口的狀態(tài)檢測(cè)傳感器的輸出信號(hào),一旦MTK系統(tǒng)檢測(cè)到傳感器輸出信號(hào)與預(yù)警值相同或者高于預(yù)警值,則MTK平臺(tái)驅(qū)動(dòng)蜂鳴器發(fā)出刺耳的聲音提醒用戶,并自動(dòng)通過(guò)短信的方式發(fā)送報(bào)警信號(hào)給用戶。系統(tǒng)會(huì)自動(dòng)屏蔽掉相同內(nèi)容的信息重復(fù)發(fā)送。與此同時(shí),打開(kāi)油煙機(jī)的開(kāi)關(guān),油煙機(jī)開(kāi)始工作,排出泄漏氣體[5]。當(dāng)氣體濃度降至預(yù)警值以下時(shí),系統(tǒng)通過(guò)改變GPIO口的狀態(tài)控制蜂鳴器和油煙機(jī)停止工作,再發(fā)出危險(xiǎn)解除信息到系統(tǒng)的短信接收裝置。
4 外接設(shè)備規(guī)格
4.1 傳感器
MH-440v/d傳感器具有高靈敏度、兼?zhèn)錁?biāo)準(zhǔn)輸出與數(shù)字輸出、外型小巧、快速響應(yīng)、恢復(fù)、溫度補(bǔ)償、優(yōu)異的穩(wěn)定性、使用壽命長(zhǎng)、抗水汽干擾等特點(diǎn)。主要技術(shù)參數(shù)為:工作電壓:3.5 V~5.5 V;工作電流:75 mA~85 mA;測(cè)量范圍:0~5% vol;輸出信號(hào)范圍:0.4 V~2 V;分辨率:1%FSD;預(yù)熱時(shí)間90 s;響應(yīng)時(shí)間T90<30 s;重復(fù)性零點(diǎn)<±100 ppm;SPAN<±500 ppm;長(zhǎng)期漂移零點(diǎn)<±300 ppm/月;SPAN<±500 ppm/月;溫度范圍:-20 ℃~+50 ℃;濕度范圍:0~95%RH。
4.2 繼電器
繼電器選用SSR-10DA,其特點(diǎn)有:雙向可控硅輸出、零電壓開(kāi)啟、零電流關(guān)閉、輸入回路與輸出回路之間光隔離、輸入端與輸出端之間隔離耐壓2 500 V。主要技術(shù)參數(shù)如下:控制方式為DC-AC(直流控制交流);負(fù)載電流為10 A,負(fù)載電壓:AC 24 V~380 V;控制電壓:DC 3 V~32 V;控制電流:3 mA~25 mA;通態(tài)漏電流≤2 mA;通態(tài)降壓AC≤1.5 V;斷態(tài)時(shí)間≤10 ms;介質(zhì)耐壓AC 2 500 V;環(huán)境溫度:-30 ℃~+75 ℃。
5 系統(tǒng)測(cè)試與結(jié)論
為了測(cè)試系統(tǒng)性能,模擬一個(gè)燃?xì)庑孤┑沫h(huán)境。模擬系統(tǒng)中使用華禹工控的產(chǎn)品旋風(fēng)001,其核心模塊是本系統(tǒng)使用的MT6225,且?guī)в幸壕?,可以編?xiě)界面程序直觀地讀出濃度檢測(cè)值。甲烷濃度的燃爆極限為5%~15%,為了避免危險(xiǎn)發(fā)生,設(shè)定預(yù)警值為3%。燃?xì)鉂舛茸兓鐖D4所示。當(dāng)濃度超過(guò)預(yù)警值時(shí),系統(tǒng)觸發(fā)蜂鳴器發(fā)出聲音,油煙機(jī)開(kāi)始工作,且收到報(bào)警短信。在氣體濃度降至預(yù)警值之下以后油煙機(jī)停止工作,蜂鳴器也停止發(fā)出聲音,這時(shí)又收到解除警報(bào)的信息[6]。測(cè)試過(guò)程中沒(méi)有發(fā)生異常,完全符合設(shè)計(jì)初衷。
本系統(tǒng)采用MT6225手機(jī)開(kāi)發(fā)方案,其高集成度使開(kāi)發(fā)過(guò)程更加容易,且開(kāi)發(fā)周期短,成本比較低,可靠性高。系統(tǒng)經(jīng)過(guò)測(cè)試,能夠穩(wěn)定地運(yùn)行,且能很好地完成各項(xiàng)功能,又因?yàn)槠渚邆淞硕绦畔?bào)警功能,使得監(jiān)測(cè)無(wú)死角,對(duì)人們的安全生活加強(qiáng)了保障。此解決方案對(duì)從事相關(guān)電子產(chǎn)品的研發(fā)具有一定的參考價(jià)值。
參考文獻(xiàn)
[1] 趙志新,王紹偉,霍志強(qiáng),等.MTK手機(jī)開(kāi)發(fā)入門(mén)[M].北京:人民郵電出版社,2010.
[2] 王蓓.手機(jī)軟件平臺(tái)中的短信息模塊研究[D].西安:西安科技大學(xué),2006.
[3] 陸勤,奚傳雋.中間繼電器循環(huán)控制電路:中國(guó),201788902U[P].2011-04-06.
[4] 宋鵬,李奉澤,劉鑒,等.基于諧波檢測(cè)的新型光纖甲烷傳感系統(tǒng)[J].測(cè)控技術(shù),2011,30(6):5-11.
[5] 王光才,毛玉榮.基于MTK平臺(tái)的智能家居控制網(wǎng)絡(luò)系統(tǒng)[J].電子質(zhì)量,2011(12):38-40.
[6] 程志華,安琦,陶峰.基于嵌入式系統(tǒng)的乙炔氣體監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2009(8):46-49.