一種DSP與PCI總線(xiàn)的接口設計
1 引言
本文引用地址:http://dyxdggzs.com/article/150296.htm DSP+PCI數字信號處理方案可利用PC的強大功能實(shí)現對DSP的操作控制、數據分析和操作監視等。DSP+PCI方案能充分滿(mǎn)足數字圖像、語(yǔ)音處理、高速實(shí)時(shí)數據處理等領(lǐng)域的應用,為DSP系統的低成本實(shí)現提供了解決方案。

2 TS101S型DSP介紹
本系統采用美國Analog Device公司的
高性能TIGER SHARC 101S(簡(jiǎn)稱(chēng)TS101S)作為主處理器。TS101S處理器劫持32bit和64bit浮點(diǎn),以及8、16、32和64bit定點(diǎn)處理。它的靜態(tài)超量結構使其每周期能執行多達4條指令,進(jìn)行24個(gè)16bit定點(diǎn)運算和6個(gè)浮點(diǎn)運行。其內部有3條相互獨立的128bit寬數據總線(xiàn),每條連接3個(gè)2Mbit內部存儲塊中的一個(gè),提供4字節的數據、指令、I/O訪(fǎng)問(wèn)和14.4Gbyte/s的內部存儲帶寬。以300MHz時(shí)鐘運行時(shí),其內核指令周期為3.3ns。在發(fā)揮其單指令多數據特點(diǎn)后,TS101S每秒可以進(jìn)行了24億次40bitMAC運算或6億次80bitMAC運算。以300MHz時(shí)鐘運行時(shí),完成1024點(diǎn)復數FFT(基2)僅需32.78μs,1024點(diǎn)輸入50抽頭FIR需91.67μs。TS101S有強大的鏈路口傳輸功能,每個(gè)鏈路口傳輸速度達到250Mbyte/s??偟逆溌窋祿蔬_1Gbyte/s(4個(gè)鏈路口),超過(guò)了外部口的傳輸速率(800Mbyte/s)。
3 PCI介紹
PCI(Peripheral Component Interconnect)總線(xiàn)是一種不依附于某個(gè)具體處理器的高性能局部總線(xiàn),因此開(kāi)發(fā)PCI設備可獨立于處理器,具體由一個(gè)橋接電路(PCI橋)實(shí)現對這一層的管理,并實(shí)現上下之間的接口數據傳送??梢园裀CI橋描述為實(shí)現通用總線(xiàn)與PCI總線(xiàn)的地址映射、協(xié)議轉換、數據緩存等功能的邏輯接口。

3.1 PCI橋的實(shí)現
開(kāi)發(fā)者可以根據PCI總線(xiàn)規范所定義的電氣特性、時(shí)序要求來(lái)進(jìn)行接口設計。一種方式是使用可編程邏輯器件(FPGA/CPLD)根據實(shí)際需要的功能來(lái)設計,這種方式的成本低、靈活性高,但需要對PCI總線(xiàn)協(xié)議有充分的掌握,或者需要生產(chǎn)可編程邏輯器件的廠(chǎng)商提供PCI接口功能模塊。由于PCI總線(xiàn)的規范較復雜,一般用戶(hù)都會(huì )選擇專(zhuān)用的PCI接口電路,無(wú)需詳細理解底層的PCI總線(xiàn)協(xié)議,而只理解到應用層即可。因此,本文介紹的系統采用后一種方案,PCI接口電路采用現在市場(chǎng)上使用較普通的PLX公司的PCI9054。
3.2 PCI9054
PCI9054采用先進(jìn)的PLX數據流水線(xiàn)結構技術(shù),是32位、33MHz的PCI總線(xiàn)主I/O加速器,符合PCI本地總線(xiàn)規范2.2版,有M、C、J三種模式。針對不同的處理器及局總線(xiàn)特性可選,盡量減少中間邏輯;具有可選的串行E2PROM接口,本地總線(xiàn)時(shí)鐘可和PCI時(shí)鐘異步。PCI9054內部有6種可編程的FIFO,以實(shí)現零等待突發(fā)傳輸及本地總線(xiàn)和PCI總線(xiàn)之間的異步操作,支持主模式、從模式、DMA傳輸方式,功能強大,可應用于適配卡和嵌入式系統。
4 DSP+PCI應用實(shí)例
DSP+PCI數字信號處理系統的組成如圖1所示。模塊信號先輸入模/數轉換器,然后經(jīng)過(guò)由CPLD鎖存數據到DSP1,經(jīng)鏈路口到DSP2,數據處理完后再通過(guò)PCI9054把數據傳到PC。此外CPLD還作為PCI9054與TS101S的接口邏輯轉換。采用PCI9054與單個(gè)TS101S之間放置雙口RAM作為緩存的接口方式。DSP采用EPROM加載方案。
本系統的特點(diǎn)是以盡量簡(jiǎn)單的方式來(lái)實(shí)現系統功能,因此采用了DSP間鏈路的口互連方式,這樣一來(lái),每對鏈路口互連僅需10條信號線(xiàn),而采用總線(xiàn)互連方式時(shí)需超過(guò)100條信號線(xiàn),可大大簡(jiǎn)化PCB板的復雜度。二個(gè)DSP間保留2個(gè)鏈路通道,總數據速率可達500Mbyte/s。路口互連是ADSP系統的特有功能,也是ADSP處理器能以低成本組成多片高性能信號處理機的主要原因。
4.1 TS101S與PCI9054的接口
由于TS101S沒(méi)有專(zhuān)門(mén)的PCI接口,而PCI9054也僅在M模式下才能實(shí)現與MPC850或Power QUICC等Motrola電路的無(wú)縫連接,因此,T
S101S與PCI9054之間需要可編程邏輯器件進(jìn)行邏輯轉換。出于對研制周期的考慮,采用一種較為簡(jiǎn)便的通信方式:在DSP與PCI橋間插入一個(gè)雙口RAM,雙口RAM一端的地址數據線(xiàn)接ISI101S,另一端的地址數據線(xiàn)接PCI9054。通過(guò)雙口RAM轉換數據,并作為公共訪(fǎng)問(wèn)緩沖區。這樣,PCI橋與DSP之間的訪(fǎng)問(wèn)成為間接,可以大大削彈對PCI的時(shí)序要求,DSP與PCI之間只需少量的信號通過(guò)CPLD來(lái)實(shí)現邏輯轉換,而無(wú)需總線(xiàn)仲裁,這種方式的時(shí)序簡(jiǎn)單,控制信號較少,DSP與CPLD編程簡(jiǎn)單,應用更為方便。雙口RAM的型號為IDT70261,容量為16k×16bit。
PCI9054的工作方式為從模式,驅動(dòng)方為PC,數字信號處理機作為L(cháng)OCAL端的主機,中間由公用的雙口RAM進(jìn)行讀寫(xiě)操作。在時(shí)序上,只需幾個(gè)簡(jiǎn)單的控制信號進(jìn)行握手即可實(shí)現雙向數據傳輸。由PC主動(dòng)發(fā)出讀寫(xiě)命令,可根據需要實(shí)現單字節讀寫(xiě),在大多數系統中,這種方式已經(jīng)滿(mǎn)足要求。具體的接口電路如圖2所示。
PIC9054局部總線(xiàn)側的信號功能如下所述。
LHOLD:總線(xiàn)請求信號,由PCI9054驅動(dòng),高電平有效,有效時(shí)表明其正在使用本地總線(xiàn)。
LHOLDA:總線(xiàn)請求應答,由LOCAL端設備驅動(dòng),在LHOLD有效后一個(gè)周期有效,直至LHOLD無(wú)效后才無(wú)效,以向PCI9054表明LOCAL端未占用總線(xiàn)。
ADS:地址閾門(mén)信號,低電平有效,表明一個(gè)總線(xiàn)訪(fǎng)問(wèn)周期的開(kāi)始,第一個(gè)時(shí)鐘有效,持續一個(gè)LCLK,此后地址線(xiàn)有效。
USERo:用戶(hù)輸出信號,由PCI9054驅動(dòng),引入CPLD,作為DSP的外部中斷請求。
USERi:用戶(hù)輸入信號,由外部設備驅動(dòng),PCI9054可查詢(xún)到外部設備發(fā)出的信號。
LW/R:讀寫(xiě)信號,由PCI9054驅動(dòng)。
READY:從模式下為輸入信號,當一個(gè)訪(fǎng)問(wèn)周期結束時(shí),LOCAL端的設備要向PCI9054發(fā)出READY信號,表明完成本次訪(fǎng)問(wèn),可開(kāi)始下一輪訪(fǎng)問(wèn)。
4.2 系統工作方式
由于本系統采用RAM緩沖方式,因此PCI9054和DSP間只需握手信號即可。通過(guò)DSP的外部中斷IRQ和標志引腳FLAG,以及PCI9054的用戶(hù)輸入/輸出USERi/USERo相互配合實(shí)現握手,可實(shí)現基本的單字節讀寫(xiě),如果需要更復雜的功能,可以加上控制字來(lái)實(shí)現。地址映射是雙口RAM的數據寬度為16位,PCI9054地址的LA1-LA14分別接RAM的ADD0-ADD13,PCI映射空間的偏移地址為0-7FFEH,偶地址有效。LA15引入CPLD后可作為雙口RAM的片選信號。
建立通訊的過(guò)程是PCI9054發(fā)送LHOLD信號,CPLD返回LHOLDA信號;PCI9054發(fā)出ADS信號,表示一次讀寫(xiě)操作開(kāi)始,此時(shí)CPLD鎖存讀寫(xiě)信號LW/R,并轉換為RAM的R/W或OE信號;CPLD給PCI9054發(fā)送READY無(wú)效信號,使其保持等待狀態(tài)。
信號握手的實(shí)現過(guò)程是:
PCI9054向RAM寫(xiě)數據→PCI9054通過(guò)USER0發(fā)出握手請求到CPLD→CPLD向DSP的IRQ發(fā)出中斷信號→DSP響應中斷→DSP讀RAM數據。
評論