關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應用 > PCI9656型64位PCI總線接口電路及其應用

PCI9656型64位PCI總線接口電路及其應用

作者: 時間:2006-02-05 來源:網(wǎng)絡 收藏
摘要:9656是PLX公司推出的一種64位、66MHz的接口電路。具有靈活的連接性能和高性能的I/O加速器特性,用于、Compact PCI和嵌入式主機設(shè)計。文中主要介紹PCI9656的功能、特點及應用,給出具體應用實例,同時指出應用中需注意的問題。

關(guān)鍵詞:PCI;總線;局部總線;PCI9656

引言

PCI總線是目前應用最廣泛、最流行的一種高速同步總線,具有32bit總線寬度,總線時鐘頻率為0~33MHz,最大傳輸速率可達132Mbyte/s,且可擴展為64位、66MHz主頻。該總線的最大數(shù)據(jù)傳輸速率達528Mb/s,遠遠大于ISA總線5Mbyte/s的速度。PCI總線與CPU無關(guān),與時鐘頻率也無關(guān),因此可以應用于各種平臺,支持多處理器和并發(fā)操作。

PCI總線協(xié)議比較復雜,因此它的接口電路實現(xiàn)起來也比較困難。它不但有嚴格的同步時序要求,而且這了實現(xiàn)即插用和自動配置,PCI接口還要有許多的配置寄存器。對于一般的設(shè)計者來說,為了縮短開發(fā)周期,沒有必要設(shè)計所有的接口邏輯,只要利用通用PCI接口電路就能很好的進行開發(fā)設(shè)計,從而大大減輕了工作難度。

目前,業(yè)界基于32位PCI總線使用較多的接口芯片是AMCC公司的S59xx系列和PLX公司的PLX系列。而現(xiàn)有普通計算機公司均已采用32位架構(gòu),系統(tǒng)的內(nèi)存尋址能力已達到4GB,因此,32位PCI總線已經(jīng)不能滿足日益龐大的數(shù)據(jù)處理需要。鑒于英特爾公司推出的Itanium處理器直接從32位躍升到64位,因此,開發(fā)基于64位PCI總線的接口設(shè)備顯得尤為重要。下面介紹一款PLX公司的基于64位PCI總線的PCI9656型接口電路。

1 PCI9656概述

PCI9656是PLX公司為擴展適配板卡推出的能提供混合高性能PCI總線目標模式的接口電路,該接口電路可提供用于適配卡的小型高性能64位PCI總線目標接口。PCI9656的內(nèi)部結(jié)構(gòu)框圖如圖1所示。它的主要特點如下:

●符合PCI V 2.2協(xié)議,支持64位、66MHz時鐘PCI總線,特別適用于PCI總線外設(shè)產(chǎn)品開發(fā)。

●采用PLX數(shù)據(jù)流水線架構(gòu)(Data Pipe Architecture)技術(shù),配有DMA引擎、可編程直接主控或者直接從屬數(shù)據(jù)傳輸模式以及PCI信息傳輸功能。

●具有PCI優(yōu)先判決器,可以支持7個外部主控器。

●可以由2個局部總線中斷信號LINTi和LINTo生成一個PCI中斷信號INTA。

●局部時鐘與PCI時鐘異步工作,允許局部總線獨立于PCI時鐘工作。

●支持多路復用和非多路復用的8位、16位和32位66MHz時鐘局部總線。

●可直接生成所有的控制、地址和數(shù)據(jù)信號以驅(qū)動PCI總線,不需要額外驅(qū)動電路。

●可通過消息管理系統(tǒng)I/O,并提供2種方式選擇,一是通過郵箱寄存器和門鈴寄存器,二是通過所提供的I2O接口。

●寄存器PCI9054寄存器兼容,可容易地進行基于32位PCI總線與基于64位PCI總線的軟件移植。

2 PCI9656的功能

PCI9656可用來為非PCI設(shè)備和PCI總線提供數(shù)據(jù)通道。下面介紹具體操作功能。

2.1 初始化

在上電時,PCI總線的RST信號將PCI9656的內(nèi)部寄存器設(shè)置為缺省值,同時,PCI9656輸出局部復位信號(LRESET)并檢查EEPROM是否存在。如果系統(tǒng)上裝有EEPROM且該EEPROM的第一個16字節(jié)非空,則PCI9656將根據(jù)EEPROM內(nèi)容設(shè)置內(nèi)部寄存器,否則設(shè)為缺省值。

2.2 復位

PCI總線的RST信號有效時,整個PCI9656將復位,同時,輸出LRESET局部復位信號。另外PCI總線上的主控設(shè)備也可以通過設(shè)置寄存器中的軟件復位比特來對PCI9656進行復位,但是主控設(shè)備只能訪問配置寄存器而不能訪問局部總線。所以,PCI9656公一直保持這種復位狀態(tài)直到PCI主控設(shè)備清除軟件復位比特。

2.3 串行存儲器接口(EEPROM)

復位后,PCI9656將開始讀串行EEPROM,START為0表示EEPROM存在。此時若該EEPROM的第一個字(16bit)既不為“全1”(EEPROM為空)也不為“全0”(EEPROM不存在),PCI9656將用它進行配置。如START為1,表示EEPROM不存在或EEPROM為空,PCI9656采用缺省值配置。

PCI9656總線上的主機可以對串行EEPROM進行讀寫,寄存器位[31,27-24]控制著PCI9656對EEPROM位的讀寫。將重載配置寄存器位CNTRL[28]置1可以用串行EEPROM重新配置PCI9656。EEPROM的時鐘可由PCI總線時鐘分頻獲得。

2.4 內(nèi)部寄存器

PCI9656提供的一系列內(nèi)部寄存器可為總線接口設(shè)計提供最大的靈活性。這些寄存器主要有PCI配置寄存器、局部配置寄存器、DMA寄存器、運行時間寄存器和消息隊列寄存器。

對PCI9656寄存器進行讀寫操作的單位可以是字節(jié)、字、長字。PCI9656的存儲器訪問可以是突發(fā)的,也可以是非突發(fā)的。

2.5 直接數(shù)據(jù)傳輸模式

PCI9656支持PCI總線上的主處理器對局部總線上的設(shè)備進行直接訪問。PCI9656的配置寄存器將訪問映射到局部地址空間。其片內(nèi)讀寫FIFO存儲器可使PCI9656支持PCI總線與局部總線之間的高性能突發(fā)傳送。PCI總線主控訪問局部總線示意圖如圖2所示。

3 基于PCI9656的PCI接口設(shè)計

PCI9656是一種功能非常強大的64位PCI接口電路,用它來設(shè)計PCI適配卡將使接口變得非常方便。圖3是PCI主處理機讀寫一片RAM的接口示意圖,其主要功能是實現(xiàn)對RAM的單次或突發(fā)的讀、寫操作。

3.1 硬件設(shè)計

該PCI接口的硬件電路分為3部分。第一部分是PCI9656和PCI插槽間的連接信號線。這些信號包括地址數(shù)據(jù)復用信號AD[31:0],總線命令信號C/BE[3:0],PCI協(xié)議控制信號PAR、FRAME、IRDY、TRDY、STOP、IDSEL、DEVSEL、PERR、SERR以及64位PCI總線擴展信號AD[63:32]、C/BE[7:4]、PAR64、REQ64、ACK。第二部分是與串行EEPROM的連線。這部分有4根信號線:EESK、EEDO、EEDI、EECS,串行EEPROM的數(shù)據(jù)可以提前燒好,也可以在線燒寫。第三部分是PCI9656與FPGA的連接。對于FPGA的選擇及其內(nèi)部設(shè)計有必要作以下說明:ACEX1K50QC208-3是Altera公司推出的一款低成本FPGA,選擇該電路作為該設(shè)計的控制器,利用其內(nèi)部邏輯單元設(shè)計局部總線控制器,可用于實現(xiàn)局部總線的狀態(tài)控制。雙端口RAM可選用ALTERA公司提供的庫函數(shù)LPM_RAM_DP來設(shè)計實現(xiàn),其存儲容量為1.24x32bit,占用8個EAB,其余的邏輯單元和EAB用作內(nèi)部的其他控制。RAM的讀寫使能信號由局部總線狀態(tài)機產(chǎn)生,地址計數(shù)器的輸出可作為它的讀寫地址。

3.2 軟件設(shè)計

該PCI接口軟件的設(shè)計主要分為2部分。一部分用于該PCI9656各個配置寄存器賦值并初始化,另一部分為主程序,用來完成PCI9656與主機CPU之間的數(shù)據(jù)交互。

4 使用PCI9656時應該注意的問題

PCI9656內(nèi)部的寄存器是通過外部串行EEPROM上電加載的,因此,PCI9656會自動根據(jù)該EEPROM的狀態(tài)來決定其內(nèi)部寄存器的值。如果EEPROM內(nèi)部沒有燒寫為有效值,應保證其開始的48位為全“1”,否則,系統(tǒng)上電時將會出錯。

PCI9656有3個PCI-LOCAL總線地址空間(S0、S1和擴展ROM)和2個具有獨立FIFO的DMA通道,用戶可根據(jù)實際需要來進行配置,并不是要用到所有的。若將本地空間配置成I/O,該空間的讀寫只能單次進行。而若將其配置成存儲器模式,則可大大提高讀寫速度。

突發(fā)模式是為了提高本地總線操作速度而設(shè)計的。在該模式下,PCI9656只提供一次傳輸開始和終止信號。設(shè)計時,可以利用BTERM引腳是否有效來中止突發(fā)操作。

還有一點需要說明,當執(zhí)行64bit PCI數(shù)據(jù)傳輸時,低32bit PCI數(shù)據(jù)(AD[31:0])總是首先被局部總線傳輸?;?2位、16位、8位局部總線操作的數(shù)據(jù)傳輸順序可由局部總線“字節(jié)通道”決定。局部總線“字節(jié)通道”分為“低字節(jié)通道”與“高字節(jié)通道”,字節(jié)通道由配置寄存器Big/Little Endian描述寄存器中的Byte Lane Mode位所決定。若該位為0(BIGEND[4]=0)時,則為“低字節(jié)通道”模式,反之為“高字節(jié)通道”模式。

5 結(jié)束語

選用第三方EDA工具并采用VHDL硬件描述語言可對該狀態(tài)機進行行為級描述和邏輯綜合,同時可將生成的網(wǎng)表文件送入Quartus軟件進行再綜合、功能仿真和定時仿真。實驗結(jié)果表明,該狀態(tài)機的最高工作頻率可達101MHz,完全能夠滿足PCI9656局部總線的性能要求。

PCI9656以其強大的功能和簡單的用戶接口為基于64位PCI總線接口的開發(fā)提供了一種簡潔的方法,設(shè)計者只需設(shè)計局部總線接口控制電路即可實現(xiàn)與PCI總線的高速數(shù)據(jù)傳輸。



關(guān)鍵詞: PCI 總線接口電路

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉