李興霞,代治國(guó),彭雪峰,張 博,金升燦
(佳木斯大學(xué) 商學(xué)院,黑龍江 佳木斯154007)
本信息系統(tǒng)將計(jì)算機(jī)技術(shù)與通信技術(shù)應(yīng)用于居民小區(qū)信息采集,它是將數(shù)據(jù)通信、圖形顯示、人機(jī)接口、輸入輸出接口技術(shù)相結(jié)合的自動(dòng)化系統(tǒng),具有對(duì)住戶信息分散采集、監(jiān)控和集中管理的功能[1-2]。改變了傳統(tǒng)的管理方式,節(jié)省了大量的人力、物力資源,為小區(qū)物業(yè)管理提供了高效、方便。
系統(tǒng)通過(guò)傳感器采集相關(guān)環(huán)境信息,將采集到的信息傳送到嵌入式控制器,對(duì)數(shù)據(jù)進(jìn)行處理,得到相應(yīng)的信息。將信息顯示在采集現(xiàn)場(chǎng)的LCD液晶顯示器上,當(dāng)出現(xiàn)安全問(wèn)題或欠費(fèi)時(shí),會(huì)發(fā)出語(yǔ)音報(bào)警。同時(shí)通過(guò)GPRS無(wú)線通信方式向遠(yuǎn)程控制中心上傳用戶終端數(shù)據(jù),以供遠(yuǎn)程物業(yè)管理中心對(duì)數(shù)據(jù)進(jìn)行分析和處理[3]。
根據(jù)小區(qū)住戶信息采集系統(tǒng)功能需求,進(jìn)行總體方案的構(gòu)思和設(shè)計(jì),其硬件構(gòu)架如圖1所示。
圖1 硬件總體結(jié)構(gòu)圖
本系統(tǒng)采用的是一款基于ARM1176JZF-S內(nèi)核的高速處理器S3C6410,S3C6410微處理器是Samsung公司提供的高性能和高性價(jià)比的微控制器解決方案,工作主頻高達(dá)667MHz,在視頻媒體編解碼、2D/3D圖形加速、顯示處理和縮放等方面的性能更加強(qiáng)大。接口比較豐富,所以配套的外接模塊也更靈活,可以外接藍(lán)牙模塊,USB無(wú)線網(wǎng)卡,LCD轉(zhuǎn)VGA視頻輸出卡等。它具有更高的主頻和更豐富的外設(shè),所以很適合本系統(tǒng)的開發(fā)。
本系統(tǒng)采用G35LCD,G35LCD的接口電路如下圖所示,它不用外接電源,直接接在ARM板的相應(yīng)接口就可以工作,方便操作。
圖2 G35LCD接口
選擇嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II作為系統(tǒng)的軟件平臺(tái),使用ARM公司推出的集成開發(fā)工具ADS1.2作為開發(fā)環(huán)境,在完成系統(tǒng)各個(gè)設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)的基礎(chǔ)上,采用結(jié)構(gòu)化程序設(shè)計(jì)方法開發(fā)系統(tǒng)的應(yīng)用程序[5]。
A/D模塊的驅(qū)動(dòng)程序主要通過(guò)設(shè)置和讀取相關(guān)控制寄存器驅(qū)動(dòng)A/D模塊。
ACD初始化程序如下:
關(guān)鍵部分是實(shí)現(xiàn)單個(gè)A/D轉(zhuǎn)換通道的功能,實(shí)現(xiàn)代碼如下:
unsigned short ad_read (unsigned char ch)
{
int i;
static int prevCh=-1;
if(prevCh!=ch)
{ rADCCON = 0x1|(ch<<2);
//設(shè)置AD轉(zhuǎn)換通道
for(i=0;i<150;i++);
//最小15uS
}
rADCCON=0x1|(ch<<2);//開始AD轉(zhuǎn)換
while(rADCCON & 0x1); //避免標(biāo)志FLAG錯(cuò)誤
while(!(rADCCON & 0x40)); //等待AD轉(zhuǎn)換結(jié)束
for(i = 0; i < rADCPSR; i++); //避免第二次標(biāo)志FLAG錯(cuò)誤
鬼子隊(duì)長(zhǎng)收起軍刀,又嘰哩呱啦亂叫一氣。翻譯莊槐冷著臉說(shuō):“太君要你把燒窯的師傅請(qǐng)來(lái),他要親自問(wèn)話!”停了一下,又說(shuō),“把人給我好好的帶來(lái),不許碰他一個(gè)指頭!”
prevCh=ch;
return rADCDAT; //返回AD轉(zhuǎn)換值
}
LCD顯示任務(wù)定義為Task_LCD_DISPLAY,它的任務(wù)主要把緩存區(qū)中的數(shù)據(jù)顯示出來(lái)。在主任務(wù)中創(chuàng)建LCD顯示任務(wù)如下:
OSTaskCreate(Task_LCD_DISPLAY,(void*)0,(OS_STK*)&Task_LCD_DISPLAY_Stack[TASK_STACK_SIZE*2-1],Task_LCD_DISPLAY_PRIO) ;
LCD子任務(wù)如下:
void Task_LCD_DISPLAY(void *Id)
{定義所需變量
{
rxmsg=(char*)OSMboxPend(Send_Mbox,0,&err);
if(*rxmsg=='Q')
{
Test_LcdStr();
Clear();
OSTimeDly(3000);
}
}
}
}
由于LCD驅(qū)動(dòng)程序較為復(fù)雜,上述只是給出了關(guān)鍵的子程序。針對(duì)硬件特性,進(jìn)行驅(qū)動(dòng)程序的編寫,將系統(tǒng)所采集的數(shù)據(jù)實(shí)時(shí)的顯示在LCD上。
采用GPRS設(shè)備終端實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。遠(yuǎn)程數(shù)據(jù)中心建有數(shù)據(jù)庫(kù),并可將數(shù)據(jù)上傳到INTETNET上,用戶可以隨時(shí)瀏覽相關(guān)數(shù)據(jù)[6]。本系統(tǒng)采用GPRS模塊通過(guò)ARM板的串口將采集的數(shù)據(jù)傳輸?shù)竭h(yuǎn)程的服務(wù)器端。
建立任務(wù)如下:
OSTaskCreate(Task_GPRS,(void*)0,(OS_STK*)&Task_GPRS_Stack[TASK_STACK_SIZE-1], Task_GPRS_PRIO )
當(dāng)GPRS模塊配置好連機(jī)ARM板串口以后,數(shù)據(jù)傳輸只要向該串口數(shù)據(jù)即可,遠(yuǎn)程的服務(wù)器端運(yùn)行編寫好的接收程序就可以進(jìn)行數(shù)據(jù)的接收了。
該項(xiàng)目能夠解決小區(qū)住戶的的相關(guān)數(shù)據(jù)采集和傳輸問(wèn)題,為小區(qū)實(shí)現(xiàn)智能化管理提供技術(shù)上的支持,為實(shí)現(xiàn)小區(qū)科學(xué)、系統(tǒng)、安全的物業(yè)管理提供了有效的解決方法。具有低成本、快速、可靠、操作簡(jiǎn)單等特點(diǎn)。與傳統(tǒng)的小區(qū)管理方案相比,有巨大的優(yōu)勢(shì),所以該項(xiàng)目有著廣闊的市場(chǎng)需求。
[參考文獻(xiàn)]
[1] 溫軍生,宋宏偉,劉旭寧,等 .嵌入式智能小區(qū)數(shù)據(jù)采集系統(tǒng)的研究[J].石家莊學(xué)院學(xué)報(bào),2010,12(6):74-79.
[2] 鄭學(xué)明.智能小區(qū)的技術(shù)實(shí)現(xiàn)及其應(yīng)用[J].福建電腦,2012(3):88-90.
[3] 張向陽(yáng).基于GPRS無(wú)線傳輸智能小區(qū)系統(tǒng)的實(shí)現(xiàn)[J].建材技術(shù)與應(yīng)用,2008(2):10-12.
[4] 周立功. ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].2版.北京:北京航空航天大學(xué)出版社,2008.
[5] Labrosse J Jean.嵌入式實(shí)施操作系統(tǒng)uC/OS-II[M].2版.邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003.
[6] 王勇,范曉楠.嵌入式系統(tǒng)與GPRS技術(shù)在“三表”遠(yuǎn)傳中的應(yīng)用[J].測(cè)控技術(shù),2005,24(2):65-67.