新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 采用DS80C400建立網(wǎng)絡(luò)多媒體應(yīng)用

采用DS80C400建立網(wǎng)絡(luò)多媒體應(yīng)用

作者: 時(shí)間:2008-05-12 來源:網(wǎng)絡(luò) 收藏
隨著電子信息技術(shù)日新月異的高速發(fā)展,令人振奮的,包括有線擴(kuò)音系統(tǒng)(PA-Public address system)、門、MP3播放器以及安全攝像機(jī)等需求也是與日俱增。在技術(shù)發(fā)展的今天,可以一種低成本的型微處理器與實(shí)現(xiàn)。其特點(diǎn)是無需任何硬件的圖像壓縮,便可每秒傳輸4幀原始的黑白圖像,而分辨率可達(dá)240180像素。
新型是具有高性能結(jié)構(gòu)和多層網(wǎng)絡(luò)節(jié)點(diǎn)和I/O口及穩(wěn)定的ROM固件的網(wǎng)絡(luò)微控制器,它廣泛于工業(yè)控制/自動(dòng)化、數(shù)據(jù)轉(zhuǎn)換器、遠(yuǎn)距離數(shù)據(jù)采集設(shè)備、環(huán)境監(jiān)測(cè)、家庭/辦公室自動(dòng)化、交易/支付終端及網(wǎng)絡(luò)傳感器等領(lǐng)域。本文對(duì)如何在音視頻范例網(wǎng)絡(luò)系統(tǒng)中網(wǎng)絡(luò)型微控制器進(jìn)行分析與討論。

網(wǎng)絡(luò)型有線擴(kuò)音(PA)系統(tǒng)的

1 常用或傳統(tǒng)的PA系統(tǒng)
PA系統(tǒng)是用于尋呼/內(nèi)部通信和擴(kuò)音的系統(tǒng),其擴(kuò)音系統(tǒng)有兩個(gè)主要部件,即放大器和揚(yáng)聲器,其組成見圖1示意框圖,一個(gè)放大器帶4個(gè)16Ω的揚(yáng)聲器,PBX(Private branch exchange) 用戶交換機(jī)是把外面的電話線接到某個(gè)建筑住宅或辦公室分機(jī)上,而PBX系統(tǒng)功能包括呼叫轉(zhuǎn)移、快速撥號(hào)、內(nèi)部/外部尋呼和呼叫詳細(xì)記錄等。
PA系統(tǒng)工作時(shí),接線員用廣播、尋呼形式對(duì)人員播發(fā)若干信息,如“所有工作人員請(qǐng)注意,正在測(cè)試火警系統(tǒng)”,或“主管人員請(qǐng)到化學(xué)品庫報(bào)到”,等等。對(duì)這類系統(tǒng)人們常常傳統(tǒng)的獨(dú)立布線和基礎(chǔ)結(jié)構(gòu)的技術(shù)就可實(shí)現(xiàn)了。
2 網(wǎng)絡(luò)型有線擴(kuò)音(PA)系統(tǒng)

現(xiàn)在,如果將這個(gè)系統(tǒng)搬到網(wǎng)絡(luò)上則情況會(huì)有所不同,不僅可以省掉獨(dú)立的音頻布線,而且還可以使系統(tǒng)變得更加智能。這是由于尋呼系統(tǒng)已與各建筑物的訪問控制系統(tǒng)或某個(gè)網(wǎng)絡(luò)服務(wù)器相連接,從而使接線員很方便知道某個(gè)人員所處的位置。而且,這種計(jì)算機(jī)化的網(wǎng)絡(luò)型PA系統(tǒng)還能夠自動(dòng)重復(fù)某個(gè)消息,從而使接線員能夠被解放出來去處理更多的呼叫。 更為新穎的是:系統(tǒng)亦可以接入公司范圍內(nèi)的郵件系統(tǒng),實(shí)現(xiàn)郵件到語音的轉(zhuǎn)換服務(wù);或者通過一個(gè)能夠輸入傳呼請(qǐng)求的網(wǎng)站發(fā)布消息,而無須人工干預(yù)。
那么怎樣才能這樣一種網(wǎng)絡(luò)型PA系統(tǒng)呢?首先,至少需要一臺(tái)運(yùn)行WEB界面和電子郵件網(wǎng)關(guān)并帶麥克風(fēng)的服務(wù)器,我們稱這臺(tái)服務(wù)器為主控服務(wù)器(Master control server)。下一步,需要一些揚(yáng)聲器模塊,如DS80C400網(wǎng)絡(luò)型微控制器、具有能夠驅(qū)動(dòng)揚(yáng)聲器的數(shù)模轉(zhuǎn)換器(DAC)。這些揚(yáng)聲器單元的價(jià)格要求低廉,而且要求現(xiàn)場(chǎng)安裝相當(dāng)容易。圖2為DS80C400網(wǎng)絡(luò)型微控制器內(nèi)部結(jié)構(gòu)組成框圖。



圖3展示了網(wǎng)絡(luò)型音視頻PA系統(tǒng)架構(gòu)示意圖。該網(wǎng)絡(luò)型PA系統(tǒng)在兩座建筑物M與L之間實(shí)現(xiàn)網(wǎng)絡(luò)運(yùn)行,它包括7個(gè)揚(yáng)聲器單元和一個(gè)主控服務(wù)器;建筑物之間的網(wǎng)絡(luò)連接了一個(gè)路由器(Router),而不是網(wǎng)橋。在本網(wǎng)絡(luò)型PA系統(tǒng)中,DS80C400網(wǎng)絡(luò)微控制器驅(qū)動(dòng)揚(yáng)聲器單元。由于這類網(wǎng)絡(luò)型PA系統(tǒng)無須很高的帶寬和處理能力,因而該DS80C400控制器所具備的PC系統(tǒng)的處理能力和存儲(chǔ)資源足以支撐系統(tǒng)運(yùn)行。為此,對(duì)采樣率在22.05kHz8位的非壓縮單聲道音頻帶寬要求, 足以在180Kbps以內(nèi)提供優(yōu)異的話音質(zhì)量。而且也不用為硬件解壓縮支付成本, 從而大大提高了本網(wǎng)絡(luò)型PA系統(tǒng)的性能價(jià)格比。

圖4為該類網(wǎng)絡(luò)型音頻系統(tǒng)的相對(duì)帶寬需求示意圖。圖4中所示的剖面線為網(wǎng)絡(luò)型音頻PA系統(tǒng)帶寬區(qū)域,說明該類網(wǎng)絡(luò)型音頻系統(tǒng)的音頻帶寬只需要0.25Mbps, 即使在早期的網(wǎng)絡(luò)(半雙工式)10Mbps上(見圖4坐標(biāo)縱軸),相對(duì)于本網(wǎng)絡(luò)型PA系統(tǒng)具備5Mbps有效帶寬的容量來說,那音頻帶寬(0.25Mbps)也僅使用了其中5%的容量。與當(dāng)今的大多數(shù)以太網(wǎng)帶寬需要100Mbps相比,顯得極低,大大節(jié)省了容量。
3 揚(yáng)聲器單元硬件的配置
除DS80C400外,揚(yáng)聲器單元還需要一些存儲(chǔ)器(512KB的SRAM就足夠了)、網(wǎng)絡(luò)PHY(開放系統(tǒng)互連)、DAC、放大器和揚(yáng)聲器。為此,通過下列技術(shù)簡(jiǎn)化了安裝和代碼的分發(fā):
● 通過DS80C400網(wǎng)絡(luò)微控制器所配備的網(wǎng)絡(luò)引導(dǎo)方式“NetBoot”, 并由NetBoot采用DHCP(動(dòng)態(tài)主配置協(xié)定)和TFTP(普通文件傳送協(xié)定)網(wǎng)絡(luò)協(xié)議獲取IP地址和裝載程序數(shù)據(jù),降低了安裝和配置成本;
● 以太網(wǎng)供電(見圖3上下二橫圓形粗線所示,以太網(wǎng)電纜)簡(jiǎn)化了布線,降低了材料成本。
上電后,DS80C400 ROM通過DHCP(動(dòng)態(tài)主配置協(xié)定)獲取IP地址,接著查詢網(wǎng)絡(luò),以獲取最新版的應(yīng)用程序。應(yīng)用程序執(zhí)行后,系統(tǒng)就準(zhǔn)備接收音頻數(shù)據(jù)。在現(xiàn)場(chǎng)找一個(gè)未使用的網(wǎng)口,連上電纜,就完成了新?lián)P聲器模塊單元的安裝。
4 揚(yáng)聲器單元軟件
為簡(jiǎn)化硬件的安裝,軟件需要做一些額外的工作。由于兩座建筑之間存在路由器(見圖3中間),廣播、呼叫消息不能夠直接從一座建筑物到達(dá)另一座建筑物。所以,不能采用簡(jiǎn)單的消息廣播。一個(gè)新的揚(yáng)聲器必須發(fā)送組播消息,直到主控服務(wù)器確認(rèn)了該揚(yáng)聲器的位置和參數(shù)。一個(gè)新的揚(yáng)聲器系統(tǒng)事先無法知道主控服務(wù)器的位置,因而也需要發(fā)送組播消息來請(qǐng)求主控器確認(rèn)自己。如果考慮安全問題,則交換信息可以采用數(shù)字簽名,以排除那些冒充服務(wù)器的系統(tǒng)。一旦采用傳統(tǒng)的單播消息配置后,該揚(yáng)聲器單元就加入一個(gè)組播群,等待音頻包,這些音頻包由主控器組播。使用組播是因?yàn)镈S80C400和TINI(Tiny interNet interface,微型因特網(wǎng)接口)運(yùn)行環(huán)境支持組播,它不同于從一個(gè)源發(fā)往一個(gè)目標(biāo)的單播數(shù)據(jù)包,允許多個(gè)目標(biāo)主機(jī)接收相同的數(shù)據(jù),從而消除了重復(fù)傳輸,節(jié)省了帶寬。在網(wǎng)絡(luò)中,組播包采用一類特殊的目標(biāo)IP地址,稱之組播群網(wǎng)絡(luò)。
PA系統(tǒng)的范例程序采用C語言編寫。要說明的是除join( )之外,這些編寫步驟對(duì)于那些為TCP/IP網(wǎng)絡(luò)編寫代碼的程序員來說,應(yīng)該是相當(dāng)熟悉的。
5 關(guān)于以太網(wǎng)供電
要將設(shè)備連接到網(wǎng)絡(luò)中需要給網(wǎng)絡(luò)添加額外的電纜,幸好,電源可以被整合到以太網(wǎng)電纜中空余的導(dǎo)線上。解決這個(gè)問題有多種方法,最為常見的是IEEE 802.3af標(biāo)準(zhǔn),規(guī)定將48V電源連接至8引腳以太網(wǎng)連接器的7、8引腳(+)和4,5引腳(GND)。48V電源普遍應(yīng)用于電話系統(tǒng),因此配線柜中通常已帶了這個(gè)電源。為了能夠應(yīng)用于網(wǎng)絡(luò)型微控制器,電源必須降壓至某個(gè)合適的水平。
6 文本到語音
使用麥克風(fēng)記錄現(xiàn)場(chǎng)語音或播放存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器上的錄音,是應(yīng)用網(wǎng)絡(luò)型PA系統(tǒng)的方式之一。另外―種是利用接收自電子郵件、WEB頁或蜂窩電話短消息業(yè)務(wù)的文本廣播消息。
為系統(tǒng)添加語音合成非常容易,轉(zhuǎn)換可以直接在主控服務(wù)器上進(jìn)行,利用文本到語音轉(zhuǎn)換引擎從輸入文本產(chǎn)生音頻波形,然后就可以將這個(gè)波形如同其他音頻信號(hào)一樣發(fā)送至揚(yáng)聲器,揚(yáng)聲器模塊無須作任何改動(dòng)。文本到語音轉(zhuǎn)換引擎已廣泛應(yīng)用,并且已經(jīng)成為有些操作系統(tǒng)(例如Mac OSX)的組成部分。
7 娛樂級(jí)音頻

如果音頻采樣以非壓縮方式傳輸,則CD音頻就會(huì)遇到問題。以44.1kHz 16位采樣、未經(jīng)處理的立體聲需要1.44Mbps的網(wǎng)絡(luò)帶寬(幾乎占了10Mbps網(wǎng)絡(luò)的30%),已經(jīng)超出了許多網(wǎng)絡(luò)可提供的帶寬。
MP3這樣的壓縮算法能夠降低數(shù)據(jù)速率,由此大大提高網(wǎng)絡(luò)負(fù)載能力,使系統(tǒng)切實(shí)可行。配合硬件解壓縮芯片,DS80C400能夠輕松完成任務(wù)。事實(shí)上,36MHz的時(shí)鐘速率足以連續(xù)播放192KB的MP3。
8 成像
將視頻信號(hào)連接至DS80C400,如安防照相機(jī),采用一個(gè)廉價(jià)的照相機(jī)每秒獲取一個(gè)快照,并傳送到網(wǎng)上用于顯示和存儲(chǔ)。服務(wù)器端的后處理可完成運(yùn)動(dòng)監(jiān)視并警示保安人員,比較好的照相機(jī)選擇是現(xiàn)代的蜂窩電話――它們不僅小巧、廉價(jià)而且隨處可得,大多采用一種串行協(xié)議進(jìn)行通信,但不同的制造商也可能采用不同的通信協(xié)議。
實(shí)驗(yàn)表明,無須任何硬件輔助的圖像壓縮,DS80C400便可每秒傳輸4幀原始的黑白圖像(240180),而且還留有一定的余量可用于處理話音級(jí)的音頻。對(duì)于那些熟悉Unix網(wǎng)絡(luò)編程的人來說,closesocket( )就是close( )。DS80C400版本的close( )函數(shù)由文件系統(tǒng)使用,與Windows系統(tǒng)一樣,DS80C400上的套接字句柄與文件句柄是不可互換的,必須使用獨(dú)立的套接字函數(shù)。
相機(jī)系統(tǒng)提供給DS80C400的時(shí)鐘頻率為73.7MHz,接近于75MHz的極限值。73.7MHz的頻率由基頻模式的18.432MHz晶體和集成在DS80C400上的PLL(Phase locked loop,鎖相環(huán)路)經(jīng)4倍頻后得到。這種設(shè)計(jì)降低了整個(gè)系統(tǒng)的成本,同時(shí)還允許工作在接近微控制器最高頻率的上限。此外,18.432MHz4對(duì)于異步串行通信來講還是一個(gè)很好的波特率發(fā)生器。
9 網(wǎng)絡(luò)門
將安防照相機(jī)與雙向音頻、按鈕和蜂鳴器等結(jié)合在一起是很容易做到的。這樣的系統(tǒng)允許我們建造一個(gè)網(wǎng)絡(luò)門(見圖5)。應(yīng)用是無止境的,尤其是與訪問控制和安全登錄等結(jié)合在一起時(shí)。對(duì)于DS80C400來說,按鈕和蜂鳴器僅僅是外部設(shè)備,可以直接連接到普通I/O上。
在Keil C中,通過sfr和shit,很容易定義I/O端口:
/* Define port 1 */
Sfr pl = 0x90;
/* Define P1.7 (port 1 is bit addressable) */
sbit pl_7 = pl^7;/* Toggle Pl.7 */
p_7 = !pl一7;
采用ibutton和內(nèi)置于DS80C400的1-Wire主控制器接口,很容易在網(wǎng)絡(luò)門上添加安全認(rèn)證功能(某種程度上講,該接口的編程要復(fù)雜一些,因此Dallas Semiconductor提供了庫文件,以便簡(jiǎn)化任務(wù))。
注意:像網(wǎng)絡(luò)門這樣的系統(tǒng)可能需要完成多種處理(或任務(wù)),DS80C400 ROM包含了一個(gè)任務(wù)調(diào)度器。下面實(shí)例說明了如何在C語言中使用它。還有,在工業(yè)級(jí)應(yīng)用中,應(yīng)該檢查返回代碼。
unsigned Char pri, task;
/* Get the current task */
task = task_getcurrent( );
/* The current task’S priority */
pri = task_getpriority(0);
/* Decrease the priority */
task_Setpriority(0, pri-1);/* Sleep */
task_Sleep(0, 0, 500);
樣例程序還包含了一些有用的函數(shù),如task_fork( ),通過復(fù)制當(dāng)前任務(wù),創(chuàng)建一個(gè)新的任務(wù)。Task_kill ( )取消一個(gè)任務(wù),以及task_suspend( )掛起一個(gè)任務(wù)。

總結(jié)
可以采用多種方法開發(fā)DS80C400的應(yīng)用軟件。若想快速評(píng)估方案,可以考慮采用Java語言和TINI運(yùn)行環(huán)境。對(duì)于那些要求考慮每個(gè)指令周期的應(yīng)用,最好采用最優(yōu)化的匯編語言。
在本文中,我們采用了C語言。Keil C編譯器支持DS80C400連續(xù)的24位尋址模式,允許高達(dá)16MB的代碼/數(shù)據(jù)存儲(chǔ)空間。為了使用這種模式,要求采用擴(kuò)展版本的編譯器和連接器(CX51、LX51)。這些工具包含在專業(yè)開發(fā)者工具中(PK51)。
Dallas Semiconductor公司提供接口至DS80C400內(nèi)部網(wǎng)絡(luò)棧的C庫文件。在Dallas Semiconductor的ftp網(wǎng)站:ftp://ftp.dalsemi.com/pub/tini/ds80c400/上,可以找到該庫文件,以及一份使用Keil開發(fā)環(huán)境創(chuàng)建DS80C400項(xiàng)目的詳細(xì)操作指南。這些庫文件極大地簡(jiǎn)化了網(wǎng)絡(luò)編程.例如,創(chuàng)建兩個(gè)TCP連接已簡(jiǎn)化為全球皆知的socket( )和connect ( )順序調(diào)用。




評(píng)論


相關(guān)推薦

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

關(guān)閉