ARM和CDMA在遠(yuǎn)程視頻監(jiān)控系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
CDMA (Code Division Multiple Access) 又稱碼分多址,是在無線通訊上使用的技術(shù),CDMA允許所有使用者同時(shí)使用全部頻帶(1.2288Mhz),且把其他使用者發(fā)出訊號(hào)視為雜訊,完全不必考慮到訊號(hào)碰撞 (collision) 問題。CDMA中所提供語音編碼技術(shù),通話品質(zhì)比目前GSM好,且可把用戶對(duì)話時(shí)周圍環(huán)境噪音降低,使通話更清晰。就安全性能而言,CDMA不但有良好的認(rèn)證體制,更因其傳輸特性,用碼來區(qū)分用戶,防止被人盜聽的能力大大增強(qiáng)。 Wideband CDMA(WCDMA)寬帶碼分多址傳輸技術(shù),為IMT-2000的重要基礎(chǔ)技術(shù),將是第三代數(shù)字無線通信系統(tǒng)標(biāo)準(zhǔn)之一。這里開發(fā)的嵌入式遠(yuǎn)程視頻系統(tǒng)就是充分利用CDMA網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)的特點(diǎn)而搭建的數(shù)據(jù)傳輸系統(tǒng),特別適合邊遠(yuǎn)偏僻或不具備常規(guī)網(wǎng)絡(luò)傳輸條件的地方使用,例如車載視頻系統(tǒng)、交通路口(車牌實(shí)時(shí)監(jiān)視)及城市路燈的等。
1 嵌入式Linux系統(tǒng)
嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)對(duì)功能、可靠性、成本、體積、功耗要求嚴(yán)格的專用計(jì)算機(jī)系統(tǒng)。
Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱。Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”。Linux操作系統(tǒng)也是自由軟件和開放源代碼發(fā)展中最著名的例子。Linux本身只表示Linux內(nèi)核,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來形容整個(gè)基于Linux內(nèi)核,并且使用GNU 工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)。
本系統(tǒng)選用的處理器是SAMSUNG公司的一款中高端arm9內(nèi)核的CPU-S3C2410,其內(nèi)建有MMU,主頻可達(dá)到203MHz,運(yùn)行嵌入式Linux2.4系統(tǒng)正好如魚得水,不但保持了嵌入式系統(tǒng)小型化、低功耗、易攜帶的特點(diǎn),又充分利用了Linux系統(tǒng)的內(nèi)存、文件、線程管理功能。
2 系統(tǒng)結(jié)構(gòu)
系統(tǒng)一般可分為實(shí)時(shí)和觸發(fā)模式兩種,可以根據(jù)具體的情況設(shè)計(jì)合適的方式,如果采用實(shí)時(shí),將占用較多網(wǎng)絡(luò)資源,成本相對(duì)較高,采用觸發(fā)模式的運(yùn)行成本較低。
當(dāng)遇異常情況后,觸發(fā)終端拍攝圖片,同時(shí)其內(nèi)部的嵌入式模塊和CDMA模塊協(xié)同運(yùn)作,完成Internet的接入,并把拍攝到的圖片數(shù)據(jù)經(jīng)打包后發(fā)送給中心主機(jī),或發(fā)送給指定的E-mail地址,中心主機(jī)登錄到Internet上后運(yùn)行服務(wù)器端軟件就可以瀏覽由點(diǎn)發(fā)來的圖片。
3 硬件系統(tǒng)設(shè)計(jì)
要能夠正確運(yùn)行一個(gè)操作系統(tǒng),硬件方面至少應(yīng)該包括CPU、內(nèi)存和固態(tài)存儲(chǔ)器、系統(tǒng)內(nèi)部以及外設(shè)接口。
S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用0.18um制造工藝的32位微控制器。該處理器擁有:獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,MMU,支持TFT的LCD控制器,NAND閃存控制器,3路UART,4路DMA,4路帶PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2個(gè)USB主機(jī),1個(gè)USB設(shè)備,SD主機(jī)和MMC接口,2路SPI。具有3個(gè)UART、1個(gè)RTC和觸摸屏接口,還具有I2C、USB Host、USB Device等接口,充分滿足了系統(tǒng)的需要。
由于剪裁后的Linux系統(tǒng)所占得存儲(chǔ)空間非常小,我們選擇Nor Flash作為固體存儲(chǔ)器,通過16位數(shù)據(jù)與CPU交換數(shù)據(jù),并利用其上端8MB空間(00800000H-00ffffffH)開辟了一個(gè)jffs2文件存儲(chǔ)系統(tǒng),存儲(chǔ)系統(tǒng)的配置文件。
64MB的SDRAM為2片K4S561632C,通過32位數(shù)據(jù)與CPU交換數(shù)據(jù)。
通過MAX3232C電平轉(zhuǎn)換芯片和RTL8019網(wǎng)絡(luò)芯片轉(zhuǎn)換成一個(gè)RS-232接口和一個(gè)以太網(wǎng)接口,用串口線和以太網(wǎng)網(wǎng)線與PC機(jī)相連,組成可以交叉編譯的開發(fā)環(huán)境。
通過CPU上集成的USB Host接口直接與USB攝像頭連接,考慮到監(jiān)控與控制模塊接口的要求,選用USB1.1接口的紅外線攝像頭。
通過CPU上集成的UART接口直接與CDMA Modem模塊相連接,選用價(jià)格適中的AnyData公司的DTGS-800 CDMA模塊。
4 軟件系統(tǒng)設(shè)計(jì)
4.1 控制終端程序設(shè)計(jì)
控制終端軟件的核心是嵌入式Linux操作系統(tǒng),Linux本身作為一個(gè)桌面系統(tǒng),進(jìn)入嵌入式操作系統(tǒng)領(lǐng)域時(shí),小型化的目的是在滿足操作系統(tǒng)基本功能和用戶特定需要的情況下,使內(nèi)核盡可能小,作為一個(gè)操作系統(tǒng),Linux內(nèi)核主要負(fù)責(zé)程序的管理與調(diào)度、內(nèi)存的管理及對(duì)外設(shè)的驅(qū)動(dòng)和管理等,由于Linux內(nèi)核采用模塊化的設(shè)計(jì),很多模塊可以獨(dú)立地加載或卸載,所以小型化就是對(duì)Linux內(nèi)核重新編譯,在編譯時(shí)仔細(xì)地選擇嵌入式設(shè)備所需要的功能模塊,同時(shí)刪除不需要的功能,這里只需要串口驅(qū)動(dòng)、USB攝像頭接口驅(qū)動(dòng)(包含USB Host,USB Core和USB Device)還有撥號(hào)網(wǎng)絡(luò)應(yīng)用,還要支持PPP、TCP/IP網(wǎng)絡(luò)協(xié)議,其他都可以刪除掉。
具體程序設(shè)計(jì)包括Bootloader啟動(dòng)
a)系統(tǒng)加電后復(fù)位。
b)Bootloader初始化CPU、SDRAM、分配地址空間等。
c)Bootloader把Linux內(nèi)核的壓縮文件解壓到SDRAM中,同時(shí)把控制權(quán)從Bootloader移交到Linux。Linux的內(nèi)核有兩種運(yùn)行方式可供選擇??梢栽贔lash存儲(chǔ)器上直接運(yùn)行,也可以加載到內(nèi)存中運(yùn)行。Flash存儲(chǔ)器運(yùn)行方式就是把內(nèi)核的可執(zhí)行映像燒寫到Flash存儲(chǔ)器上,系統(tǒng)啟動(dòng)時(shí)從Flash存儲(chǔ)器的某個(gè)地址開始運(yùn)行內(nèi)核,進(jìn)入SDRAM繼續(xù)運(yùn)行,這種做法能減少內(nèi)存需要,實(shí)際上很多嵌入式系統(tǒng)都采用這種方法,內(nèi)存加載方式把內(nèi)核的壓縮文件存放在Flash存儲(chǔ)器上,系統(tǒng)啟動(dòng)時(shí)自動(dòng)讀取壓縮文件并在內(nèi)存中解壓,然后開始執(zhí)行。
d)開始執(zhí)行SDRAM中的代碼,Linux內(nèi)核初始化,完成堆棧,中斷的分配等。
e)加載串口驅(qū)動(dòng)模塊和USB
f)運(yùn)行PPP撥號(hào)程序,通過CDMA網(wǎng)絡(luò)與Internet進(jìn)行連接,在Linux下的PPP包是專門為解決Modem撥號(hào)上網(wǎng)問題而編寫的,并且是公開源代碼的,PPP撥號(hào)腳本程序主要是通過調(diào)用pppd和chat這兩個(gè)應(yīng)用程序,并通過AT指令實(shí)現(xiàn)對(duì)Modem的操作。
至此,已經(jīng)建立了從圖像采集到圖像傳輸?shù)耐暾那度胧奖O(jiān)控系統(tǒng),但是,作為一個(gè)嵌入式操作系統(tǒng),他是為某一專門的用途而設(shè)計(jì)的。運(yùn)行不同的用戶應(yīng)用程序,就可以實(shí)現(xiàn)用戶要求的不同功能。
我們運(yùn)行的用戶程序是一個(gè)無限循環(huán)的過程,控制終端在不斷等待拍照請(qǐng)求,通過比較識(shí)別認(rèn)為有請(qǐng)求后,CPU通過USB攝像頭驅(qū)動(dòng)控制攝像頭拍照,同時(shí)接收?qǐng)D片并發(fā)送控制中心,或通過SMTP協(xié)議,發(fā)送到指定的Email地址。
4.2 控制中心服務(wù)器程序設(shè)計(jì)
服務(wù)器端軟件實(shí)現(xiàn)的主要功能是接收、保存和重顯由嵌入式終端發(fā)送過來的監(jiān)控圖片,控制中心主機(jī)通過撥號(hào)、帶寬上網(wǎng)等方式登錄到Internet上,注意必須申請(qǐng)一個(gè)靜態(tài)IP地址,使主機(jī)每次登錄到Internet所獲得的IP地址(互聯(lián)網(wǎng)IP地址)不變,主機(jī)登錄Internet后,即可運(yùn)行服務(wù)器端軟件,服務(wù)器端程序設(shè)計(jì)主要包括網(wǎng)絡(luò)通信、接收?qǐng)D片、保存圖片、即時(shí)重顯圖片和察看圖片,用戶通過此軟件可以方便地瀏覽由控制終端發(fā)來的圖片。
另一種方案是不設(shè)置控制中心服務(wù)器,控制終端抓怕到的圖片直接發(fā)送到指定的Email地址,這種方案容易管理,只需定期查收Email,清除Email存儲(chǔ)空間即可,運(yùn)行成本很低,但可靠性差。
5 結(jié)束語
利用無線網(wǎng)絡(luò)與IT技術(shù)對(duì)傳統(tǒng)監(jiān)控領(lǐng)域進(jìn)行革新,是市場(chǎng)的需要,在這個(gè)過程中,嵌入式系統(tǒng)因其體積小、處理能力強(qiáng)、支持網(wǎng)絡(luò)服務(wù)等功能,無疑扮演了重要角色。