《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(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音頻的特點(diǎn)及8x930Ax/Hx在數(shù)字音頻中的應(yīng)用。
  關(guān)鍵詞: 8x930Ax/Hx 數(shù)字音頻 USB音頻 USB控制器


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

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

?


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


  8x930Ax/Hx提供了1K的片上數(shù)據(jù)存儲(chǔ)器。所有執(zhí)行碼都在外部存儲(chǔ)器(ROM或RAM)或片上ROM上。與WR#有關(guān)的數(shù)據(jù)字節(jié)的建立和保持時(shí)間對(duì)于AD1845是10ns和15ns,對(duì)于8x930Ax/Hx是68ns和28ns,即它們的建立和保持時(shí)間是兼容的。然而在寫脈沖寬度時(shí)有差異,AD1845要求最少寬度為100ns,而8x930Ax/Hx的缺省配置只提供71.8ns。因此,8x930Ax/Hx須用外部等待狀態(tài)來(lái)配置,這將增加WR#寬度到154ns。因?yàn)槌绦蛟赗OM外執(zhí)行,所以8x930Ax/Hx的WR#信號(hào)只連接到音頻編解碼器。
參考文獻(xiàn)
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)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。