新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP與PC機的PCI總線高速數(shù)據(jù)傳輸

基于DSP與PC機的PCI總線高速數(shù)據(jù)傳輸

作者: 時間:2009-12-31 來源:網(wǎng)絡 收藏

是TI公司在TMS320C6711的基礎上推出的C6000系列新一代浮點DSP芯片,它是目前為止C6000系列DSP芯片中性能最高的一種。可在255MHz的時鐘頻率下實現(xiàn)1800MIPS/1350MFLOPS的定點和浮點運算,因而可極大地滿足通信、雷達、數(shù)字電視等高科技領域對信號處理實時性的要求。同時其主機口(HPI)可靈活地和PCI總線控制器相連接。而PC機則可通過PCI總線控制器直接訪問的存儲空間和外圍設備,從而實現(xiàn)PC機與TMS320C6713之間的高速數(shù)據(jù)傳輸。

在TMS320C6713 DSP與PC機實現(xiàn)高速數(shù)據(jù)傳輸?shù)姆桨钢?,可選用PLX公司的PCI9052作為兩者之間的;同時選用PLX公司的NM93CS46作為加載PCI9052配置信息的串行EEPROM;而用TI公司的SN74CBTD3384作為 PCI9052與TMS320C6713HPI之間的電平轉換芯片。

1 TMS320C6713的HPI簡介

1.1 TMS320C6713 HPI的信號

TMS320C6713的HPI是一個16位寬的并行端口。主機(上位機)掌管著該端口的主控權,可通過HPI直接訪問TMS320C6713的存儲空間和外圍設備。表1給出了TMS320C6713HPI信號的基本特征。下面對它們的具體工作方式進行說明:

HD[15:0]:可以用作數(shù)據(jù)和地址的共用總線,通過HD[15:0]傳送的數(shù)據(jù)包括控制寄存器的設置值、初始化的訪問地址以及要傳輸?shù)臄?shù)據(jù)。

HCNTL[1:0]:用于控制當前訪問的是HPI的哪一個寄存器,該信號同時還提供了一個對HPI數(shù)據(jù)寄存器(HPID)進行地址自增的訪問方式。在該方式下,主機會連續(xù)地訪問一個線性存儲區(qū)域,而無需反復向HPIA寫入需要的地址。表2給出了HCNTL[1:0]控制信號的功能。

HHWIL信號:用于表明并區(qū)分HD[15:0]上傳輸?shù)氖牵常参粩?shù)據(jù)中的高16位還是低16位。由于TMS320C6713芯片結構決定了它與主機間所有的數(shù)據(jù)交換都是32位,而HPI端口為16位,所以每次數(shù)據(jù)訪問都需要進行兩次存取,而由HPI自動將HD[15:0]上連續(xù)的兩個16位數(shù)據(jù)合成32位,當然,也可以用其進行反向分解。

HAS信號:用于復用地址數(shù)據(jù)總線的主機。它可使HCNTL、HHWIL和HR/W信號在一個存取周期中快速地實現(xiàn)狀態(tài)轉換。對于地址數(shù)據(jù)復用的總線來說,也可以為數(shù)據(jù)/地址的切換留出更多的時間。

HCS、HDS1和HDS2信號:這三種信號可在片內組合為一個低有效的HSTROBE信號,如圖1所示。其作用是,在讀取時,在HSTROBE信號的下降沿鎖存輸入的HPI控制信號,包括HHWIL、HR/W和HC-NTL[1:0];而在寫入時,其下降沿和讀取時作用相同,其上升沿則鎖存寫入的數(shù)據(jù)。

HRDY信號:用于表明HPI是否已準備好傳輸數(shù)據(jù),其作用是在接口時序上插入等待狀態(tài)。如果前一次HPI的訪問尚未完成,那么當前訪問的第一個半字的存取需要等待,此時,HPI會置HRDY信號為高。

表1 HPI接口信號描述

信 號 管 腳 號 管 腳 數(shù) 信 號 功 能
HD[15:1] 從低到高依次為147、152、155、154、156、159、161、164、165、166、167、168、172、173、174 16 數(shù)據(jù)/地址總線
HCNTL[1:0] 從低到高依次是146、144 2 HPI訪問類型控制
HHWIL 139 1 確認半字(16位)輸入
HAS 135 1 對復用地址數(shù)據(jù)總線的主機區(qū)分地址和數(shù)據(jù)
HR/W 143 1 讀/寫選擇
HCS 145 1 輸入數(shù)據(jù)選通
HDS1/HDS2 從低到高依次是152、151 2 輸入數(shù)據(jù)選通
HRDY 140 1 訪問HPI狀態(tài)準備好
HINT 139 1 向主機發(fā)出的中斷信號

表2 HCNTL[1:0]控制信號的功能

HCNTL1 HCNTL0 功 能
0 0 主機可以對HPI的控制寄存器HPIC進行讀寫
0 1主機可以對HPI地址寄存器HPIA的進行讀寫
1 0 主機可以對HPID的數(shù)據(jù)寄存器進行讀寫操作,此時HPIA采用以字為單位的地址自增方式
1 1 主機可以對HPID的數(shù)據(jù)寄存器進行讀寫操作,但此時HPIA不受影響

1.2 TMS320C6713 HPI的控制寄存器

在TMS320C6713 HPI中,可利用三個寄存器來完成主設備和CPU的通信,它們是HPI數(shù)據(jù)寄存器(HPID)、HPI地址寄存器(HPIA)和HPI控制寄存器(HPIC)。主機可對這三個寄存器進行讀寫,而CPU只能對HPIC進行訪問。HPID中存放的是主機從存儲空間中讀取的數(shù)據(jù),或者是主機向TMS320C6713的存儲空間中寫入的數(shù)據(jù)。HPIA中存放的是主機訪問TMS320C6713存儲空間的地址,其最低兩位固定為零。HPIC中存放的是TMS320C6713的控制信息,其高16位和低16位內容相同。

主機對HPI進行訪問的次序為:初始化HPIC、初始化HPIA、從HPID寄存器中讀取或向其寫入數(shù)據(jù)。在初始化HPIC時,HWOB位的設置是關鍵,它決定著高16位與低16位的傳輸次序。

2 PCI9052與TMS320C6713HPI的接口

PCI9052是PLX公司繼PCI9050之后推出的用于低成本適配器的總線目標接口芯片。它支持PCI2.1協(xié)議規(guī)范,在33MHz的總線時鐘頻率下,其峰值傳輸速度可達132MB/s,因而可大大改善數(shù)據(jù)傳輸中的瓶頸問題。同時它還具有方便靈活的開發(fā)特點,正是這些特點使其在PCI從模式接口卡的設計中得到了廣泛的應用。

表3給出了PCI9052與TMS320C6713HPI接口信號的基本特征。下面是對它們具體工作方式的一些說明:

LAD[31:0]:利用該信號可通過設置LASIBRD局部地址空間總線區(qū)域描述寄存器的總線寬度位來調整總線寬度,當LASIBRD[23:22]=00時,采用LAD[7:0]8位寬度,當LASIBRD[23:22]=01時,采用LAD[15:0](16位),當LASIBRD[23:22]=10時,采用LAD[31:0](32位)。

LBE[3:0]字節(jié)使能信號是在總線寬度的基礎上編碼的。對于32位總線,LBE[3:0]表示哪一個字節(jié)被選中:LBE0對應[7:0],LBE1對應[15:8],LBE2對應[23:16],LBE3對應[31:24];而對于16位總線,LBE0對應[7:0],LBE1對應地址的第1位,LBE2不用,LBE3對應[15:8];對于8位總線,LBE0對應地址的第0位,LBE1對應地址的第1位,LBE2和LBE3不用。

CS1和CS2分別帶有與之對應的片選基地址寄存器(CSIBASE)。CSIBASE0為片選使能位,其中CSIBASE[27:1]為片選空間位。從片選空間位的第1位向第27位掃描時,遇到第1個“1”即決定了片選空間的大小,其余位則為片選空間的基地址。

LINT1和LINT2可通過中斷控制/狀態(tài)寄存器INCSR的中斷使能位INCSR[6]進行使能,同時可設置其它相關信息。

表3 PCI9052與TMS320C6713的接口信號描述

信 號 管 腳 號 管腳數(shù) 信 號 功 能
LAD[31:0] 從低到高依次為91、90、89、88、87、86、85、84、83、82、79、78、77、76、75、74、73、72、71、70、69、62、61、60、59、58、57、56、55、54、53、52 32 數(shù)據(jù)總線
LW/R 127 1 為“1”時寫,為“0”時讀
LA[27:1] 從低到高依次是92、93、94、95、96、97、98、100、101、102、105、106、107、108、109、110、111、112、113、114、115、116、117、118、119、122 27 地址總線,傳輸28位線性地址的高26位
LBE[3:0] 從低到高依次是46、47、48、49 4 字節(jié)使能信號,表示當前總線傳輸中哪一個字節(jié)被選中
LRDY 128 1 在局部總線讀數(shù)據(jù)或可接受寫數(shù)據(jù)
ADS 123 1 表明可用地址和一次新的總線存取的起始
CS1、CS2 130、131 2 片選信號
RD 126 1 通用寫
WR 125 1 通用讀
LINT1,LINT2 137、136 2 局部中斷輸入

3 與 PC的高速數(shù)據(jù)傳輸

TMS320C6713HPI與PCI9052的具體連線如圖2所示。

實際上,在具體電路設計時,整個方案的實現(xiàn)除了需要TMS320C6713和PCI9052外,還需要有SN74CBTD3384和NM93CS46。由于TMS320C6713的I/O是在3.3V電壓下工作,而PCI9052在5V電壓下工作,所以TMS320C6713與PCI9052之間必須采用SN74CBTD3384進行電平轉換。SN74CBTD3384是TI公司生產(chǎn)的10位總線轉換器,它的輸入、輸出引腳一一對應,并分別排列在芯片的兩側封裝。圖2中共選用了三片SN74CBTD3384。NM93CS46是PLX公司生產(chǎn)的串行EEPROM存儲器,用于加載PCI9052配置信息。其中按一定順序存放著設備號(DID)、供應商代號(VID)、子設備號(SDID)、子供應商代號(SVID)、PCI總線與局部總線之間的地址空間映射關系、片選地址、控制位、狀態(tài)位及其它雜項配置等。上電時,PCI總線的RST信號有效,同時PCI9052輸出局部復位信號LRESET,并檢查NM93CS46是否有效。若有效,且第一個16位字不是FFFFh,那么PCI9050將根據(jù)串行EEPROM的值來設置內部寄存器,否則采用默認值。

考慮到TMS320C6713HPI與PCI9052間的時序配合問題,通常在連線過程中,還必須注意下列幾個問題:

(1)由于PC機中數(shù)據(jù)與地址總線是復用的,所以PCI9052的MODE引腳應接地,而PCI9052中局部數(shù)據(jù)與地址總線是非復用的,所以TMS320C6713的HAS引腳應接高電平。

(2)由于 TMS320C6713的HR/W信號與PCI9052的W/ R信號極性相反,因此必須通過非門進行連接。

(3)由于TMS320C6713與PCI9052分別工作在不同的時鐘頻率下,所以TMS320C6713的HRDY信號輸出必須通過D觸發(fā)器的同步后才能送入邏輯電路,以供PCI9052的LRDY信號使用。

(4)LRDY信號的邏輯表達式為:LRDY=RD.WR+(CS1+ADS+HRDY),因此,只有RD或WR有效,且CS、ADS、HRDY也有效時,LRDY才能有效。

另外,要保證TMS320C6713 HPI與PCI9052的穩(wěn)定協(xié)調工作,除了要設計合理的硬件電路外還必須對PCI9052的內部寄存器進行準確配置。關于PCI9052內部寄存器的具體配置方法,可以參考PLX公司的用戶手冊,這里不再贅述。

筆者已將該方案應用于某電力系統(tǒng)精確故障定位及錄波裝置中。其中,由TMS320C6713 DSP芯片構成的高速數(shù)據(jù)采集卡用來控制電力系統(tǒng)中各電參數(shù)的采集、存儲與故障判斷。當其HPI被設置為帶地址自增的讀方式時,可在一次故障記錄結束后,由PC機將存儲在TMS320C6713外擴SDRAM中的大量數(shù)據(jù)一次性讀入。讀入的數(shù)據(jù)可用來計算故障發(fā)生的精確位置,分析系統(tǒng)中各電參數(shù)的變化情況,同時記錄各繼電保護裝置的動作情況。

4 結束語

該方案不僅有效地解決了TMS320C6713 DSP芯片與PC機間數(shù)據(jù)傳輸?shù)钠款i問題,而且簡化了硬件設計。同時由于它支持即插即用技術。因此,由DSP構成的高速數(shù)據(jù)采集卡具有良好的可移植性。



評論


相關推薦

技術專區(qū)

關閉