基于A(yíng)RM和GPRS的無(wú)線(xiàn)傳輸與接收
3 系統軟件設計
根據系統需求,在操作系統Linux啟動(dòng)前,首先應該對微處理器和GPRS模塊在內的系統內外部硬件進(jìn)行初始化,在硬件初始化就緒后,可按系統要求劃分并創(chuàng )建系統任務(wù),最后啟動(dòng)Linux進(jìn)行各任務(wù)的調度。應用程序共分為初始化任務(wù)、配置任務(wù)、數據發(fā)送任務(wù)、數據處理任務(wù)和用戶(hù)串口中斷服務(wù)等五個(gè)任務(wù)。本文主要完成系統的初始化以及撥號連入Internet等工作。
3.1 系統初始化
為了能利用TCP/PI協(xié)議進(jìn)行數據傳輸。設計時(shí)必須對系統的硬件和軟件進(jìn)行初始化。圖2所示為系統初始化部分的軟件流程圖。本文引用地址:http://dyxdggzs.com/article/151362.htm
本系統軟件在開(kāi)始時(shí),首先需要通過(guò)檢查0x90端口的輸入電平是否為高來(lái)判斷MC35i模塊是否正常上電。若未能正常上電,那么,軟件將通過(guò)0x90端口的輸出使MC35i模塊上電。
當MC35i模塊上電后,軟件將在內存中開(kāi)辟一個(gè)緩存區做為包括PPP、IP、TCP、UDP等協(xié)議的數據緩存區。該緩存區內數據的存放方式采用雙向鏈表的方式。
為了TCP協(xié)議實(shí)現中能夠進(jìn)行超時(shí)檢測,在軟件中應利用R8822CPU模塊的內部定時(shí)器安裝一個(gè)20ms的時(shí)鐘中斷。
ETR186可通過(guò)其串口COM2和MC35i模塊相連接,用軟件可通過(guò)安裝串口中斷來(lái)和MC35i模塊進(jìn)行數據傳輸。
在完成上述操作后,系統即可以利用AT命令登錄GPRS網(wǎng)絡(luò )。若不成功,即進(jìn)行重試,超過(guò)重試次數后,即發(fā)送出錯報告。最后就是進(jìn)行PPP鏈路的連接,同時(shí)發(fā)送數據。
3.2 撥號原理
所謂初始化模塊,主要就是設定APN:CMNET,
at+cgdcont=1,ip,cmnet,
然后利用chat程序撥號*99***1,#
待撥號連接成功后,再由pppd建立通信鏈路即可。其腳本改動(dòng)如下:在ppp-on里改了電話(huà)號碼為*99***1#,將賬號與密碼清除,再修改DIALER_SCRIPT的路徑,同時(shí)把下面的設備改成/dev/ttyS0,速率改為115200,再將crtscts參數去掉。同時(shí)在ppp-on-dialer里把帳號密碼去掉。其改動(dòng)后的腳本如下:
評論