《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 8x930Ax/Hx USB控制器芯片及其在數(shù)字音頻中的應(yīng)用

8x930Ax/Hx USB控制器芯片及其在數(shù)字音頻中的應(yīng)用

2009-05-31
作者:王省書 秦石喬 邵福球

  摘 要: 介紹了INTEL公司推出的符合USB1.0規(guī)范的USB控制器芯片8x930Ax/Hx,給出了該芯片的特性和功能描述,最后介紹了USB音頻的特點及8x930Ax/Hx在數(shù)字音頻中的應(yīng)用。
  關(guān)鍵詞: 8x930Ax/Hx 數(shù)字音頻 USB音頻 USB控制器


1 通用串行總線和數(shù)字音頻
1.1 通用串行總線

  通用串行總線(USB)是一種工業(yè)標準連接總線,用于支持寬范圍的PC外設(shè)的設(shè)計。USB拓撲有三個元素:主機(Host),集線器(Hub)和功能塊(Function)。PC是主機,而外設(shè)是功能塊。外設(shè)通過USB電纜和協(xié)議與主機PC接口。為使能外設(shè)的多樣性,USB協(xié)議定義了4種傳輸類型:控制、同步、中斷和塊。
  每種外設(shè)都應(yīng)支持控制傳送以便配置和命令/狀態(tài)信息流能在主機PC和外設(shè)之間流動。同步傳送提供可靠的總線訪問和恒定的數(shù)據(jù)率以支持CTI(Computer Telephony Integration)和音頻系統(tǒng)。中斷傳送支持像游戲桿、鼠標和鍵盤之類的HID(Human Input Device),這些設(shè)備不經(jīng)常地傳送少量的數(shù)據(jù),但帶有確定的服務(wù)周期。塊傳送支持像打印機和數(shù)字相機之類的外設(shè),這些設(shè)備當總線帶寬有效時傳送大量數(shù)據(jù)給PC。
  USB實行一種分塊的帶寬分配方案,如果外設(shè)超過當前帶寬分配或等待時間要求,那么將拒絕訪問外設(shè)。在同步和中斷傳輸中可使用高達90%的總線帶寬,剩余的10%被保留用于控制傳輸。塊傳輸只能在帶寬有效時進行。
1.2 Intel8x930Ax/Hx USB控制器
  計算機外設(shè)的豐富及消費電子設(shè)備與計算機連接的實現(xiàn),擴展了PC機的應(yīng)用空間,同時外設(shè)的日益豐富也給用戶造成了連接上的困難。USB技術(shù)的提出是基于采用通用連接技術(shù)實現(xiàn)外設(shè)的簡單快速連接,達到方便用戶、降低成本、擴展PC機連接外設(shè)的范圍之目的。USB外設(shè)需通過USB與PC接口,8x930Ax/Hx便是一種將PC和外設(shè)溝通的器件。8x930Ax/Hx芯片是INTEL公司開發(fā)的具有USB功能的微控制器,既符合USB規(guī)范,又具有USB器件的某些結(jié)構(gòu)特征。它基于INTEL MCS251微控制器內(nèi)核,其高性能和低價格的組合使它成為PC圖象外設(shè)、數(shù)字音頻、PC電話及存儲設(shè)備的理想解決方案。
  8x930Ax和8x930Hx這兩類芯片除了與USB的接口有點不同外,其余的功能完全相同。它們都為PC外設(shè)提供了一個USB接口。另外,8x930Hx還提供了Hub功能,允許連接另外的PC外設(shè)或HUB。下面以8x930Ax為例說明其功能和特性。
  Intel8x930Ax USB外設(shè)控制器除集成了USB的特征外還提供了高性能大存儲器合裝和尋址、低功耗、低噪聲、有效的高級語言支持和增強的指令集以及綜合的特性和功能。Intel8x930Ax芯片為68引腳的PLCC封裝,其引腳排列如圖1所示,8x930Ax中的USB結(jié)構(gòu)如圖2所示。

?


1.2.1 收發(fā)器
  USB電纜只包含4根電線:Vbus、D+、D-和GND。數(shù)據(jù)以12Mbs的全速信號率或1.5Mbs的低速率在D+和D-線上被差分驅(qū)動。收發(fā)器建在芯片上,不需要外部電路,除了在D+或D-線上用來選擇全速或低速設(shè)備的上拉限定電阻之外。
1.2.2 SIE
  SIE(Serial Interface Engine)通過包排序、信號產(chǎn)生/檢測、CRC產(chǎn)生/校驗、NRZI數(shù)據(jù)編碼、位填充和包標識(PID)產(chǎn)生/解碼來處理USB通信協(xié)議,并保證傳送到USB電纜上的數(shù)據(jù)字節(jié)以LSb開頭。
1.2.3 FIU
  FIU(Function Interface Unit)管理基于傳送類型和FIFO狀態(tài)來接收和發(fā)送USB數(shù)據(jù)。它監(jiān)視事務(wù)狀態(tài)、管理FIFO和通過中斷請求轉(zhuǎn)播控制事件給8x930Ax的CPU。
1.2.4 FIFO
  8x930Ax CPU控制器總共有8個FIFO:4個發(fā)送FIFO和4個接收FIFO。發(fā)送/接收FIFO支持4個功能塊端點(0~3)。端點0為16字節(jié),專門用于控制傳送。端點1可配置到1024個字節(jié),端點2和3每個為16字節(jié),它們可用于中斷、同步或塊傳送。發(fā)送和接收FIFO是循環(huán)存放的堆棧,支持兩個大小可變的分立數(shù)據(jù)組和作為存放數(shù)據(jù)組中的字節(jié)數(shù)用的一字節(jié)計數(shù)寄存器。FIFO還有檢測FIFO空或滿的標記且具有重新發(fā)送和接收當前數(shù)據(jù)組的能力。
1.2.5 Firmware
  Firmware是USB和用戶應(yīng)用代碼之間的接口。8x930Ax的代碼可使用Intel MCS51指令集以保護用戶以往的軟件投資、也可用MCS251指令集以便使應(yīng)用得到最佳的性能。
  8x930Ax具有的其它特征為:
  ·256K字節(jié)外部代碼/數(shù)據(jù)存儲器;
  ·1K字節(jié)片上數(shù)據(jù)RAM;
  ·CPU中40字節(jié)通用目的寄存器;
  ·增強的串口(MCS51 UART);
  ·3個16位定時器/計數(shù)器;
  ·硬件看門狗計時器(WDT);
  ·4個8位I/O口;
  ·2種節(jié)電模式:空閑和掉電;
  ·256K字節(jié)地址空間;
  ·外部總線(復(fù)合)
  地址:16、17或18位
  數(shù)據(jù):8位
  ·0、8或16K字節(jié)片上ROM;
  ·1024字節(jié)片上RAM;
  ·40字節(jié)寄存器文件;
  ·8個中斷矢量,與USB相關(guān)的有4個;
  ·用戶可選配置:外部地址范圍、等待狀態(tài)、頁模式;
  ·實時等待狀態(tài);
  ·MCS51和MCS251微控制器代碼級兼容;
  8x930Ax USB控制器的可編程計數(shù)陣列(PCA),為要求實時比較/捕獲、高速I/O及脈寬調(diào)制(PWM)功能的應(yīng)用增加了靈活性。集成在8x930Ax芯片上的外設(shè)有多樣的組合,使之成為功能強大的微控制器。
1.3 USB音頻
  目前用PC產(chǎn)生音頻有兩種方法。第一種是CD音頻,與家庭立體聲壓縮光盤播放機類似,CD-ROM驅(qū)動讀壓縮光盤和產(chǎn)生模擬信號輸出。此模擬信號輸入PC聲卡,經(jīng)進一步處理后,用標準RCA插頭從PC機輸出。通過PC產(chǎn)生音頻的第二種方法是通過從內(nèi)存讀文件給聲卡來完成,聲卡完成解碼或處理,將數(shù)字數(shù)據(jù)轉(zhuǎn)換為模擬量,并用標準RCA插頭從PC輸出此模擬信號,這是當一個用戶下載一個音頻文件或從硬件驅(qū)動播放時的使用過程。
  使用PC聲卡可能存在下列缺點:在將聲卡裝入PC插槽時,聲卡將占用像中斷、端口地址一樣的PC資源。另外,聲卡必須被插入PC機箱內(nèi),因此必須重新配置,這在許多用戶看來是困難的。機箱內(nèi)還有電磁干擾(EMI)噪聲,這會限制機箱內(nèi)音頻方案的聲音質(zhì)量。在從CD-ROM到聲卡的過程中存在模擬信號,因為設(shè)計的復(fù)雜性,聲卡限制了通道數(shù)目。這會妨礙它們的音階能力,而且在沒有給音箱增加功率時無法在多通道環(huán)繞聲系統(tǒng)中使用。
  USB位于機箱外,因此很適合于音頻應(yīng)用。音頻數(shù)據(jù)在PC機內(nèi)是數(shù)字的,它轉(zhuǎn)換為模擬量時恰好位于音箱放大電路前面,這將改善聲音的質(zhì)量。數(shù)字音頻具有更高的逼真性,這在音頻的高端更明顯?;赨SB的音頻方案很容易被改變以允許音箱廠商在主機PC和USB控制器之間不用增加任何硬件就可提高音頻的質(zhì)量。例如,具有多于兩個音頻數(shù)據(jù)通道是可能的,以豐富用戶的多媒體終端。類似地,易于即插即用的特性使USB結(jié)構(gòu)更吸引人。這樣,數(shù)據(jù)處理可在主機上完成,為音箱制造商提供了一個降低存儲成本的方法,用戶只需買一對有USB兼容能力的音箱即可。
  USB也具有處理音頻應(yīng)用要求的帶寬,CD具有44.1kHz的采樣率,每個采樣為16位。因為USB的幀速率是10ms內(nèi),音頻外設(shè)將接收包含44個采樣的9幀數(shù)據(jù)及包含45個采樣的1幀數(shù)據(jù)。也就是說,在10ms的時間周期內(nèi),外設(shè)將接收9×44+45=441個采樣,平均每毫秒接收44.1個采樣,等于44.1kHz的采樣率。
  假設(shè)音頻數(shù)據(jù)為二個通道,加上協(xié)議開銷10個字節(jié),和最壞情況下16%的位填充,播放系統(tǒng)需控制(45×16×2+10)×1.16=1682位/ms,或接近210字節(jié)/ms。每個USB幀具有1024字節(jié)的數(shù)據(jù)負荷。因此,立體聲音頻信號的播放大約會消耗可用USB帶寬的20%。每個210字節(jié)包中,有(45×16×2)/8=180字節(jié)的原始音頻數(shù)據(jù)。
2 8x930Ax/Hx接口
2.1 8x930Ax/Hx與USB的接口
  8x930Ax/Hx與USB除了上述接口外,對于音頻應(yīng)用還具有以下特點:①對于給定數(shù)據(jù)有效載荷大小,音頻應(yīng)用將使用8x930Ax/Hx的端點1,且8x930Ax/Hx端點1的1024字節(jié)FIFO將被配置成2個512字節(jié)。②數(shù)據(jù)傳送類型采用同步傳送。在音頻流發(fā)送期間,從幀X來的數(shù)據(jù)將被讀入A。在幀(X+1)的開始點,A中的數(shù)據(jù)將變?yōu)闊o效,而從主機來的數(shù)據(jù)被讀入B。在幀(X+2)的開始點,B中的數(shù)據(jù)無效,從主機來的數(shù)據(jù)將覆蓋A。需注意的是,在同步傳送中不使用重新發(fā)送的特性。③USB協(xié)議要求傳輸?shù)臄?shù)據(jù)必須以LSb和LSB開頭。在一個給定字節(jié)內(nèi)由SIE負責從LSb到MSb進行發(fā)送,因此用戶不必擔心LSb開頭,但用戶需保證多字節(jié)數(shù)據(jù)包以LSB開頭進行傳送。
2.2 8x930Ax/Hx與音頻編解碼器的接口
  一旦數(shù)據(jù)從USB電纜上俘獲進入收發(fā)器FIFO,有二種方法將數(shù)據(jù)從8x930Ax/Hx傳送到音頻編解碼器。第一種是通過串行I/O端口。第二種是通過系統(tǒng)總線(8位I/O端口0和2)。對于同步傳送,8x930Ax/Hx被配置成高速設(shè)備,運行在12MHz。
  串行I/O端口支持與Modem和其它外部外設(shè)的通信。它能工作在3個全雙工異步模式或1個半雙工同步模式。在半雙工模式(模式0),時鐘由RXD引腳輸出,同時數(shù)據(jù)也由RXD引腳發(fā)送和接收。通過使用串行端口控制(SCON)和串行緩沖(SBUFF)寄存器來控制傳送。與發(fā)送/接收FIFO類似,數(shù)據(jù)以LSb開頭傳送。
  另外的接口信號通過使用剩余的I/O端口(端口1和3)來控制,SCON寄存器中的TI位能被登記以決定一個數(shù)據(jù)采樣傳送的完成,由此觸發(fā)LRCLK信號。因為8x930Ax/Hx只有一個串行I/O口,控制信息的傳送需被明確編程。系統(tǒng)總線(端口0和2)用來與外部存儲器進行通信。外部總線通過使用接口的8位端口支持16位尋址和8位數(shù)據(jù)。一個端口用于8位地址信息而另8位端口則是地址和數(shù)據(jù)復(fù)合使用的,從音頻編解碼的觀點來看,不管8x930Ax/Hx是否被配置成頁模式或非頁模式。
  使用并行接口的音頻編解碼器可看作是第二個存儲設(shè)備。音頻編解碼器可使用控制接口請求數(shù)據(jù)樣品或控制信息,在控制器檢測到請求后,它把數(shù)據(jù)寫入到系統(tǒng)總線上。應(yīng)特別注意地址解碼和總線定時。
  8x930Ax/Hx的第17和18位尋址模式是非常有用的。外部PAL或邏輯門能解碼這二個信號以產(chǎn)生音頻編解碼器的使能信號??刂菩盘柕膫魉涂捎枚丝?和3來進行。與串口I/O方法類似,在這些引腳上的信號轉(zhuǎn)換都應(yīng)被明確編程。
  8x930Ax/Hx與Analog Device公司16位并行立體聲音頻編解碼器AD1845的接口框圖如圖3所示。


  8x930Ax/Hx提供了1K的片上數(shù)據(jù)存儲器。所有執(zhí)行碼都在外部存儲器(ROM或RAM)或片上ROM上。與WR#有關(guān)的數(shù)據(jù)字節(jié)的建立和保持時間對于AD1845是10ns和15ns,對于8x930Ax/Hx是68ns和28ns,即它們的建立和保持時間是兼容的。然而在寫脈沖寬度時有差異,AD1845要求最少寬度為100ns,而8x930Ax/Hx的缺省配置只提供71.8ns。因此,8x930Ax/Hx須用外部等待狀態(tài)來配置,這將增加WR#寬度到154ns。因為程序在ROM外執(zhí)行,所以8x930Ax/Hx的WR#信號只連接到音頻編解碼器。
參考文獻
1 8x930Ax/Hx USB Microcontroller User's Manual.http://www.Intel.com
2 Parallel-Port 16-Bit SoundportStereo Codec AD1845. http://www.Analog.com

本站內(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;郵箱:aet@chinaaet.com。