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