新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PCI總線通用DSP信號處理系統(tǒng)的設(shè)計

基于PCI總線通用DSP信號處理系統(tǒng)的設(shè)計

作者: 時間:2012-03-09 來源:網(wǎng)絡(luò) 收藏

由于時鐘高達33MHz,信號線應(yīng)按微波傳輸線對待,再加上接口邏輯本身的復(fù)雜性,設(shè)計難度很大。實現(xiàn)接口的辦法:(1)用可編程邏輯器件EPLD或FPGA和用EPLD或FPGA實現(xiàn)。PCI接口的優(yōu)點在于其靈活的可編程性。首先PCI接口可以依據(jù)插卡功能進行最優(yōu)化,而不必實現(xiàn)所有的PCI功能,這樣可以節(jié)約系統(tǒng)的邏輯資源;其次可以將PCI插卡上的其他用戶邏輯與PCI接口邏輯集成在一個芯片上,實現(xiàn)緊湊的系統(tǒng)設(shè)計;再者當(dāng)系統(tǒng)升級時,只需對可編程器件重新進行邏輯設(shè)計而無需更新PCB版圖。(2)用專用PCI接口芯片實現(xiàn)。專用PCI接口芯片可以實現(xiàn)完整的PCI主控模塊和目標模塊接口功能,將復(fù)雜的接口轉(zhuǎn)換為相對簡單的用戶接口。廠商對接口進行了嚴格的測試,用戶只要設(shè)計轉(zhuǎn)換后的總線接口即可。從某種意義上講,PCI接口完成的是PCI總線和插卡上的從屬處理器之間的消息傳遞。

由于以上原因,再考慮到系統(tǒng)開發(fā)的成本和周期,用專用接口芯片來實現(xiàn)PCI總線的接口較理想。接口芯片選用的是TI公司的PCI2040。PCI2040 是專門用來和54X或6X橋接的芯片,可以實現(xiàn)與TMS320VC5402的無縫接口 ;可以對端口進行訪問讀寫。PCI2040提供了一個由PCI總線至插卡總線的直通通路(pass-thru)。PCI2040通過這些數(shù)據(jù)通路將復(fù)雜的PCI接口轉(zhuǎn)換為相對簡單的插卡總線接口。在本系統(tǒng)中,中的資源映射到PC機的內(nèi)存D9008000~D9008FFF和D9000000~ D9007FFF,中斷請求為11。

PCI2040通過HPI接口與通信,通信流程如下:PCI總線向PCI2040讀寫數(shù)據(jù),PCI2040會根據(jù)這些命令在HPI口上發(fā)起相應(yīng)的要求,這個通信過程可以通過編程首先初始化HPI控制寄存器HPIC以及主機地址寄存器HPIA,然后再從主機數(shù)據(jù)寄存器HPID中讀/寫數(shù)據(jù)來完成。具體的接口電路如圖4所示:一塊PCI2040最多可以掛接4片 ,以用于多DSP系統(tǒng)。

3.2 擴展空間

來講,DSP芯片所帶的資源常常不能滿足要求。這包括兩個方面,一是程序空間,二是數(shù)據(jù)空間。對程序空間,可以選擇不同的自舉方式,充分利用PC機的資源。對數(shù)據(jù)空間有下面幾種解決方法:(1)選擇資源多的芯片,但這會引起成本的上升;(2)改進算法,邊讀取數(shù)據(jù)邊處理;(3)用一個鎖存器保存高位地址,自己擴展數(shù)據(jù)空間。這 里采用的方法是在用算法進行邊讀數(shù)據(jù)邊處理的同時,用SRAM對數(shù)據(jù)空間進行了擴展??紤]到時序關(guān)系,以及TMS320VC5402只能與異步的存儲器連接等因素。選用了TPS73HD318。它是 3.3V,1M×16大小的靜態(tài)RAM,高低位字節(jié)可選,其讀寫速度達到12ns,能夠與DSP的讀寫速度相匹配,無須另加接口時序。對于等待時間的產(chǎn)生,可以用軟件的方法,對等待狀態(tài)寄存器(SWWSR)進行設(shè)置。而產(chǎn)生的時延在調(diào)試時可以對DSP的時延寄存器進行設(shè)置, 以達到最大速度。硬件接口如圖5所示。

4 DSP系統(tǒng)的自舉

所謂自舉(Bootload),就是在上電時從外部加載并執(zhí)行用戶的程序代碼。加載的途徑有:(1)從一個外部的EPROM或FLASH加載;(2)從主機通過HPI總線、并行I/O口、任何一個串行口、用戶定義的地址熱自舉等方式加載。因為信號處理的程序一般都比較大,為了保證這個的通用性和可移植性,需把程序保存在主機中,用HPI總線自舉。HPI是一個8位的并行口,PC機和'5402通過共享的片內(nèi)存儲器交換信息。選用HPI自舉方式,需要把HINT和INT2引腳連在一起。復(fù)位時,Bootload使HINT置位,從而使 INT2置位。BootloaD讀出中斷標志寄存器(IFR)的bit2位后,即能從HPI口進行自舉。與別的54X系列一個很重要的不同是:5402要檢查數(shù)據(jù)存儲器的OX7FH位以決定程序的入口地址,用戶程序也要在復(fù)位完成后才能加載到HPI的RAM中。

5 驅(qū)動程序

因為PCI2040擴展了配置空間,所以,要通過 HPI口實現(xiàn)與DSP的通信,需要驅(qū)動程序。如果直接使用DDK來編寫PCI設(shè)備的驅(qū)動程序,需要大量的Windows底層的知識,難度比較大。因此可以使用別的驅(qū)動程序的編寫工具,如Vtools和 WinDrive。我們選用了WinDrive 。Jungo公司的WinDrive與其他驅(qū)動程序開發(fā)工具的最大不同是它可以在編程者不太了解Windows內(nèi)核的情況下編寫驅(qū)動程序。這樣,可以把精力主要放在功能的實行上,同時用WinDrive寫成的驅(qū)動程序只需作很少的修改就能很方便地適用于各種操作系統(tǒng),如Win dows 9x, Window 2000,Windows NT以及Linux等。編寫過程如下:(1)用WinDrive 的Drive Wiz ard 工具查找所要編寫驅(qū)動程序的PCI卡,并用CREATING INF FILE 產(chǎn)生INF 文件,然后添加新硬件;(2)對PCI卡上的配置寄存器,I/O空間,內(nèi)存范圍,中斷,片內(nèi)寄存器進行設(shè)置;(3)生成源代碼,對它進行功能添加,主要是實現(xiàn)對DSP 片內(nèi)SRAM的訪問。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉