新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)

一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-10-19 來(lái)源:網(wǎng)絡(luò) 收藏
1 引言

對(duì)實(shí)時(shí)傳輸, 傳統(tǒng)的以太網(wǎng)絡(luò)由于傳輸協(xié)議開(kāi)銷(xiāo)的不確定性, 很難滿足實(shí)時(shí)網(wǎng)絡(luò)的要求, 實(shí)時(shí)網(wǎng)絡(luò)是一種應(yīng)用于高實(shí)時(shí)性要求的專(zhuān)用網(wǎng)絡(luò)通信技術(shù), 一般采用基于高速網(wǎng)絡(luò)的共享存儲(chǔ)器技術(shù)實(shí)現(xiàn)。除了具有嚴(yán)格傳輸確定性和可預(yù)測(cè)性外, 還具有傳輸速度高、通訊協(xié)議簡(jiǎn)單、軟硬件平臺(tái)適應(yīng)性強(qiáng)、可靠的傳輸糾錯(cuò)能力、支持中斷信號(hào)的傳輸?shù)忍攸c(diǎn)。鑒于以上原因, 設(shè)計(jì)一款反射內(nèi)存卡, 寫(xiě)入一個(gè)節(jié)點(diǎn)的內(nèi)存的數(shù)據(jù)可以通過(guò)網(wǎng)絡(luò)硬件傳輸?shù)狡渌械墓?jié)點(diǎn)。

2 硬件設(shè)計(jì)

的總體框圖如圖1 所示, 主要由5部分組成:FPGA、PCI 接口、SDRAM、數(shù)據(jù)編解碼電路、光纖收發(fā)電路。

其中,F(xiàn)PGA 內(nèi)部包含SDRAM控制器和FIFO 控制器、、接收FIFO、發(fā)送FIFO、中斷FIFO及中斷控制等。FPGA 選用Cyclone II 系列的EP2C35F484C7;PCI 選用PLX 公司的PCI9054,能夠提供兩個(gè)獨(dú)立的DMA 引擎,每個(gè)都可以進(jìn)行讀寫(xiě),在一個(gè)DMA 讀取數(shù)據(jù)的同時(shí)另一個(gè)DMA 可以寫(xiě)入數(shù)據(jù),加快系統(tǒng)工作速度; 編解碼芯片選用安捷倫的H D M P -1636A,提供十位的并行IO,串行數(shù)據(jù)傳輸速率達(dá)1062.5MBd,負(fù)責(zé)數(shù)據(jù)串并行和并串行轉(zhuǎn)換,以便與光纖收發(fā)器內(nèi)部數(shù)據(jù)格式進(jìn)行匹配; 光纖收發(fā)器選用安捷倫的HFBR-57L5AP,支持多模光纖,串行傳輸速率達(dá)1.0625Gb/s,負(fù)責(zé)將電信號(hào)轉(zhuǎn)化為光信號(hào), 通過(guò)光纖向下一節(jié)點(diǎn)傳輸。

一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)[圖]

圖1 的總體框圖

2.1 SDRAM 控制器

與雙端口RAM 相比,SDRAM 容量大、價(jià)格低,采用128M 的SDRAM 作為反射內(nèi)存卡的數(shù)據(jù)存儲(chǔ)器。由于SDRAM 讀寫(xiě)不能同時(shí)進(jìn)行,且需要刷新維護(hù),因此,需要設(shè)計(jì)SDRAM 控制器。

SDRAM 控制器實(shí)現(xiàn)對(duì)SDRAM 的讀寫(xiě)控制與仲裁,提供類(lèi)似于雙端口RAM 的外部接口。SDRAM 控制器內(nèi)部由初始化模塊、刷新計(jì)數(shù)器、地址多路開(kāi)關(guān)、仲裁及信號(hào)產(chǎn)生器等組成,SDRAM 控制器結(jié)構(gòu)如圖2 所示。

一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)[圖]

圖2 SDRAM 控制器結(jié)構(gòu)圖

SDRAM 控制器內(nèi)部各模塊功能如下:

(1) 初始化模塊在上電之后對(duì)SDRAM 的模式寄存器進(jìn)行設(shè)置;(2) 刷新計(jì)數(shù)器對(duì)SDRAM 進(jìn)行定時(shí)刷新;(3) 地址多路開(kāi)關(guān)將地址總線上的地址轉(zhuǎn)化為SDRAM 的行列地址;(4) 仲裁機(jī)構(gòu)要對(duì)上位機(jī)讀、上位機(jī)寫(xiě)、網(wǎng)絡(luò)寫(xiě)和刷新等操作做出仲裁。當(dāng)讀寫(xiě)和刷新同時(shí)產(chǎn)生時(shí), 先完成相應(yīng)的讀寫(xiě)操作然后再刷新, 而上位機(jī)讀、上位機(jī)寫(xiě)、網(wǎng)絡(luò)寫(xiě)這三種操作的優(yōu)先級(jí)從高到低依次是網(wǎng)絡(luò)寫(xiě)、上位機(jī)讀、上位機(jī)寫(xiě);(5) 信號(hào)產(chǎn)生器根據(jù)不同的讀寫(xiě)操作產(chǎn)生不同的讀寫(xiě)信號(hào), 從而SDRAM 可以正常工作, 而不發(fā)生讀寫(xiě)沖突。

2.2 FIFO 控制器

在峰值速率下進(jìn)行數(shù)據(jù)傳輸,SDRAM 存儲(chǔ)器很難達(dá)到要求,所以使數(shù)據(jù)經(jīng)過(guò)FIFO 緩存后發(fā)送或接收,可以降低了對(duì)存儲(chǔ)器傳輸速率的要求, 實(shí)現(xiàn)較高的傳輸速率。設(shè)計(jì)了FIFO 控制器,它由數(shù)據(jù)解析、數(shù)據(jù)封裝、仲裁、讀信號(hào)產(chǎn)生器、寫(xiě)信號(hào)產(chǎn)生器組成。FIFO 控制器結(jié)構(gòu)如圖3 所示。

一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)[圖]

圖3 FIFO 控制器結(jié)構(gòu)圖

FIFO 控制器內(nèi)部各模塊功能如下:

(1) 數(shù)據(jù)解析對(duì)從網(wǎng)絡(luò)中接收的數(shù)據(jù)進(jìn)行判斷,如果是中斷事件將中斷數(shù)據(jù)寫(xiě)到中斷FIFO 中,如果是需要共享的數(shù)據(jù)則一部分送到SDRAM 控制器,一部分送仲裁機(jī)構(gòu);(2) 數(shù)據(jù)封裝對(duì)本節(jié)點(diǎn)發(fā)送的數(shù)據(jù)重新打包,加入數(shù)據(jù)類(lèi)型、數(shù)據(jù)包長(zhǎng)度、發(fā)送節(jié)點(diǎn)ID、目標(biāo)節(jié)點(diǎn)ID 及校驗(yàn)等相關(guān)信息,以便于其他節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行解析;(3) 仲裁機(jī)構(gòu)對(duì)來(lái)自接收FIFO 的數(shù)據(jù)和本節(jié)點(diǎn)發(fā)送到數(shù)據(jù)進(jìn)行仲裁, 當(dāng)他們同時(shí)到達(dá)時(shí)來(lái)自接收FIFO的數(shù)據(jù)優(yōu)先;(4) 讀信號(hào)產(chǎn)生器在接收到半滿中斷時(shí)產(chǎn)生讀信號(hào),從接收FIFO 中讀出相應(yīng)的數(shù)據(jù),避免FIFO 充滿或溢出;(5) 寫(xiě)信號(hào)產(chǎn)生器在仲裁機(jī)構(gòu)向下發(fā)送數(shù)據(jù)時(shí)給發(fā)送FIFO一個(gè)寫(xiě)信號(hào)。FIFO控制器仿真時(shí)序如圖4所示。

一種基于PCI總線的反射內(nèi)存卡系統(tǒng)設(shè)計(jì)[圖]

圖4 FIFIO 控制器仿真時(shí)序

2.3

由信號(hào)產(chǎn)生器、數(shù)據(jù)校驗(yàn)、8B/10B編碼、8B/10B 解碼組成。編解碼控制器結(jié)構(gòu)如圖5 所示。在這部分主要是進(jìn)行數(shù)據(jù)8B/10B 編解碼,以與編解碼芯片數(shù)據(jù)格式匹配同時(shí)給編解碼芯片的正常工作提供控制信號(hào),數(shù)據(jù)編解碼控制器仿真時(shí)序如圖6 所示。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉