新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于ARM處理器S3C2440的無線監(jiān)控系統(tǒng)設(shè)計(jì)

基于ARM處理器S3C2440的無線監(jiān)控系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-09-25 來源:網(wǎng)絡(luò) 收藏

2.2 GPRS模塊的接口

  通用分組服務(wù)技術(shù)(General Packet Radio Service)的簡稱,它是GSM移動(dòng)電話用戶可用的一種移動(dòng)數(shù)據(jù)業(yè)務(wù)。GPRS可說是GSM的延續(xù)。GPRS和以往連續(xù)在頻道傳輸?shù)姆绞讲煌?,是以封包(Packet)式來傳輸,因此使用者所負(fù)擔(dān)的費(fèi)用是以其傳輸資料單位計(jì)算,并非使用其整個(gè)頻道,理論上較為便宜。GPRS的傳輸速率可提升至56甚至114Kbps.

  有3個(gè)UART通道,利用其中一個(gè)通道串口,使其與GPRS模塊連接,由于自帶的UART控制器,使得硬件開發(fā)和軟件都比較簡單。但RS 232標(biāo)準(zhǔn)所定義的高、低電平信號(hào),與一般的微控制器系統(tǒng)的電路所定義的高、低電平信號(hào)完全不同,如系統(tǒng)的標(biāo)準(zhǔn)邏輯“1”對(duì)應(yīng)電平2~3 V,標(biāo)準(zhǔn)邏輯“O”對(duì)應(yīng)0~4 V電平。顯然,與RS 232標(biāo)準(zhǔn)所述的電平信號(hào)完全不同。兩者之間要進(jìn)行通信,必須經(jīng)過信號(hào)電平的轉(zhuǎn)換,目前常使用的電平轉(zhuǎn)換芯片有MAX232,MAX3221和MAX324.3,具體設(shè)計(jì)電路如圖7和圖8所示。

  3 操作系統(tǒng)平臺(tái)的定制

  Windows CE是高度模塊化的嵌入式操作系統(tǒng),正因?yàn)槿绱?,用戶為了滿足特定的要求而對(duì)操作系統(tǒng)進(jìn)行定制,如果為自己的嵌入式設(shè)備定制Windows CE操作系統(tǒng),則須進(jìn)行創(chuàng)建、構(gòu)建、運(yùn)行和發(fā)布OS等一系列操作。在視頻中,根據(jù)功能要求,利用Platform Builder5.0定制系統(tǒng)的流程如下:

  (1)導(dǎo)入BSP開發(fā)包。由于用的是三星公司的920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件將其導(dǎo)入。打開“Platform Builder5.0”,選擇“File”菜單下的 “Manage Catalog Features”,如圖9所示。在彈出的對(duì) 話框中單擊“Import”,瀏覽到SMDK2440文件下的 smdk2440.cec文件,將其導(dǎo)入。

  (2)創(chuàng)建項(xiàng)目。根據(jù)WinCE的要求,在定制系統(tǒng)的過程中選擇合適的組件來實(shí)現(xiàn)。其中包括的組件有:支持應(yīng)用程序開發(fā)的MFC組件和支持網(wǎng)絡(luò)的相關(guān)組件等。


  (3)編譯項(xiàng)目:點(diǎn)擊菜單“Build OS”→“Sysgen”開始編譯項(xiàng)目。

  (4)下載運(yùn)行時(shí)映像,調(diào)試成功后啟動(dòng)。編譯成功后會(huì)在目WinCES00PBWorkspacestestlRelDirsmdk2 440_V4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺(tái)上運(yùn)行。

  4 驅(qū)動(dòng)程序的開發(fā)

  4.1 攝像頭驅(qū)動(dòng)的開發(fā)

  攝像頭驅(qū)動(dòng)開發(fā)是設(shè)計(jì)中的一個(gè)難點(diǎn),也是一個(gè)關(guān)鍵部分。由于攝像頭采集的視頻數(shù)據(jù)可以當(dāng)作數(shù)據(jù)流來處理,所以對(duì)于攝像頭的驅(qū)動(dòng)將采用流式接口的方法來開發(fā)。

  (1)在Platform Builder中打開前面定制的操作系統(tǒng)工程,然后在新建一個(gè)WIN32 DLL項(xiàng)目,添加2個(gè)C++的源文件,即:camera.cpp和IIc.cpp,其中camer—a.cpp包含驅(qū)動(dòng)的入口函數(shù)DLLMain();驅(qū)動(dòng)的前綴為“CIS”,IIc.cpp包含通過ICC接口對(duì)攝像頭相關(guān)寄存器進(jìn)行配置的函數(shù)。

  (2)根據(jù)前面的硬件電路和OV9650芯片的工作時(shí)序,通過編寫流接口的CIS_Init函數(shù)實(shí)現(xiàn)OV9650初始化。主要包括以下3步:調(diào)用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函數(shù)通知系統(tǒng)注冊(cè)中斷;調(diào)用CreateEvent()函數(shù)創(chuàng)建一個(gè)CameraEvent事件;調(diào)用CreateThread()函數(shù)創(chuàng)建CameraThread線程。在Camera Capture Thread服務(wù)函數(shù)中調(diào)用WaitForSingleObject(CameraEvent,Dis—play Time)函數(shù)等待Camera Event事件的發(fā)生。此事件由與其關(guān)聯(lián)的SYSINTR_CAM中斷來觸發(fā)。此外還有其它流接口函數(shù)(CIS_IOControl等)也可以以類似的方法實(shí)現(xiàn)。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉