在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用ATmega48芯片和CMX865芯片實(shí)現(xiàn)串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-27 08:27 ? 次閱讀

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

1 ATmega48介紹

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

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

2 CMX865簡介

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

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

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

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

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

3 硬件設(shè)計(jì)

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

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

利用ATmega48芯片和CMX865芯片實(shí)現(xiàn)串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)

4 軟件實(shí)現(xiàn)

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

FSK接收都不會(huì)同時(shí)發(fā)生,這樣通信只需要開辟兩個(gè)緩沖區(qū)就可以確保模塊正常通信,考慮實(shí)際業(yè)務(wù)平臺(tái)數(shù)據(jù)量情況,軟件設(shè)計(jì)中為FSK接收開辟255字節(jié)緩沖區(qū)復(fù)用;FSK發(fā)送開辟45字節(jié)緩沖區(qū)復(fù)用。

4.1 主程序?qū)崿F(xiàn)流程

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

利用ATmega48芯片和CMX865芯片實(shí)現(xiàn)串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)

圖2 主程序流程圖

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

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

4.3 串口通信實(shí)現(xiàn)

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

利用ATmega48芯片和CMX865芯片實(shí)現(xiàn)串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)

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

4.4 FSK通信實(shí)現(xiàn)

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

利用ATmega48芯片和CMX865芯片實(shí)現(xiàn)串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)

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

結(jié)語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51019

    瀏覽量

    425413
  • 振蕩器
    +關(guān)注

    關(guān)注

    28

    文章

    3843

    瀏覽量

    139212
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1640

    瀏覽量

    148298
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    本文采用ATmega48芯片CMX865芯片實(shí)現(xiàn)FSK通信
    發(fā)表于 06-23 10:45 ?1755次閱讀

    atmega48的調(diào)試問題

    調(diào)試atmega48時(shí),用的是mkii仿真器,能連接上,不能下載程序,更不能調(diào)試…………出現(xiàn)如圖問題,而且熔絲位SPIEN不能選擇?。。?/div>
    發(fā)表于 03-31 09:47

    AVR 單片機(jī)的串口模塊設(shè)計(jì)教程

    本文采用ATmega48 芯片CMX865 芯片實(shí)現(xiàn)FSK
    發(fā)表于 07-11 08:58

    aTmega48怎么做電池電量檢測

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

    8位微控制器ATMEGA48資料推薦

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

    如何利用ATmega48單片機(jī)實(shí)現(xiàn)交通燈系統(tǒng)的設(shè)計(jì)?

    如何利用ATmega48單片機(jī)實(shí)現(xiàn)交通燈系統(tǒng)的設(shè)計(jì)?
    發(fā)表于 01-24 06:34

    ATmega48中文資料,ATmega48中文數(shù)據(jù)手冊

    ATmega48/88/168是基于AVR增強(qiáng)型RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATmega48/88/168 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在
    發(fā)表于 04-08 10:45 ?30次下載

    atmega48/atmega88/atmega168 pd

    ATmega48/88/168是基于AVR增強(qiáng)型RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATmega48/88/168 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)
    發(fā)表于 06-05 08:52 ?19次下載

    基于ATmega48的3相無刷電機(jī)的控制方法

    介紹了采用ATmega48單片機(jī)實(shí)現(xiàn)三相無刷直流電機(jī)控制器的方法。利用Atmega48獲得帶死區(qū)的脈寬調(diào)制(PWM)、霍爾傳感器的換相處理、正弦驅(qū)動(dòng)信號(hào)的產(chǎn)生和電機(jī)轉(zhuǎn)速的控制等功能。采
    發(fā)表于 12-21 10:28 ?129次下載

    AVR單片機(jī)的串口轉(zhuǎn)FSK通信模塊設(shè)計(jì)

    摘要:以AVR單片機(jī)ATmega48芯片CMX865調(diào)制/解調(diào)芯片為硬件架構(gòu)規(guī)范了對(duì)外串口通信
    發(fā)表于 11-26 14:51 ?3481次閱讀

    基于Atmega48和CC1100模塊的無線通信功能的實(shí)現(xiàn)

    基于Atmega48和CC1100模塊的無線通信功能的實(shí)現(xiàn)
    發(fā)表于 01-25 10:28 ?10次下載

    基于Atmega48和 CC1100模塊的無線通信功能的實(shí)現(xiàn)

    基于Atmega48和 CC1100模塊的無線通信功能的實(shí)現(xiàn)
    發(fā)表于 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'>實(shí)現(xiàn)</b>

    atmega48單片機(jī)特性 atmega48的低功耗設(shè)計(jì)

    atmega48單片機(jī)低功耗系統(tǒng)設(shè)計(jì)首要是選擇合適的單片機(jī)。atmega48單片機(jī)是一款8位微控制器,具有高性能、低功耗的顯著特點(diǎn)。由于采用risc精簡指令集結(jié)構(gòu),其指令集大多為單周期指令,具有高速運(yùn)行的特點(diǎn)。3v供電時(shí),未使能內(nèi)部看門狗的情況下,
    發(fā)表于 03-26 15:48 ?7818次閱讀
    <b class='flag-5'>atmega48</b>單片機(jī)特性 <b class='flag-5'>atmega48</b>的低功耗設(shè)計(jì)

    如何使用ATmega48單片機(jī)進(jìn)行微功耗電刺激器的設(shè)計(jì)

    介紹了基于ATmega48 單片機(jī)設(shè)計(jì)、用于動(dòng)物實(shí)驗(yàn)的電刺激實(shí)驗(yàn)器的硬件結(jié)構(gòu)和軟件設(shè)計(jì)要點(diǎn)。敘述了ATmega48 的特點(diǎn)及其低功耗設(shè)計(jì)的方法,給出了電壓調(diào)整DC/DC 電路以及輸出脈沖電路的實(shí)現(xiàn)與控制方法。
    發(fā)表于 11-14 17:59 ?13次下載
    如何使用<b class='flag-5'>ATmega48</b>單片機(jī)進(jìn)行微功耗電刺激器的設(shè)計(jì)

    ATmega48ATmega88及ATmega168微控制器的數(shù)據(jù)手冊免費(fèi)下載

    ATmega48/88/168是基于AVR增強(qiáng)型RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATmega48/88/168 的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。
    發(fā)表于 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微控制器的數(shù)據(jù)手冊免費(fèi)下載
    主站蜘蛛池模板: 美欧毛片| 婷婷激情视频| 成人黄色三级| 91在线网| 国产在线观看黄| 日本视频不卡| 亚洲伊人久久大香线蕉结合 | 国产亚洲3p无码一区二区| 黑人破乌克兰美女处| www.色天使| 色天天干| 超碰v| 综合免费一区二区三区| 精品国产中文一级毛片在线看| 一级特级片| 日本三级高清| 国产国语videosex另类| 手机看片福利视频| 最新在线视频| 成人亚洲欧美综合| 三级在线观看| 色网站在线播放| 激情综合丝袜美女一区二区| 免费视频18| 天天狠狠色噜噜| 久久这里只有精品免费播放| 337p亚洲精品色噜噜狠狠| 国产一区二区三区 韩国女主播| 国产精品成人va在线观看入口| 午夜亚洲| www.操操操.com| 免费看色视频| 上课被同桌强行摸下面小黄文| 九九九精品| 韩国三级视频在线观看| 在线视免费频观看韩国aaa| 热之国产| 亚洲第一区在线| 欧洲亚洲一区| 四虎影视网站| 国产理论|