摘 要:本文介紹了基于PCI總線的DSP嵌入式多媒體系統(tǒng)的結(jié)構(gòu),著重討論了系統(tǒng)中DSP系統(tǒng)板的硬件結(jié)構(gòu),并簡要地闡述了該系統(tǒng)的應(yīng)用前景。
關(guān)鍵詞:PCI總線 DSP 多媒體 嵌入式系統(tǒng)
1 引言
從1991年Intel公司首先提出PCI總線的概念,這種高性能的總線經(jīng)過十多年的發(fā)展,已經(jīng)成為一種非常成熟的總線結(jié)構(gòu),應(yīng)用于包括聲卡、網(wǎng)卡和顯卡等高速外圍設(shè)備。它以33MHz的時鐘頻率操作,在32bit數(shù)據(jù)總線下,以峰值傳輸速率132MB/s進行工作,1999年發(fā)布的PCI規(guī)范2.2版,支持66MHz主頻和64bit數(shù)據(jù)通路,峰值傳輸速率可達528MB/s,適用于語音、圖形、圖像的處理和其它各類高速外設(shè)對高速數(shù)據(jù)傳輸?shù)囊骩1][5]。
另一方面,DSP的發(fā)展也異常迅速。TI公司繼1982年推出其第一個定點DSP-TMS32010芯片系列產(chǎn)品以后,相繼推出了共六代定點DSP芯片系列[2],片上資源越來越豐富,處理能力提高了幾十倍,處理速度也從最初的5MIPS到現(xiàn)在的超過100MIPS,并廣泛地應(yīng)用于信號處理、通信、語音、圖像和軍事等各個領(lǐng)域。
對于嵌入式系統(tǒng)來說,其核心是具有數(shù)據(jù)處理和系統(tǒng)管理能力的嵌入式微處理器,這種微處理器要對實時多任務(wù)有很強的支持能力。因此充分發(fā)揮DSP器件在數(shù)據(jù)處理和速度方面的優(yōu)勢,組成嵌入式系統(tǒng),可以改善嵌入式系統(tǒng)的實時操作特性[4]。而以PCI總線作為系統(tǒng)的整體組織結(jié)構(gòu),可以解決數(shù)據(jù)傳輸中的瓶頸問題,提高數(shù)據(jù)實時處理能力。
2 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的結(jié)構(gòu)與PC機系統(tǒng)的結(jié)構(gòu)相似,如圖1所示,由一塊底板和多塊PCI插卡組成。它與PC機系統(tǒng)的不同之處在于它的處理器不是直接插于主板之上,而是以PCI插卡的系統(tǒng)板的形式出現(xiàn)。
系統(tǒng)中網(wǎng)卡選用10M/100M兼容的PCI網(wǎng)卡,多個嵌入式系統(tǒng)通過共享集線器和百兆交換機,組成百兆局域網(wǎng)。聲卡用于語音數(shù)據(jù)的采集,并播放從網(wǎng)絡(luò)上傳輸來的聲音數(shù)據(jù)。網(wǎng)絡(luò)上傳來的動態(tài)圖像壓縮數(shù)據(jù)經(jīng)過DSP系統(tǒng)板的解壓縮處理,通過PCI總線傳輸?shù)斤@卡,顯卡接顯示器,用于動態(tài)圖像顯示。
系統(tǒng)底板的作用不僅僅是作為系統(tǒng)的支撐托架,而且為各PCI設(shè)備提供33MHz的PCI同步時鐘。由于PCI總線是同步總線,在PCI總線上的所有操作都要與PCI時鐘信號同步,因此底板上 提供的33MHz的PCI時鐘信號要為所有的PCI總線交易包括總線仲裁提供時序。但晶振的驅(qū)動能力有限,需加時鐘驅(qū)動電路。
[align=center]
圖1 系統(tǒng)結(jié)構(gòu)圖[/align]
底板的另一個重要功能是提供PCI總線仲裁器,仲裁器響應(yīng)各多媒體設(shè)備提出的總線使用申請,并協(xié)調(diào)各設(shè)備在總線上的操作,而不至于產(chǎn)生總線沖突和和過長的總線延時,從而實現(xiàn)PCI總線傳輸?shù)母咚俣萚5]。PCI總線仲裁器可由一片CPLD實現(xiàn)。此外底板上還要提供一些控制信號的上拉電阻,用于防止控制總線在沒有設(shè)備驅(qū)動的時候產(chǎn)生過量電流。
3 DSP系統(tǒng)板硬件結(jié)構(gòu)
作為整個DSP嵌入式系統(tǒng)的核心處理單元的系統(tǒng)板,也是以PCI插卡的形式存在于系統(tǒng)之中。系統(tǒng)板通過PCI接口芯片掛接于PCI總線上,其功能是控制各多媒體設(shè)備之間數(shù)據(jù)傳輸和存儲。
其中,PCI接口芯片使用PCI9054,它具有的功能[6]:
● 支持PCI規(guī)范2.2版本;
● 具有主設(shè)備功能,支持局部總線處理器訪問PCI總線上其它設(shè)備;
● 局部總線模式可編程(M、C、J模式),局部總線時鐘頻率最高可達50MHz;局部總線與PCI總線之間的傳輸速率最高可達132MB/s;
● 具有6個零等待狀態(tài)的FIFO可用于突發(fā)傳輸;
● 雙路獨立的具有可編程FIFO的分散/聚集DMA通道;
● 具有可編程PCI中斷和局部總線中斷輸出。
PCI9054用于連接DSP與PCI總線,它工作在32位數(shù)據(jù)、32位地址的非數(shù)據(jù)地址復(fù)用的C模式下,控制著DSP與PCI總線上的其它設(shè)備之間數(shù)據(jù)傳輸?shù)姆绞?。這些傳輸方式有PCI起始方式、PCI目標方式和DMA方式。
PCI起始方式允許PCI9054執(zhí)行PCI總線上的存儲器操作周期、I/O操作周期和配置周期,允許局部總線的處理器訪問接口芯片內(nèi)部的寄存器,并通過接口芯片訪問總線上的其它設(shè)備。
PCI目標方式可以允許PCI總線上的其它主設(shè)備訪問PCI9054的局部總線。這種方式下,接口芯片是作為PCI總線的目標設(shè)備和局部總線的主設(shè)備。
PCI9054還有兩路DMA通道,通道1可以在命令模式、塊模式和分散聚集模式下工作,通道2可以在塊模式和分散聚集模式下工作,分散聚集DMA控制器允許以最少的軟件量完成PCI總線和局部總線之間多通道數(shù)據(jù)傳輸?shù)母咝Ч芾怼?
DSP可以選用TI公司的16位定點DSP TMS320VC5409,這種DSP芯片具有如下主要特點[8]:
● 最快可達到10ns定點單周期執(zhí)行時間(100MIPS);
● 高級多總線接口,具有3個獨立的16位數(shù)據(jù)存儲器總線和1個程序存儲器總線;
● 擴展地址模式下,可以達到8M*16bit的最大外部程序?qū)ぶ房臻g;
● 具有16k*16bit的片上ROM和32k*16bit的片上DARAM,二者都可以通過寄存器和芯片管腳配置為數(shù)據(jù)存儲器或程序存儲器;
● 片上有16位數(shù)據(jù)地址總線的增強型8位主機接口(HPI16);
● 6通道DMA控制器。
DSP系統(tǒng)板的硬件結(jié)構(gòu)如圖2所示:
[align=center]
圖2 DSP系統(tǒng)板結(jié)構(gòu)[/align]
PCI9054與DSP的16位主機接口(HPI16)相連接[7],DSP的16位主機接口能夠使主機(本系統(tǒng)中指PCI9054)通過DMA總線訪問全部DSP片上RAM,這樣PCI總線上的其它設(shè)備可以通過PCI目標方式訪問DSP內(nèi)部的RAM空間。PCI9054和DSP之間能夠傳輸非復(fù)用的16位地址和數(shù)據(jù),在數(shù)據(jù)傳輸過程中雙方都能產(chǎn)生中斷信號。
主機通過三個HPI寄存器訪問DSP芯片內(nèi)32k的DARAM,當主機要讀取DSP某地址DARAM的數(shù)據(jù)時,向HPI地址寄存器(HPIA)寫入此地址,然后讀出HPI數(shù)據(jù)寄存器(HPID)的內(nèi)容即可。主機寫DSP片上空間時,也先寫地址于HPIA中,再將數(shù)據(jù)寫入HPID即可完成。HPIC為HPI控制寄存器,用于存儲HPI的控制位和狀態(tài)位[3][8]。
圖2中串行E2PROM用于初始化PCI9054內(nèi)部的配置寄存器,系統(tǒng)上電之后,PCI9054讀取E2PROM,將相應(yīng)的數(shù)據(jù)寫進配置寄存器,完成初始化。
高速SRAM用于DSP脫機運行時作為高速程序存儲器,這樣才能發(fā)揮出DSP高速的優(yōu)勢,因為如果DSP的程存速度較慢,導(dǎo)致DSP在取指令時需要加等待狀態(tài),限制了DSP指令執(zhí)行的速度。FLASH程存也用于存儲DSP的程序,它與高速SRAM的作用不同之處在于FLASH是在DSP程序運行之前暫存程序代碼的,因為本系統(tǒng)所選的DSP的程序存儲器只有內(nèi)部掩膜ROM,雖然內(nèi)部RAM可以做程序存儲器,但也只有32k字,因此需要用DSP內(nèi)掩膜ROM中帶的引導(dǎo)程序(BOOTLOADER)將用戶引導(dǎo)程序通過DSP通用串口轉(zhuǎn)移到DSP內(nèi)部RAM中,而用戶引導(dǎo)程序的作用就是將存儲在FLASH中的程序代碼轉(zhuǎn)移到高速SRAM中,然后開始執(zhí)行。
圖中CPLD的作用一方面是作為PCI接口芯片的局部總線和DSP的主機接口之間的譯碼電路,實際上也就是作為PCI局部總線的仲裁器,它對PCI接口芯片和DSP提出的占用局部總線的請求進行仲裁,協(xié)調(diào)它們之間的邏輯關(guān)系,使局部總線上的操作順利進行。另一方面CPLD還作為DSP和FLASH程存之間的譯碼電路,由于FLASH的訪問速度比較慢,因此需要DSP加上適量的等待狀態(tài)才可以從FLASH中順利讀取程序代碼到SRAM中。
4 系統(tǒng)應(yīng)用前景
這種基于DSP和PCI總線的多媒體嵌入式系統(tǒng)組成的百兆局域網(wǎng),作為基本的高性能實時通信網(wǎng)絡(luò)平臺,其帶寬完全滿足動態(tài)圖像和語音壓縮數(shù)據(jù)的傳輸,可用于多媒體全數(shù)字化語言學(xué)習(xí)系統(tǒng),由于這種學(xué)習(xí)系統(tǒng)還不多見,而且基于DSP和PCI總線并帶有視頻功能的產(chǎn)品尚未出現(xiàn),因此,這種學(xué)習(xí)系統(tǒng)具有非常好的市場前景。
此外,這種多媒體嵌入式系統(tǒng)還有更廣泛的應(yīng)用領(lǐng)域,將在視頻會議系統(tǒng)、視頻點播系統(tǒng)、高速分布式數(shù)據(jù)采集系統(tǒng),以及包括軍事信息等系統(tǒng)在內(nèi)的眾多領(lǐng)域直接發(fā)揮作用。
參考文獻
[1] Tom Shanley,Don Anderson.PCI System Architecture(Fouth Edition).Publishing House of Electronics Industry.July 2000
[2] PCI 9054 Data Book v2.1.PLX Technology Inc.January 2000
[3] Texas Instruments TMS320VC5409/21 DSP to PCI Bus Application Note. PLX Technology Inc.June 2000
[4] TMS320VC5409 Data Book.Texas Instruments Incorporated.2000
[5] 李貴山,戚德虎.PCI局部總線開發(fā)者指南.西安:西安電子科技大學(xué)出版社,1997
[6] 戴明楨,周建江.TMS320C54x DSP結(jié)構(gòu)、原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,2001
[7] 黃迅.基于PCI總線的DSP數(shù)據(jù)運算平臺設(shè)計。電子產(chǎn)品世界 2001年第5期A版
[8] 李哲英,駱麗,劉元盛.DSP器件為核心的嵌入式系統(tǒng)技術(shù)。電子產(chǎn)品世界 2001年第5期A版