<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 無線IPPBX系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          無線IPPBX系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          作者:黃寧成 石江宏 時間:2008-06-11 來源:電子技術(shù)應(yīng)用 收藏

            隨著以太網(wǎng)寬帶技術(shù)的發(fā)展,以IP網(wǎng)絡(luò)為媒介的語音通信技術(shù)(技術(shù))憑借其低廉的話費(fèi)受到消費(fèi)者的廣泛關(guān)注。很多企業(yè)和科研機(jī)構(gòu)也開始研究、使用這項(xiàng)技術(shù)。交換設(shè)備(即)通過模塊來實(shí)現(xiàn)IP網(wǎng)絡(luò)的電話用戶與普通電話用戶之間的通信。它融合了以太網(wǎng)和網(wǎng)絡(luò),具備網(wǎng)絡(luò)與以太網(wǎng)絡(luò)兩方面的優(yōu)勢,既具備IP電話話費(fèi)低廉的優(yōu)勢,又可以通過GSM網(wǎng)絡(luò)實(shí)現(xiàn)IP電話落地而不受固定電話線的束縛,同時結(jié)合以太網(wǎng)的http協(xié)議可以在其上實(shí)現(xiàn)的功能。本文將從硬件和軟件的角度來闡述該設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)。

          本文引用地址:http://www.ex-cimer.com/article/84015.htm

            1 系統(tǒng)硬件設(shè)計(jì)

            1.1 硬件結(jié)構(gòu)

            系統(tǒng)硬件結(jié)構(gòu)如圖1所示,整個硬件系統(tǒng)由GSM工作單元、PCM編解碼工作單元、語音壓縮/解壓處理單元(DSP)、CPLD總線適配單元和MPC860T核心控制單元構(gòu)成。系統(tǒng)通過兩條總線實(shí)現(xiàn)硬件系統(tǒng)的協(xié)同工作:通過I2C總線向GSM工作單元、PCM編解碼單元發(fā)送控制信令和讀取狀態(tài)信息;通過HPI總線實(shí)現(xiàn)對語音壓縮解壓處理單元(DSP)語音壓縮包的讀取和發(fā)送。系統(tǒng)通過CPLD以及與之相連的一塊MCU實(shí)現(xiàn)兩條總線的適配并在MPC860T核心控制單元端提供了統(tǒng)一的I/O接口。

            系統(tǒng)的工作流程如下:若系統(tǒng)要傳送語音數(shù)據(jù)到以太網(wǎng),GSM模塊或普通話機(jī)的模擬話音經(jīng)PCM編解碼器A law/μlaw 編碼后送到E1數(shù)據(jù)總線上,然后DSP將E1線上的PCM碼流按G.729/G.723的標(biāo)準(zhǔn)壓縮成低比特率的語音包,并在相應(yīng)的端口產(chǎn)生一定的狀態(tài)信號,該狀態(tài)信號經(jīng)CPLD處理后轉(zhuǎn)化為MPC860T的中斷信號,MPC860T處理器響應(yīng)中斷,通過CPLD將語音壓縮包從DSP的HPI口讀取出來并通過以太網(wǎng)控制器將其發(fā)送到以太網(wǎng)上。系統(tǒng)從以太網(wǎng)接收語音壓縮包,并將其還原成模擬話音,其過程與此相反。

            1.2 GSM工作單元設(shè)計(jì)

            GSM工作單元由MCU、GSM模塊以及一些外圍接口電路構(gòu)成,其原理框圖如圖2所示。MCU是工作單元的控制部件,它通過自身的I2C接口與系統(tǒng)的I2C總線連接,并通過串口與GSM模塊連接。單元工作時先從I2C 總線接收系統(tǒng)發(fā)送的控制信令,然后由MCU將控制信令轉(zhuǎn)化為具體的AT指令并通過串口發(fā)送給GSM模塊。GSM模塊根據(jù)收到的AT指令執(zhí)行相應(yīng)的操作(發(fā)送撥號信息、建立語音通路、發(fā)送短信等)。當(dāng)然GSM模塊也可以將自己的狀態(tài)信息如自己的忙閑狀態(tài)、來電號碼通過串口發(fā)給MCU,再由MCU通過I2C總線上報給主控CPU(MPC860T)。

            GSM單元的設(shè)計(jì)中需要特別注意以下幾點(diǎn):

            (1)電源設(shè)計(jì)。GSM模塊在整個系統(tǒng)中屬于功耗比較大的部件,空閑時工作電流為35mA,工作時的平均電流為350mA,突發(fā)工作電流可以達(dá)到2A。所以GSM模塊要采用單獨(dú)的電源芯片供電,并且有足夠的負(fù)載能力。在設(shè)計(jì)中采用DC-DC的電源芯片給模塊提供4V電壓并在電源的輸出端并聯(lián)一個 2200μF的大電容,以防止模塊的突發(fā)大電流使電源芯片的供電電壓發(fā)生瞬時下降。

            (2)串行接口電路的設(shè)計(jì)。GSM模塊的串行口(UART)使用的不是標(biāo)準(zhǔn)的TTL電平,不能與控制它的MCU串口直接相連,在它們之間要有一個電平轉(zhuǎn)換接口電路。該電路要能實(shí)現(xiàn)模塊的3V高電平與 MCU端5V TTL高電平的相互轉(zhuǎn)換。設(shè)計(jì)中使用三極管的開關(guān)電路和電阻分壓電路就可實(shí)現(xiàn)該功能,如圖3所示。實(shí)驗(yàn)證明該方法簡單、有效。

            (3)模塊語音口電路的設(shè)計(jì)。GSM模塊的語音輸入、輸出都是差分信號,而PCM編解碼器的語音口要求單端信號。在兩個語音端口之間要有差分信號與單端信號的轉(zhuǎn)換電路,才可實(shí)現(xiàn)兩者的連接。設(shè)計(jì)中采用運(yùn)放電路來實(shí)現(xiàn)差分與單端的轉(zhuǎn)換。由于GSM模塊的語音口特別容易受到射頻干擾,所以模塊的語音口還要連接一些濾波電容。此外,PCB布板也要保證語音信號線遠(yuǎn)離模塊的天線,這樣才能將噪聲干擾降到最低, 保證話音質(zhì)量。

            1.3 PCM編解碼單元設(shè)計(jì)

            PCM編解碼單元主要有兩個任務(wù):將來自GSM模塊或普通話機(jī)的模擬話音進(jìn)行A law/μ law PCM編碼,然后發(fā)送到系統(tǒng)E1數(shù)據(jù)線上;獲取系統(tǒng)E1數(shù)據(jù)總線某個時隙的PCM編碼并將其還原成模擬話音。設(shè)計(jì)中采用一塊帶I2C接口的MCU作為PCM編解碼器的控制器。該控制器從I2C總線接收主控CPU(MPC860T)發(fā)送的控制信令并將該信令轉(zhuǎn)化為PCM編解碼器命令序列,PCM編解碼器接受命令后完成相應(yīng)的編解碼功能。

            1.4 語音壓縮解壓單元設(shè)計(jì)

            語音壓縮解壓單元的工作是:將前端PCM編碼器發(fā)送來的PCM數(shù)據(jù)壓縮成低比特率的語音包后交由主控CPU處理;將主控CPU發(fā)送來的語音壓縮包還原成 PCM編碼。該單元的設(shè)計(jì)中采用AudioCodes公司的 AC48304C_C作為語音PCM編碼的壓縮解壓處理器。該處理器支持四個語音處理通道,每個通道可以單獨(dú)編程,配置不同的PCM時隙和壓縮/解壓算法(G.723、G.729等)。根據(jù)主控CPU(MPC860T)的數(shù)據(jù)包處理能力,本設(shè)計(jì)在系統(tǒng)中掛載四片AC48304C_C,可同時處理16路語音的編解碼(壓縮/解壓)。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();