基于GPRS網(wǎng)絡(luò)的嵌入式系統(tǒng)的研究
網(wǎng)絡(luò)層即 IP層,它主要完成的功能是:從底層來的數(shù)據(jù)包要由它來選擇繼續(xù)傳給其他網(wǎng)絡(luò)結(jié)點或是直接交給傳輸層;對從傳輸層來的數(shù)據(jù)包,要負責按照數(shù)據(jù)分組的格式填充報頭,選擇發(fā)送路徑,并交由相應的線路發(fā)送出去。
傳輸層提供端到端應用進程之間的通信,其對高層屏蔽了底層網(wǎng)絡(luò)的實現(xiàn)細節(jié),同時它真正實現(xiàn)了源主機到目的主機的端到端的通信。傳輸層傳送的數(shù)據(jù)單位是報文。
在應用層用戶通過API(應用進程接口)調(diào)用應用程序來運用因特網(wǎng)提供的多種服務。應用程序負責收發(fā)數(shù)據(jù),并選擇傳輸層提供的服務類型,按傳輸要求的格式遞交。
3.2 系統(tǒng)初始化
為了能利用 TCP/PI協(xié)議進行數(shù)據(jù)傳輸,必須對系統(tǒng)的硬件和軟件進行初始化。圖 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)中能夠進行超時檢測,軟件利用 R8822CPU模塊的內(nèi)部定時器安裝一個 20ms的時鐘中斷。
(4)ETR186通過其串口 COM2和 MC35i模塊連接,軟件通過安裝串口中斷進行和 MC35i模塊的數(shù)據(jù)傳輸。
(5)完成上述操作后,系統(tǒng)就可以利用 AT命令登錄 GPRS網(wǎng)絡(luò)。不成功就進行重試,超過重試次數(shù)后出錯報告。
(6)最后進行 PPP鏈路的連接。
4 小結(jié):
本文作者創(chuàng)新點是將嵌入式Linux系統(tǒng)技術(shù)與 GPRS無線通信網(wǎng)絡(luò)有機的結(jié)合在一起。平臺采用無線模塊MC39i,結(jié)合終端的嵌入式硬件結(jié)構(gòu)和軟件環(huán)境,為終端上實現(xiàn)無線應用提供了一個可行的實現(xiàn)途徑。經(jīng)實驗驗證,該終端平臺能有效的將采集到的數(shù)據(jù)通過GPRS網(wǎng)絡(luò),傳輸至遠程服務器中心主機,也能接受服務器中心主機發(fā)送的命令,再根據(jù)命令的內(nèi)容進行相應的操作,達到實現(xiàn)無線數(shù)據(jù)傳輸。
參考文獻:
[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.
評論