引 言
PCI總線(Peripheral Component Interconnect)是Intel公司推出的一種高性能32/64位局部總線,最大數(shù)據(jù)傳輸速率為132~264MB/s,是目前使用較為廣泛的一種總線。在高速信號(hào)的實(shí)時(shí)處理中,利用PCI總線將采集數(shù)據(jù)直接傳送到微機(jī)系統(tǒng)內(nèi)存,可有效解決數(shù)據(jù)的實(shí)時(shí)傳輸和存儲(chǔ),為信號(hào)的實(shí)時(shí)處理提供方便。利用PCI總線進(jìn)行高速數(shù)據(jù)采集,可以簡(jiǎn)化電路設(shè)計(jì),而且這種高速數(shù)據(jù)采集接口模塊可以在多次設(shè)計(jì)中重復(fù)使用,縮短產(chǎn)品的研發(fā)周期。在此通過對(duì)專用接口芯片PCI9054的性能分析,特別是對(duì)單周期讀、寫和存儲(chǔ)器映射傳輸操作的時(shí)序進(jìn)行了分析,提出了一種新的包括PCI9054單周期讀、寫和存儲(chǔ)器映射傳輸?shù)脑O(shè)計(jì),并討論了通用PCI總線高速數(shù)據(jù)采集卡的實(shí)現(xiàn)方案。
1 PCI9054性能簡(jiǎn)介
PCI9054是PLX公司推出的一種32位33 MHz的PCI總線控制器。它采用多種先進(jìn)技術(shù).可以將復(fù)雜的PCI接口應(yīng)用設(shè)計(jì)變得簡(jiǎn)單。利用PCI9054靈活的局部總線可以方便地連接多種存儲(chǔ)器、I/O外圍設(shè)備和CPU,其中包括與Motorola公司的MPC860和Intel公司的960和IBM公司的PPC401等處理器之間的直接連接。PCI9054可廣泛應(yīng)用于Motorola公司的MPC 860適配器設(shè)計(jì)、Compact PCI熱交換適配器設(shè)計(jì)、PCI總線主控適配器和嵌入式主機(jī)等設(shè)計(jì)系統(tǒng)中。PCI9054的本地總線時(shí)鐘可與PCI總線時(shí)鐘異步,本地總線有三種工作模式:M模式、C模式和J模式,可方便地與多種微處理器連接。其中,在C模式下,本地總線(Local Bus)為非復(fù)用的32 b地址與數(shù)據(jù)總線,時(shí)序與控制比較簡(jiǎn)單。PCI9054還有三種數(shù)據(jù)傳送方式,即PCI主發(fā)起、PCI從目標(biāo)、DMA方式。PCI從目標(biāo)即PCI9054作為PCI總線的從設(shè)備,由總線上的其他主設(shè)備向它傳送數(shù)據(jù);在PCI9054的本地總線端,PCI9054又作為主設(shè)備,向本地的存儲(chǔ)空間和I/O空間傳送數(shù)據(jù)。在設(shè)計(jì)本地總線的數(shù)據(jù)傳送接口時(shí),主要有兩項(xiàng)工作,一是需要對(duì)PCI空間到本地空間,或本地空間到PCI空間的地址映射,進(jìn)行相應(yīng)的存儲(chǔ)器配置;二是根據(jù)PCI9054提供的本地總線控制信號(hào)設(shè)計(jì)本地總線的邏輯控制功能,實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)傳送時(shí)序。
2 數(shù)據(jù)采集卡PCI接口電路設(shè)計(jì)
PCI總線規(guī)范定義了嚴(yán)格的電氣特性和時(shí)序要求,它要求在接口卡和終端設(shè)備之間有一個(gè)總線接口控制器,采用某些公司提供的專用接口芯片,如PLX公司的PCI9080,PCI9054和AMCC公司的S5933,S5920等。使用它只需要設(shè)計(jì)用戶接口邏輯和配置電路。大大減少了開發(fā)人員的工作量,且功能強(qiáng),使用靈活。
該設(shè)計(jì)采用PCI9054+FPGA實(shí)現(xiàn)高速數(shù)據(jù)傳輸接口。PCI9054能實(shí)現(xiàn)復(fù)雜的PCI總線規(guī)范2.2版,支持重要產(chǎn)品數(shù)據(jù)(VPD)配置,支持雙地址周期,可編程中斷生成,可編程突發(fā)管理,存儲(chǔ)器映射傳輸,具有可選的串行E2PROM接口,并支持Compact PCI和熱交換功能,性能卓越,使用方便。FPGA用來配合PCI9054的Local總線控制信號(hào),實(shí)現(xiàn)Local總線端的數(shù)據(jù)傳送。E2PROM接口直接連接一個(gè)E2PROM來初始化配置PCI9054。整個(gè)板卡的邏輯結(jié)構(gòu)框圖如圖1所示。
2.1 FPGA內(nèi)部控制
采樣控制電路主要完成視頻信號(hào)和動(dòng)目標(biāo)信號(hào)采樣,并對(duì)采樣值進(jìn)行處理。設(shè)計(jì)的FPGA采用Altera公司的FLEX系列中的EPF1OK20芯片,并采用該公司與之配套的配置設(shè)備EPC2芯片來完成采樣后的數(shù)據(jù)處理。在FPGA內(nèi)部,根據(jù)由網(wǎng)絡(luò)傳過來高低、方位及自定義的差分信號(hào)傳送時(shí)鐘、串行幀同步、串行數(shù)據(jù)、模式字,對(duì)采樣數(shù)據(jù)進(jìn)行相關(guān)處理和小目標(biāo)的放大。當(dāng)信號(hào)小于一定值,則認(rèn)為沒有信號(hào);信號(hào)值落在某一區(qū)間,為了觀察方便要將其放大。FPGA同時(shí)完成各種自檢信號(hào)的產(chǎn)生、A/D的控制信號(hào)、以及各種讀寫時(shí)序。Local總線與外部的I/O部分,用鎖存器(如74F574)接口數(shù)據(jù)通路,用雙向通路(如74LS245)接口控制信號(hào)線。具體框圖如圖2所示。
作者:符聯(lián)軍 來源:現(xiàn)代電子技術(shù)