一種基于PCI總線(xiàn)的反射內存卡設計
1 引言
本文引用地址:http://dyxdggzs.com/article/187535.htm對實(shí)時(shí)傳輸, 傳統的以太網(wǎng)絡(luò )由于傳輸協(xié)議開(kāi)銷(xiāo)的不確定性, 很難滿(mǎn)足實(shí)時(shí)網(wǎng)絡(luò )的要求, 實(shí)時(shí)網(wǎng)絡(luò )是一種應用于高實(shí)時(shí)性要求的專(zhuān)用網(wǎng)絡(luò )通信技術(shù), 一般采用基于高速網(wǎng)絡(luò )的共享存儲器技術(shù)實(shí)現。除了具有嚴格傳輸確定性和可預測性外, 還具有傳輸速度高、通訊協(xié)議簡(jiǎn)單、軟硬件平臺適應性強、可靠的傳輸糾錯能力、支持中斷信號的傳輸等特點(diǎn)。鑒于以上原因, 設計一款反射內存卡, 寫(xiě)入一個(gè)節點(diǎn)的內存的數據可以通過(guò)網(wǎng)絡(luò )硬件傳輸到其它所有的節點(diǎn)。
2 硬件設計
反射內存卡系統的總體框圖如圖1 所示, 主要由5部分組成:FPGA、PCI 接口、SDRAM、數據編解碼電路、光纖收發(fā)電路。
其中,FPGA 內部包含SDRAM控制器和FIFO 控制器、編解碼控制器、接收FIFO、發(fā)送FIFO、中斷FIFO及中斷控制等。FPGA 選用Cyclone II 系列的EP2C35F484C7;PCI 選用PLX 公司的PCI9054,能夠提供兩個(gè)獨立的DMA 引擎,每個(gè)都可以進(jìn)行讀寫(xiě),在一個(gè)DMA 讀取數據的同時(shí)另一個(gè)DMA 可以寫(xiě)入數據,加快系統工作速度; 編解碼芯片選用安捷倫的H D M P -1636A,提供十位的并行IO,串行數據傳輸速率達1062.5MBd,負責數據串并行和并串行轉換,以便與光纖收發(fā)器內部數據格式進(jìn)行匹配; 光纖收發(fā)器選用安捷倫的HFBR-57L5AP,支持多模光纖,串行傳輸速率達1.0625Gb/s,負責將電信號轉化為光信號, 通過(guò)光纖向下一節點(diǎn)傳輸。
2.1 SDRAM 控制器
與雙端口RAM 相比,SDRAM 容量大、價(jià)格低,采用128M 的SDRAM 作為反射內存卡的數據存儲器。由于SDRAM 讀寫(xiě)不能同時(shí)進(jìn)行,且需要刷新維護,因此,需要設計SDRAM 控制器。
SDRAM 控制器實(shí)現對SDRAM 的讀寫(xiě)控制與仲裁,提供類(lèi)似于雙端口RAM 的外部接口。SDRAM 控制器內部由初始化模塊、刷新計數器、地址多路開(kāi)關(guān)、仲裁及信號產(chǎn)生器等組成,SDRAM 控制器結構如圖2 所示。
圖2 SDRAM 控制器結構圖
SDRAM 控制器內部各模塊功能如下:
(1) 初始化模塊在上電之后對SDRAM 的模式寄存器進(jìn)行設置;(2) 刷新計數器對SDRAM 進(jìn)行定時(shí)刷新;(3) 地址多路開(kāi)關(guān)將地址總線(xiàn)上的地址轉化為SDRAM 的行列地址;(4) 仲裁機構要對上位機讀、上位機寫(xiě)、網(wǎng)絡(luò )寫(xiě)和刷新等操作做出仲裁。當讀寫(xiě)和刷新同時(shí)產(chǎn)生時(shí), 先完成相應的讀寫(xiě)操作然后再刷新, 而上位機讀、上位機寫(xiě)、網(wǎng)絡(luò )寫(xiě)這三種操作的優(yōu)先級從高到低依次是網(wǎng)絡(luò )寫(xiě)、上位機讀、上位機寫(xiě);(5) 信號產(chǎn)生器根據不同的讀寫(xiě)操作產(chǎn)生不同的讀寫(xiě)信號, 從而SDRAM 可以正常工作, 而不發(fā)生讀寫(xiě)沖突。
2.2 FIFO 控制器
在峰值速率下進(jìn)行數據傳輸,SDRAM 存儲器很難達到要求,所以使數據經(jīng)過(guò)FIFO 緩存后發(fā)送或接收,可以降低了對存儲器傳輸速率的要求, 實(shí)現較高的傳輸速率。設計了FIFO 控制器,它由數據解析、數據封裝、仲裁、讀信號產(chǎn)生器、寫(xiě)信號產(chǎn)生器組成。FIFO 控制器結構如圖3 所示。
圖3 FIFO 控制器結構圖
評論