主頁(http://www.by236.com):VoIP在樓宇對講系統應用中的設計 這個方案有個缺陷就是基本上沒有視頻處理模塊!以后我們會使用i.mx系列擴展一個比較完善的VOIP系統 1 引言 VoIP(Voice over Internet Protocol)技術利用IP網絡傳輸語音數據,降低了語音和數據的通信成本,是語音通信領域中快速崛起的新興技術本文介紹了一種基于IP的智能小區對講系統,是國內首次將VoIP技術應用在智能小區領域。該系統由門口機、用戶機和管理機構成,之間用以太網相連接。語音信號進行數字化、壓縮處理后轉換為IP數據包在IP網絡上進行傳輸,是一個全雙工的實時語音傳輸與處理系。文章分別介紹了該系統的硬件結構和軟件實現方法。隨著科學技術的發展,人們對居住環境的安全性、舒適性、方便性提出了更高的要求,智能化住宅小區建設在我國得到了很快的發展。在很多新建的中高檔住宅小區中,寬帶直接深入到各家各戶,基于IP網絡的各種應用開始起步。本文成功研制了基于IP的智能小區對講系統,是國內首次將VoIP技術應用在智能小區對講領域。與傳統的基于模擬線路的對講系統相比,本系統具有以下特點: 1) 功能擴容和技術升級非常方便:在統一的IP網絡平臺上可方便實現功能擴容如視頻傳輸、消息發布、遠程監控管理等多種擴展服務功能,無需架設新的線路,適應了當代信息技術迅猛發展的要求。 2) 布線方便:本系統直接應用在現有的寬帶網絡平臺上,極大方便了居民和物業管理人員。 3) 開放兼容的互連標準:采用標準的TCP/IP協議,可實現與其他支持TCP/IP協議的產品互連,因此有更好的商業前景。 2 系統概述 整個系統由門口機、用戶機和管理機構成。小區內每個住戶都裝有一個用戶機。門口機裝在樓棟下,主要負責相應門棟的門禁,客人來訪時可以通過門口機呼叫用戶機以驗證身份,用戶可遠程打開門棟口的電鎖。管理機位于小區的管理中心,可接受來自用戶機和門口機的呼叫。管理機也可以主動呼叫用戶機。門口機、用戶機和管理機由以太網(Ethernet)連在一起。 用戶機、門口機和管理機都具有全雙工語音通話功能。語音信號是模擬信號,要用IP方式來傳輸該信號,必須先經過模數轉換,為了減輕網絡的負載,還要進行壓縮處理;反過來先要進行解壓縮,再轉換成模擬信號還原成原來的聲音。 3 硬件設計 每個網絡節點(用戶機、門口機和管理機)的語音模塊具有相同的硬件結構。 要實現雙向通話,每個節點包括了語音輸入通道和語音輸出通道。 為了簡化硬件設計,我們選擇了TI公司的一款型號為TLV320AIC10的轉換芯片,該芯片具有模數、數模雙向轉換能力,并在芯片內部集成了信號的前置放大與濾波功能。TLV320AIC10的線性轉換精度可以達到16位,可設置LV320AIC10的配置控制字,以實現對采樣、增益等特性的動態配置[3]。 語音編碼解碼芯片我們選用DVSI公司的AMBE2000的芯片,該芯片采用AMBE語音編碼算法,進行實時、全雙工的音頻壓縮/解壓縮,在較高的壓縮率下仍能提供比較好的語音質量。AMBE2000還具有回聲消除、靜音檢測和插入舒適噪聲等功能。另外AMBE2000具有音頻數據前向校錯的功能(FEC,Forward Error Correction)、對語音數字通道中所出現的有限量錯誤能進行自動校正[2]。 以太網接入模塊的核心器件是IP2K網絡微處理器,IP2K內含全雙工串化器解串器(Ser/Des)硬件功能,能直接與各種常用網絡接口相連。IP2K內置了10Base-T以太網媒體訪問控制層(MAC)和物理層(PHY)[4]。IP2K完成語音數據的打包、解包功能和其他IP網絡接口協議。 從麥克風進來的語音信號是300Hz~3,300Hz的模擬信號,ADC采樣頻率為8khz,其輸出的數據速率為8×16bit=128Kbps。AMBE2000輸出編碼速率為2.4~9.6kb/s。 由于門口機具有話筒免提的特性,要求揚聲器輸出較大的音量,麥克風需較高的靈敏度,這樣揚聲器發出的聲音很容易進入麥克風造成回聲。為解決這一問題,本設計了啟用了AMBE2000的回聲消除功能,在很大程度上降低了回聲。 4 軟件設計 當兩個網絡節點之間要進行通話時,需要會話管理協議來建立、管理和結束會話(Session),以及語音傳輸協議來傳輸語音數據包。 4.1 會話管理協議 SIP協議(Session Initiation Protocol,會話發起協議),是用于多媒體通信的應用層控制(信令)協議,相比H.323協議而言,具有擴展容易,比較簡單等特點[1] [5]。考慮到本系統嵌入式、結構簡單的特性,我們部分地參照了SIP 協議。 呼叫前節點A處于空閑(Idle)狀態。當節點A要呼叫節點B時,A向B發出Invite請求信令并進入Inviting狀態。當B也處于Idle狀態時,則返回Ack_Ringing應答信令表示正在響鈴同時B進入Being_Invited狀態。當B提起話筒后,B返回Ack_Invite_OK信令,A收到后返回Ack_Invite_Resure再次應答確認,表示會話建立成功,A和B進入Talking狀態,開始傳輸語音數據。這樣,經歷了三次握手,以保證會話的可靠建立。 當A或B掛斷時,掛斷方發出Bye請求,另一方返回Ack_Bye_OK應答,A和B進入Idle狀態。 注:當A向B發出Invite請求時B不處于Idle狀態,B則返回ACK_Busy,A收到后提示對方正忙并返回到Idle狀態。在A撥號后沒接通電話就掛機,A發出Cancel信令,B返回Ack_Cancel_OK, A和B返回到Idle狀態。 為保證會話建立的可靠性,設計中使用了定時器機制,充分考慮數據包丟失的情況。例如當A發出一個需要應答的請求信令一段時間后還沒收到應答,則說明A發出的請求數據包或B返回的應答數據包丟失,A會再次發送請求信令,如果發送三次仍未收到應答,A端報告網絡故障并自動進入某一狀態。這樣保證了狀態機工作不會紊亂。 4.2 語音傳輸協議 會話建立后,開始進行語音數據的傳輸。實時傳輸協議(Realtime Transport Protocol,RT P)可提供實時數據的端到端傳輸,如音頻、視頻和非實時應用數據[1] [6]。 RTP協議建立在UDP協議之上。根據順序編號和時間戳,舍棄因網絡阻塞等原因導致先被發出卻后到達的數據包。 AMBE2000編碼器每隔20ms輸出一幀長度為24個字長(48bytes)的數據,其中前12個字長的數據包含當前編碼速率在內的狀態信息,后12個字長包含了語音數據。IP2K將語音數據打包上傳。同時解開收到的語音包,將語音數據連同控制信息送給AMBE2000進行解碼處理。 4.3 根據ID查詢對應IP 網絡上每個節點都有不同的IP地址,同時為了便于操作管理,每個節點都有自己的ID號。例如要呼叫12樓02室撥1202這個ID號即可。這樣一個ID對應著一個IP。這個ID-IP映射表存儲在門口機的Flash里。每個用戶機存儲著門口機和管理機的IP地址。當門口機呼叫用戶機時,門口機根據ID查詢到對應的IP后向其發出呼叫請求。當管理機呼叫用戶機時,被呼叫方的IP查詢有兩種方式,一種是向門口機查詢對應ID的IP;另一種是通過廣播的形式查詢,網絡上各用戶機節點收到查詢IP的信令后與自己的ID進行比較,若匹配返回給查詢方。通過廣播的方式,即使門口機發生故障,管理機仍可以正常呼叫用戶機,提高了系統的健壯性。用戶機呼叫管理機只需讀出存儲在本地的管理機IP即可。 5 結論 本文成功研制出了基于IP的智能小區對講系統。該方案已完成全部軟、硬件的實現以及網絡的組建,并已通過初步測試,運行穩定可靠。 (中國集群通信網 | 責任編輯:張思怡) |




