《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于CMX618與CMX7041的數字對講機基帶系統的設計

基于CMX618與CMX7041的數字對講機基帶系統的設計

2009-07-08
作者:崔 振,謝曉明

??? 摘? 要: CMX618與CMX7041是CML半導體公司推出的用于數字專網移動通信的專用芯片,本文介紹了基于CMX618[1]與CMX7041[2]數字對講機基帶系統的設計,敘述了系統的硬件設計與軟件設計,并闡述了芯片使用中的問題與經驗。?

??? 關鍵詞: CMX618;CMX7041;數字對講機;基帶;數字專網移動通信

?

??? 數字對講機擁有全新的技術,是一個新時代的產物,是模擬對講機的更新換代產品。所謂數字對講機,就是在其內部將語音信號進行數字化處理,并可以擴展其他數據應用功能的對講機。它在以下三個方面有著模擬對講機無法比擬的優勢:(1)窄帶通信,一路語音信號占用一個信道,信道帶寬是12.5 kHz或者6.25 kHz,從而能很好地應對當今社會頻譜資源日益缺乏的難題。(2)由于對語音信號的數字化處理使得在接收端對接收信號進行判決時消除了一定的噪聲積累影響,而且在發送端對語音數字信號還可以進行信道編碼的處理,這就使得數字對講機的話音質量得到了進一步的改善。(3)由于內部設有數字信號處理機制,因此可以增加若干有關數據應用的擴展功能,例如短信息、視頻信息等。歐美市場調查的數據顯示:2003年數字對講機與模擬對講機的比例是2:8,在2004年上升為5:5,且預計2007年將達到8:2。我國目前市場上并沒有自主知識產權的數字對講機產品出售,國外公司例如摩托羅拉、艾可慕等,其研制的數字對講機產品價格昂貴,使得一般的中小型企業無法接受。今年汶川地震時GSM網絡的癱瘓,使得通信、救援等工作都受到影響,也使得對數字對講機的需求變得異常強烈,還有我國公安、消防、建筑等行業部門對數字對講機的強烈需求,所以擁有我國自主知識產權的數字對講機亟待研發并被投入市場。?

1 所選芯片介紹?

??? 筆者所設計的數字對講機基帶系統基于英國CML半導體公司的語音編解碼芯片CMX618和4FSK調制解調芯片CMX7041。參照的通信協議是ETSI(歐洲電信標準協會)發布的公用數字對講機標準DPMR[3]。?

??? CML公司研制的這兩款芯片目的是應用于窄帶的數字專網移動通信。CMX618是語音編解碼芯片,內部集成A/D、D/A,采用RALCWI(魯棒的先進的低復雜性波形插入)技術,可以將模擬語音信號轉換成數字語音信號后,再壓縮編碼為位速率是3.6 kb/s的碼流,其中的2.4 kb/s是純語音數據,另外的1.2 kb/s是信道編碼數據,壓縮率很高,并且聲音效果也不錯。CMX618解碼時可以將語音外帶信道編碼的數據先解碼,再經D/A轉換,送入耳機或擴音器。芯片內部結構框圖如圖1所示。CMX7041是4FSK方式的調制解調芯片。調制時,它可以將輸入的數字信號進行4FSK調制,并且輸出數字碼流的速率可以是4.8 kb/s或者9.6 kb/s,可以應對信道帶寬是6.25 kHz和12.5 kHz兩種情況。在解調端,它可以將4FSK已調信號解調,得到原調制信號。其內部結構框圖如圖2所示。?

?

?

?

??? 基帶系統的CPU選擇的是ARM7TDMI-S內核的NXP的LPC2138[4],筆者使用外接12 MHz晶振,處理器時鐘設置為48 MHz,這樣高的時鐘頻率足以應對對講機的工作,LPC2138的內部Flash為512 KB,其中大約256 KB的Flash用來存儲字庫,用于短信息的功能。總體來說這款ARM芯片是很合適的。?

2 系統總體介紹?

??? 系統的總體框圖如3所示。本設計中CMX618語音編碼后的碼流速率是3.6 kb/s,CMX7041將信號調制后碼流速率是9.6 kb/s,所以一路話音占用的信道帶寬是12.5 kHz。?

?

?

??? 在發送路徑上,麥克將人的模擬語音轉換為差分的電信號。將差分的電信號送入CMX618,在其內部將電信號進行A/D轉換,之后將數字信號進行壓縮編碼,輸出3.6 kb/s的數字碼流,其中含有1.2 kb/s的信道編碼數據。LPC2138通過SPI總線將CMX618輸出的已編碼數據讀入到MCU內部開辟的數據緩存區中,之后將這些讀入的數據與按照DPMR協議填充的協議數據一起再通過SPI總線送給CMX7041,CMX7041將得到的數據進行4fsk調制并發送至射頻模塊,再經天線發射出去。接收路徑上,CMX7041將接收到的4fsk已調信號進行解調,將解調得到的信號經過SPI總線存儲到MCU的緩沖區中,MCU再將緩沖區中的語音數據通過SPI總線送入CMX618待其解碼,解碼之后的差分語音信號送入揚聲器即可還原出語音。?

3 硬件電路設計?

??? 電路原理簡圖如圖4所示,僅列出了與接口相關的引腳。?

?

?

??? 畫PCB圖時需注意以下幾點:?

??? (1)麥克輸出的信號是差分的電信號,所以麥克的輸出與CMX618的輸入之間的導線應布成等長、等距離且距離盡可能近的差分線。從CMX618輸出的信號到擴音器之間的導線同樣應是差分線。?

??? (2)為了獲得可調節大小且分貝較高的聲音,可以在CMX618與擴音器之間加一個音頻功放芯片。芯片在較大功率時的聲音完全可以滿足對講機的要求。大功率時,電流相應也較大,可以達到1.5 A左右,所以導線的寬度最好在1~1.27 mm之間。?

??? (3)板子最好做成4層板。除了內層有電源層和地層以外,最好在頂層和底層也都鋪銅,鋪成地網絡。為了使地平面充分相通,可以在頂層與地層、底層與地層之間多打一些過孔,這樣也可提高散熱性能。?

4 軟件設計?

??? 先介紹數字對講機工作時參照的協議標準。筆者所使用的標準是ETSI(歐洲電信標準協會)發布的公用數字對講機標準——DPMR,考慮到所使用芯片CMX7041的特性,在幀的結構上有所修改,如圖5所示。為了保證語音數據的連續性,在MCU的RAM中開辟了兩個緩沖區,每個緩沖區的大小都是1 896 bit,即237 B。對講機工作時,輪流對這兩個緩沖區進行讀寫數據的操作。

?

?

??? 數字對講機工作時發送端CMX618的工作流程圖見圖6,CMX7041工作流程圖見圖7。?

?

?

?

??? 數字對講機最初處于檢測PTT鍵是否被按下的狀態。當PTT鍵被按下時,就啟動CMX618開始編碼。CMX618處于編碼狀態時,每80 ms會產生36 B即288 bit的已編碼話音數據,并以中斷方式通知MCU,MCU收到中斷信號后就會啟動其SPI外設從CMX618的內部寄存器中將這36 B的語音數據讀到MCU的RAM緩沖區中。與此同時要根據DPMR協議填充相應的協議數據,這些協議數據用于得知呼叫與被呼叫者的ID,用于判斷呼叫類型是單呼、組呼、短信息通信、還是圖像通信等通信類型,因此關于協議的處理也是很重要的。每當產生4次中斷,即320 ms時,就啟動CMX7041,使其由IDLE狀態轉換為發送狀態,將緩沖區中數據即語音數據與協議數據一起經調制后發送出去。?

??? CMX7041的發送機制如下。會涉及到5個發送數據寄存器,1個數百字節的緩沖器,1個調制解調模塊;5個發送數據寄存器,寬度都是16 bit,其中的四個半寄存器用于裝載待發送數據,剩余的8 bit用于裝載控制字節。CMX7041通過SPI總線將MCU緩沖區中的數據讀入到這5個發送數據寄存器中,之后自動將這5個寄存器中的數據送入芯片內緩沖器中,每當一次送入緩沖器的操作完成,CMX7041就會產生一個DataReady中斷,此時,MCU就將緩沖區中后面的數據再放到5個發送數據寄存器中。一直這樣持續下去,直到MCU中前一半或者后一半緩沖區中的數據都被送入CMX7041中。之后MCU所做的就是等待Txdone中斷的發生。Txdone中斷的發生就意味著MCU中緩沖區中的數據都被CMX7041調制完成并發送完畢。值得注意的是CMX7041內的緩沖器。它既時刻接收由5個發送數據寄存器送過來的數據,同時也在按照9.6 kb/s或者4.8 kb/s的速率向調制解調模塊發送數據,以供調制解調模塊將數據進行4fsk的調制。也就是說緩沖器在接收數據的同時,也在送出數據,是一個動態的平衡過程。有一點很重要,就是一定不能讓這個緩沖器里面為空,這樣就會發生并不希望的Txdone中斷。在不希望的Txdone中斷之后,如果CMX7041再沒有得到來自MCU的使其從IDLE狀態轉換成發送狀態的命令,則其不會再調制任何數據和發送任何數據。這樣必然導致接收端無法正確解調數據,最終導致雙方通信的失敗。所以,必須在CMX7041發生DataReady中斷的時刻立即向5個發送數據寄存器寫數據,既不可以在中斷發生之前寫(寫數據過快,CMX7041來不及處理,緩沖器會溢出),同樣也不能在中斷過后很久再寫(芯片內的緩沖器會空,隨之產生Txdone中斷)。還有一個非常容易出問題的地方,就是DataReady中斷發生的時間間隔問題。CMX7041這款芯片在這個問題上很智能,它會針對內部緩沖器的填滿程度而自動改變DataReady中斷發生的時間間隔。例如:筆者設計的這個基帶系統,CMX7041工作于9.6 kb/s的模式,即每秒發送9600 bit位,每產生一次DataReady中斷,相當于發送了72 bit,則可推算出DataReady中斷間隔應該是7.5 ms,然而事實上并不是這樣。調試程序時發現,中斷產生的間隔不到1 ms。之所以這樣,是因為在MCU中開辟的緩沖區是237 B,即每次CMX7041會調制并發送237 B的數據,數據的數量相對于CMX7041內部數百字節的緩沖器來說并不多,緩沖器不會填得太滿,所以就出現了這種中斷產生速度要快于之前計算時間的情況。筆者又用一個例子來驗證,使CMX7041以死循環的發送方式發送數據,此時,要發送數據的數量遠遠大于芯片內部緩沖器的大小,再觀察產生中斷的時間間隔,確實變成了7.5 ms,驗證了推測。?

??? CMX618產生的已編碼數據的速率是3.6 kb/s,CMX618產生4次中斷即320 ms會產生144 B數據,再加上協議數據共有237 B,此時啟動CMX7041進入發送狀態,CMX7041以9.6 kb/s的速率調制并發送這些數據需要197.5 ms。CMX7041發送數據時有個特性,會自動在要發送的數據前面添加72 bit的前導碼與48 bit的幀同步碼,這又會消耗12.5 ms,因此CMX7041僅需要210 ms就可以將CMX618在320 ms內產生的數據發送完畢。發送完畢之后,CMX7041要進入IDLE狀態等待,在下一個320 ms到來的時刻再啟動新一輪的調制與發送。?

??? 數字對講機工作時接收端CMX7041的工作流程見圖8,CMX618工作流程圖見圖9。?

?

?

?

??? 最初使CMX7041進入接收狀態,芯片會自動檢測幀同步,若檢測到,會產生中斷來告知MCU,之后MCU等待DataReady中斷,DataReady中斷發生就意味著調制解調模塊已經解調好9 B的數據。此時,MCU將這9 B數據通過SPI總線從5個接收數據寄存器中讀出放入MCU開辟的緩沖區中。當CMX7041接收并解調完一整幀數據,即243 B時,CMX7041進入IDLE狀態,并置位使能CMX618解碼的標志位,在經過一個時間長于1 ms的延時之后CMX7041進入接收狀態,以便檢測下一幀數據的到來。值得注意的是,此處必須加延時,否則,CMX7041會工作不正常。?

??? 在CMX7041接收到最后一幀數據之后,要將CMX618停止解碼的標志位置位,MCU在檢測到此標志位后使CMX618由解碼狀態進入IDLE狀態。MCU根據緩沖區中的協議信息得知這一幀是否為最后一幀,有關協議信息的處理,此處不再贅述。?

??? 當使能CMX618解碼的標志位置位之后,立即啟動其進入解碼狀態。CMX618每隔80 ms產生一次中斷,來表明其需要接收新的數據以供其內部的解碼器進行解碼,所以在CMX618產生中斷之時,MCU通過SPI總線將緩沖區中存儲的語音數據送入CMX618對應的寄存器。CMX618解碼時,MCU每隔一定時間要檢測停止解碼的標志位,如果檢測到標志位已經置位,則CMX618必須由解碼狀態轉換為IDLE狀態。以上的通信流程在理想的通話環境可以很好地工作。?

??? 為了使系統可以很好地應用在隨機的、惡劣的無線信道的環境中,需要以下措施:?

??? (1)在無線信道中丟幀是很正常的,可以設置一個計數器,CMX7041收到幀時遞增,CMX618每解碼一幀數據將計數器遞減。實際應用中,如果丟幀太多,計數器會遞減到0,也就表明收到的語音數據都被解碼,沒有新的數據可供解碼,此時使CMX618由解碼狀態進入IDLE狀態。當CMX7041又接收到新的數據后,再啟動CMX618解碼。在信道條件不好時,CMX618就會頻繁地切換狀態,這是很正常的。?

??? (2)考慮到無線信道丟幀的頻繁性,將幀的長度設計得比較短,本設計中的長度是243 B。每丟一次幀帶來的影響是丟掉320? ms的語音數據。如果幀長度較長,丟失的語音數據也會較多。?

??? 本文設計的基帶系統已經應用在數字對講機的樣機研發當中,測試效果不錯,有很好的應用前景。?

參考文獻?

[1] CML Microcircuits Inc.CMX608/CMX618/CMX638 RALCWI?vocoders datasheet.http://www.cm1micro.com,2008,3.?

[2] CML Microcircuits Inc.CMX7031/CMX7041 the two-way?radio processor 4FSK data modem datasheet.http://www.cm1micro.com,2007,4.?

[3] ETSI.ETSI TS 102 490.http://www.etsi.org,2005,12.?

[4] NXP Inc.LPC2131/2132/2134/2136/2138 datasheet.http://www.nxp.com,2005,4.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲综合偷自成人网第页 | 精品视频99 | 一个人免费观看www视频二 | 欧美黑人巨大性极品hd | 国产九九视频在线观看 | 日韩美女色高清在线看 | 不卡午夜视频 | 国产欧美日韩高清专区手机版 | 日韩 国产 欧美 精品 在线 | a级黄视频| 日韩高清在线高清免费 | 久久天天躁狠狠躁夜夜爽 | 免费高清欧美一区二区视频 | 青青草国产一区二区三区 | 影音先锋2020色资源网 | 特级毛片永久久免费观看 | 亚洲日本黄色片 | 成人观看视频 | 中文字幕成人免费高清在线视频 | 日韩午夜在线视频 | 99久久综合 | 成人精品国产亚洲 | 黄 色 三 级 网站 | 欧美深夜福利网站在线观看 | 激情综合色五月丁香六月亚洲 | 美国性xxx| 国产视频日本 | 黄色免费在线观看视频 | 老子影院午夜伦不卡亚洲 | 中文字幕日本在线视频二区 | 波多野一区二区三区在线 | 精品午夜寂寞影院在线观看 | 午夜影院黄 | 手机看片1024国产 | 成人免费手机在线看网站 | 操天天操| 欧美 日本 国产 | 最新精品在线视频 | 黄色网 在线播放 | 成人免费在线视频网站 | 国产全黄三级三级 |