基于CPLD的DSP與聲卡的接口技術
1引言
本文引用地址:http://www.j9360.com/article/150744.htm使用復雜可編程邏輯器件(CPLD)可提高系統集成度、降低噪聲、增強系統可靠性并降低成本,同時它不僅具有電擦除特性,而且出現了邊緣掃描及在線編程等高級特性,因而可用于狀態機、同步、譯碼、解碼、計數、總線接口等很多方面,在信號處理領域的應用也非常活躍。MAX7000系列是ALTERA公司采用先進的0.8μm CMOS EEPROM技術制造的高性能、高密度的CPLD[1]。MAX7000的結構可完全模仿TFL,并可將SSI,MSI,LSI和傳統PLD的邏輯函數高密度地集成。EPM7128S是MAX7000系列的高密度器件,它有128個邏輯宏單元和最大100個輸入,具有在系統編程(ISP)特性,非常適合輸入、輸出端要求較多的邏輯復雜的控制密集型系統。將EPM7128S用到DSP與ISA總線聲卡的接口電路中,不僅使整個系統體積顯著減小,且硬件故障率明顯降低,調試工作也變得很容易。DSP與ISA總線聲卡的接口原理聲卡的工作原理
圖1示出了聲卡的基本工作原理:主機通過總線將數字化的聲音信號以PCM方式送到數模轉換器(D/A),將數字信號變成模擬的音頻信號;同時又可以通過模數轉換器(A/D)將傳聲器或CD的輸入信號轉換成數字信號,送到計算機進行各種處理。實際具體聲卡的硬件結構請參閱有關資料和手冊。

2.2 WSS兼容聲卡和ISA總線硬件接口
WSS是Microsoft公司為統一聲卡的標準、提供方便的應用而提出的Windows環境下多媒體擴展定義的音頻子系統標準,它包括硬件平臺和軟件接口。該類聲卡的硬件結構主要包括聲音處理芯片/組、功率放大器、總線連接端口、輸入輸出端口、MIDI及游戲桿接口、CD音頻連接器等m。根據實際需要,只需了解聲卡與ISA總線的接口信號及時序要求。要實現DSP對聲卡的直接操作,DSP系統必須提供上述ISA總線信號。
DSP一般可提供數據信號線、地址信號線、IO讀寫信號線和READY信號線,同時還有多個中斷輸入引腳,但并不直接具備DMA功能引腳,這給DSP與聲卡之間的接口帶來了不便,這也正是筆者所要解決的問題。 2.3 TMS320C2XX使用HOLD操作的DMA
TMS320C2XX[~實現DMA功能的關鍵是,該類芯片提供了兩個信號引腳:HOLD/INTl和HOLDA,這兩個信號控制的HOLD操作過程為:
(1)HOLD,外部設備可以把該引腳驅動到低電平從而請求對外部總線的控制。如果HOLD/INTl中斷線被允許,那么這將觸發中斷。
(2)HOLDA,在響應HOLD中斷時,軟件邏輯可以使處理器發出HOLDA應答信號,表示它將放棄對其外部總線的控制。根據百Z圃5五,外部地址信號(A15~A0)、數據信號(D15~D0)以及存儲器控制信號(P5,DS,BR,STRB,R/W,RD,WE)被置為高阻狀態。
從(1)、(2)可以看出C2XX的HOLD操作允許對外部程序、數據以及I/O空間進行直接存儲器訪問,但該功能是在INTl中斷程序中實現的,因而中斷線INTl對下降沿和上升沿兩者都應敏感。當C2XX檢測到下降沿時,它完成正在執行的當前指令,然后迫使程序控制轉到中斷服務子程序,此子程序執行IDLE(空閑)指令。根據IDLE,HOLDA變為有效而外部總線被置為高阻狀態。只有在檢測到HOLD/INTl引腳上的上升沿之后,CPU才退出IDLE狀態,HOLDA變為無效,并使外部總線返回到正常狀態。
評論