《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 無線IPPBX系統的設計與實現

無線IPPBX系統的設計與實現

《電子技術應用》2007年第1期
2007-11-13
作者:黃寧成, 石江宏

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

?

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

?


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

?

?


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

?


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

?


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


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

?


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


無線IPPBX融合了GSM網絡技術和以太網技術,它與傳統的IP電話交換設備相比,不但避免了固定電話線的束縛,而且還具備短信網關的功能。由于它使用GSM網絡進行IP電話的落地工作,從而使該設備得到了移動運營商的支持。該設備目前已成功應用于企業,承載了他們的IP電話業務與短信網關職能。
參考文獻
[1]? 張智江,張云勇,劉韻潔.SIP協議及其應用.北京:電子工業出版社,2005.
[2]? 謝斌. MPC860/850嵌入式系統開發入門與指導.西安:西安電子科技大學出版社,2004.
[3] ?張登銀,孫精科.VoIP技術分析與系統設計.北京:人民郵電出版社,2003.
[4] ?Alessandro Rubini, Jonathan Corbet著,魏永明, 駱剛,?姜君譯. Linux設備驅動程序(第二版).北京:中國電力出版社,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.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 波多野结衣久久精品免费播放 | 天天做日日爱 | 国产一级淫片免费播放 | 日韩精品网 | 黄色激情在线视频 | 天天爱天天做天天爽天天躁 | 无遮挡一级毛片呦女视频 | 欧美国产日本精品一区二区三区 | 国内精品综合九九久久精品 | 国产精品久久久久久久人人看 | 欧美日韩在线一本卡 | 一级欧美日韩 | 亚洲乱人伦精品图片 | 99ri精品视频在线观看播放 | 天天草夜夜爽 | 日韩精品小视频 | 黄色视屏在线看 | 色小说综合网 | 亚欧有色在线观看免费版高清 | 午夜视频观看 | 国产成人综合91精品 | 狠狠色成人综合首页 | 日韩avv| 亚洲专区第一页 | 交性大片欧美多人 | 波多野结衣视频免费看 | 国产一区二区三区不卡免费观看 | 夜夜操女人 | 国产精亚洲视频 | 国产草莓视频入口免费网站 | 三黄日本三级在线观看 | 天天弄天天操 | 殴美一级| 密私密影院在线观看 | 欧美成人私人视频88在线观看 | 人人干视频在线观看 | 日日干日日干 | 亚洲国产日韩欧美综合久久 | 久热精品视频 | 亚州国产| 日日操操干干 |