<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA與DSP協(xié)同處理系統設計之: FPGA與DSP的通信接口設計

FPGA與DSP協(xié)同處理系統設計之: FPGA與DSP的通信接口設計

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/348799.htm

11.3設計

可以分成以下幾種。

·存儲型接口,如A、B等。

·主機型接口,如等。

·總線(xiàn)型接口,如PCI、EMAC等。

·串口型接口,如McBSP、McASP、SPI、UART等。

·特殊類(lèi)接口,如VLYNQ、VPORT等。

以上的接口中,比較常用的接口是。其中總線(xiàn)接口需要協(xié)議支持,開(kāi)發(fā)難度較大,串行接口開(kāi)發(fā)簡(jiǎn)單,但是速率較慢。VPORT等特殊接口一般是在特定的場(chǎng)合下應用,不具備通用性,而且需要修改驅動(dòng),開(kāi)發(fā)周期較長(cháng)。

11.3.1基于TMS320C64x系列的EMIF接口設計

1.EMIF簡(jiǎn)介

TMSC64xEMIF是TMSC621xEMIF的增強版。它具備TMSC621x/TMSC671xEMIF的所有功能,并添加了以下新功能。

(1)EMIFA上的數據總線(xiàn)可以是64位寬,也可以是32位寬。

(2)EMIFB上的數據總線(xiàn)為16位寬。

(3)EMIF時(shí)鐘ECLKOUTx為內部生成,并基于EMIF輸入時(shí)鐘。器件復位時(shí),以下3個(gè)時(shí)鐘之一會(huì )被配置為EMIF輸入時(shí)鐘。

·內部CPU時(shí)鐘4分頻。

·內部CPU時(shí)鐘4分頻。

·外部ECLKIN與TMSC64xEMIF接口的存儲器應按照ECLKOUTx的時(shí)鐘頻率運行。

·可編程同步存儲器接口控制器的同步控制引腳替換了固定的SBSRAM控制引腳。

·PDT引腳提供外部到外部傳輸支持。

如圖11.4所示為組成EMIFA和EMIFB接口的信號,表11.2對這些信號進(jìn)行了描述。端口A(yíng)的信號都帶前綴“A”,端口B的信號都帶前綴“B”。為方便起見(jiàn),所有信號名稱(chēng)都省略了EMIF端口前綴。

EMIFA接口具備與8、16、32或64位系統接口的功能。EMIFB接口端口僅支持8位和16位系統,如圖11.5所示。

外部器件(主要是存儲器)通常與總線(xiàn)的ED[7:0]字節側右對齊。Endianess(字節順序)決定ED[7:0]位是作為字節0(littleendian(小端))還是字節N(bigendian(大端),其中2N是總線(xiàn)寬度)存取。對不同字節通道的選擇,可通過(guò)低有效字節使能信號的應用(如表11.2所示)來(lái)完成。

圖11.4EMIFA和EMIFB信號

表11.2 EMIF信號描述

引腳

I/O/Z

描述

CLKOUT4

O/Z

CPU時(shí)鐘的4分

CLKOUT6

O/Z

CPU時(shí)鐘的6分

ECLKIN

I

EMIF時(shí)鐘輸入

ECLKOUT1

O/Z

速率為ECLKIN、CPU/4或CPU/6時(shí)的EMIF輸出時(shí)鐘

ECLKOUT2

O/Z

速率為ECLKIN、CLKOUT4或CLKOUT6時(shí)的EMIF輸出時(shí)鐘

ED[63:0]

I/O/Z

EMIFA64位數據總線(xiàn)

ED[31:0]

I/O/Z

EMIFA32位數據總線(xiàn)

ED[15:0]

I/O/Z

EMIFB16位數據總線(xiàn)

EA[22:3]

O/Z

EMIFA地址輸出

EA[20:1]

O/Z

EMIFB地址輸出

CE0

O/Z

存儲器空間0的芯片選擇

CE1

O/Z

存儲器空間1的芯片選擇

續表

引腳

I/O/Z

描述

CE2

O/Z

存儲器空間2的芯片選擇

CE3

O/Z

存儲器空間3的芯片選擇

BE[7:0]

O/Z

EMIFA64位字節使能,字節使能僅針對其對應的字節通道有效

如BE[0]對應ED[7:0]

BE[3:0]

O/Z

EMIFA32位字節使能,字節使能僅針對其對應的字節通道有效

BE[1:0]

O/Z

EMIFB16位字節使能,字節使能僅針對其對應的字節通道有效

ARDY

I

異步就緒輸入,低速外設插入等待狀態(tài)

SOE3

O/Z

CE3的同步輸出使能

AOE

O/Z

異步輸出使能

SDRAS

O/Z

DRAM存儲器的行地址選通脈沖

SOE

O/Z

同步輸出使能

ARE

O/Z

異步讀使能

SDCAS

O/Z

SDRAM存儲器的列地址選通脈沖

SADS/SRE

O/Z

同步地址選通脈沖或讀使能

AWE

O/Z

異步寫(xiě)選通脈沖

SDWE

O/Z

SDRAM的寫(xiě)使能

SWE

O/Z

同步寫(xiě)使能

HOLD

I

外部總線(xiàn)保持請求

HOLDA

O

外部總線(xiàn)保持確認

BUSREQ

O

總線(xiàn)請求

PDT

O/Z

外設數據傳輸

SDCKE

O/Z

SDRAM時(shí)鐘使能

CLKOUT4

O/Z

CPU時(shí)鐘的4分

CLKOUT6

O/Z

CPU時(shí)鐘的6分

ECLKIN

I

EMIF時(shí)鐘輸入

ECLKOUT1

O/Z

速率為ECLKIN、CPU/4或CPU/6時(shí)的EMIF輸出時(shí)鐘

ECLKOUT2

O/Z

速率為ECLKIN、CLKOUT4或CLKOUT6時(shí)的EMIF輸出時(shí)鐘

ED[63:0]

I/O/Z

EMIFA64位數據總線(xiàn)14

ED[31:0]

I/O/Z

EMIFA32位數據總線(xiàn)

ED[15:0]

I/O/Z

EMIFB16位數據總線(xiàn)

EA[22:3]

O/Z

EMIFA地址輸出

續表

引腳

I/O/Z

描述

EA[20:1]

O/Z

EMIFB地址輸出

CE0

O/Z

存儲器空間0的芯片選擇

CE1

O/Z

存儲器空間1的芯片選擇

CE2

O/Z

存儲器空間2的芯片選擇

CE3

O/Z

存儲器空間3的芯片選擇

BE[7:0]

O/Z

EMIFA64位字節使能。字節使能僅針對其對應的字節通道有效

BE[3:0]

O/Z

BE7對應ED[63:56]

BE[1:0]

O/Z

BE6對應ED[55:48]

ARDY

I

BE5對應ED[47:40]

SOE3

O/E

BE4對應ED[39:32]

BE3對應ED[31:24]

BE2對應ED[23:16]

BE1對應ED[15:8]

BE0對應ED[7:0]

圖11.5按Endianess對齊字節

有關(guān)EMIF接口及其功能的完整概述,請參閱相關(guān)的TI數據手冊(tms320c64xx.pdf,其中xx為15t、16t或18)。

2.簡(jiǎn)介

Xilinx架構的FPGA都可以訪(fǎng)問(wèn)模塊存儲器()。Virtex、Virtex-E和Spartan-II器件中的這些4Kbit的模塊在Virtex-II、Virtex-IIPro和Spartan-3器件中都增加到18Kbit的模塊。

這些模塊都是完全同步、真正的雙端存儲器。用戶(hù)可獨立地從每個(gè)端口讀出或向每個(gè)端口寫(xiě)入(但同一地址不能同時(shí)進(jìn)行讀和寫(xiě))。另外,每個(gè)端口都有一個(gè)獨立的時(shí)鐘,并且對每個(gè)端口的數據寬度都可以獨立進(jìn)行配置。如圖11.6所示為雙端RAM模塊的框圖。

由FPGA邏輯和一批組成的FIFO取決于所構建的FIFO要求的寬度和深度。FIFO可使用XilinxCOREGenerator™工具構建,或者可以用HDL手動(dòng)組合。

使用COREGenerator工具構建FIFO具有一定優(yōu)勢,即設計可以達到并實(shí)現很高的性能指標。按照設計規范用HDL構建的設計則可賦予設計人員完全的設計自由。

3.FPGA與DSP的EMIF連接

FPGA的靈活性使我們可以將其用做具備可選擇總線(xiàn)寬度(8位~64位)的各類(lèi)存儲器而創(chuàng )建不同的設計。通過(guò)接口設計,可將FPGA用做同步或異步標準存儲器,或同步或異步FIFO。通過(guò)接口設計,可將FPGA以同步或異步的方式連接到EMIF。

在同步模式中,ECLKOUTx時(shí)鐘用于驅動(dòng)FPGA接口邏輯。此時(shí)鐘甚至可以驅動(dòng)整個(gè)FPGA。FPGA的邏輯功能、專(zhuān)用乘法器、PPC405或MicroBlaze™處理器等使其具備了強大的處理功能。這樣,FPGA就可以用做協(xié)處理器或高速數據處理和傳輸器件。

FPGA的存儲器容量小于TMSC64x類(lèi)型DSP的尋址空間。FPGA存儲器必須使用FPGABlockRAM來(lái)實(shí)現。上述TMSC64x到FPGA的接口為FIFO結構,可以使用BlackRAM資源來(lái)實(shí)現。

FIFO接口可使用標準的TMSC64xEMIFFIFO接口機制。如表11.3所示為EMIF信號的總結。

表11.3 EMIF與FPGA的接口信號

信號名稱(chēng)

方向

CE

DSP輸出

AOE

DSP輸出

AWE

DSP輸出

ARE

DSP輸出

INTx

DSP輸入

INTy

DSP輸入

INTz

DSP輸入

ED[63:0]

DSP雙向

FIFO要求連續地讀時(shí)鐘和連續地寫(xiě)時(shí)鐘。這些時(shí)鐘由ARE和AWE信號生成,使用FPGA的本地時(shí)鐘控制功能進(jìn)行布線(xiàn)。

DSP具有3.3V的接口邏輯,所以用于連接到EMIF的I/O組(bank)必須指定為3.3VVCCIO。如果無(wú)法指定,就必須使用電平移位器件。這一器件可為兩個(gè)器件間的信號通路引入額外的時(shí)間。

4.FIFO接口的設計實(shí)例

本設計使用了標準的EMIFFIFO設置。如圖11.7所示為用于Xilinx公司的Virtex-IIPro和Spartan-3器件的設計示例。

圖11.7基于FIFO的EMIF接口實(shí)例

數據組芯片使能信號(Cex)與異步輸出使能(AOE)一起,用于為設計的寫(xiě)或讀FIFO部分生成使能信號。此信號還用于為數據多路復用器和標志選擇邏輯生成使能信號。

FIFO的讀寫(xiě)時(shí)鐘通過(guò)本地時(shí)鐘布線(xiàn)直接布線(xiàn)到FIFO時(shí)鐘輸入。

FIFO中使用的RAMB16組件由于沿著(zhù)與EMIF相連接的I/O塊進(jìn)行排列,顯著(zhù)改善了時(shí)序。當BlockRAM組件的列的大小與使用的I/O的數量相同時(shí),即可構建快速的矩形接口。

本設計使用常規的FIFO標志輸出。要對標志邏輯施加額外控制,無(wú)論是針對DSP端還是FPGA端,可使用寫(xiě)計數器和讀計數器輸出。

信號AINIT(圖11.7中未顯示)強制所有標志為高有效狀態(tài)。AINIT發(fā)出后,在第一個(gè)WR_CLK上,FULL和ALMOST_FULL標志變?yōu)闊o(wú)效,呈低狀態(tài)。對于在首個(gè)RD_CLK邊沿上的EMPTY和ALMOST_EMPTY標記,也會(huì )發(fā)生同樣情況。

ALMOST_EMPTY和ALMOST_FULL標志表明只剩下了一個(gè)FIFO位置。使用WR_COUNT和RD_COUNT輸出,可以構建用戶(hù)定義的FIFO標志。這兩個(gè)計數器的值都不反映FIFO內容(地址)的準確位置。FIFO的兩個(gè)端口(時(shí)鐘域)都存在時(shí)鐘延遲,長(cháng)度為一個(gè)時(shí)鐘周期。

輸出WR_COUNT和RD_COUNT為被延遲的內部FIFO高位地址計數器。為輸出選擇兩個(gè)比特,即可將FIFO的位置確定到總尺寸的四分之一(如下面計數器解碼示例中所示)。

計數器越寬,位置就能越精細。下面是計數器解碼示例。

·COUNT[1:0]=0b00表明FIFO小于1/4滿(mǎn)或1/4空。

·COUNT[1:0]=0b01表明FIFO在1/4和1/2滿(mǎn)之間或1/4和1/2空之間。

·COUNT[1:0]=0b10表明FIFO在1/2和3/4滿(mǎn)之間或1/2和3/4空之間。

·COUNT[1:0]=0b11表明FIFO大于3/4滿(mǎn)或3/4空。

DSP對不同標志的反應取決于FPGA中讀寫(xiě)FIFO的狀態(tài)。

11.3.2基于TMS320系列DSP的主機接口()設計

1.HPI接口簡(jiǎn)介

HPI接口是一種數據寬度為16位的并行端口(C64xx系列DSP中,HPI口的數據寬度達到32位)。通過(guò)HPI口,主機可以直接對CPU的存儲器空間進(jìn)行操作。

在C621x、C671x系列DSP中,沒(méi)有留出專(zhuān)門(mén)的EDMA通道來(lái)執行HPI口的訪(fǎng)問(wèn)操作,而是直接將HPI口連接到內部的地址產(chǎn)生硬件上,因而提高了對內部存儲空間的訪(fǎng)問(wèn)速度。

HPI口內部加入了兩個(gè)8級深度的讀寫(xiě)緩沖,可以執行地址自增的讀寫(xiě)操作,提高讀寫(xiě)操作的吞吐量。HPI口為內部CPU提供了標準32位的數據接口,同時(shí)為外部主機也提供了一個(gè)經(jīng)濟的16位接口,所以對外部主機而言,每次讀寫(xiě)必須執行成對的16位操作。

對于C64xx系列DSP,HPI可以選擇16位(HPI16)和32位(HPI32)兩種模式。

對于C621x、C671x系列DSP,HPI口內部有3個(gè)寄存器,分別是控制寄存器(HPIC)、地址寄存器(HPIA)和數據寄存器(HPID)。這3個(gè)寄存器可以直接被主機訪(fǎng)問(wèn),主機每執行一次對CPU內部存儲空間的訪(fǎng)問(wèn)都必須先對控制寄存器和地址寄存器寫(xiě)入相應的值,然后才能對數據寄存器進(jìn)行讀寫(xiě)操作。

HPI口的外部接口是由數據總線(xiàn)HD[15:0]以及一部分用于描述和控制HPI接口的控制信號組成,這些控制信號的具體類(lèi)型如表11.4所示。

表11.4 HPI信號描述

引腳

描述

HCNTL[1:0]

控制HPI的操作類(lèi)型

HHCNTL

半字確認輸入,“0”、“1”分別表示一次字傳輸的第一個(gè)半字和第二個(gè)半字

HR/W

讀/寫(xiě)選擇

續表

引腳

描述

HRDY

就緒狀態(tài)標志

HINT

中斷標志,DSP向主機提出中斷

HAS

區別地址/數據復用總線(xiàn)的數據與地址

HDS1、HDS2、HCS

數據選通輸入,三者配合可用于產(chǎn)生一個(gè)HPI內部選通信號HSTROBE,這個(gè)信號可以用以下公式來(lái)描述:

HSTROBE=[NOT(HDS1XORHDS2)]ORHCS

對于一個(gè)寫(xiě)HPI口的操作,應首先使能HCS,變化HDS1或HDS2,可使HSTROBE信號產(chǎn)生一個(gè)下降沿。HPI口在這個(gè)下降沿采樣控制信號HCNTL[1:0]、HHWIL和HR/W,同時(shí)在使能HCS的同時(shí)驅動(dòng)HRDY,以使主機進(jìn)入等待狀態(tài)。直到HRDY產(chǎn)生下降沿,表明HPID已清空,可以接收新的數據。此時(shí)HSTROBE也將產(chǎn)生一個(gè)上升沿,并采樣HD[15:0]上的數據并將其送入HPID,以完成第一個(gè)半字的寫(xiě)入。

對于第二個(gè)半字的寫(xiě)入,由于32位的HPID已經(jīng)清空,可以直接寫(xiě)入數據。不會(huì )出現未準備好的情況,所以HRDY一直保持為低,與第一個(gè)字節的寫(xiě)入相同。該操作也在HSTROBE的下降沿采樣控制信號,并在HSTROBE的上升沿采樣數據總線(xiàn)HD[15:0]的數據并送HPID,以完成一個(gè)32位的寫(xiě)入操作。

2.FPGA與DSP的HPI連接實(shí)例

FPGA與HPI的接口連接比較簡(jiǎn)單,就是將HPI接口相關(guān)的信號全部連接到FPGA的管腳。如圖11.8和圖11.9所示分別是FPGA和TI不同系列的DSP的連接框圖。

圖11.8FPGA與C621x、C671x系列DSP的HPI接口互聯(lián)框圖

圖11.9FPGA與C64x系列DSP的HPI接口互聯(lián)框圖



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>