AVR單片機的串口轉FSK的通信模塊設計
摘要:以AVR單片機ATmega48芯片及CMX865調制/解調芯片為硬件架構規范了對外串口通信協議,采用模擬口線的方式對CMX865寄存器進行操作,設計了一種串口轉FSK的通信模塊,實現數據傳輸方式的轉換。硬件電路以ATmega48微處理器為核心,并利用C/BUS總線控制CMX865芯片,實現FSK/DTMF收、發功能;外圍電路由振鈴檢測、FSK數據收發接口電路組成。模塊軟件設計主要包括串口通信和FSK通信兩部分程序,串口通信程序實現串口通信命令的組包發送、收包解析/處理功能;FSK通信程序實現利用中斷方式發送、接收FSK數據功能。
關鍵詞:AVR單片機;ATmega48;CMX865;串口;FSK
隨著信息技術與網絡技術的飛速發展,信息交互應用業務給人類生活帶來更多的便利,信息終端表現出巨大的市場潛力。但是由于終端用戶環境不同,用戶信息交互方式可能不同,目前常用的有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引腳檢測到低電平的振鈴信號。
評論