|
英創(chuàng)提供的系列ARM9嵌入式主板,包括有EM9000嵌入式主板、EM9260嵌入式主板、EM9160嵌入式主板都是預(yù)裝了正版WinCE操作系統(tǒng),ARM9嵌入式主板的所有通訊接口均配置有標(biāo)準(zhǔn)的WinCE驅(qū)動(dòng)程序,本文側(cè)重于介紹嵌入式主板中通訊串口的一種典型應(yīng)用,即如何在這些嵌入式主板上進(jìn)行GPRS的應(yīng)用開發(fā)。
GPRS的標(biāo)準(zhǔn)應(yīng)用模式是作為客戶端模式,通過撥號(hào)“*99***1#”到中國(guó)移動(dòng)的GPRS節(jié)點(diǎn)服務(wù)器,從而實(shí)現(xiàn)撥號(hào)上網(wǎng)的功能。在WinCE操作系統(tǒng)中提供有RAS(Remote Access Service),即“遠(yuǎn)程訪問服務(wù)”,它允許遠(yuǎn)程撥號(hào)連接,一旦建立了連接,就可以像局域網(wǎng)中的計(jì)算機(jī)一樣進(jìn)行通訊。在英創(chuàng)提供的系列ARM9嵌入式主板接有GPRS設(shè)備,就可以通過RAS撥號(hào)直接接入到Internet,進(jìn)一步可通過TCP/IP數(shù)據(jù)通訊來實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的通訊,從而實(shí)現(xiàn)應(yīng)用數(shù)據(jù)進(jìn)行無線傳輸?shù)墓δ?。下面就分三個(gè)部分來介紹開發(fā)RAS功能實(shí)現(xiàn)GPRS自動(dòng)撥號(hào)的過程。其中包括如何自動(dòng)建立一個(gè)GPRS撥號(hào)連接、GPRS無線模塊的電源管理、自動(dòng)進(jìn)行GPRS撥號(hào)。 一、自動(dòng)創(chuàng)建GPRS撥號(hào)連接 在進(jìn)行GPRS撥號(hào)之前,需要首先創(chuàng)建一個(gè)撥號(hào)連接,也就是需要添加一個(gè)RASEntry到RAS的電話薄中,并將其保存在注冊(cè)表中。RASEntry中需要設(shè)置作為調(diào)制解調(diào)器的設(shè)備屬性(端口設(shè)置、撥號(hào)選項(xiàng))以及指定電話號(hào)碼和用戶驗(yàn)證參數(shù)。在EM9000嵌入式主板上,直接支持WinCE桌面系統(tǒng),用戶可以通過界面中“控制面板”手動(dòng)添加GPRS撥號(hào)連接。具體的設(shè)置方法請(qǐng)參見技術(shù)文檔《EM9000 無線通訊網(wǎng)絡(luò)設(shè)置》一文,這里就不再贅述。而EM9260、EM9160嵌入式主板沒有支持WinCE的界面,所以英創(chuàng)公司為了方便用戶的使用,英創(chuàng)專門設(shè)計(jì)了自動(dòng)創(chuàng)建撥號(hào)連接的程序RASEntry.exe,并捆綁在內(nèi)核中,用戶可以直接運(yùn)行windows>目錄下的RASEntry.exe,即可自動(dòng)創(chuàng)建GPRS的撥號(hào)連接。該程序?qū)τ谟?chuàng)的所有的ARM9嵌入式主板均適用。注意RASEntry.exe只需運(yùn)行一次即可。 對(duì)于EM9000標(biāo)準(zhǔn)板卡,GPRS撥號(hào)屬性中的端口配置為 COM3,波特率為57600,8位數(shù)據(jù)位,無校驗(yàn),1位停止位。EM9260、EM9160中GPRS撥號(hào)屬性中的端口配置為 COM2,波特率為57600,8位數(shù)據(jù)位,無校驗(yàn),1位停止位。 二、GPRS無線模塊的上電過程 在英創(chuàng)提供的所有ARM9嵌入式主板開發(fā)套件中均可直接接上MC39i模塊進(jìn)行GPRS應(yīng)用開發(fā),這里主要介紹西門子公司的MC39I的上電過程。 MC39i的電源管理是通過1路數(shù)字輸入(GPRS_PWR)、2路數(shù)字輸出(GPRS_STB、GPRS_AUX)來實(shí)現(xiàn)。其中GPRS_PWR用于檢測(cè)MC39i模塊上電的狀態(tài),輸入高表示無線模塊已上電;GPRS_STB主要用于對(duì)MC39i進(jìn)行上電操作,通過GPRS_STB輸出一個(gè)脈沖,使能MC39i上電;GPRS_AUX主要用于對(duì)MC39i進(jìn)行控制,輸出一個(gè)高電平,將關(guān)閉MC39i 電源供電。 在程序設(shè)計(jì)中,為了確保每次MC39i模塊上電操作正常,我們所提供的程序所采用的策略是先將模塊關(guān)電,然后再進(jìn)行正常的上電操作。 GPRS_PowerOff( ); // 操作GPRS_AUX關(guān)閉MC39i模塊電源 Sleep( 200 ); // 延時(shí)200ms GPRS_PowerOn( ); // 操作GPRS_STB 對(duì)MC39i模塊進(jìn)行上電操作 目前華為公司的GTM900無線模塊,與MC39i在外形尺寸以及管腳都是一致的,因此在英創(chuàng)提供的ARM9嵌入式主板開發(fā)套件中也可以直接接上GTM900進(jìn)行GPRS應(yīng)用開發(fā)。GTM900的電源管理也是利用的GPRS_STB、GPRS_AUX,它和MC39I唯一的區(qū)別就在上電、關(guān)電的操作過程,為此英創(chuàng)公司對(duì)陣GTM900提供相應(yīng)的GPRS_PowerOff( )、GPRS_PowerOn( ) 函數(shù),應(yīng)用仍然按照相同調(diào)用順序即可實(shí)現(xiàn)對(duì)GTM900的自動(dòng)上電操作。 三、自動(dòng)進(jìn)行GPRS 撥號(hào)連接 GPRS撥號(hào)連接建立成功后,就可以直接調(diào)用WinCE系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)RasDial(…)來自動(dòng)建立PPP連接,關(guān)于該函數(shù)的定義和使用方法可在eVC的在線幫助中獲得。這里主要是介紹如何在程序中實(shí)現(xiàn)自動(dòng)進(jìn)行GPRS撥號(hào),即在英創(chuàng)公司所提供的自動(dòng)撥號(hào)程序中所采取的策略。 為了確保每次自動(dòng)撥號(hào)成功,程序的執(zhí)行流程如下: 1、無論當(dāng)前的GPRS無線模塊處于何種狀態(tài),通過相關(guān)的函數(shù)GPRS_PowerOff( )、GPRS_PowerOn() 對(duì)GPRS模塊進(jìn)行關(guān)電復(fù)位、重新上電的操作。以確保GPRS模塊處于初始上電的狀態(tài)。 2、調(diào)用WinCE系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)RasEnumConnections(…)列舉當(dāng)前已建立的活動(dòng)連接,如果得到的活動(dòng)連接數(shù)目不為0,再調(diào)用函數(shù)RasHangUp(…)進(jìn)行掛斷操作,掛斷關(guān)閉當(dāng)前活動(dòng)的連接。這樣操作的目的是確保只有一個(gè)活動(dòng)的連接。 3、最后再調(diào)用函數(shù)RasDial(…)進(jìn)行GPRS的撥號(hào)連接。撥號(hào)成功后,系統(tǒng)將保持一個(gè)活動(dòng)的撥號(hào)連接。 |
|
|