在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ATmega48的串口轉FSK通信模塊設計

      基于ATmega48的串口轉FSK通信模塊設計

      作者: 時間:2013-10-15 來源:網絡 收藏


      4.1 主程序實現流程

      主程序包括:CPU初始化、CMX865初始化、初始化建鏈、串口通信和FSK通信子程序等。主程序流程如圖2所示。初始化建鏈環(huán)節(jié)是模塊正常工作的基礎,通過初始化建鏈操作,信息終端可以根據線路環(huán)境以及平臺超時機制對參數進行設置,確保通信的穩(wěn)定性。通信主流程循環(huán)執(zhí)行3個子功能函數:線路狀態(tài)處理函數、串口數據解析與處理函數、鏈路保持函數。線路狀態(tài)處理函數設計了3種線路狀態(tài),即初始狀態(tài)、空閑狀態(tài)和摘機狀態(tài);正常工作時僅在空閑狀態(tài)和摘機狀態(tài)之間切換。其中在空閑狀態(tài)檢測振鈴、根據狀態(tài)位執(zhí)行摘機、DTMF撥號等操作;在摘機狀態(tài)根據狀態(tài)位執(zhí)行FSK收發(fā)、脫線檢測、掛機控制等操作。串口數據解析與處理函數包含串口數據按命令集解析、對解析命令進行應答和狀態(tài)置位處理部分。這樣線路狀態(tài)處理函數和串口數據解析與處理函數通過狀態(tài)置位標志緊密連接起來。FSK數據采用中斷方式直接接收,接收完畢后在摘機狀態(tài)下直接通過串口發(fā)送給信息終端。由于串口發(fā)送應用相對單一,為簡單處理串口發(fā)送采用即時應答處理方式,分散在通信主流程各子功能函數中實現,提高了通信效率。通過鏈路保持函數判斷串口通信是否異常,周期性地向信息終端發(fā)送鏈路保持命令,如果3次重發(fā)均未收到終端應答命令,通信模塊將自動鎖閉線路,重新執(zhí)行初始化建鏈操作,實現串口異常的處理。


      4.2 對外串口通信協(xié)議

      模塊采用標準串口通信,波特率為19 200 bps,10位異步方式。定義串口通信數據包格式為:0x1E+命令+校驗和反碼(對命令的校驗和反碼),其中部分命令以變長方式發(fā)送。串口通信主要命令有:模塊初始化、鏈路保持、DTMF接收/發(fā)送、FSK接收/發(fā)送、振鈴、掛機等,命令具體格式和描述此處不加詳述。模塊初始化上電后由通信模塊自動發(fā)起,直到正確接收到終端應答初始化命令后,通信模塊才建鏈成功。信息終端初始化應答命令主要提供FSK通信模塊參數配置信息。上電后如果FSK模塊未收到終端初始化應答信息,則周期性地(每2 s)發(fā)送一次初始化建鏈命令,直到成功為止;模塊FSK通信過程中周期性地向終端發(fā)送鏈路保持命令,如果未收到終端應答信息,則斷開FSK鏈接重新開始模塊初始化。

      4.3 串口通信實現

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

      具體執(zhí)行串口數據發(fā)送時,需要提供發(fā)送數據長度、發(fā)送起始地址、置UCSROB寄存器值(UCSR0B |=0x28)。串口接收命令解析子程序按照對外串口通信協(xié)議解析串口命令,并根據命令描述調用子程序代碼執(zhí)行相應子功能操作。為了通信容錯處理,通信模塊需對接收串口數據進行校驗,如果解析的串口命令格式正確,則向終端發(fā)送肯定應答;否則發(fā)送否定應答,等待終端重傳命令數據。串口組包發(fā)送子程序對接收的FSK數據以及線路狀態(tài)等信息數據,按照串口通信協(xié)議組包發(fā)送給信息終端。

      4.4 FSK通信實現

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

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

      結語

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

      數字通信相關文章:數字通信原理


      通信相關文章:通信原理


      分頻器相關文章:分頻器原理

      上一頁 1 2 下一頁

      評論


      相關推薦

      技術專區(qū)

      關閉