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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > EM200在分布式探測站組網(wǎng)通信的應(yīng)用

          EM200在分布式探測站組網(wǎng)通信的應(yīng)用

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

          圖4是模塊與UIM卡的連接電路,其中33 pF電容用于濾去射頻電路產(chǎn)生的干擾。

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

          d.jpg


          目前大多數(shù)ARM7都具有兩組以上串口,其中通常有一組帶有完整的調(diào)制解調(diào)器接口,如LPC2214的串口。LPC2214作為DTE(數(shù)據(jù)終端設(shè)備)通過串口1與作為DEC(數(shù)據(jù)設(shè)備)的相連,需要注意的是DTE與DCE之間的連接不需要交叉TXD/RXD線。

          3 雙串口的管理
          如圖2所示,收發(fā)端均需要管理兩組串口。對于接收端而言,當(dāng)獲取來自CDMA網(wǎng)絡(luò)的數(shù)據(jù)后,MCU從串口1接收的數(shù)據(jù)包,解包分析后將有效數(shù)據(jù)通過串口0發(fā)送給融合中心。如圖5所示,此時MCU只需處理串口1的接收中斷,串口0可以采取查詢方式發(fā)送。

          f.jpg


          在發(fā)送端,MCU從串口0接收來自站的數(shù)據(jù),并將數(shù)據(jù)按AT指令TCP發(fā)送格式打包,經(jīng)串口1發(fā)送給。由于AT指令的操作是交互式的,在MCU發(fā)出下一條TCP指令給EM200前,必須確認(rèn)已收到EM200之前AT指令執(zhí)行后的應(yīng)答響應(yīng),否則極可能導(dǎo)致發(fā)送失敗。由于需接收AT指令執(zhí)行后的應(yīng)答響應(yīng),串口1既要發(fā)送也要接收,再加上串口0的接收中斷,MCU需要同時處理兩組串口中斷,如圖6所示。

          f.jpg


          3.1 發(fā)送端面臨的問題
          發(fā)送端面臨的最大問題是如何兼顧兩組串口的接收中斷,即當(dāng)兩個串口同時接收到數(shù)據(jù)時,如何保證無丟失地全部接收。
          雖然LPC2214的兩個16C550標(biāo)準(zhǔn)串口自帶16 BFIFO緩存,卻仍難以同時兼顧兩個串口的接收操作。
          具體問題為,在兩個串口同時接收到超過其FIFO緩沖容量的連續(xù)數(shù)據(jù)時,MCU只能響應(yīng)高優(yōu)先級串口中斷,在低優(yōu)級串口中斷被暫時屏蔽期間,低優(yōu)先級中斷的串口會因自身FIFO緩存溢出導(dǎo)致數(shù)據(jù)丟失。
          實(shí)際使用中,MCU一方面需要接收來自站的數(shù)據(jù),另一方面還要接收EM200返回的之前AT指令執(zhí)行后的應(yīng)答響應(yīng)。工作中TCP發(fā)送指令執(zhí)行后的應(yīng)答結(jié)果為“CRLF%TCPSEND:1,XCRLF”,其中CR和LF分別表示回車和換行,X代表發(fā)送指令中的有效數(shù)據(jù)個數(shù),可能是1~1 024之間的任意數(shù)值,另外在1和X前面還分別有一個空格。應(yīng)答結(jié)果共計18~21 B,超過了串口的16 B FIFO緩存容量,在中斷被屏蔽而得不到及時響應(yīng)時,無疑會導(dǎo)致FIFO緩存溢出。



          評論


          相關(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); })();