《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > CobraNet網(wǎng)絡音頻路由器的設計

CobraNet網(wǎng)絡音頻路由器的設計

2008-07-30
作者:祁才君,, 趙 凡,, 王培良

??? 摘??要:論述了CobraNet網(wǎng)絡音頻技術(shù)的發(fā)展,分析了嵌入CobraNet技術(shù)的CS1810xx網(wǎng)絡音頻處理芯片,,并給出了應用CS1810xx設計CobraNet網(wǎng)絡音頻路由器" title="網(wǎng)絡音頻路由器">網(wǎng)絡音頻路由器的方法和硬件結(jié)構(gòu),。著重討論了CS1810xx的以太網(wǎng)控制接口設計,,CS1810xx的固件" title="固件">固件裝載,主機接口的軟件設計" title="軟件設計">軟件設計等,。
??? 關(guān)鍵詞:CobraNet,;專業(yè)音頻;MCU,;網(wǎng)絡協(xié)議

?

??? 目前,,CobraNet技術(shù)已成為專業(yè)音頻領(lǐng)域?qū)崟r網(wǎng)絡傳輸?shù)囊环N標準,不同廠商的CobraNet產(chǎn)品可以無縫連接,。
  CobraNet技術(shù)解決了專業(yè)音頻信號" title="音頻信號">音頻信號在以太網(wǎng)平臺上傳輸時的實時性,、時鐘同步、流量控制和傳輸控制等關(guān)鍵問題[1,2,4],。CobraNet技術(shù)采用等時同步傳輸技術(shù)在數(shù)據(jù)鏈路層傳輸音頻數(shù)據(jù)包,,等時延時最低等于ms。它將局域網(wǎng)內(nèi)的CobraNet設備分成Conductor(主設備,,一個系統(tǒng)僅有一個)和Performance(從設備,,數(shù)量不限)設備,主設備等時發(fā)送時鐘節(jié)拍包(beat pack),,從設備從節(jié)拍包中解析主設備的時鐘并用其同步本地時鐘,,時鐘同步算法產(chǎn)生的時鐘跳變(jitter)小于25ppm。每個CobraNet設備在發(fā)送或接收音頻數(shù)據(jù)包前必須向主設備發(fā)出請求包,,主設備匯總局域網(wǎng)內(nèi)所有請求,,根據(jù)流量分析結(jié)果決定該音頻包能否發(fā)送或接收,從而避免網(wǎng)絡堵塞,。音頻數(shù)據(jù)包支持點對點,、點對多點和廣播三種發(fā)送方式。應用CobraNet技術(shù)在一根CAT-5類線上最多可傳輸64個通道的專業(yè)(采樣率48kHz,,分辨率20/24bit)數(shù)字音頻信號,。
  2000年,美國專業(yè)音頻芯片制造商Cirrus Logic收購了peakaudio公司,,并將CobraNet技術(shù)芯片化,,開始批量生產(chǎn)CS1810xx和CS496xx(帶DSP處理功能)兩個系列的CobraNet網(wǎng)絡音頻處理器" title="音頻處理器">音頻處理器。
本文研究應用網(wǎng)絡音頻處理器CS1810xx設計CobraNet網(wǎng)絡音頻路由器的方法,。
1 CS1810xx網(wǎng)絡音頻處理器[5]
  CS1810xx是內(nèi)嵌TCP/IP協(xié)議棧,、可以運行CobraNet技術(shù)固件(音頻包的編解碼算法,、時鐘同步算法等)的音頻處理器。CS1810xx采用LPQF144腳封裝,,引腳可分為處理器外部總線,、主機接口HMI(Host Management Interface)、數(shù)字音頻和異步通信等,。
1.1 處理器外部總線
  處理器外部總線相關(guān)引腳包括16根數(shù)據(jù)線DATA15~DATA0,;20根地址線ADDR19~ADDR0;存儲器選通信號#CS1,、#CS2,,讀寫信號#WE、#OE和外設等待信號IOWAIT等,。
  利用總線可以擴展外部存儲器或擴展帶微處理器接口的以太網(wǎng)控制器,。
1.2 主機接口控制
???主機接口是CS1810xx的主要外設(主機控制有motorola和intel兩種讀寫時序),,主機控制信號相關(guān)引腳:
  (1) 讀寫方向控制HR#W,、主機使能#HDS、主機選通#HDS,、主機端口數(shù)據(jù)請求輸出#HREQ,、主機端口中斷請求輸出#HACK。
  (2) 主機控制數(shù)據(jù)線HDATA7~HDATA0,,寬度8位,。
  (3) 主機低位地址4位,對應HADDR3~HADDR0,。
1.3 數(shù)字音頻
  數(shù)字音頻相關(guān)引腳:
??? (1) 時鐘類:主時鐘(通常是512倍幀時鐘)DAO-MCLK,,移位時鐘DAI1-SCLK/DAO1-SCLK,幀時鐘DAI1-LRCK/DAO2-LRCK,。
??? (2) 同步串行音頻輸入數(shù)據(jù)(每根2個通道)DAI1_DATA3~DAI1_DATA0,。
??? (3) 同步串行音頻輸出數(shù)據(jù)(每根2個通道)DAO1_DATA3~DAO1_DATA0。
??? 串行音頻輸入有兩種模式,。模式1如圖1,,一幀內(nèi)每根同步串行輸入/輸出內(nèi)部包含兩個通道(一個立體聲)音頻信號。模式2如圖2,,一幀內(nèi)每根同步串行輸入/輸出內(nèi)部包含四個通道音頻信號,。

?


1.4 其他
??? 異步通信由UART_TXD、UART_RXD和UART_TX_OE組成,。
??? 信號DBCK和DBDATA提供I2C接口,,主要用于引導程序(bootloader)的裝載。
2 CobraNet網(wǎng)絡音頻路由器的硬件設計
??? 圖3是CobraNet網(wǎng)絡音頻路由器的硬件設計框圖,。

?


2.1 CS1810xx部分電路
??? CS1810xx部分電路主要有以太網(wǎng)接口,、并行FLASH接口、串行音頻數(shù)據(jù)輸入/輸出和下載接口等。
??? CS1810xx內(nèi)部并沒有集成以太網(wǎng)控制器,,為此選用帶通用微處理接口,、包含MAC控制器并集成10/100MPHY接口的以太網(wǎng)接口單芯片DM9000E作為CS1810xx的接口芯片。DM9000E的PHY輸出直接與磁芯變壓器一體化的RJ45網(wǎng)頭相連,,原理設計如圖4,。

?


??? 并行FLASH用于存儲處理器的固件,選用1MB的AM29LV800DB-90EC,。AD選用Cirrus Logic公司CS5396[6],,DA選用Cirrus Logic公司CS4396[7]
??? 下載接口用于處理器裝載引導程序,,其接口原理設計如圖5所示,。

?


2.2 MCU部分
??? MCU通過CS1810xx處理器提供的主機接口與處理器進行通信??紤]CS1810xx提供8位主機接口數(shù)據(jù)寬度,,MCU選用Philipp公司的P89V51RD2八位微控制器,MCU相關(guān)接口有RS232異步通信,、LCD液晶顯示,、鍵盤輸入等,其中LCD選用144X32的內(nèi)嵌漢字字庫的點陣液晶LM3037,。CS1810xx地址鎖存和譯碼,、MCU地址鎖存和譯碼等邏輯控制選用Xilinx公司的CPLD XC9572-100PQ實現(xiàn)。
3 CobraNet網(wǎng)絡音頻路由器的軟件設計
??? 軟件設計包括CS1810xx固件裝載和MCU軟件設計兩部分,。
3.1 CS1810xx固件裝載
??? CS1810xx固件裝載[3]由bootloader裝載和應用程序裝載兩部分組成,。
??? 用電纜將計算機的并口和目標板的下載接口相連,運行Cirrus Logic公司提供的windows環(huán)境下的DOS應用程序CID,,執(zhí)行命令“e lcm2.cmd”實現(xiàn)bootloader裝載,,完成以太網(wǎng)接口和主機接口等驅(qū)動安裝。將目標機接入以太網(wǎng)并重新啟動,,運行Winows環(huán)境下的另一個工具軟件Discovery,,該軟件會自動查找局域網(wǎng)內(nèi)的CobraNet設備,給目標機分配IP地址,,并利用工具選項update firmware下載處理器的最新應用軟件,。
3.2 MCU軟件設計
??? MCU軟件設計包括液晶顯示控制、RS232通信協(xié)議制訂和處理,、鍵盤掃描和與CS1810xx之間的主機接口通信等,。其中,最關(guān)鍵部分是與CS1810xx主機接口部分程序的編寫,。
??? MCU與CS1810xx之間通信的實質(zhì)是對處理器CS1810xx內(nèi)存映射存儲單元的讀寫,。HMI主機接口的數(shù)據(jù)寬度是8位,,而CS1810xx內(nèi)部核心是數(shù)據(jù)寬度等于32位的Motorola定點DSP處理器。
??? CS1810xx內(nèi)部主機接口部分提供8個8位寄存器,,其地址由基址HMI-BASE,,即CS1810xx的主機選通或使能信號 (#HDS、#HEN)地址,,和低位HADD3~HADD0之和決定,。0~8位地址分別對應信息寄存器MSG_A(MS)、MSG_B,、MSG_C,、MSG_D(LS)和數(shù)據(jù)DATA_A(MS)、DATA_B,、DATA_C,、DATA_D(LS)。
??? 主機可以向CS1810xx發(fā)送10種消息,。消息功能和對應信息寄存器的值如表1所示,。

?


??? CS1810xx收到消息后,將主要處理結(jié)果存放在信息寄存器MSG_D中,,MSG_D中各位對應的狀態(tài)是:bit0——信息翻轉(zhuǎn)位,,bit1——接收包有效位,,bit2——包發(fā)送完成位,,bit3——地址轉(zhuǎn)換完成位,bit4——可寫區(qū)位,。
  主機讀寫過程如圖6,,設置地址過程如圖7,程序代碼如下:
  void SendMessage(uchar message )
  {
????   int msgack = ReadRegister(HMI_BASE+MSG_D);???? ?????????????? //保留原信息
????   WriteRegister(HMI_BASE+MSG_D, message);
?????????                               ??? //寫入新消息
  ???? while(!((msgack^ReadRegister(HMI_BASE+MSG_D))
??   & 0x01))? ?????              //等待第0位翻轉(zhuǎn)
  }
  void SetAddress(ulong address )
  {
????     ??????              ? //設置第16~23位,、第8~15位,、第0~7位地址
  WriteRegister(HMI_BASE+MSG_A,(uchar)((address&0xff0000)
  >>16));
  WriteRegister(HMI_BASE+MSG_B,(uchar)((address&0xff00)
  >>8));??
  WriteRegister(HMI_BASE+MSG_C, (uchar)(address&0xff));
?   SendMessage(0xB3);?
????                       //發(fā)地址轉(zhuǎn)換消息,并等待CS1810xx響應
  while( !(ReadRegister(HMI_BASE+MSG_D) & 0x08);
???                        //等待地址寫入轉(zhuǎn)換結(jié)束,開始讀地址轉(zhuǎn)換消息
  WriteRegister(HMI_BASE+ MSG_C, 0x0 );?
????                      ???//信息寄存器MsgC寫入0
  SendMessage(0xB5);?            ?? //發(fā)送消息,結(jié)束地址設置
  ReadRegister(HMI_BASE+DATA_D);???      //清除數(shù)據(jù)管道
  }

?

?


  MCU微控制軟件由主循環(huán),、按鍵中斷和串行接收中斷等組成,。
  PC機通過SNMP協(xié)議發(fā)送命令改變CS1810xx中的接收或發(fā)送音頻通道的BUNDLE編號,改變音頻路由狀態(tài),。MCU在主循環(huán)中還不斷掃描CS1810xx各音頻通道的音量,,然后將音量值以音量柱的形式在LCD界面上顯示。
  路由控制還可以通過按鍵中斷和串行中斷實現(xiàn),。收到中斷路由命令后MCU直接通過CS1810xx的主機接口改變CS1810xx的路由,,這種路由方式的響應速度要快于SNMP協(xié)議的網(wǎng)絡命令,尤其是按鍵控制可以脫離PC對CobraNet網(wǎng)絡音頻路由器實施路由控制,。
  本文研制的具有8個通道輸入和8通道輸出的CobraNet網(wǎng)絡音頻路由器已經(jīng)批量生產(chǎn),,并以多個硬件設備為基礎(chǔ)構(gòu)建了網(wǎng)絡音頻系統(tǒng),,配合控制軟件,實現(xiàn)了音頻信號的全數(shù)字化傳輸,、交換,、監(jiān)測、智能切換等功能,。


參考文獻
[1]? GROSS K P. Media access control for isochronous data?packets in carrier sensing multiple access systems, Patent?No. US 5,761,430, Jun. 2, 1998.
[2]? GROSS K P. Exploiting shortest path for improved network?clock distribution, Patent No. US 6,973,152,B2, Dec.6, 2005.
[3]?Cirrus Logic, Inc. CobraNet programmer’s reference?version 2.5, Feb, 2006.
[4]? Cirrus Logic, Inc., Audio Networks An Overview, 2001.
[5]? Cirrus Logic, Inc.,CobraNet Silicon Series Hardware User’s ?Manual Version 2.2, Mar., 2006.
[6]?Cirrus Logic, Inc.,192 kHz D/A Converter for Digital?Audio-CS5396/7,Sep.,1997.
[7]?Cirrus Logic, Inc., 24-Bit, 192kHz D/A Converter for?Digital Audio-CS4396,Jul.199924-Bit.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]