200815988 - 九、發明說明: 【發明所屬之技術領域】 本發明係有關於用於與主機介面和一或多個編碼器/解 碼為(CODEC)進行通信之高傳真音效(HDA)相容裝置。 【先前技術】
Intel®高傳真音效(以下或簡稱HDA)係一種關於整合 式音訊(integrated audio)之規格,相較於傳統之整合式音 訊規格,其可以播放更多頻道,且品質較佳。高傳真音效 • 主要的目的之一係在於支援PC(個人電腦)環境之高品質音 訊。高傳真音效規格肇始於2004年4月1 5日出版之” Intel 高傳真音效規格第 1·〇 版,,(“Intel High Definition Audio Specification Revision 1.0,April 15,2004”)。 高傳真音效架構之典型硬體結構顯示於第一圖。此架 構分為上游部分(upstream portion)l〇l和下游部分 (downstream portion)l 03。上游部分101包含中央處理單元 (Central Processing Unit 或 CPU)105,其經由主匯流排(host _ bus)1 07連接至記憶體控制器109。記憶體控制器109可以 存取系統記憶體111,且記憶體控制器丨〇9經由周邊組件 互連介面(Peripheral Component Interconnect 或 PCI)113 或 某些其他系統匯流排連接至下游部分1 〇3。下游部分1 〇3 包含HDA控制器115,其經由HDA連結(HDA link)119連 接至數組HD A編碼益/解碼器H7a、117b、…。許多HD A 裝置之代號係” Azalia” ,故HDA控制器115亦可以稱為 Azalia控制器,HDA連結ι19亦可以稱為Azalia連結(舊 6 200815988 稱音訊編碼器/解碼器連結,或Audio Codec iink),如hda 編碼器/解碼器117a…亦可以稱為Azalia編碼器/解碼器。 HDA控制器115係一種匯流排主控之輸出/輸入…〇) 周邊裝置’其經由PCI介面(或某些其他適當的周邊附加式 主控介面)連接至系統記憶體qHDA控制器ιΐ5包含一或 多組DMA(Direct Memory Access;直接記憶體存取)引擎 _Aengines)121,每一組均可以設定成於系統記憶體⑴ 和一 HDA編碼器/解碼器U7a〜間傳送單一聲頻流 stream) 〇 HDA控制器lls經由HDA連結119實體連接至一或 多組編碼器/解碼器U7a· ·。HDA連結119於HDA 控制器115和編碼器/解碼器117心··之間傳送串列資料。·· HD A連、、、σ 119具有固定之協定,其提供資料傳輸最佳化之 規格。HDA連結允許指令自HDA控制器傳送至編碼器/解 馬抑(例如,用於音量控制),並允許數位資料使用一標準 規格協疋從HDA控制器傳送至編碼器/解碼器。HDA連結 使得使用者可以將任何所HDA編碼器/解碼器連接至 下游部分。 一或多個Azalia編碼器/解碼器117a、117b、…連接 ^ HDA連結119。一編碼器/解碼器利用分時多工連結協 ^(time multiplexed lmk pr〇t〇c〇1)抽取一或多個聲頻流, 並經由一或多個轉換器123將其轉換成輸出資料流 ^stream)轉換$ 123通常將數位資料流轉換成類比信號(或 疋相反之動作)’但同時亦可以提供額外之數據機功能支援 200815988 而連接至一電話線,且可以選擇性地具有某些其他功能。 =圖所示,一些可能的下傳連接包括耳機、電話線、和揚 聲器’然輪出並未限於此等舉例。 在如第一圖所示之傳統HDA架構中,所有使用之編 碼益/解碼器必須相容於UAA (Universal Audio Architecture,通用音訊架構)架構,且HDA控制器和a 編碼器/解碼器係在相$之標準規格協定之下運作。此意味 使用者被限制於僅能使用HDA/Azalia之特定編碼器/解碼 器。HDA相容之編碼器/解碼器實例包括SigmaTei公司生 產之STAC9200。非UAA相容之其他標準規格編碼器/解 碼器不能連接於下游部分。電源啟動之後,主機將執行列 舉程序(enumeration)以確定連接至哪些I/〇s(輸入/輸出)。 此係藉由周邊HDA控制器115和fjDA編碼器/解碼器 117a、117b…透過HDA連結119之通信而完成。 如第一圖所示之HDA架構採用了用於組織資料之資 料流和通道經由HDA連結傳送之概念。資料流係產生於 系統記憶體緩衝器和編碼器/解碼器間之邏輯或虛擬連接, 每一資料流透過連結由單一 DMA引擎驅動。一資料 流包含一或多個資料通道,每一通道對應至編碼器/解碼器 内之單一轉換器。第二圖顯示於如第一圖所示之傳統架構 之資料流概念。第一圖和第二圖内相同之參照編號表示相 同之組件。 第二圖係第一圖之改良版本,其僅顯示第一圖中與資 料流概念之例示相關之組件。系統記憶體1 11包含緩衝哭 200815988 2〇.la、201b和201c。系統記憶體lu連接至hda控制器 115(透過記憶體控制器1〇9和pci 113_未顯示於第二圖 中)其包3 DMA引擎12ia、mb、121c。緩衝器2〇la 連接至DMA引擎121a,緩衝器201b連接至DMA引擎 121b,而緩衝器201c連接至DMA弓丨擎mc。資料流透過 HDA連結119於HDA控制器115和編碼器/解碼器u7a、 1 1 7b和1 1 7c之間僂详。諠一回士 ,— ^ 弟一圖中,四組資料流顯示其中, 以示範相關之概念。
參見第二圖,輪出資料流可以對應至一個 器/解碼帽如’資料流3可以是職編碼器/解碼器= 產生於二機上以及編瑪器/解碼器me產生於揚聲器上 之又通遏貝料极)’但是輸人資料流則必須對應至單一肋a 編碼器/解碼器(例如,f料流2 — 1里匕s數據機輪入端之 早—Μϋ用中之資料流於祕控制器 配置有引擎咖。若無可資使用之胸^ 則資料流必須進入無作用 ^ 擎(例如,第二巴之1 到出現可用之DMA引 一圖胃料流4並未連接至—DMA引擎,故 亚無作用)。HDA連結於一八拉夕^ 、 支 編碼器/解碼H配置有_用以刀/工线運作,意即每一 間槽⑴-邮,當時間样結* ’接收動作之特定時 時間槽方能繼續動作。::?:: 頁等待至下-週期之 DMA引擎121和二胃“育料流被傳送之時,介於 丨手12 1和編石馬器/解石焉哭 第三圖顯示資料傳幹":“間之連結是固定的。 斗山 傅輸於HDA連結119上之妗椹。、备 之母-輸入#號傳送一連串數據封包㈣㈣或數據 9 200815988 框(frames)。·此顳示於第三圖之上方 一 間部分,我們可以看到每一數據框刀弟^圖之斗 以及數目不定之許多取樣區塊 、S-3)。翁擔 4「‘ =使用之空間被填人零值(NULLs),而使得每—數據框王傳 輸…1可以彼此相同。第三圖的下方部分顯示 例中,取樣區塊S-2具有四個通道匕丨、 隹此 卜 、u 和 C-4, 母—通道包含20個位元(bits)e每—通道均對應至— 之編碼器/解碼器。數據框沿HDa
傳达,依據其運作之取樣率,例如48仟赫邮),每MM 微秒U 〇傳送-個數據框。HDA控制B 115和HD 碼器/解碼器l17a…係在單一協定 ' ^ ^ 〜^ 1乍,疋故經過適 虽數據框化後之資料可以由HDA控制器傳送,並正確地 2黯編碼器/解碼器U7a…接收,或是自編碼器/解碼 ^'傳送而於控制器接收。 HDA控制_ 115使用指令外傳環狀緩衝器 DMA引擎121以自c〇RB擷取外傳指令,並將其置於每一 數據框開頭之控制位元區内(參見第三圖)。 編碼Is /解碼器117a…之回應經由回應内傳環狀缓衝 器(Response Inbound Ring Buffer,以下或簡稱 RIRB)機制 被傳送至HDA控制器115。RIRB係位於系統記憶體i丄1
Outbound Ring Buffer ’以下或簡稱c〇RB)機制以傳送指令 至HDA編碼器/解碼器U7a…。. c〇RB係位於系統記憶 體111内之一環型緩衝器,其用以自軟體傳送指令至連接 於HDA連結119之編碼器/解碼器。HDA控制器115使用 10 200815988 内之一環型緩衝器,其用以儲存來自編碼器/解碼器之回 應。回應本身可以是被徵求的(例如,回應HDA控制器之 指令)或是非被徵求的(例如,由編碼器/解碼器主動傳送以 知會一事件)。 如上所述,,Intel® HDA規格於HDA控制器下游端需 要UAA相容之編碼器/解碼器以使得匯流排驅動器可以被 正確地下載。此外,非HDA編碼器/解碼器於HDA連結不 需要正確的介面。因此,使用於第一圖傳統HDA架構下 之編碼器/解碼器必須是UAA相容元件。此意味HDA架構 下可用之編碼器/解碼器數目係受限的,且其效能(例如, 信號對雜訊比例,SNR)不會優於其他標準規格之編碼器/ 解碼器,例如I2S或S/PDIF。為了提供使用者對編碼器/ 解碼器有更大的選擇空間,允許非UAA相容規格之編碼 器/解碼器連接至HDA架構將有正面之助益,且由於可以 使用HDA架構,其同時亦因此增進了音訊之品質。 【發明内容】 依據本發明之一第一特色,其提出與主機介面和一或 多個非高傳真音效(HDA)相容之編碼器/解碼器(CODEC)通 信之裝置,此裝置包含:一邏輯電路,其可連接一或多 個非HD A相容編碼器/解碼器且其本身相容於一 HD A控制 器,此邏輯電路傳送回應至該HD A控制器,以模擬HD A 相容編碼器/解碼器之回應。 在主機介面端,主機不會察覺本發明和傳統配置之間 有任何差異。然而,在邏輯電路之下游端,該邏輯電路可 11 200815988 以-連接至一般標準規格之編碼器/解碼器,意即,非HDA 相容之編碼器/解碼器。此意味一般標準規格之編碼器/解 碼器可以使用於HDA架構。此允許使用者對於編碼器/解 碼器有更多之選擇,亦表示音效品質之增進可能藉以達 成。 此裝置可以構成音效卡之一部分,是以該裝置可以更 包含相容於上述邏輯電路且可連接至主機介面之HDA控 制器。於較佳實例中,上述之裝置係積體電路(integrated circuit ; 1C)之形式,換言之,HDA控制器和模擬邏輯電路 之形式係單一積體電路。此將降低上述裝置之製造成本。 在說明之實施例中,上述之主機介面係一周邊組件介 面(PCI)。其他可能之主機介面包括通用序列匯流排(USB) 以及1394。 至少一上述之一或多個編碼器/解碼器可以是使用 Sony/Phillips數位介面(S/PDIF)之編碼器/解碼器。S/PDIF 係一標準之音訊檔案傳輸格式,其由Sony和?1^11〗?8公司 聯合提出。S/PDIF允許數位音訊信號自一裝置傳輸至另一 裝置,而無需先轉換為類比之格式。 至少一上述之一或多個編碼器/解碼器可以是Inter-IC-Sound(I2S)編碼器/解碼器。I2S係一電機匯流排介面標準 規格,用以連接數位音訊裝置。I2S匯流排將時脈和資料 信號分離,而具有極低之碎動(jitter)干擾。 其他類型之編碼器/解碼器實例包含Cirrus Logic公司 之CS4382,和Phillips公司之UDA1361TS。此等裝置均 12 200815988 - 係一般標準規格(非HDA相容)之編碼器/解碼器。 .- 主機介面可以位於上述裝置之上游端(upstream side), 而一或多個非HDA相容編碼器/解碼器可以位於該裝置之 下游端(downstream side)。若此裝置包含HDA控制器,則 主機介面可以位於HDA控制器之上游端。 較佳實施例中,上述裝置與一記憶體儲存器結合,以 儲存廠商之特定指令及/或一或多個非HDA相容編碼器/解 碼器之組態。此配置係有正面助益的,其使得整個架構變 # 得相當有彈性,因為於HDA控制器及/或模擬邏輯電路生 產後可以加入廠商特定指令之支援。 較佳實施例中,上述之廠商特定指令係選自於由以下 元素組成的族群之中:I2C(Inter-Integrated Circuit)指令、 SPI(Serial Peripheral Interface)指令和 MIDI(Music Instrument Digital Interface)指令。若上述之記憶體儲存器 亦儲存一或多個非HDA相容編碼器/解碼器之組態,則模 擬之回應可以基於該儲存之組態。 • 依據本發明之一第二特色,其提出一裝置,其可以位 於其上游端之主機介面和下游端之一或多個編碼器/解碼器 (CODECs)之間,此裝置包含:一高傳真音效(HDA)控制器, 其可連接至該裝置上游端之主機介面;以及一邏輯電路, 位於該HDA控制器之下游端,此邏輯電路可連接至位於 該裝置下游端之一或多個非HDA相容編碼器/解碼器,且 相容於此邏輯電路上游端之HDA控制器,此邏輯電路於 啟動和正常運作期間可以傳送回應至該HDA控制器以模 13 200815988 擬HDA相容編碼器/解碼器之回應。 於本發明某一特色之說明所提出之特徵可以適用於本 發明之其他特色。 、本 【實施方式】 如前所述,本發明之主要概念在於修改職控制界 使其可以於下游端連接_般標準規格之編解碼哭,: 非只是UAA相容之編碼器/解碼器。此意味處理二個問題. 百先是將HDA控制器連接至一般標準規格(非職相 編碼器/解碼器之實體問題,假 力又現格編碼益/解碼 :。不具有適當之HDA連結介面’其次是恤控制器和— 般標準規格編碼器/解碼器之通信問題,假定其並非於 協定下運作。 第四圖顯示發明之一實施例。在第四圖中,上游端ι〇ι =專統之HDA架構完全相同,如第_圖所示,故此處採 用相同之參照編號。摘要言…上游端包含中央處理器 (卿心其透過主匯流排1G7連接至記憶體控制器⑽。 讀體控制器1G9可以存取系統記憶冑ηι且透過m U3(或某些其他適當介面)連接至下游端4〇ι。 然:,在下游# 401,其配置有所不同。在此一實施 歹,,早一半導體晶片403包含一改良之HDA控制器4〇5 以及模擬Azalia編碼器/解碼器運作之邏輯4〇7。晶片 於下游端連接至-或多個—般標準規格之編碼器/解石馬哭 (例如,I2S、S/PDIF)409a、409b、···。 於改良之HDA控制器彻之上游端,系統記憶體iu 200815988 - 如同於傳統系統一般”看見”相同之HDA控制器。因此, 此新架構並不會影響與UAA系統之相容性,故無需對主 HDA介面113做任何修改。於Azalia編碼器/解碼器邏輯 407之上游端,改良之HDA控制器如同於傳統系統一般” 看見”相同之Azalia編碼器/解碼器,因為該Azalia編碼 器/解碼器模擬器邏輯407之設計即在使其模擬傳統系統内 之HDA連結和Azalia編碼器/解碼器。因此,匯流排驅動 器仍可以被正確地載入。然而,於Azalia編碼器/解碼器 • 模擬器邏輯407之下游端,其介面係非UAA相容的,故 可以連接至一或多個一般標準規格之編碼器/解碼器409a、 409b、···0 第六圖顯示HDA控制器405之功能方塊圖,其包含 與記憶體控制器109連通之DMA引擎405a、連接至DMA 引擎405a之標準音訊介面405b、HDA控制器暫存器組 405c、CORB和RIRB緩衝器405d、405e。上述每一組件 之功能均詳列於2004年4月15日出版之” Intel高傳真音 _ 效規格第 1.0 版 ” (“ Intel High Definition Audio
Specification Revision 1.0,April 15,2004”),故此處不再 細述。 在第四圖之配置中,HDA連結已被完全移除。Azalia 編碼器/解碼器模擬器邏輯407之設計係在取代傳統系統中 之HDA連結和Azalia編碼器/解碼器。然而,此意味某些 功能必須被上移至晶片403,而於Azalia編碼器/解碼器模 擬器邏輯407執行。第七圖例示模擬器邏輯407之功能方 15 200815988 , 塊圖。圖中清楚顯呩,模擬器邏輯407包含用於自 HDA, 控制器405之CORB緩衝器405d接收指令之CORB介面 407a、指令辨識模組407b、工具集及回應產生器(Widgets and Response Generator)407c、以及 RIRB 介面 407d。 主機發出之指令通過HDA控制器405並由CORB介 面407a所接收。CORB介面407a,配合HDA控制器,其 功用如同DMA引擎,以不經過外部軟體介入之方式直接 存取主記憶體111。當適當之位址設定於HDA控制器405 # 内之後,CORB介面配合控制器405自主記憶體111提取 指令。同樣地,對於RIRB介面407d,其功用亦如同一 DMA 引擎,其可以直接和主記憶體111通信。RIRB介面將回 應轉送並置入主記憶體111,而非自其讀取指令。類似CORB 介面407a,RIRB介面407d無須任何外部軟體介入即可執 行DMA動作,唯一需要做的是主機端必須設定轉送動作 所需之位址。通常,CORB介面接收之每一指令,均期望 回應產生器發出相對之回應。 ® 指令辨識模組407b對來自主機端之指令執行辨識作業 (如同CORB介面接收的一般),並轉譯此等指令以使得轉 譯後之指令可被非Azalia相容之編碼器/解碼器所了解。 以下詳述關於一個Azalia指令實例,其將編碼器/解碼器 409a、409b、…設定為將音訊轉成特定取樣率下之資料流, 指令辨識模組407b自CORB介面407a接收該指令時即轉 譯該Azalia指令,而後將此等資訊轉譯成”事件”指令並將 轉譯後之資訊傳送至工具集及回應產生器407c以對編碼器 16 200815988 /解碼器409a、409b、…進行設…定和進一步處理。 產生器407C包含代表其正模擬之HDA相容編碼器/解 碼器之暫存器,並處理轉譯後之,,事件,,指令以依據接收自 主機端之指令產生適當回應。另外,此等事件指令並用以 產生編碼器/解碼器409a、4〇9b、…之I2C/GPO指令。 以下就三個特定之重要功能進一步說明模擬器邏輯 407之功能: mi:列舉 如前所述,啟動之後,主機端執行列舉以確定1/〇之 數目,意即,下游端連接之編碼器/解碼器數目。在習知技 衍之配置中,由於編碼器/解碼器均係A相容,故經由 HDA連結之列舉運作相當容易。然而,本發明中,自主機 接收指令並於列舉時傳送適當回應是Azalia編碼器/解碼 器模擬器邏輯407之功能。因此,模擬器邏輯4(>7通知作 f系統(例如,Windows χρ或類似系統)附加音訊裝置之性 =,例如,編碼器/解碼器可以支援多少輸入/輸出裴置、 =輸入/輸出裝置具有多少通道、每一通道連接端之色彩 編螞、和每一輸入/輸出裝置支援之取樣率。以此種方式, “Ha邏輯模擬職相容編碼器/解碼器並於列舉期 f Azalia編碼器/解碼器連接之主機。換言之,對於主 =舉,詢問並非& HDA、編碼器/解碼器主導回應,而是 模Μ益邏輯取決於連接之一般产車 设 虹榦竿規格之編碼器/解碼哭 數目和類型而模擬適當回應,以使得主機端認定正連: 至一些Azalia相容之編碼器/解碼器。 17 200815988 功能2 :資料泊 敬如第二圖所示’職連結提供HDA控制器内之細A 引擎和Azalia編碼器/解碼器間之連接,以進行包含資料 流:通這之數據框傳輸。對於每_ DMA引擎,當某些特 疋貝枓正在傳送之時,_引擎和適當之編碼器/解竭器 間存在固疋’之連接。HDA連結係以分時多工之方式運 作,^就是說,對於一個周期中DMA用以進行接收或傳 、之:P刀’ DMA引擎會被使用,然對於該周期之其餘部分 此時段其他DMAs用以傳送資料中),魏未使用,但亦 不此做其=傳輸之用,因為其保留給特定之編碼器/解碼器 使用。於弟四圖之配置’ Azalia編碼器/解碼器模擬器邏輯 必須執行相同之資料流串連功能。 第五a圖係DMA Μ擎透過HDA連結和編碼器/解碼器 曰,之連接之傳統配置方式之示意圖。第五a圖其實只是第 =方部分之示意圖。參見第…,考慮資料正由編 ::"解碼器卜2、3接收之情況。編碼器/解碼 ^接收,故和祕引擎丨建立一直接連接。在接收編 解竭器3資料期間,編碼器/解碼器3和DMA引擎i =連接係固定的。之後,編碼器/解碼器i被要求接收(而 炒知編碼器/解碼器3仍然運作當中),由於驗引擎】已 吏用中’故編碼益/解碼器i和dma引擎2間之直接連 被建立。在接收編碼器/解碼器1資料期間,編碼器/解 =器」和驗引擎2間之連接係固定的。之後,編碼器/ 碼益2被要求接收(而此時編石馬器/解碼器i和3仍然運 18 200815988 作當中),由於DMA引擎1和2已然使用中,故編碼器/解 碼器2和DMA引擎3間之直接連接於是被建立。在接收 編碼器/解碼器2資料期間,編碼器/解碼器2和DMA引擎 3間之連接係固定的。 然而,在第五b圖中,其並無HDA連結存在,而HDA 連結之功能係由Azalia編碼器/解碼器模擬器邏輯407所 執行。Azalia編碼器/解碼器模擬器邏輯之運作方式和習知 技術中之HDA連結完全相同,意即,於資料傳送時在編 碼器/解碼器和DMA引擎間建立一固定之連接(透過CORB 介面407a、指令辨識模組407b、和工具集及回應產生器 407c)。對於使用Azalia編碼器/解碼器模擬器邏輯407之 DMA引擎,分時多工可以是備用而多餘的(雖然仍可能被 使用)。不使用分時多工,資料總傳輸率和匯流排之頻寬得 以增進。 功能3 :控制器以及編碼器/解碼器、CORB和RIRB間之 通信 如前述對於第三圖之說明,在習知技術中,HDA控制 器將資料轉換成適當之數據框格式以透過HDA連結傳送 至HDA控制器。由於HDA編碼器/解碼器以相同之協定運 作,其可以對數據框資料進行解譯。然而,在第四圖之配 置中,HD A控制器無須將輸出資料轉換為數據框(因為其 並非和HDA編碼器/解碼器通信),故改良之HDA控制器 405並未將輸出資料轉成數據框。取而代之的是,Azalia 編碼器/解碼器模擬器邏輯407將接收自HDA控制器之資 19 200815988 料轉換成適當格式,以配合連接之一般標準 碼器/解碼器。該等轉換顯然可知係 特疋、·扁 如-Γ %卞 生407c所執行。 如别所逑,於習知技術之架射,來自⑶ 丁 指令係置放於每—數赭祐„ 之外傳 母數據框開頭之控制位元區。 70由編碼請媽11所接收並做適當處理。然而,在第工四圖立 之架構中’由於資料並未轉成數據框,指令資❹法^ 於母-數據框之開頭處。取而代之的是 ^ 並解譯此等指令,1 # $ 、擬口。邏輯處理 V亚執仃請求之功能。因 連結不存在,此辇P使HDA 子在此〇曰令亦可以被處理,猶如HDA連 在一般,因為模擬器邏輯可以解譯並處 連:存 極為重要,因A ^ + &此·等私令。此點 為如此一來驅動器分辨不出任何差昱而伪叮 以正確地被下載。槿 差/、而仍可 ,, 擬益邈軏同時解譯來自編碼器/解珥$ 之回應並回傳正確之回應。 解碼為 口此’挺擬器邏輯使得驅動器知 並能告知作業系統。於賴, “被支板, 、牛湧間,杈擬盗邏輯同時亦傳送 貝Λ至主機端以使其認 卞、 正常運作期門, zalla編碼器/解碼器。 解叫:器邏輯接收並傳送指令,並於編碼器/ 解碼:和HDA㈣器間進行回應。 藉由將HDA和制哭4 > t 器/解碼哭之邏轾ΓΓ A連結以及域a編碼 用非UAA相容之編碼曰片使用者传以於下游端使 大之選擇*門 解石馬器。此使得使用者具有更巨 二S,假疋許多—般標準規格之編碼器/解$ 35 1 有比HDA限定之 1/解碼益具 以右ΗηΔ / 解碼益更強之性能,使用者即 4 Α糸統架構下享用更佳之音效品質。此外,將HDa 20 200815988 控制器和.AZalia、編竭器/解碼器模擬器邏輯結合成單一石夕 晶片將使成本得以降低。 UAA的目標之一在於提供使用者於作業系統(OS)内具 有基本音訊功能之驅動器架構類別(class driver architecture),亚提供在其系統遭遇相容性問題或不需要高 P白曰甙性忐之使用者第三方驅動器(third_par矽drivers)之 逛擇。例如,其可以於Wind〇ws VistaTM作業系統上使用 標準的Microsoft音訊驅動器,而讓音訊晶片製造商不需 要針對其音訊晶片供應任何驅動器。其優點在於,只要音 訊晶片相容於Windows®,則其可& Micr_ft之驅動器所 支杈。不㉟’基於此創舉,音訊晶片製造商對驅動器將不 再有控制權,因此無法於其生產之音訊晶片上加入專用之 功能。例如,在㈤如公司之音訊卡產品中’編碼器/解 碼器之數位至類比轉換器(digital_t〇_anal〇g⑽谱如;以 下簡稱DAC)和類比至數位轉換器(麵 conveners;以下簡稱ADC)係經由I2C《Gp〇連接璋控制, 以將DACs/ADCs設定成適合於特定功能之相對狀態。例 如,以使用.I2C為例,當電源啟動,主機端傳送Μ指令 之資料流至W以使其進人電源啟動狀態。其後, 當主機端起始聲頻流之時,另一,且I2C指令被傳送以解除 連接至編碼H/解碼器之個料訊裝置輪㈣之靜音狀能。 同樣地,當主機端欲使取樣率改變,亦需要特定之Μ指 Ί等指令係編碼H /解碼器晶片礙商所特有,奶⑽純 標準驅動器並不支援這些廠商獨有之特殊^八 21 200815988 - 本發明之一第二實施例旨在處理上述缺點,其顯示於 第八圖(亦參見第七圖虛線框内之文字),除了額外加入一 編碼器/解碼器控制器500和一記憶體儲存器5 1 0之外,其 餘架構類似於第四圖之組態,而在此實施例之中,該記憶
Only Memory ;電子可抹除式唯讀記憶體)5 10。 EEPROM 510提供指令儲存之功能,其内儲存有用於 DAC/ADC之廠商特有I2C指令。由於模擬器邏輯407之 # 指令傳入控制器500,控制器500可以監測需要廠商特有 指令之”事件”或動作。舉例而言,啟動電源係當自模擬器 邏輯407(意即自產生器407c)接收到”電源啟動”指令時之 對應事件,此時控制器500執行以下步驟: a. 辨認該事件 b. 自EEPROM 510提取對應於該事件之廠商特有I2C 指令;以及 c·傳送該I2C指令至相對之編碼器/解碼器以依據指 ® 令上之I2C位址設定DAC/ADC。 控制器500配合獨立之EEPROM 510(意即,獨立於控 制器500之外)以決定何時需要廠商特有I2C指令並使得此 等指令可資利用,此機制創造了一種相當具有彈性之架 構,因為其相容於UAA而仍然允許廠商特有指令之支援。 此架構亦不受限於編碼器/解碼器(或DACs/ADCs)之特定類 型/型號,因為EEPROM内容之設定可以於音效卡(或主機 板)組裝時執行,之後才固定機殼,而非於HDA控制器晶 22 200815988 片生產時執行。顯然只要對應之廠商特有I2C指令係設定 於EEPROJV[之中’編碼器/解碼器(及其相對之dac/adc) 即可以在未使用廠商特有之音訊驅動器下設定其組態, UAA相容之音訊架構並未提供此等機制。當然,只要其符 合Microsoft之驅動器規格,廠商特有之音訊驅動器即可 以使用。然而,具有如上所述之架構排除了發展此等驅動 器之相關成本。此外,此架構亦調整成配合標準之Micr〇s〇ft 驅動器運作。 上述之架構顯然可以擴充至其他介面或連接方式,諸 如通用式輸出(General Purpose 0utput ; Gp〇)介面、序列 式周邊介面(Serial Peripheral Interface ; SPI)或 MIDI。 EEPROM 510之使用亦擴充了音訊架構之功能,其構 成本發明之第三實施例。詳細而言,產品發展者經常視產 品之需求而提供具有不同功能之不同音訊晶片(編碼器/解 碼器)(例如,改變編碼器/解碼器可以支援之輸入/輸出裝置 數目、改變每一輸入/輸出裝置之通道數目、對每一通道連 接端使用不同之色彩編碼以及定義取樣率)。如同第一實施 幻之浼明,模擬益’邏輯407最好和HDA控制器405置於 同一矽晶片中,此意味模擬器邏輯4〇7所模擬的編碼器/解 碼器之組態係於改良之HDA控制器IC生產時設定。即使 拉擬器邏輯407係以獨立元件之形式生產,此亦是一個問 題,因其僅對所選擇之編碼器/解碼器限制其改良之 控制器/模擬器邏輯之功能性。 為了解決此問題,編碼器/解碼器中諸如重要參數和” 23 200815988 - Verbs”之預設值等組態係儲存於EEPROM 510之内。例 如,HDA編碼器/解碼器架構使用”工具集”定義不同之功能 群組,諸如I/O接腳工具集或是0八€工具集等等。若模擬 器邏輯407於生產期間被預先設定以模擬特定之工具集, 則將需要不同之模擬器邏輯407以支援不同的編碼器/解碼 器組態。然而,本發明提出工具集參數應儲存於模擬器邏 輯407可存取之EEPROM 510。於電源啟動之重置期間 (power-on-reset),儲存於EEPROM 5 10内之組態被下載並 # 存入模擬器邏輯407之内部記憶體中。當需要回應之時(例 如,如說明第七圖提及之傳送路徑,自主機端接收到指令), 模擬器邏輯407之工具集及回應產生器407c藉由自内部記 憶體取得並轉送相對之組態參數而發出回應。 第九a圖係一簡化之架構配置,其需要半導體晶片403 支援二組獨立之ADCs,ADC1和ADC2,每一組均包含其 自身之輸入/輸出502、504。另一方面,第九b圖係另一 架構之簡化配置,其需要半導體晶片403支援單一 ADC, _ 其具有二組輸入/輸出506、508。正常情況下,此將需要 二不同之半導體403,其分別具有模擬器邏輯· 407以模擬 每一種組態。然而,第三實施例提出半導體晶片403欲支 援之ADCs之特定組態係儲存於EEPROM 510之中,因此, 半導體晶片403可以用一般之方式生產’而無須考慮編碼 器/解碼器之組態。 取決於產品架構,EEPROM被設定有該架構之特定組 態,而使得模擬器邏輯407需要模擬對於HDA控制器405 24 200815988 之回應時,可以取得該組態。第九c圖和第九d圖顯示HD A I/O接腳工具集如何於半導體晶片403中依據取自於 EEPROM之組態被重新架構以支援實際之adc組態。模 擬之接腳於圖中使用相同之參照編號加上一,,prime"符號 (即編號右上方那一撇)。 以此種方式,HDA編碼器/解碼器接腳工具集
疋成所需之組恶以應付為數龐大之產品需求。此亦降低了 開發成本,因為可以生產通用之HDA控制器2〇5和模擴 器邏輯407,而利用EEPR〇M51〇定義產品之類型/組態。 上述貫細例不應被視為對本發明範圍之限制。舉例市 口远輯407和HDA控制器405最好是作成單一積體| 路(或單一半導體晶片),因為在成本上更有效率。然而, 其並非一定得如此,因為本發明之構想中,邏輯4〇7是^ 以被製成獨立積體電路的’其可以㈣Ac連結連接到 、先之HDA控制益。第二實施例中之編碼器/解碼器控制突 5〇〇可以被整合入模擬器邏輯4〇7所在之同一石夕晶片之内, 或者做為獨立之組件,雖然後者較為討喜。 當然’本發明之構想並不排除將記憶體儲存器5 合入控制器500之内,徊廿尤杜& Ι2Γ扣八 ^ c並不特別建議’因為廠商特有之 加指令於生產HDA控 有之 架構之彈性。 破-疋,而其將限制本 【圖式簡單說明】 :-、二、三圖之配置已配合圖式說明如上 第一圖顯示一習知之HDA架構; 25 200815988 第二圖係第一圖之修改版本,其說明於HD A連結進 行資料傳輸之資料流和通道之概念;以及 第三圖顯示於第—圖HDA連結上之數據框傳送結構。 本發明前述特色和其他許多優點經由以下圖式之例示 將更明顯而易於理解,其中: "" 第四圖顯示依據本發明一實施例之HDA架構,其包 3修改之HDA控制器以及一模擬器邏輯; 。。弟五a圖顯示習知HDA配置中之DMa至編碼器/解碼 $之連接; 乐五b圖顯示於第四圖之本發明實施 編碼器/解碼器之連接; 中之胸A至 苐六圖係第四圖之修改後之職控制器之功能方塊 團; 第七圖係弟四圖之模擬器邏輯之功能方塊圖; 第 第八圖顯示另一 HDA架構,其構成本發明之第二和 實施例 【主要元件符號說明】 101 上游部分 103 下游部分 105 中央處理單元 107 主匯流排 109 記憶體控制器 111 系統記憶體 113 周邊組件互連介面 26 200815988
115 HDA控制器 117a, 117b HDA編碼器/解碼器 119 HDA連結 121, 121a,121b,121n DMA 引擎 123 轉換器 403 半導體晶片 405 HDA控制器 405a DMA引擎 405b 標準音訊介面 405c HDA控制器暫存器組 405d CORB緩衝器 405e RIRB緩衝器 407 Azalia編碼器/解碼器模擬邏輯 407a CORB介面 407b 指令辨識模組 407c 工具集及回應產生器 407d RIRB介面 409a,409b 編碼器/解碼器 500 編碼器/解碼器控制器 501' 508 接腳 50Γ-5081 模擬接腳 510 記憶體儲存器/EEPROM 27