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