AVR單片機(jī)的串口轉(zhuǎn)FSK的通信模塊設(shè)計(jì)
摘要:以AVR單片機(jī)ATmega48芯片及CMX865調(diào)制/解調(diào)芯片為硬件架構(gòu)規(guī)范了對(duì)外串口通信協(xié)議,采用模擬口線的方式對(duì)CMX865寄存器進(jìn)行操作,設(shè)計(jì)了一種串口轉(zhuǎn)FSK的通信模塊,實(shí)現(xiàn)數(shù)據(jù)傳輸方式的轉(zhuǎn)換。硬件電路以ATmega48微處理器為核心,并利用C/BUS總線控制CMX865芯片,實(shí)現(xiàn)FSK/DTMF收、發(fā)功能;外圍電路由振鈴檢測(cè)、FSK數(shù)據(jù)收發(fā)接口電路組成。模塊軟件設(shè)計(jì)主要包括串口通信和FSK通信兩部分程序,串口通信程序?qū)崿F(xiàn)串口通信命令的組包發(fā)送、收包解析/處理功能;FSK通信程序?qū)崿F(xiàn)利用中斷方式發(fā)送、接收FSK數(shù)據(jù)功能。
關(guān)鍵詞:AVR單片機(jī);ATmega48;CMX865;串口;FSK
隨著信息技術(shù)與網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,信息交互應(yīng)用業(yè)務(wù)給人類生活帶來(lái)更多的便利,信息終端表現(xiàn)出巨大的市場(chǎng)潛力。但是由于終端用戶環(huán)境不同,用戶信息交互方式可能不同,目前常用的有IP方式、FSK方式以及無(wú)線通信方式等。為了能夠提高終端市場(chǎng)競(jìng)爭(zhēng)力,減少系統(tǒng)開發(fā)成本投入,通信模塊與終端程序獨(dú)立設(shè)計(jì)是較為理想的解決方案。本文采用ATmega48芯片及CMX865芯片實(shí)現(xiàn)FSK通信模塊,基于此模塊,用戶與業(yè)務(wù)平臺(tái)之間進(jìn)行FSK信息交互,相對(duì)于終端來(lái)說(shuō)就是簡(jiǎn)單的串口通信。
1 ATmega48介紹
ATmega48是基于AVR增強(qiáng)型RISC(精簡(jiǎn)指令集)結(jié)構(gòu)的高性能、低功耗的8位CMOS微控制器。微控制器具有可控制的上電復(fù)位和可編程的掉電檢測(cè)電路、經(jīng)過(guò)標(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簡(jiǎn)介
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、編碼器/解碼器;
◆集成振鈴檢測(cè)功能,支持語(yǔ)音探測(cè)功能。
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可以通過(guò)模擬口線方式對(duì)CMX865芯片進(jìn)行控制。
圖1還提供了基本的FSK接收/發(fā)送數(shù)據(jù)接口電路和振鈴檢測(cè)電路。在FSK發(fā)送電路中,CMX865芯片TXA(15引腳)處外接電阻的目的是匹配芯片接口對(duì)線路的交流阻抗。在FSK接收電路中,CMX865芯片RXAFB(9引腳)與RXAN(10引腳)之間的電容以及隔離變壓器之間電容設(shè)計(jì)的目的是濾除高頻噪聲;通過(guò)調(diào)節(jié)接收電路中兩個(gè)電阻R1、R2的阻值即可改變接收端提供給CMX865芯片信號(hào)的幅度。在振鈴檢測(cè)電路中,IC1是光電耦合器,不振鈴時(shí)光電三極管截止,RING為高電平;振鈴時(shí),振鈴信號(hào)經(jīng)過(guò)電容耦合及穩(wěn)壓管穩(wěn)壓,振鈴電壓使IC1內(nèi)發(fā)光二極管發(fā)光,照射到光電三極管的基極上導(dǎo)致光電三極管導(dǎo)通,RING為低電平,通過(guò)ATmega48引腳檢測(cè)到低電平的振鈴信號(hào)。
評(píng)論