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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ATmega48單片機的串口轉(zhuǎn)FSK通信模塊設(shè)計

          基于ATmega48單片機的串口轉(zhuǎn)FSK通信模塊設(shè)計

          作者: 時間:2013-06-27 來源:網(wǎng)絡(luò) 收藏

          4.3 實現(xiàn)

          AVR往往采用SPI方式,通信通信采用UART0控制/狀態(tài)寄存器和數(shù)據(jù)寄存器實現(xiàn)。串口通信子程序主要由串口發(fā)送/接收中斷子程序、串口接收命令解析子程序和串口組包發(fā)送子程序3部分組成。其中串口中斷接收程序為:

          具體執(zhí)行串口數(shù)據(jù)發(fā)送時,需要提供發(fā)送數(shù)據(jù)長度、發(fā)送起始地址、置UCSROB寄存器值(UCSR0B |=0x28)。串口接收命令解析子程序按照對外串口通信協(xié)議解析串口命令,并根據(jù)命令描述調(diào)用子程序代碼執(zhí)行相應(yīng)子功能操作。為了通信容錯處理,通信需對接收串口數(shù)據(jù)進(jìn)行校驗,如果解析的串口命令格式正確,則向終端發(fā)送肯定應(yīng)答;否則發(fā)送否定應(yīng)答,等待終端重傳命令數(shù)據(jù)。串口組包發(fā)送子程序?qū)邮盏?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/FSK">FSK數(shù)據(jù)以及線路狀態(tài)等信息數(shù)據(jù),按照串口通信協(xié)議組包發(fā)送給信息終端。

          4.4 通信實現(xiàn)

          通信子程序主要由CMX865芯片寄存器操作、FSK收/發(fā)、DTMF收/發(fā)以及線路狀態(tài)檢測等子程序組成。芯片采用模擬口線的方式對CMX865寄存器進(jìn)行讀/寫操作,其中對CMX865芯片寄存器讀操作程序為:

          FSK收/發(fā)、DTMF收/發(fā)子程序均以CMX865寄存器讀/寫操作函數(shù)為基礎(chǔ),通過設(shè)置CMX865寄存器的值,確定其工作模式。FSK數(shù)據(jù)發(fā)送、接收都可以通過CMX865芯片的IRQ中斷口線引起芯片中斷,因此FSK數(shù)據(jù)收/發(fā)都通過中斷實現(xiàn)。芯片程序采用10 ms定時器循環(huán)檢測線路狀態(tài)。

          結(jié)語

          本文利用芯片和CMX865芯片為硬件架構(gòu)了串口轉(zhuǎn)FSK通信。由于ATmega48芯片與ATmega88芯片除了Flash、EEPROM、SR AM容量差異外,性能完全相同。通信模塊可以不更改硬件電路,僅配置相應(yīng)AVR芯片,對軟件稍作調(diào)整,能夠滿足通信業(yè)務(wù)對通信數(shù)據(jù)量增加的需求,節(jié)約模塊二次開發(fā)的成本。目前本通信模塊已在一款新型的電子交易終端上使用,并與中興、精倫等電子交易平臺進(jìn)行信息交互,運行效果良好。

          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理


          分頻器相關(guān)文章:分頻器原理

          上一頁 1 2 下一頁

          評論


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