當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]通過(guò)分析Windows Sound System兼容聲卡和PC機(jī)ISA總線的接口原理,將其中的聲效芯片CS4235應(yīng)用到基于DSP的嵌入式系統(tǒng)中,極大地改善了系統(tǒng)的音質(zhì)。

摘要:通過(guò)分析Windows Sound System兼容聲卡和PC機(jī)ISA總線的接口原理,將其中的聲效芯片CS4235應(yīng)用到基于DSP嵌入式系統(tǒng)中,極大地改善了系統(tǒng)的音質(zhì);采用DMA控制器8237A實(shí)現(xiàn)DSP與CS4235的硬件接口,遵循PnP協(xié)議解決DSP對(duì)CS4235的資源配置以及寄存器讀寫等軟件接口問(wèn)題;最后給出CS4235在基于DSP的全數(shù)字化語(yǔ)言學(xué)習(xí)系統(tǒng)中的具體應(yīng)用。

    關(guān)鍵詞:CS4235 DSP DMA PnP

引 言

  聲卡技術(shù)是多媒體計(jì)算機(jī)技術(shù)的關(guān)鍵技術(shù)之一,它的出現(xiàn)使得計(jì)算機(jī)更富表達(dá)力。目前,由于采用的錄放音芯片結(jié)構(gòu)簡(jiǎn)單、采樣率過(guò)低而使得嵌入式系統(tǒng)中的音質(zhì)效果比較差,遠(yuǎn)遠(yuǎn)滿足不了人們對(duì)高檔生活、學(xué)習(xí)用嵌入式系統(tǒng)的要求。如果能將聲卡技術(shù)應(yīng)用到嵌入式系統(tǒng)中,由于聲卡的強(qiáng)大功能,必將使整個(gè)系統(tǒng)的聲音質(zhì)量上升一個(gè)新的臺(tái)階。通過(guò)分析,WSS(Windows Sound System)兼容聲卡和PC機(jī)ISA總線的接口原理,我們將其中的聲效芯片CS4235應(yīng)用到基于DSP的嵌入式系統(tǒng)中。不用現(xiàn)成的聲卡而利用其上的聲效芯片是因?yàn)檫@樣做設(shè)計(jì)起來(lái)更靈活方便,可根據(jù)系統(tǒng)需要增刪相應(yīng)的功能;不用MCS51系列而采用DSP,是因?yàn)閷?duì)聲卡操作需要太多的系統(tǒng)資源,MCS51并不具備此能力,否則硬件接口電路將相當(dāng)復(fù)雜。

1 CS4235原理與結(jié)構(gòu)

1.1 聲卡工作原理

  圖1示出了聲卡的基本工作原理:主機(jī)通過(guò)總線將數(shù)字化的聲音信號(hào)以PCM的方式送到數(shù)模轉(zhuǎn)換器(D/A),將數(shù)字信號(hào)變成模擬的音頻信號(hào);同時(shí)又可以通過(guò)模數(shù)轉(zhuǎn)換器(A/D)將麥克風(fēng)或CD的輸入信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),送到計(jì)算機(jī)進(jìn)行各種處理。

    1.2 CS4235功能結(jié)構(gòu)

  WSS是Microsoft公司為統(tǒng)一聲卡的標(biāo)準(zhǔn),最終為應(yīng)用提供方便而提出的Windows 環(huán)境下多媒體擴(kuò)展定義的一個(gè)音頻子系統(tǒng)標(biāo)準(zhǔn),包括硬件平臺(tái)和軟件接口[1]。CS4235就是一種適應(yīng)于WSS并且提供了ISA總線接口的聲卡核心芯片,除了聲音的采集和播放外,其它控制全部依賴于主機(jī);它占用較多的主機(jī)時(shí)間,但成本比較低。CS4235的功能框圖如圖2所示。從圖2中可以看出,CS4235是一個(gè)完整的音頻子系統(tǒng)集成電路,提供了16位立體聲ADC及DAC、片內(nèi)可重構(gòu)數(shù)字濾波器、可編程增益值及衰減值的模擬和數(shù)字混合器、可選串行接口、具有同時(shí)錄音和播放能力的全雙工通道。CS4235的文檔說(shuō)明見(jiàn)參考文獻(xiàn)[2]。

  限于篇幅,這里不介紹CS4235的模擬硬件部分,而主要研究CS4235與DSP的數(shù)字硬件接口問(wèn)題。由于TMS320F206(簡(jiǎn)稱F206)是一種低價(jià)格、高性能的16位定點(diǎn)運(yùn)算數(shù)字信號(hào)處理器(DSP),性價(jià)比極高,目前已成為高檔單片機(jī)的理想替代品,在通信、語(yǔ)音處理、軍事、儀器儀表、圖像處理等領(lǐng)域得到了廣泛的應(yīng)用[3],因而系統(tǒng)中選用F206作為DSP。CS4235提供的8位并行接口與ISA總線兼容,是否也與DSP的外部擴(kuò)展總線兼容呢?表1中列出了CS4235和ISA總線接口的信號(hào)引腳及簡(jiǎn)單描述,相應(yīng)地也列出了F206的對(duì)應(yīng)引腳。從表1可以看出,要實(shí)現(xiàn)DSP對(duì)CS4235的直接操作,DSP系統(tǒng)必須提供上述ISA總線信號(hào)。DSP芯片一般可提供數(shù)據(jù)信號(hào)線、地址信號(hào)線、I/O讀寫信號(hào)線和READY信號(hào)線,同時(shí)還擁有多個(gè)中斷輸入引腳;但并不直接具備DMA功能引腳,這給DSP與CS4235之間的接口帶來(lái)了不便,也正是本文所要解決的主要問(wèn)題。

表1 CS4235和ISA總線接口的信號(hào)引腳

信號(hào)引腳 簡(jiǎn)單描述 DSP(F206)對(duì)應(yīng)引腳
SD<7:0> 雙向系統(tǒng)數(shù)據(jù)總線 D<7:0>
SA<11:0> 系統(tǒng)地址總線 A<11:0>
IOR I/O讀命令 由IS和RD譯碼得到IQW=IS+WR
IOW I/O寫命令 無(wú)
AEN 地址使能信號(hào) READY
IOCHRDY I/O通道準(zhǔn)備好 INT2(實(shí)際應(yīng)用中,只需選擇1根中斷線與DSP相連)
IRQ<A:G> 中斷申請(qǐng)信號(hào):IRQA=IRQ5,IRQB=IRQ7 IRQC=IRQ9,IRQC=IRQ11,IRQD=IRQ11
IRQE=IRQ12,IRQF=IRQ15,IRQG=IRQ10
無(wú)
DRQ<A:C> DMA申請(qǐng)信號(hào):DRQA=DRQ0
DRQB=DRQ1 DRQC=DRQ3
無(wú)
DACK<A:C> DMA應(yīng)答信號(hào):DACKA=DACK0 DACK1=DAC中,DACKC=DACK3 RS
RESET 聲卡復(fù)位信號(hào)  

2 DSP與CS4235的硬件接口

2.1 F206使用HOLD操作的直接存儲(chǔ)器訪問(wèn)

  F206實(shí)現(xiàn)DMA功能的關(guān)鍵是該類芯片提供了2個(gè)信號(hào)引腳:HOLD/INT1和,這2個(gè)信號(hào)控制的HOLD操作過(guò)程如下。

① 。外部設(shè)備可以把該引腳驅(qū)動(dòng)到低電平從而請(qǐng)求對(duì)外部總線的控制。如果HOLD/INT1中斷線被允許,那么這將觸發(fā)中斷。

② ,在響應(yīng)中斷時(shí),軟件邏輯可以使處理器發(fā)出應(yīng)答信號(hào),表示它將放棄對(duì)其外部總線的控制。根據(jù),外部地址信號(hào)(A15~A0)、數(shù)據(jù)信號(hào)(D15~D0)以及存儲(chǔ)器控制信號(hào)()被置為高阻狀態(tài)。

  從①、②可以看出,F(xiàn)206的HOLD操作允許對(duì)外部程序、數(shù)據(jù)以及I/O空間進(jìn)行直接存儲(chǔ)器訪問(wèn),但該功能是在INT1中斷程序中實(shí)現(xiàn)的,因而中斷線INT1對(duì)下降沿和上升沿二者都應(yīng)敏感。當(dāng)F206檢測(cè)到下降沿時(shí),它完成正在執(zhí)行的當(dāng)前指令,然后迫使程序控制轉(zhuǎn)到中斷服務(wù)子程序,此子程序執(zhí)行IDLE(空閑)指令。根據(jù)IDLE,變?yōu)橛行Ф獠靠偩€被置為高阻狀態(tài)。只有在檢測(cè)到HOLD/INT1引腳上的上升沿之后,CPU才退出IDLE狀態(tài),變?yōu)闊o(wú)效,并使外部總線返回到正常狀態(tài)。

  從以上分析可以看出,F(xiàn)206的DMA操作與PC機(jī)中的DMA操作的區(qū)別。在PC機(jī)中,CPU收到DMA請(qǐng)求信號(hào)后,迫使CPU在現(xiàn)行的總線周期結(jié)束后,使其地址、數(shù)據(jù)和部分控制引腳處于三態(tài),從而讓出總線的控制權(quán),并給出1個(gè)DMA響應(yīng)信號(hào);在DMA操作完成且DMA請(qǐng)求信號(hào)無(wú)效以后,CPU再恢復(fù)對(duì)系統(tǒng)總線的控制。而在C2XX中,DMA申請(qǐng)信號(hào)將引起F206中斷,在中斷程序中發(fā)出軟件指令使F206各信號(hào)引腳處于三態(tài),同時(shí)也給出1個(gè)DMA響應(yīng)信號(hào);在DMA操作完成后,但F206檢測(cè)到DMA請(qǐng)求信號(hào)無(wú)效以后,雖然總線返回到正常狀態(tài),但但F206仍處在中斷程序中。從以上分析可知,盡管中斷需要保護(hù)斷點(diǎn)和現(xiàn)場(chǎng),使得F206的DMA的處理速度與PC機(jī)相比要低的多,畢竟F206也實(shí)現(xiàn)了DMA操作,從而可借助DMA控制器8237實(shí)現(xiàn)對(duì)聲卡的DMA操作訪問(wèn)。

2.2 DSP與DMA控制器8237的接口電路

  8237是一個(gè)高性能的可編程DMA控制器芯片,可以方便地與CPU相連,實(shí)現(xiàn)外部設(shè)備與存儲(chǔ)器之間的直接數(shù)據(jù)交換。其內(nèi)部結(jié)構(gòu)和引腳信號(hào)可參閱文獻(xiàn)[4]。該控制器通過(guò)編程可提供多種類型的控制特性,以優(yōu)化系統(tǒng)性能,增大數(shù)據(jù)吞吐量,最高數(shù)據(jù)傳輸速率可達(dá)1.6 MB/s。圖3給出了F206與8237接口的主電路,其中8237送給DSP的要求控制總線的DMA請(qǐng)求信號(hào)HRQ,經(jīng)GAL16V8譯碼后送到DSP的HOLD/INT1引腳;同樣,DSP的DMA應(yīng)答信號(hào)也經(jīng)GAL16V8譯碼送回8237的HLDA引腳。地址鎖存器74LS573的作用是鎖存8237在DMA服務(wù)周期通過(guò)數(shù)據(jù)線D0~7輸出的高8位地址A8~15。由于DSP不直接提供、、和信號(hào),故這些信號(hào)只能由GAL16V8譯碼得到。

  圖3所示電路提供了4個(gè)通道的外設(shè)請(qǐng)求DMA服務(wù)信號(hào),并且8237直接擁有AEN引腳,滿足了表1中的所有要求,從而就能正確實(shí)現(xiàn)DSP與聲卡的接口。實(shí)際工作中,我們根據(jù)聲卡在PC機(jī)中的使用情況設(shè)置8237的DREQ1和DACK1為聲卡的播放通道,8237的DREQ3和DACK3為聲卡的采集通道,聲卡的中斷申請(qǐng)信號(hào)IRQ7經(jīng)GAL16V8反向后與DSP的引腳連接。

2.3 系統(tǒng)工作原理及時(shí)序

  圖3所示DSP系統(tǒng)對(duì)聲卡的DMA操作過(guò)程可用圖4來(lái)描述,工作時(shí)序如圖5所示?,F(xiàn)結(jié)合圖4、圖5將系統(tǒng)工作原理及操作順序說(shuō)明如下:

① CS4235向DMA控制器8237發(fā)出DMA請(qǐng)求信號(hào)DREQ;

② 8237向DSP發(fā)出總線請(qǐng)求信號(hào)HRQ;

③ DSP的引腳檢測(cè)到下跳沿后,進(jìn)入INT1中斷,保護(hù)完斷點(diǎn)和現(xiàn)場(chǎng)后,發(fā)IDLE指令,DSP的引腳電平變低,響應(yīng)外部DMA請(qǐng)求;

④ 8237接管總線后,先向CS4235發(fā)DMA請(qǐng)求的響應(yīng)信號(hào)DACK,表示允許CS4235進(jìn)行DMA傳送,然后按事先設(shè)置的初始地址和需傳送的字節(jié)數(shù),依次發(fā)送地址和讀寫命令,使得在RAM CS4235之間直接交換數(shù)據(jù),直至全部數(shù)據(jù)交換完畢;

⑤DMA傳送結(jié)束后,自動(dòng)撤消向CPU的總線請(qǐng)求信號(hào)HRQ,此時(shí)DSP檢測(cè)到引腳的上升沿,DSP返回到IDLE指令的下一條指令,DSP獲得總線的控制權(quán),繼續(xù)在INT1中執(zhí)行程序。

3 DSP與CS4235的軟件接口

  CS4235的ISA總線接口是即插即用(PnP)的,必須通過(guò)編程激活聲卡后,才能直接存取聲卡寄存器,對(duì)聲卡進(jìn)行配置,以完成不同的工作。實(shí)際上,針對(duì)非PnP的老ISA卡設(shè)計(jì)的ISA插槽同樣適用于PnP卡,僅需在軟件上做出相應(yīng)的改動(dòng)而已。DSP對(duì)PnP卡的識(shí)別過(guò)程與微機(jī)對(duì)PnP卡的識(shí)別過(guò)程是一模一樣的,圖6給出了DSP對(duì)PnP卡的識(shí)別程序流程。從上述的PnP卡的識(shí)別與配置過(guò)程可見(jiàn),如果是在PC機(jī)環(huán)境中,那么這一過(guò)程可自動(dòng)完成;而在用戶所設(shè)計(jì)的系統(tǒng)中,這一過(guò)程就顯得有些煩瑣,且意義不是很大。能不能避開(kāi)PnP協(xié)議直接對(duì)每塊PnP卡進(jìn)行編程,就像對(duì)老的ISA卡那樣操作呢?實(shí)際上,大多數(shù)芯片確實(shí)提供了這種簡(jiǎn)潔、快速的方法,統(tǒng)稱為"某某公司關(guān)鍵字"接口方法。本文以CS4235為例介紹這種接口技術(shù)。下面所給出的5個(gè)步驟完成后,該聲卡就和老的ISA聲卡操作過(guò)程一樣了。唯一不足的是,如果系統(tǒng)中使用了2塊該類型的聲卡,則該方法失效。

① DSP送32字節(jié)"Crystal Key"到地址端口279H,該P(yáng)nP卡馬上進(jìn)入配置狀態(tài)。這32字節(jié)數(shù)據(jù)為:

96,35,9A,CD,E6,F(xiàn)3,79,BC,5E,AF,57,2B,15,8A,C5,E2;

F1,F(xiàn)8,7C,3E,9F,4F,27,13,09,84,42,A1,D0,68,34,1A。

② DSP送句柄號(hào)到279H。

③ DSP直接配置每個(gè)邏輯器件的配置寄存器,設(shè)置I/O端口基址、中斷號(hào)和DMA通道選擇。

④ DSP送79H到279H激活CS4235。

DSP禁止該P(yáng)nP卡參與將來(lái)的PnP循環(huán)。

  上述配置完成后,CS4235自動(dòng)退出配置狀態(tài),進(jìn)入正常工作,從而就可以根據(jù)具體的功能要求對(duì)CS4235的寄存器直接進(jìn)行編程了。

結(jié)束語(yǔ)

  在全數(shù)字化語(yǔ)言學(xué)習(xí)系統(tǒng)中,我們采用了聲效芯片CS4235來(lái)代替以前所用的語(yǔ)音錄放芯片MSM6588。盡管硬件電路設(shè)計(jì)和軟件操作復(fù)雜了許多,但語(yǔ)言學(xué)習(xí)系統(tǒng)的重要指標(biāo),如通頻帶、信噪比和失真度都達(dá)到了多媒體計(jì)算機(jī)的音質(zhì)標(biāo)準(zhǔn)。實(shí)踐表明,微機(jī)中的許多關(guān)鍵技術(shù)和優(yōu)秀的設(shè)計(jì)思想都可以移植到嵌入式系統(tǒng)中去,使嵌入式系統(tǒng)更加豐富多彩。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉