色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用ATmega48芯片和CMX865芯片實現串口轉FSK的通信模塊設計

電子設計 ? 作者:電子設計 ? 2018-11-27 08:27 ? 次閱讀

隨著信息技術與網絡技術的飛速發展,信息交互應用業務給人類生活帶來更多的便利,信息終端表現出巨大的市場潛力。但是由于終端用戶環境不同,用戶信息交互方式可能不同,目前常用的有IP方式、FSK方式以及無線通信方式等。為了能夠提高終端市場競爭力,減少系統開發成本投入,通信模塊與終端程序獨立設計是較為理想的解決方案。本文采用ATmega48芯片及CMX865芯片實現FSK通信模塊,基于此模塊,用戶與業務平臺之間進行FSK信息交互,相對于終端來說就是簡單的串口通信。

1 ATmega48介紹

ATmega48是基于AVR增強型RISC(精簡指令集)結構的高性能、低功耗的8位CMOS微控制器。微控制器具有可控制的上電復位和可編程的掉電檢測電路、經過標定的片內RC振蕩器、片內外18個中斷源和5種休眠模式。由于其先進的指令集以及單時鐘周期指令執行時間,ATmega48的數據吞吐率高達1 MIPs/MHz,運行速度比普通的單片機高出10倍,從而可以緩解系統在功耗和處理速度之間的矛盾。

其片內集成了4 KB的系統內可編程Flash、256字節的EEPROM、512字節的SRAM.其外設具有可編程的串行USART接口、可工作于主機/從機模式的SPI串行接口;存在2個具有獨立預分頻器和比較器功能的8位定時/計數器和1個具有預分頻器、比較功能和捕捉功能的16位定時/計數器、具有獨立片內振蕩器的可編程看門狗定時器等。ATmega48/88/168芯片硬件電路可以完全兼容,完全可以根據軟件實際需求靈活選擇AVR芯片,極大地方便系統的開發與研制。

2 CMX865簡介

CMX865是CML公司新出的一款DTMF編/解碼器/FSK調制解調器復合IC芯片,它采用單個高速串行總線控制,與大多數串行接口兼容。 CMX865的主要特征是:

供電電壓2.7~5.5 V,低功耗操作模式;

◆支持V.23、Bell202 FSK 1200 bps編碼/解碼;

◆集成高可靠性DTMF、編碼器/解碼器;

◆集成振鈴檢測功能,支持語音探測功能。

3 硬件設計

圖1為串口轉FSK通信模塊電路。系統主要以AVR單片機ATmega48芯片和CMX865調制/解調芯片為硬件架構,ATmega48芯片利用C-BUS總線對CMX865芯片進行控制操作,實現FSK通信。CMX865芯片的IRQN終端與CPU芯片的外部中斷0(INT0)相連,確保軟件可以采用中斷方式接收/發送FSK數據。CMX865芯片的時鐘信號、片選信號、響應應答數據信號、接收控制數據信號分別與ATmega48芯片的普通I/O接口引腳相連,CPU可以通過模擬口線方式對CMX865芯片進行控制。

圖1還提供了基本的FSK接收/發送數據接口電路和振鈴檢測電路。在FSK發送電路中,CMX865芯片TXA(15引腳)處外接電阻的目的是匹配芯片接口對線路的交流阻抗。在FSK接收電路中,CMX865芯片RXAFB(9引腳)與RXAN(10引腳)之間的電容以及隔離變壓器之間電容設計的目的是濾除高頻噪聲;通過調節接收電路中兩個電阻R1、R2的阻值即可改變接收端提供給CMX865芯片信號的幅度。在振鈴檢測電路中,IC1是光電耦合器,不振鈴時光電三極管截止,RING為高電平;振鈴時,振鈴信號經過電容耦合及穩壓管穩壓,振鈴電壓使IC1內發光二極管發光,照射到光電三極管的基極上導致光電三極管導通,RING為低電平,通過ATmega48引腳檢測到低電平的振鈴信號。

利用ATmega48芯片和CMX865芯片實現串口轉FSK的通信模塊設計

4 軟件實現

ATmega48芯片具有4 KB內部Flash和512字節的片內SRAM,軟件實現需考慮資源分配問題,特別是SRAM使用情況。由于程序涉及串口通信、DTMF通信和FSK通信3種情況,理論上需要開辟6個緩沖區。如果這樣,每一個緩沖區的大小顯然不能確保達到實際通信數據量的需求。結合FSK通信特點,DTMF數據傳輸與FSK數據傳輸不可能同時發生,因此FSK與DTMF可共用相同緩沖區。同樣串口接收與FSK發送、串口發送與

FSK接收都不會同時發生,這樣通信只需要開辟兩個緩沖區就可以確保模塊正常通信,考慮實際業務平臺數據量情況,軟件設計中為FSK接收開辟255字節緩沖區復用;FSK發送開辟45字節緩沖區復用。

4.1 主程序實現流程

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

利用ATmega48芯片和CMX865芯片實現串口轉FSK的通信模塊設計

圖2 主程序流程圖

4.2 對外串口通信協議

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

4.3 串口通信實現

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

利用ATmega48芯片和CMX865芯片實現串口轉FSK的通信模塊設計

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

4.4 FSK通信實現

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

利用ATmega48芯片和CMX865芯片實現串口轉FSK的通信模塊設計

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

結語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51121

    瀏覽量

    426088
  • 振蕩器
    +關注

    關注

    28

    文章

    3845

    瀏覽量

    139257
  • FlaSh
    +關注

    關注

    10

    文章

    1641

    瀏覽量

    148413
收藏 人收藏

    評論

    相關推薦

    基于AVR單片機的串口FSK通信模塊設計

    本文采用ATmega48芯片CMX865芯片實現FSK通信
    發表于 06-23 10:45 ?1767次閱讀

    atmega48的調試問題

    調試atmega48時,用的是mkii仿真器,能連接上,不能下載程序,更不能調試…………出現如圖問題,而且熔絲位SPIEN不能選擇!!!
    發表于 03-31 09:47

    AVR 單片機的串口模塊設計教程

    本文采用ATmega48 芯片CMX865 芯片實現FSK
    發表于 07-11 08:58

    aTmega48怎么做電池電量檢測

    想做一個課題用aTmega48單片機實現蓄電池的剩余電量檢測,就是結果在pc上顯示出來,具體代碼怎么寫不會啊,有沒有類似的模板給我參考一下?拜托各位了!
    發表于 08-05 11:46

    8位微控制器ATMEGA48資料推薦

    8位微控制器ATMEGA48資料下載內容包括:ATMEGA48功能和特性ATMEGA48引腳功能ATMEGA48內部方框圖ATMEGA48
    發表于 03-26 06:42

    如何利用ATmega48單片機實現交通燈系統的設計?

    如何利用ATmega48單片機實現交通燈系統的設計?
    發表于 01-24 06:34

    ATmega48中文資料,ATmega48中文數據手冊

    ATmega48/88/168是基于AVR增強型RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間, ATmega48/88/168 的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統在
    發表于 04-08 10:45 ?30次下載

    atmega48/atmega88/atmega168 pd

    ATmega48/88/168是基于AVR增強型RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間, ATmega48/88/168 的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統
    發表于 06-05 08:52 ?19次下載

    基于ATmega48的3相無刷電機的控制方法

    介紹了采用ATmega48單片機實現三相無刷直流電機控制器的方法。利用Atmega48獲得帶死區的脈寬調制(PWM)、霍爾傳感器的換相處理、正弦驅動信號的產生和電機轉速的控制等功能。采
    發表于 12-21 10:28 ?129次下載

    AVR單片機的串口FSK通信模塊設計

    摘要:以AVR單片機ATmega48芯片CMX865調制/解調芯片為硬件架構規范了對外串口通信
    發表于 11-26 14:51 ?3489次閱讀

    基于Atmega48和CC1100模塊的無線通信功能的實現

    基于Atmega48和CC1100模塊的無線通信功能的實現
    發表于 01-25 10:28 ?10次下載

    基于Atmega48和 CC1100模塊的無線通信功能的實現

    基于Atmega48和 CC1100模塊的無線通信功能的實現
    發表于 08-31 08:46 ?14次下載
    基于<b class='flag-5'>Atmega48</b>和 CC1100<b class='flag-5'>模塊</b>的無線<b class='flag-5'>通信</b>功能的<b class='flag-5'>實現</b>

    atmega48單片機特性 atmega48的低功耗設計

    atmega48單片機低功耗系統設計首要是選擇合適的單片機。atmega48單片機是一款8位微控制器,具有高性能、低功耗的顯著特點。由于采用risc精簡指令集結構,其指令集大多為單周期指令,具有高速運行的特點。3v供電時,未使能內部看門狗的情況下,
    發表于 03-26 15:48 ?7820次閱讀
    <b class='flag-5'>atmega48</b>單片機特性 <b class='flag-5'>atmega48</b>的低功耗設計

    如何使用ATmega48單片機進行微功耗電刺激器的設計

    介紹了基于ATmega48 單片機設計、用于動物實驗的電刺激實驗器的硬件結構和軟件設計要點。敘述了ATmega48 的特點及其低功耗設計的方法,給出了電壓調整DC/DC 電路以及輸出脈沖電路的實現與控制方法。
    發表于 11-14 17:59 ?13次下載
    如何使用<b class='flag-5'>ATmega48</b>單片機進行微功耗電刺激器的設計

    ATmega48ATmega88及ATmega168微控制器的數據手冊免費下載

    ATmega48/88/168是基于AVR增強型RISC結構的低功耗8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執行時間, ATmega48/88/168 的數據吞吐率高達1 MIPS/MHz,從而可以緩減系統在功耗和處理速度之間的矛盾。
    發表于 03-25 16:18 ?38次下載
    <b class='flag-5'>ATmega48</b>和<b class='flag-5'>ATmega</b>88及<b class='flag-5'>ATmega</b>168微控制器的數據手冊免費下載
    主站蜘蛛池模板: 最新国产在线视频在线| md2.pud 麻豆传媒官网| 国产91专区| 无遮挡h肉3d动漫在线观看| 国产精品一区二区20P| 亚洲九九视频| 免费果冻传媒2021在线观看| z00兽200俄罗斯| 窝窝影院午夜看片毛片| 国产精品久人妻精品| 伊人久久大香线蕉综合色啪 | 免费果冻传媒2021在线看| 海角社区在线视频播放观看| 99久久亚洲精品日本无码| 色偷偷男人| 久久精品国产久精国产果冻传媒| 99国产在线视频有精品视频| 婷婷综合久久狠狠色| 久久国产香蕉视频| 国产日韩欧美综合久久| a级老头和老太xxxx| 亚洲精品天堂在线| 同桌上课把奶露出来给我玩| 日本一二三区在线视频| 久久66热在线视频精品| 丁香成人网址| 40岁东北老阿姨无码| 午夜十八岁禁| 少妇仑乱A毛片| 日韩精品欧美亚洲高清有无| 久久久国产精品免费A片蜜臀 | 99久久久精品| 87.6在线收听| 天龙八部慕容属性加点| 日本三级按摩推拿按摩| 欧美日韩永久久一区二区三区| 河南老太XXXXXHD| yellow在线观看免费观看大全| av狼新人开放注册区| 99热久久这里只有精品视频| 99视频这里只有精品|