當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]下載設(shè)備的硬件結(jié)構(gòu)比較簡(jiǎn)潔,其復(fù)雜之處在于FPGA內(nèi)部的邏輯的控制。在FPGA設(shè)計(jì)中,除需要例化MGT核,PCI核外還要設(shè)計(jì)控制邏輯進(jìn)行數(shù)據(jù)傳輸?shù)目刂啤?

數(shù)據(jù)記錄及下載系統(tǒng)
如圖1所示,雷達(dá)信號(hào)預(yù)處理機(jī)將采樣到的信號(hào)進(jìn)行一系列處理工作,最后形成一路或多路的光纖數(shù)據(jù),送交外面的兩個(gè)分支。一個(gè)分支是送交雷達(dá)信號(hào)處理機(jī),進(jìn)行真正的雷達(dá)信號(hào)實(shí)時(shí)分析處理。這個(gè)分支我們不關(guān)心。另一個(gè)分支是通過RocketIO傳送至一塊或多塊數(shù)據(jù)記錄板。

圖1 數(shù)據(jù)記錄及下載系統(tǒng)框圖


數(shù)據(jù)記錄在現(xiàn)場(chǎng)進(jìn)行,存儲(chǔ)到記錄設(shè)備后,有兩個(gè)用途,一是回放,即回放到雷達(dá)信號(hào)處理機(jī)中,復(fù)現(xiàn)進(jìn)入時(shí)的情景;另一種是下載,即下載到本地微機(jī)上,對(duì)數(shù)據(jù)進(jìn)行檢查和處理。下載過程一般在實(shí)驗(yàn)室進(jìn)行,下載方式有兩種,一種是網(wǎng)絡(luò)下載,另一種是光纖下載。


網(wǎng)絡(luò)下載的缺點(diǎn)是速度慢,受網(wǎng)絡(luò)帶寬和芯片處理能力的限制,其傳輸速率一般為30~60Mb/s。優(yōu)點(diǎn)是不需要額外的設(shè)備,只要設(shè)備支持網(wǎng)絡(luò)通信即可。本地微機(jī)作為主控機(jī),控制下載并存放下載的數(shù)據(jù)。


光纖下載是將記錄設(shè)備的光口和專用的光纖下載卡互連,數(shù)據(jù)傳輸至光纖下載卡后,然后通過PCI總線轉(zhuǎn)存至主機(jī)硬盤上。光纖下載的優(yōu)點(diǎn)是下載速度快,采用Xilinx FPGA提供的高速串行鏈路IP核RocketIO,其下載速度可以達(dá)到2.5Gb/s,去掉開銷也能達(dá)到2Gb/s,即250Mb/s,比網(wǎng)絡(luò)下載提高了近一個(gè)數(shù)量級(jí)。缺點(diǎn)是普通微機(jī)沒有光口,需要額外的光纖下載設(shè)備,插入本地微機(jī),和記錄設(shè)備對(duì)接,完成光纖下載。如圖1中的粗黑的光纖和64位/66M的PCI總線就是供光纖下載之用。

光纖下載卡結(jié)構(gòu)
圖2為光纖下載卡結(jié)構(gòu)圖。如圖2所示,光纖下載設(shè)備的和核心為一塊Xilinx的V2 pro系列FPGA,其外圍有兩組DDR,用于數(shù)據(jù)的緩存。為了和外部交換板的光口互連,還有一個(gè)光模塊。下載設(shè)備的另一端通過PCI總線和主機(jī)相連,主機(jī)可以是X86處理器或PPC處理器。

圖2 光纖下載卡結(jié)構(gòu)


可見下載設(shè)備的硬件結(jié)構(gòu)比較簡(jiǎn)潔,其復(fù)雜之處在于FPGA內(nèi)部的邏輯的控制。在FPGA設(shè)計(jì)中,除需要例化MGT核,PCI核外還要設(shè)計(jì)控制邏輯進(jìn)行數(shù)據(jù)傳輸?shù)目刂啤?/p>


數(shù)據(jù)傳輸一般來說有三種方式,包括程序直接控制方式、中斷控制方式和DMA方式。


程序直接控制方式就是由用戶進(jìn)程來直接控制內(nèi)存或CPU和外圍設(shè)備之間的數(shù)據(jù)傳送。它的優(yōu)點(diǎn)是控制簡(jiǎn)單,缺點(diǎn)是CPU和外圍設(shè)備只能串行工作,CPU的大部分工作時(shí)間浪費(fèi)在對(duì)外部數(shù)據(jù)的讀取過程中,其利用率很低。


中斷控制方式是外圍設(shè)備收到數(shù)據(jù)后,向CPU發(fā)送中斷。CPU收到中斷后,再控制數(shù)據(jù)在其內(nèi)存和外圍設(shè)備之間的傳輸。它的優(yōu)點(diǎn)是大大提高了CPU的利用率且能支持多道程序和設(shè)備的并行操作。它的缺點(diǎn)是由于數(shù)據(jù)緩沖寄存器比較小,如果中斷次數(shù)較多,仍然會(huì)占用大量CPU時(shí)間。在外圍設(shè)備較多時(shí),由于中斷次數(shù)的急劇增加,可能造成CPU無法響應(yīng)中斷而出現(xiàn)中斷丟失的現(xiàn)象。如果外圍設(shè)備速度比較快,可能會(huì)出現(xiàn)CPU來不及從數(shù)據(jù)緩沖寄存器中取走數(shù)據(jù)而丟失數(shù)據(jù)的情況。


DMA方式是在外圍設(shè)備和內(nèi)存之間開辟直接的數(shù)據(jù)交換通路進(jìn)行數(shù)據(jù)傳送。外圍設(shè)備通過通用總線直接訪問內(nèi)存,將其收到的數(shù)據(jù)寫入內(nèi)存或?qū)⒁l(fā)送的數(shù)據(jù)讀出內(nèi)存。上述操作完成后,再通過中斷的方式通知CPU,由CPU進(jìn)行后繼的處理。它的優(yōu)點(diǎn)是除了在數(shù)據(jù)塊傳送開始時(shí)需要CPU的啟動(dòng)指令,在整個(gè)數(shù)據(jù)塊傳送結(jié)束時(shí)需要發(fā)中斷通知CPU進(jìn)行中斷處理之外,不需要CPU的干涉。


可見,下載設(shè)備和微機(jī)之間通過主DMA方式進(jìn)行通信,可以大大的提高數(shù)據(jù)傳輸速率。66MHz/64位寬的PCI總線在理想情況下可以提供近500Mb/s的傳輸速率,可以比較容易的達(dá)到250Mb/s的光纖下載速度,所以下載的瓶頸在于硬盤的讀寫速度。普通硬盤的平均讀寫速度在60Mb/s,采用4個(gè)盤一組的陣列盤,差不多可以達(dá)到60×4=240Mb/s的速度。


由上述數(shù)據(jù)可以看出,采用64位的PCI總線,用主DMA方式進(jìn)行數(shù)據(jù)傳輸,下載的最大速度將大于200Mb/s。
  
FPGA邏輯內(nèi)部結(jié)構(gòu)   
邏輯總體結(jié)構(gòu)圖如圖3所示,數(shù)據(jù)流方向?yàn)椋捍械墓饫w數(shù)據(jù)首先進(jìn)入ATM(Aurora Transmit Module)模塊,由ATM模塊內(nèi)部的Xilinx RocketIo核將串行數(shù)據(jù)轉(zhuǎn)換成并行32位數(shù)據(jù)。并行數(shù)據(jù)經(jīng)過FIFO進(jìn)行緩存后,進(jìn)入PING64模塊。Pin64模塊內(nèi)部邏輯產(chǎn)生主DMA時(shí)序,并將FIFO數(shù)據(jù)送上內(nèi)部總線。Pcim_lc將內(nèi)部總線信號(hào)轉(zhuǎn)換成PCI總線信號(hào)并送出去。各個(gè)模塊的功能具體如下。

圖3 FPGA內(nèi)部結(jié)構(gòu)圖


● Pcim_lc模塊為Xilinx提供的PCI64位的軟核;


● Ping64模塊包括和PCI64軟核的接口以及主DMA處理邏輯;


● ATM為和光纖輸入的接口模塊,采用Xilinx提高的Aurora協(xié)議對(duì)數(shù)據(jù)進(jìn)行控制,ATM只需提高用戶邏輯和Aurora的接口即可;


● CRM為時(shí)鐘和復(fù)位信號(hào)產(chǎn)生模塊。


ATM模塊和ping64模塊之間接口為標(biāo)準(zhǔn)FIFO接口,設(shè)置此FIFO的目的有兩個(gè):一是時(shí)鐘域轉(zhuǎn)換,外部輸入的主時(shí)鐘為125MHz,而RocketIO采用32位模式,在2.5Gb/s的速率下,邏輯的主工作時(shí)鐘為62.5MHz。而ping64模塊采用PCI總線提供的PCI66MHz時(shí)鐘。兩者時(shí)鐘不在同一個(gè)時(shí)鐘域,所以用異步FIFO將時(shí)鐘域隔離。二是數(shù)據(jù)的緩存。根據(jù)FIFO的almost full信號(hào)產(chǎn)生反壓信號(hào),送交RocketIO,使對(duì)端收到反壓信號(hào)后,停止發(fā)送數(shù)據(jù)。


所用Xilinx的RocketIO核其實(shí)為aurora 核,這是一個(gè)雙向串行數(shù)據(jù)通信鏈路控制器,能將反壓信號(hào)隨數(shù)據(jù)一起發(fā)往對(duì)端。其接口相對(duì)簡(jiǎn)單,有兩種模式,一種是幀模式,另一種是流模式,可以根據(jù)應(yīng)用靈活選擇。在本項(xiàng)目中采用的是幀模式。

主DMA處理的軟硬件流程
在DMA處理中,采用內(nèi)存乒乓操作來提高系統(tǒng)的吞吐量。軟件中的驅(qū)動(dòng)采用Windriver開發(fā),其工作主要分三部分。


1  初始化,包括申請(qǐng)內(nèi)存,配置DMA列表,配置DMA相關(guān)寄存器,啟動(dòng)邏輯開始工作。


2  中斷處理函數(shù)。在此函數(shù)中,屏蔽中斷,并啟動(dòng)DPC處理。


3  DPC(延遲過程調(diào)用),根據(jù)邏輯提供的狀態(tài)標(biāo)識(shí),將相應(yīng)的內(nèi)存塊的數(shù)據(jù)搬移至硬盤中,然后取消中斷屏蔽,復(fù)位狀態(tài)標(biāo)識(shí),使系統(tǒng)可以接收下一個(gè)中斷。


數(shù)據(jù)的搬移不在中斷處理函數(shù)中完成,是由于中斷處理函數(shù)具有較高的優(yōu)先級(jí),如果將耗時(shí)的數(shù)據(jù)搬移放在這里進(jìn)行,會(huì)明顯降低系統(tǒng)的響應(yīng)時(shí)間。而DPC的優(yōu)先級(jí)在所有的外部中斷之下,不會(huì)因此而降低對(duì)其他外部中斷的響應(yīng)速度。


主DMA邏輯的主要工作是讀取驅(qū)動(dòng)配置的DMA列表,根據(jù)列表中的內(nèi)存地址和長度,對(duì)內(nèi)存進(jìn)行主DMA寫操作。操作完成后,通過置位狀態(tài)標(biāo)識(shí),通知驅(qū)動(dòng)來讀取數(shù)據(jù)。狀態(tài)機(jī)轉(zhuǎn)移如圖4所示。

圖4 DMA主狀態(tài)機(jī)轉(zhuǎn)移圖


● IDLE狀態(tài):在此狀態(tài)下,等待軟件的使能信號(hào)。使能信號(hào)有效則進(jìn)入JUDGE狀態(tài),否則等待。


● JUDGE狀態(tài):在此狀態(tài)下,判斷乒乓標(biāo)志。根據(jù)乒乓標(biāo)志決定本次處理應(yīng)該選擇哪一個(gè)內(nèi)存塊。


● RD_TBL狀態(tài): 發(fā)出讀DMA列表的地址信息。然后進(jìn)行GET_TBL狀態(tài)接收列表數(shù)據(jù)。


● GET_TBL狀態(tài):在此狀態(tài)下,讀取DMA列表數(shù)據(jù),并將列表中的內(nèi)存地址和長度信息寫入相應(yīng)的寄存器中。然后進(jìn)入REQ狀態(tài)。


● REQ狀態(tài):在此狀態(tài)下,對(duì)異步FIFO的空信號(hào)進(jìn)行判斷。如果非空,則進(jìn)入PROCESS狀態(tài),否則在REQ狀態(tài)等待。


● PROCESS狀態(tài):在此狀態(tài)下,進(jìn)行數(shù)據(jù)傳輸。由于PCI主DMA對(duì)burst長度有限制,當(dāng)傳輸完預(yù)定長度的數(shù)據(jù)后,首先對(duì)本次長度進(jìn)行判斷。如果未完則進(jìn)入REQ狀態(tài)等待,否則判斷本列表是否最后一個(gè)列表。如果是,則進(jìn)行IDLE狀態(tài)。否則進(jìn)入RD_TBL狀態(tài)讀取下一條DMA列表表項(xiàng)的數(shù)據(jù),繼續(xù)處理。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉