最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

基于CPCI總線的FPGA加載設(shè)計(jì)

出處:電子愛好者博客 發(fā)布于:2013-07-22 14:47:26

  摘 要:以現(xiàn)場(chǎng)可編程門陣列(FPGA,Field Programmable Gate Array )為的軟件無(wú)線電平臺(tái)在近年得到了廣泛應(yīng)用。由于具有極強(qiáng)的實(shí)時(shí)性和并行處理能力,F(xiàn)PGA 芯片在無(wú)線通信、信號(hào)處理等領(lǐng)域得到了廣泛應(yīng)用。但是鑒于FPGA 有易失性的特點(diǎn),使得需要配備可擦可編程只讀存儲(chǔ)器(EPROM,ErasableProgrammable Read Only Memory)芯片對(duì)其進(jìn)行加載。對(duì)于要求實(shí)時(shí)切換不同算法的應(yīng)用場(chǎng)景,需要系統(tǒng)設(shè)計(jì)能夠?qū)PGA進(jìn)行動(dòng)態(tài)加載。這里介紹了Xilinx系列FPGA的加載原理,基于緊湊型PCI(CPCI,CompactPeripheral Component Interconnect)總線設(shè)計(jì),實(shí)現(xiàn)了對(duì)多片F(xiàn)PGA的動(dòng)態(tài)加載。

  0 引言

  由于具有極強(qiáng)的實(shí)時(shí)性和并行處理能力,F(xiàn)PGA芯片在無(wú)線通信、信號(hào)處理等領(lǐng)域得到了廣泛應(yīng)用。

  作為一種半定制電路,F(xiàn)PGA 的使用非常靈活,對(duì)于同一片F(xiàn)PGA,通過加載不同的編程數(shù)據(jù)可以產(chǎn)生不同的電路功能。但是,由于基于靜態(tài)只讀存儲(chǔ)器(SRAM,Static Random Access Memory)的架構(gòu),F(xiàn)PGA 掉電后就變?yōu)榘灼?,再次上電時(shí)需要EPROM 芯片對(duì)其進(jìn)行加載。對(duì)于需要切換算法的場(chǎng)景,就需要通過上位機(jī)對(duì)其進(jìn)行動(dòng)態(tài)加載。本文在深入分析了FPGA 配置流程和理解CPCI 總線的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了基于CPCI 總線的FPGA 動(dòng)態(tài)加載。

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

  系統(tǒng)中需要對(duì)三片Virtex5 系列的芯片進(jìn)行動(dòng)態(tài)加載,整個(gè)硬件結(jié)構(gòu)框圖如圖1 所示。Spartan-3E與PCI9656直接相連,作為主控制芯片Spartan-3E一方面接收來自CPCI 總線的數(shù)據(jù),對(duì)V5 芯片進(jìn)行參數(shù)、動(dòng)態(tài)加載等;另一方面接收V5 芯片的傳遞來的各類數(shù)據(jù),根據(jù)上層軟件的請(qǐng)求,將各類狀態(tài)信息或?qū)崟r(shí)處理數(shù)據(jù)上傳到工控機(jī)。

  

  2 PCI9656 芯片介紹

  PCI 接口協(xié)議比較復(fù)雜,接口電路實(shí)現(xiàn)起來較為困難,在設(shè)計(jì)基于PCI或CPCI總線的數(shù)字設(shè)備時(shí),采用各公司提供的通用PCI I/O 芯片或IP 核,可簡(jiǎn)化復(fù)雜的PCI 接口設(shè)計(jì)。PCI9656 是PLX 公司為高速PCI 總線應(yīng)用而設(shè)計(jì)的通用I/O 芯片,PCI9656配備DMA 引擎、可編程直接主控和直接從屬數(shù)據(jù)傳輸模式以及PCI 信息傳輸功能。零等待狀態(tài)突發(fā)操作,PCI 總線突發(fā)傳輸速度高達(dá)528 MB/s,局域總線突發(fā)傳輸速度高達(dá)264 MB/s.

  PCI9656 的局部總線有M、C、J 三種接口模式,為了簡(jiǎn)化數(shù)據(jù)傳輸控制邏輯,設(shè)計(jì)中采用了C 模式,該接口模式為適合大多數(shù)處理器的通用模式。在數(shù)據(jù)傳輸中,PCI9656 傳輸數(shù)據(jù)有兩種模式:突發(fā)模式和直接內(nèi)存存?。―MA,Direct Memory Access)模式。其中突發(fā)模式一般用于傳遞少量不連續(xù)數(shù)據(jù)的場(chǎng)合,DMA模式則用于傳遞大量連續(xù)數(shù)據(jù)的場(chǎng)合。

  在設(shè)計(jì)中,所有的參數(shù)上傳、都是通過突發(fā)模式傳輸?shù)?,而三片V5 芯片的加載,連續(xù)處理數(shù)據(jù)的上傳則是通過DMA 模式完成的。

  3 FPGA 加載概述

  FPGA 的加載有多種模式,主要有主串模式(Master Serial),從串模式(Slave Serial),邊界掃描模式(Boundary Scan),SPI 模式和SelectMap 模式等。設(shè)計(jì)中采用了Slave Serial 模式,該模式由外部處理器或控制器提供時(shí)鐘,總共用到了CCLK,PROG_B,DONE,INIT_B,DIN 5 個(gè)管腳,其中CCLK 管腳為加載提供時(shí)鐘,當(dāng)PROG_B 信號(hào)置低300ns后檢查INIT_B信號(hào)為高電平即可通過DIN管腳送入數(shù)據(jù)進(jìn)行加載,當(dāng)數(shù)據(jù)加載完成后檢查DONE管腳為高電平表示配置完成。Slave Serial 模式的時(shí)序圖如圖2 所示。

  

  FPGA 的配置文件有多種不同的格式,例如BIT,BRT,BIN,MCS,EXO,TEK,HEX 等。由于ISE 軟件調(diào)用Bit Gen 程序直接生成的文件格式為BIT,故系統(tǒng)如能直接用BIT 文件作為配置文件將省去文件轉(zhuǎn)換的麻煩,通過分析發(fā)現(xiàn)BIT 文件與BIN(直接二進(jìn)制配置文件)文件相比僅僅多了文件頭,又由于FPGA 配置過程中會(huì)進(jìn)行同步、器件ID 檢查等操作,因此多出的文件頭部分會(huì)自動(dòng)忽略,故而通過Slave Serial 方式直接BIT 文件配置FPGA 是可行的。

  4 硬件模塊設(shè)計(jì)

  Spartan-3E中的程序設(shè)計(jì)包含PCI9656配置模塊,負(fù)責(zé)對(duì)PCI9656 芯片進(jìn)行初始化;PCI9656 接口模塊,負(fù)責(zé)與PCI9656 進(jìn)行數(shù)據(jù)交互;參數(shù)模塊,負(fù)責(zé)將接收的參數(shù)重新分配給三個(gè)芯片或者將一些狀態(tài)信息上傳到工控機(jī);FPGA 配置模塊負(fù)責(zé)將接收到的FPGA 的BIT 文件流通過FIFO 將不連續(xù)數(shù)據(jù)緩沖為連續(xù)數(shù)據(jù),并觸發(fā)配置邏輯,對(duì)FPGA 進(jìn)行配置。

  系統(tǒng)的模塊劃分如圖3所示。

  

  4.1 PCI9656 配置模塊

  PCI9656 一般都有對(duì)應(yīng)的EEPROM,用于上電時(shí)初始化芯片工作的相關(guān)參數(shù)。根據(jù)實(shí)際需求,由于需要初始化的參數(shù)較少,PCB 設(shè)計(jì)中沒有放置EEPROM,需要Spartan-3 E 通過本地總線對(duì)其進(jìn)行初始化。對(duì)于PCI9656,初始化其PCI Subsystem ID、PCI Subsystem、Vendor ID 后,在工控機(jī)就可以進(jìn)行其他配置,配置這兩個(gè)參數(shù)只需要通過本地總線往地址0X2C寫入相應(yīng)數(shù)據(jù)即可。

  4.2 參數(shù)模塊

  由于以突發(fā)模式到Spartan-3E 的數(shù)據(jù)是以32 bit 為單位的,且三片F(xiàn)PGA 需要的參數(shù)各不相同,因此需要對(duì)到Spartan-3E 的數(shù)據(jù)進(jìn)行整理分類,再根據(jù)不同需求,到三片F(xiàn)PGA 中去。

  狀態(tài)參數(shù)的上傳與流程相反。

  4.3 FPGA 加載模塊

  DMA 方式到Spartan-3E 的32 bit數(shù)據(jù)在塊內(nèi)是連續(xù)的,但是塊與塊之間是不連續(xù)的,為了保證FPGA 加載過程不中斷,在Spartan-3E 中需要一個(gè)FIFO 將數(shù)據(jù)進(jìn)行緩沖,從而保證BIT 數(shù)據(jù)流的連續(xù)性。為了確保加載數(shù)據(jù)在FIFO 中讀不空,在設(shè)計(jì)中當(dāng)FIFO 中的可讀的數(shù)據(jù)大于一定門限的時(shí)候觸發(fā)加載邏輯,同時(shí)為了防止FIFO 寫滿導(dǎo)致丟失數(shù)據(jù),當(dāng)FIFO中可讀的數(shù)據(jù)到達(dá)一定門限后,就不再請(qǐng)求DMA.通過這樣的保護(hù),可以保證BIT 流加載文件在加載邏輯開始后可以連續(xù)不斷的輸入給FPGA,直到FPGA 加載完成。

  工控機(jī)按照32 bit 讀取BIT 文件存在Byte 翻轉(zhuǎn)的情況,到Spartan-3E 后需要再把32 bit的數(shù)據(jù)進(jìn)行翻轉(zhuǎn)過來,只需要用FIFO 讀時(shí)鐘32 倍頻的時(shí)鐘進(jìn)行計(jì)數(shù),將FIFO 讀出的32 bit 數(shù)據(jù)按照翻轉(zhuǎn)的對(duì)應(yīng)關(guān)系順序送出讀取即可滿足要求。

  為了區(qū)分3片F(xiàn)PGA 的加載,設(shè)計(jì)兩比特的標(biāo)志位,用以區(qū)分不同的FPGA.在加載FPGA 之前先通過軟件先兩比特標(biāo)志位,配置模塊根據(jù)標(biāo)志位,切換數(shù)據(jù)流向,從而可以配置3 片不同的FPGA.

  5 軟件設(shè)計(jì)

  PCI9656 芯片的驅(qū)動(dòng)程序從其配套的SDK 開發(fā)包中獲取,工控機(jī)的控制軟件由C++語(yǔ)言完成,開發(fā)環(huán)境基于Borland 公司的C++Builder6.

  在PLX公司提供的軟件開發(fā)包中,含有PCI9656與上位機(jī)通信的動(dòng)態(tài)庫(kù)文件Plxapi.dll.該文件包含了眾多函數(shù),可以直接調(diào)用。在設(shè)計(jì)中用PlxIoPortWrite 和PlxIoPortRead 來實(shí)現(xiàn)突發(fā)數(shù)據(jù)的和上傳,用PlxDmaBlockTransfer來實(shí)現(xiàn)FPGA的配置數(shù)據(jù)流的和大量實(shí)時(shí)數(shù)據(jù)的上傳。

  6 結(jié)語(yǔ)

  本文提出了基于CPCI 總線的FPGA 動(dòng)態(tài)加載的設(shè)計(jì)與實(shí)現(xiàn),在40 M 的工作時(shí)鐘下,在對(duì)同一塊FPGA 進(jìn)行加載時(shí),加載速度可以達(dá)到JTAG 加載方式的10 倍之多。該設(shè)計(jì)可以對(duì)三片F(xiàn)PGA 芯片進(jìn)行快速穩(wěn)定的,與常規(guī)PROM 加載方式相比有著快速靈活的優(yōu)勢(shì),對(duì)加載速度和實(shí)時(shí)性要求比較高的系統(tǒng)設(shè)計(jì)中,具有很強(qiáng)的可操作性和可借鑒性。

關(guān)鍵詞:基于CPCI總線的FPGA加載設(shè)計(jì)CPCI總線FPGA加載設(shè)計(jì)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

1000萬(wàn)的FPGA芯片長(zhǎng)什么樣?
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見,您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!