基于GPRS網(wǎng)絡(luò)的嵌入式系統(tǒng)的研究
網(wǎng)絡(luò)層即 IP層,它主要完成的功能是:從底層來的數(shù)據(jù)包要由它來選擇繼續(xù)傳給其他網(wǎng)絡(luò)結(jié)點或是直接交給傳輸層;對從傳輸層來的數(shù)據(jù)包,要負(fù)責(zé)按照數(shù)據(jù)分組的格式填充報頭,選擇發(fā)送路徑,并交由相應(yīng)的線路發(fā)送出去。
傳輸層提供端到端應(yīng)用進(jìn)程之間的通信,其對高層屏蔽了底層網(wǎng)絡(luò)的實現(xiàn)細(xì)節(jié),同時它真正實現(xiàn)了源主機(jī)到目的主機(jī)的端到端的通信。傳輸層傳送的數(shù)據(jù)單位是報文。
在應(yīng)用層用戶通過API(應(yīng)用進(jìn)程接口)調(diào)用應(yīng)用程序來運用因特網(wǎng)提供的多種服務(wù)。應(yīng)用程序負(fù)責(zé)收發(fā)數(shù)據(jù),并選擇傳輸層提供的服務(wù)類型,按傳輸要求的格式遞交。
3.2 系統(tǒng)初始化
為了能利用 TCP/PI協(xié)議進(jìn)行數(shù)據(jù)傳輸,必須對系統(tǒng)的硬件和軟件進(jìn)行初始化。圖 5為系統(tǒng)初始化部分的流程圖。
(1)系統(tǒng)軟件在開始時首先需要通過檢查 0x90端口的輸入電平是否為高來判斷 MC35i模塊是否正常上電。若未能正常上電,軟件將通過 0x90端口的輸出使 MC35i模塊上電。
(2)MC35i模塊上電后,軟件將在內(nèi)存中開辟一個緩存區(qū)做為包括PPP、IP、TCP、UDP等協(xié)議的數(shù)據(jù)緩存區(qū),做為該緩存區(qū)內(nèi)數(shù)據(jù)存放方式采用雙向鏈表的方式。
(3)為了 TCP協(xié)議實現(xiàn)中能夠進(jìn)行超時檢測,軟件利用 R8822CPU模塊的內(nèi)部定時器安裝一個 20ms的時鐘中斷。
(4)ETR186通過其串口 COM2和 MC35i模塊連接,軟件通過安裝串口中斷進(jìn)行和 MC35i模塊的數(shù)據(jù)傳輸。
(5)完成上述操作后,系統(tǒng)就可以利用 AT命令登錄 GPRS網(wǎng)絡(luò)。不成功就進(jìn)行重試,超過重試次數(shù)后出錯報告。
(6)最后進(jìn)行 PPP鏈路的連接。
4 小結(jié):
本文作者創(chuàng)新點是將嵌入式Linux系統(tǒng)技術(shù)與 GPRS無線通信網(wǎng)絡(luò)有機(jī)的結(jié)合在一起。平臺采用無線模塊MC39i,結(jié)合終端的嵌入式硬件結(jié)構(gòu)和軟件環(huán)境,為終端上實現(xiàn)無線應(yīng)用提供了一個可行的實現(xiàn)途徑。經(jīng)實驗驗證,該終端平臺能有效的將采集到的數(shù)據(jù)通過GPRS網(wǎng)絡(luò),傳輸至遠(yuǎn)程服務(wù)器中心主機(jī),也能接受服務(wù)器中心主機(jī)發(fā)送的命令,再根據(jù)命令的內(nèi)容進(jìn)行相應(yīng)的操作,達(dá)到實現(xiàn)無線數(shù)據(jù)傳輸。
參考文獻(xiàn):
[1].GPRSdatasheethttp://www.dzsc.com/datasheet/GPRS_1594650.html.
[2].ARM920Tdatasheethttp://www.dzsc.com/datasheet/ARM920T_139814.html.
[3].S3C2410Xdatasheethttp://www.dzsc.com/datasheet/S3C2410X_589566.html.
[4].28F640J3Adatasheethttp://www.dzsc.com/datasheet/28F640J3A_1060588.html.
[5].BGAdatasheethttp://www.dzsc.com/datasheet/BGA_1071529.html.
[6].MC35idatasheethttp://www.dzsc.com/datasheet/MC35i_1136952.html.
[7].X25datasheethttp://www.dzsc.com/datasheet/X25_1151403.html.
評論