<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM和GPRS的無線傳輸與接收

          基于ARM和GPRS的無線傳輸與接收

          作者: 時間:2010-11-10 來源:網(wǎng)絡(luò) 收藏


          3 系統(tǒng)軟件設(shè)計
          根據(jù)系統(tǒng)需求,在操作系統(tǒng)Linux啟動前,首先應(yīng)該對微處理器和GPRS模塊在內(nèi)的系統(tǒng)內(nèi)外部硬件進(jìn)行初始化,在硬件初始化就緒后,可按系統(tǒng)要求劃分并創(chuàng)建系統(tǒng)任務(wù),最后啟動Linux進(jìn)行各任務(wù)的調(diào)度。應(yīng)用程序共分為初始化任務(wù)、配置任務(wù)、數(shù)據(jù)發(fā)送任務(wù)、數(shù)據(jù)處理任務(wù)和用戶串口中斷服務(wù)等五個任務(wù)。本文主要完成系統(tǒng)的初始化以及撥號連入Internet等工作。
          3.1 系統(tǒng)初始化
          為了能利用TCP/PI協(xié)議進(jìn)行數(shù)據(jù)傳輸。設(shè)計時必須對系統(tǒng)的硬件和軟件進(jìn)行初始化。圖2所示為系統(tǒng)初始化部分的軟件流程圖。

          本文引用地址:http://www.ex-cimer.com/article/151362.htm


          本系統(tǒng)軟件在開始時,首先需要通過檢查0x90端口的輸入電平是否為高來判斷MC35i模塊是否正常上電。若未能正常上電,那么,軟件將通過0x90端口的輸出使MC35i模塊上電。
          當(dāng)MC35i模塊上電后,軟件將在內(nèi)存中開辟一個緩存區(qū)做為包括PPP、IP、TCP、UDP等協(xié)議的數(shù)據(jù)緩存區(qū)。該緩存區(qū)內(nèi)數(shù)據(jù)的存放方式采用雙向鏈表的方式。
          為了TCP協(xié)議實現(xiàn)中能夠進(jìn)行超時檢測,在軟件中應(yīng)利用R8822CPU模塊的內(nèi)部定時器安裝一個20ms的時鐘中斷。
          ETR186可通過其串口COM2和MC35i模塊相連接,用軟件可通過安裝串口中斷來和MC35i模塊進(jìn)行數(shù)據(jù)傳輸。
          在完成上述操作后,系統(tǒng)即可以利用AT命令登錄GPRS網(wǎng)絡(luò)。若不成功,即進(jìn)行重試,超過重試次數(shù)后,即發(fā)送出錯報告。最后就是進(jìn)行PPP鏈路的連接,同時發(fā)送數(shù)據(jù)。
          3.2 撥號原理
          所謂初始化模塊,主要就是設(shè)定APN:CMNET,
          at+cgdcont=1,ip,cmnet,
          然后利用chat程序撥號*99***1,#
          待撥號連接成功后,再由pppd建立通信鏈路即可。其腳本改動如下:在ppp-on里改了電話號碼為*99***1#,將賬號與密碼清除,再修改DIALER_SCRIPT的路徑,同時把下面的設(shè)備改成/dev/ttyS0,速率改為115200,再將crtscts參數(shù)去掉。同時在ppp-on-dialer里把帳號密碼去掉。其改動后的腳本如下:



          關(guān)鍵詞: 收發(fā)器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();