當前位置:首頁 > 通信技術 > 通信技術
[導讀]描述了無線VOIP交換機的硬件設計原理與軟件實現(xiàn)方法。在描述系統(tǒng)整體架構的基礎上,介紹了其硬件設計部分的GSM工作單元、PCM編解碼單元、語音壓縮解壓處理單元和總線端口適配單元的設計方法以及工作原理;描述了系統(tǒng)軟件分層思想,介紹各層的功能和設計方法。

摘 要:描述了無線VOIP交換機的硬件設計原理與軟件實現(xiàn)方法。在描述系統(tǒng)整體架構的基礎上,介紹了其硬件設計部分的GSM工作單元、PCM編解碼單元、語音壓縮解壓處理單元和總線端口適配單元的設計方法以及工作原理;描述了系統(tǒng)軟件分層思想,介紹各層的功能和設計方法。
關鍵詞:VOIP GSM  短信網(wǎng)關  SIP協(xié)議  嵌入式Linux  Web服務器

隨著以太網(wǎng)寬帶技術的發(fā)展,以IP網(wǎng)絡為媒介的語音通信技術(VOIP技術)憑借其低廉的話費受到消費者的廣泛關注。很多企業(yè)和科研機構也開始研究、使用這項技術。無線VOIP交換設備(即無線IPPBX)通過GSM無線模塊來實現(xiàn)IP網(wǎng)絡的電話用戶與普通電話用戶之間的通信。它融合了以太網(wǎng)和GSM網(wǎng)絡,具備GSM網(wǎng)絡與以太網(wǎng)絡兩方面的優(yōu)勢,既具備IP電話話費低廉的優(yōu)勢,又可以通過GSM網(wǎng)絡實現(xiàn)IP電話落地而不受固定電話線的束縛,同時結合以太網(wǎng)的http協(xié)議可以在其上實現(xiàn)短信網(wǎng)關的功能。本文將從硬件和軟件的角度來闡述該設備的設計與實現(xiàn)。
1 系統(tǒng)硬件設計
1.1 硬件結構
系統(tǒng)硬件結構如圖1所示,整個硬件系統(tǒng)由GSM工作單元、PCM編解碼工作單元、語音壓縮/解壓處理單元(DSP)、CPLD總線適配單元和MPC860T核心控制單元構成。系統(tǒng)通過兩條總線實現(xiàn)硬件系統(tǒng)的協(xié)同工作:通過I2C總線向GSM工作單元、PCM編解碼單元發(fā)送控制信令和讀取狀態(tài)信息;通過HPI總線實現(xiàn)對語音壓縮解壓處理單元(DSP)語音壓縮包的讀取和發(fā)送。系統(tǒng)通過CPLD以及與之相連的一塊MCU實現(xiàn)兩條總線的適配并在MPC860T核心控制單元端提供了統(tǒng)一的I/O接口。

 


系統(tǒng)的工作流程如下:若系統(tǒng)要傳送語音數(shù)據(jù)到以太網(wǎng),GSM模塊或普通話機的模擬話音經(jīng)PCM編解碼器A law/μlaw 編碼后送到E1數(shù)據(jù)總線上,然后DSP將E1線上的PCM碼流按G.729/G.723的標準壓縮成低比特率的語音包,并在相應的端口產(chǎn)生一定的狀態(tài)信號,該狀態(tài)信號經(jīng)CPLD處理后轉(zhuǎn)化為MPC860T的中斷信號,MPC860T處理器響應中斷,通過CPLD將語音壓縮包從DSP的HPI口讀取出來并通過以太網(wǎng)控制器將其發(fā)送到以太網(wǎng)上。系統(tǒng)從以太網(wǎng)接收語音壓縮包,并將其還原成模擬話音,其過程與此相反。
1.2 GSM工作單元設計
GSM工作單元由MCU、GSM模塊以及一些外圍接口電路構成,其原理框圖如圖2所示。MCU是工作單元的控制部件,它通過自身的I2C接口與系統(tǒng)的I2C總線連接,并通過串口與GSM模塊連接。單元工作時先從I2C 總線接收系統(tǒng)發(fā)送的控制信令,然后由MCU將控制信令轉(zhuǎn)化為具體的AT指令并通過串口發(fā)送給GSM模塊。GSM模塊根據(jù)收到的AT指令執(zhí)行相應的操作(發(fā)送撥號信息、建立語音通路、發(fā)送短信等)。當然GSM模塊也可以將自己的狀態(tài)信息如自己的忙閑狀態(tài)、來電號碼通過串口發(fā)給MCU,再由MCU通過I2C總線上報給主控CPU(MPC860T)。

 

 


  GSM單元的設計中需要特別注意以下幾點:
   (1)電源設計。GSM模塊在整個系統(tǒng)中屬于功耗比較大的部件,空閑時工作電流為35mA,工作時的平均電流為350mA,突發(fā)工作電流可以達到2A。所以GSM模塊要采用單獨的電源芯片供電,并且有足夠的負載能力。在設計中采用DC-DC的電源芯片給模塊提供4V電壓并在電源的輸出端并聯(lián)一個 2200μF的大電容,以防止模塊的突發(fā)大電流使電源芯片的供電電壓發(fā)生瞬時下降。
   (2)串行接口電路的設計。GSM模塊的串行口(UART)使用的不是標準的TTL電平,不能與控制它的MCU串口直接相連,在它們之間要有一個電平轉(zhuǎn)換接口電路。該電路要能實現(xiàn)模塊的3V高電平與 MCU端5V TTL高電平的相互轉(zhuǎn)換。設計中使用三極管的開關電路和電阻分壓電路就可實現(xiàn)該功能,如圖3所示。實驗證明該方法簡單、有效。

 


   (3)模塊語音口電路的設計。GSM模塊的語音輸入、輸出都是差分信號,而PCM編解碼器的語音口要求單端信號。在兩個語音端口之間要有差分信號與單端信號的轉(zhuǎn)換電路,才可實現(xiàn)兩者的連接。設計中采用運放電路來實現(xiàn)差分與單端的轉(zhuǎn)換。由于GSM模塊的語音口特別容易受到射頻干擾,所以模塊的語音口還要連接一些濾波電容。此外,PCB布板也要保證語音信號線遠離模塊的天線,這樣才能將噪聲干擾降到最低, 保證話音質(zhì)量。
1.3 PCM編解碼單元設計
PCM編解碼單元主要有兩個任務:將來自GSM模塊或普通話機的模擬話音進行A law/μ law PCM編碼,然后發(fā)送到系統(tǒng)E1數(shù)據(jù)線上;獲取系統(tǒng)E1數(shù)據(jù)總線某個時隙的PCM編碼并將其還原成模擬話音。設計中采用一塊帶I2C接口的MCU作為PCM編解碼器的控制器。該控制器從I2C總線接收主控CPU(MPC860T)發(fā)送的控制信令并將該信令轉(zhuǎn)化為PCM編解碼器命令序列,PCM編解碼器接受命令后完成相應的編解碼功能。
1.4 語音壓縮解壓單元設計
語音壓縮解壓單元的工作是:將前端PCM編碼器發(fā)送來的PCM數(shù)據(jù)壓縮成低比特率的語音包后交由主控CPU處理;將主控CPU發(fā)送來的語音壓縮包還原成 PCM編碼。該單元的設計中采用AudioCodes公司的AC48304C_C作為語音PCM編碼的壓縮解壓處理器。該處理器支持四個語音處理通道,每個通道可以單獨編程,配置不同的PCM時隙和壓縮/解壓算法(G.723、G.729等)。根據(jù)主控CPU(MPC860T)的數(shù)據(jù)包處理能力,本設計在系統(tǒng)中掛載四片AC48304C_C,可同時處理16路語音的編解碼(壓縮/解壓)。
1.5 總線端口適配單元設計
總線端口適配單元的功能是從硬件上屏蔽I/O總線操作的復雜性,使主控CPU以一種簡單的I/O讀寫方式即可實現(xiàn)系統(tǒng)兩大總線的操控(I2C總線和HPI總線)。該單元的設計采用一片CPLD和一塊帶I2C接口的MCU來實現(xiàn)總線適配功能。CPLD的功能是實現(xiàn)不同I/O口間邏輯關系的轉(zhuǎn)換,具體來說就是將主控CPU的I/O讀寫邏輯轉(zhuǎn)換為AC48304C_C的HPI口的讀寫邏輯或MCU I/O口的讀寫邏輯。MCU的作用是進一步將CPLD的接口邏輯轉(zhuǎn)化為I2C總線上的通信協(xié)議。CPLD的I/O邏輯功能的設計通過為其編寫VHDL語言來實現(xiàn),它的等效內(nèi)部邏輯和外圍接口如圖4所示。

 


2 系統(tǒng)軟件設計
2.1 分層架構
無線IPPBX軟件系統(tǒng)以嵌入式 Linux為操作系統(tǒng)平臺,采用軟件分層的設計思想。整個系統(tǒng)的軟件架構分為三層:設備驅(qū)動層、通信協(xié)議層和通信事件處理層,如圖5所示。每一層都為上層提供API,圖中虛線表示分層,箭頭表示層與層之間API的調(diào)用關系。


2.2 設備驅(qū)動層設計
設備驅(qū)動層屬于系統(tǒng)軟件的最底層,它根據(jù)所處理的硬件對象的不同又可分為網(wǎng)絡設備驅(qū)動和通信設備驅(qū)動。網(wǎng)絡設備驅(qū)動負責處理以太網(wǎng)控制器的操控,它控制以太網(wǎng)芯片從以太網(wǎng)發(fā)送和接收數(shù)據(jù)包。通信設備驅(qū)動負責控制系統(tǒng)各工作單元信息處理的物理實現(xiàn),包括AC48304C_C初始化、各語音處理通道的配置、語音壓縮包的存取和DTMF信號處理,以及各控制單元(AM79Q02,GSM模塊)信令發(fā)送、狀態(tài)讀取。通信設備驅(qū)動通過Linux虛擬文件系統(tǒng)接口向上層提供標準的API,上層可以不管設備的復雜性,只要調(diào)用這些API就可以。
在上述設備驅(qū)動功能的設計中與GSM工作單元信息交互的實現(xiàn)方法需要特別注意,這也是實現(xiàn)設備無線通信功能的核心所在。與GSM工作單元的信息交互是通過向控制GSM模塊的MCU發(fā)送控制指令實現(xiàn)的。這些控制指令通過I2C總線傳送。本系統(tǒng)I2C總線是一個多主機通信系統(tǒng),當主控CPU(MPC860T)在該總線傳送信息時,先要偵聽信道是否空閑(該功能由總線適配單元實現(xiàn)),如果空閑則將待發(fā)送的指令序列分解成一定長度的數(shù)據(jù)包,然后一個包一個包地發(fā)送出去(與以太網(wǎng)相似)。
鑒于I2C總線的這個特性,在驅(qū)動層要制定一個簡單的協(xié)議才可實現(xiàn)主控CPU與GSM控制單元(MCU)間信令的傳遞。系統(tǒng)采用HDLC幀的方式,即在傳遞信令前先將要發(fā)往GSM控制單元的控制信令打成 HDLC幀的格式,然后再將此幀分解成固定長度的數(shù)據(jù)包發(fā)往I2C總線,控制GSM模塊的MCU接收這些數(shù)據(jù)包并將其還原成HDLC幀,再根據(jù)幀中各字節(jié)的定義將該幀解析成具體的AT指令發(fā)送給GSM模塊。系統(tǒng)HDLC幀結構如表1所示。

 


控制GSM模塊的MCU接收到HDLC幀后先讀取類型字段,根據(jù)該字段判斷載荷內(nèi)容,然后再執(zhí)行相應的操作。例如收到HDLC幀的類型為0x01時表示撥號操作,后面的載荷就是電話號碼,此時就執(zhí)行撥號的AT指令。又如收到HDLC幀的類型為0x04則表示發(fā)送短信操作,載荷則為電話號碼和短信內(nèi)容的PDU碼,那么就執(zhí)行發(fā)送短信AT指令。
2.3  通信協(xié)議層設計
通信協(xié)議層主要為上層應用程序提供各通信協(xié)議棧。本系統(tǒng)通信協(xié)議層實際還可細分為兩層:TCP/IP協(xié)議層和應用層協(xié)議(SIP協(xié)議和RTP協(xié)議)。設計通信協(xié)議時,TCP/IP協(xié)議是Linux操作系統(tǒng)自帶的運行在內(nèi)核當中,SIP協(xié)議和RTP協(xié)議需要從外部移植,運行時以函數(shù)庫的形式存在于用戶空間。不論TCP/IP協(xié)議層還是應用層協(xié)議都為其上層提供了標準的API,對于上層程序來說只要調(diào)用這些API就可實現(xiàn)協(xié)議功能。
2.4 通信事件處理層設計
通信事件處理層是運行在應用層為一些具體的通信事件(如用戶的摘掛機、電話的呼入呼出、呼叫轉(zhuǎn)移等)服務的程序。具體的設計方法是在系統(tǒng)的應用層開啟一個守護進程,并在該進程下開辟多個監(jiān)控線程。每個監(jiān)控線程負責監(jiān)控一類通信事件,如果有通信事件發(fā)生,則監(jiān)控它的線程就調(diào)用相應的狀態(tài)機服務程序,而狀態(tài)機服務程序會調(diào)用具體的協(xié)議棧并驅(qū)動實現(xiàn)具體的通信過程。
2.5 短信網(wǎng)關設計
本系統(tǒng)短信網(wǎng)關的設計通過 http協(xié)議以及CGI技術予以實現(xiàn):首先在該系統(tǒng)上移植boa web服務器程序,然后用html語言設計短信網(wǎng)關的訪問頁面,同時設計好處理用戶輸入信息CGI腳本程序。用戶通過瀏覽器遠程訪問服務器上的頁面,將目標用戶的電話號碼和待發(fā)短信內(nèi)容填寫在頁面的表單上,然后提交表單。運行在Web服務器上的CGI程序處理提交表單的內(nèi)容并將處理結果送入一個消息隊列。運行在通信事件處理層的一個監(jiān)控線程(流程如圖6所示)讀取該消息隊列的消息并調(diào)用通信設備驅(qū)動相應的API發(fā)出信令讓GSM模塊將短信發(fā)出。


無線IPPBX融合了GSM網(wǎng)絡技術和以太網(wǎng)技術,它與傳統(tǒng)的IP電話交換設備相比,不但避免了固定電話線的束縛,而且還具備短信網(wǎng)關的功能。由于它使用GSM網(wǎng)絡進行IP電話的落地工作,從而使該設備得到了移動運營商的支持。該設備目前已成功應用于企業(yè),承載了他們的IP電話業(yè)務與短信網(wǎng)關職能。
參考文獻
[1]  張智江,張云勇,劉韻潔.SIP協(xié)議及其應用.北京:電子工業(yè)出版社,2005.
[2]  謝斌. MPC860/850嵌入式系統(tǒng)開發(fā)入門與指導.西安:西安電子科技大學出版社,2004.
[3]  張登銀,孫精科.VoIP技術分析與系統(tǒng)設計.北京:人民郵電出版社,2003.
[4]  Alessandro Rubini, Jonathan Corbet著,魏永明, 駱剛, 姜君譯. Linux設備驅(qū)動程序(第二版).北京:中國電力出版社,2002.
[5]  MC35i Hardware Interface Description. 2004.
[6]  AC4830xC-C Designer's Manual. 2003.
[7]  AC4830xC-C VoPP Data Book. 2003.
[8]  Datasheet of Am79Q02/021/031. 1999.

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉