引言
信息技術的不斷發(fā)展使得人們不再滿足于文字、語音等通信手段,融合文字、語音、圖片、視頻等媒介的多媒體通信應運而生,適應了當前人們的通信需求。而目前ADSL接入網技術已經成熟,并得到了廣泛的應用,隨之成為人們相互交流、獲取各種信息的有效途徑。ADSL接入網帶寬大,為實時可靠地傳輸視頻提供了很好的硬件基礎。因此在ADSL網絡上的視頻傳輸成為了一個迫切需要解決的難點。
本文討論基于IP2022的ADSL接入網視頻傳輸系統(tǒng)。將本地的視頻圖像傳送到Internet上,使連接到Internet的遠程主機可以隨時隨地地瀏覽本地視頻。我們按照MPEG-4視頻壓縮標準,在DSP芯片上實現高效視頻壓縮處理;根據PPPoE、PPP、TCP/IP等協(xié)議,使用IP2022網絡處理芯片,提出了通過ADSL網絡傳輸視頻的完整解決方案,并對系統(tǒng)的硬件接口以及軟件設計做了詳細的描述,經實際測試,此系統(tǒng)實用性強,將在網絡視頻會議、小區(qū)家居智能化以及安防監(jiān)控等領域具有非常好的應用前景。
系統(tǒng)模型
圖1是本文討論的系統(tǒng)模型。攝像頭獲取的圖像以MPEG-4標準在DSP中進行壓縮處理,生成低碼流的視頻數據,經過IP2022打包處理,由ADSL調制解調器發(fā)送到Internet上。
工作流程可概括如下:
(1)本地PC通過RS232串口,將用戶名、密碼、遠程主機的IP地址及端口等信息寫入IP2022的內部FLASH中保存下來。
(2) IP2022讀出FLASH中的數據,配置相關的網絡參數,使用ADSL用戶名和密碼按照PPPoE協(xié)議進行ADSL撥號連接。
(3) 撥號連接成功后,IP2022通過SPI數據接口接收視頻數據,經過TCP、IP、PPP和PPPoE層等各層打包處理后,將數據通過10Base-T以太網接口傳送給ADSL調制解調器,由其發(fā)送到Internet上。
(4) 連接到Internet的遠程主機(視頻接收端),通過接收軟件可以實時瀏覽本地視頻。
系統(tǒng)設計
硬件設計
IP2022是美國UBICOM推出的一顆功能強大的網絡通信處理器,處理器速度可達120~160MIPS,片上有64K Flash、16K SRAM(program)、4K SRAM(data)、10位ADC。它采用軟件模塊的方式在芯片上實現多種通信接口,是業(yè)界領先的單芯片網絡通信處理器,可以實現802.11b、802.11g、802.11a、Bluetooth、HomePlug、Ethernet、 USB、 MII、 I2C、 SPI、GPSI、 UART等協(xié)議,適用于無線通信和embedded Internet的應用。IP2022內含全雙工硬件串/并(SerDes)模塊,能直接與各種常用網絡接口連接?蓪崿F片內10Base-T 以太網( MAC 和PHY)USB,以及其他各種快速串行協(xié)議。由于其內含兩個SerDes部件,能方便地從一種格式轉換為另一種格式,所以也能作協(xié)議轉換器。IP2022的工作頻率為100MHz,大多數指令均為單周期執(zhí)行,其吞吐量能滿足各種新型網絡連通應用的要求。IP2022以軟件模塊(ipModules) 形式實現外設通信和控制功能,比傳統(tǒng)硬件具有更大的系統(tǒng)設計靈活性,還提供了傳輸控制協(xié)議、網際協(xié)議、網絡協(xié)議棧,并具有一系列完整的端到端連通方案所必須的附加軟件。
本文所設計系統(tǒng)的核心就是IP2022網絡處理器,基于IP2022的系統(tǒng)原理框圖如圖2所示。
在本系統(tǒng)中,使用了IP2022的兩個Ser/Des硬件單元、一個Ser/Des軟件單元以及TCP/IP協(xié)議棧、PPP協(xié)議棧、UART協(xié)議棧、SPI協(xié)議棧等等。其中的一個Ser/Des硬件單元配置成SPI串口,與DSP視頻處理器連接,接收其發(fā)來的視頻數據。另一個Ser/Des硬件單元配置成10Base-T以太網口,與ADSL調制解調器連接,負責連接Internet并向其發(fā)送從SPI口接收到的視頻數據。還有一個Ser/Des軟件單元經過電平轉換電路(MAX232)轉換成標準的RS232接口,與本地的PC機連接,負責配置IP2022網絡處理器的相關網絡參數。
系統(tǒng)時鐘模塊為硬件系統(tǒng)提供工作所需要的時鐘脈沖,這部分比較簡單,我們選擇4.8MHz的無源晶振,經測試可保證系統(tǒng)穩(wěn)定工作。
程序的寫入和調試是通過在線編程接口實現的,IP2022支持在線編程和調試,該部分主要把IP2022的編程接口引出,加以適當的隔離保護,并通過SPI和主機并口的轉換電路與調試主機的并口相連接。
在本系統(tǒng)中,內部電壓有兩種,一種是接口設備所需要的3.3V,另一種是IP2022內核所需要的2.5V。這兩種電壓是經過電源轉換模塊轉換而成。
DSP視頻處理器主要負責采集攝像頭獲取的圖像,并對其進行壓縮編碼,得到低碼率的視頻數據,通過內部的主SPI接口模塊把視頻數據發(fā)送給IP2022網絡處理器。
軟件設計
軟件設計的主要任務是按照PPPoE協(xié)議、PPP協(xié)議、TCP/IP協(xié)議實現ADSL網絡接入,包含有本地RS232串口配置、撥號連接、SPI口數據接收處理、TCP層數據傳輸等四個部分。首先對所使用的相關協(xié)議作一簡單介紹,然后分別詳細闡述軟件四個組成部分的功能及實現。
涉及協(xié)議介紹
ADSL(Asymmetrical Digital Subscriber Line,非對稱數字用戶環(huán)路)是一種能夠通過普通電話線提供寬帶數據業(yè)務的技術,是目前極具發(fā)展前景的一種接入技術。ADSL接入技術中,核心的是PPPoE協(xié)議。
PPPoE(Point To Point Protocol Over Ethernet)是以太網上傳送PPP數據包的協(xié)議,它提供了在廣播式的網絡(如以太網)中多臺主機連接到遠端的訪問集中器(我們對目前能完成上述功能的設備為寬帶接入服務器)上的一種標準。PPPOE協(xié)議共包括兩個階段,即PPPOE的發(fā)現階段(PPPOE Discovery Stage)和PPPOE的會話階段(PPPOE Session Stage)。在發(fā)現(Discovery)過程中,用戶主機以廣播方式尋找可以連接的所有的接入集線器,并獲得其以太網MAC地址。然后選擇需要連接的主機并確定所要建立的PPP會話識別標號。在會話階段,用戶主機與接入集線器根據在發(fā)現階段所協(xié)商的PPP會話連接參數進行PPP會話。依次進行PPP層的LCP包的配置、PAP包的配置、IPCP包的配置,在協(xié)商好PPP協(xié)議的各選項之后,就可以進行IP數據包傳輸了。為保證視頻傳輸的高可靠性,我們采用TCP/IP協(xié)議傳輸視頻數據。
系統(tǒng)軟件的四個重要組成模塊
。1)本地串口配置軟件模塊
接收PC機通過RS232串口發(fā)送的數據,這些數據包括IP2022網絡處理器的MAC地址、IP地址、子網掩碼等網絡參數,還包括需要連接的遠程主機的IP地址、端口號等信息,同時還有ADSL撥號上網的用戶名及密碼等數據;接收正確后,IP2022將這些數據存儲在它內部的Flash中,便于掉電或系統(tǒng)重啟后能按原有的配置模式正常工作。
。2)撥號連接軟件模塊
按照PPPoE協(xié)議,初始化IP2022網絡處理器的網絡設置,選擇PPP協(xié)議的各項參數,使用有效的ADSL用戶名和密碼連接到Internet網絡上,如果一次未能連接上,則延時后自動重連,直到連上為止;若由于網絡擁塞或遠程主機故障導致網絡連接斷開,則需要延時后繼續(xù)嘗試連接。此軟件模塊主要就是負責建立與Internet之間的連接鏈路。
。3)SPI數據接收處理軟件模塊
作為SPI從設備,以中斷方式接收DSP視頻處理器發(fā)送過來的視頻數據,存放在IP2022的內部存儲區(qū)內,當一個數據塊接收完成后,再讀出視頻數據并發(fā)送到網絡上。此軟件模塊主要完成與DSP視頻處理器之間的數據傳輸,為確保數據不丟失,DSP在發(fā)數據前先給IP2022發(fā)送請求信號,IP2022開辟一定大小的存儲空間成功后,判斷DSP發(fā)來的請求信號,并反饋一個確認信號,通知DSP可以開始發(fā)送數據了;而DSP數據發(fā)送完成后會等待IP2022的確認接收完成信號。這樣的交互過程可以保證數據準確可靠地通過SPI口傳輸。其時序圖如圖3。
。4)TCP層數據傳輸軟件模塊
系統(tǒng)撥號連接到Internet之后,根據遠程主機的IP地址和端口號請求與其建立TCP連接,此過程包括定義并初始化tcp_socket,發(fā)送建立TCP連接請求,若成功則允許系統(tǒng)將SPI口接收到的視頻數據發(fā)送到網絡上,否則釋放tcp_socket占用的內存空間并將其刪除,延時后再次新建tcp_socket并請求建立TCP連接,如此反復直到TCP連接建立成功。若由于其他原因TCP連接斷開了,則此軟件模塊在判斷并確認連接斷開后,自動請求再次建立TCP連接,以確保視頻數據不間斷地傳送到遠程主機。
系統(tǒng)軟件工作流程如圖4所示。
總結
經過實際測試,系統(tǒng)的視頻處理部分能以每秒20幀以上的速度實時處理視頻圖像,對于視頻質量的評測,我們采用Foreman序列作為固定的視頻源輸入進行相應的測試,圖像質量良好,其PSNR值平均大于34dB以上如圖5所示;系統(tǒng)在512kbps帶寬下實測的幀率統(tǒng)計,如圖6所示。