<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于VC++程序的FPGA重配置方案設計

一種基于VC++程序的FPGA重配置方案設計

作者: 時(shí)間:2010-07-07 來(lái)源:網(wǎng)絡(luò ) 收藏

  4 儀器驅動(dòng)函數的設計

  根據硬件設計,儀器驅動(dòng)需將配置數據以長(cháng)整型的形式發(fā)送,即32位。因為配置數據的長(cháng)度為16位,所以發(fā)送數據時(shí),每次要傳兩個(gè)數,高16位和低16位分別放一個(gè)數。當應用程序打開(kāi).rpd文件時(shí),應將其中配置數據流保存在數組ww[f]中,而反轉處理后得到的數據依然放在數組ww[f]中并覆蓋原來(lái)的數據,然后根據公式(1)進(jìn)行組合處理,以得到最終要發(fā)送的32位數據并保存在長(cháng)整型數組comdata[f]中。數組comdata[j]中的每個(gè)數據實(shí)際上包含兩個(gè)配置數據,第一個(gè)數放在高16位,第二個(gè)數放在低16位,依次類(lèi)推。確定好數據后,便可以調用動(dòng)態(tài)連接庫中的發(fā)送數據函數并發(fā)送給硬件。

  comdata[j]=(ww[i]24)∣(ww[i+1]16)∣(ww[i+2]8)∣ww[i+3](1)

  應用程序可以通過(guò)DeviceI/OControl ( )函數和WDM進(jìn)行通信,DeviceI/OControl ( )既可以讀數據,也可以寫(xiě)數據,常用于數據量較小的情況下。在軟件設計中,發(fā)送配置數據可通過(guò)調用DeviceI/OControl()完成。根據硬件要求,每次可下發(fā)1022個(gè)配置數據到cyclone (即循環(huán)發(fā)LONG型數據511次),然后由cyclone給一個(gè)中斷信號,接到中斷信號后,即進(jìn)入中斷程序,開(kāi)始接收配置數據。當應用程序調用發(fā)送數據函數時(shí),可先確定要發(fā)送的配置數據大小,再計算發(fā)送的次數。為了盡可能的減小發(fā)送時(shí)間,有效完成數據的發(fā)送與配置,應在軟件設計中建立與底層硬件的握手聯(lián)系。用戶(hù)每發(fā)送1022個(gè)數據便進(jìn)入等待狀態(tài),在等待期間,可把接收到的數據轉化為EPCS所需要的配置數據流。當DSP處理完這段數據后,就給上層用戶(hù)發(fā)送一個(gè)握手信號,用戶(hù)接收到握手信號,便進(jìn)入下一個(gè)1022的發(fā)送,如果最后一次發(fā)送的數據不夠1022個(gè),則用0xFFFF補足1022個(gè)數據,如此循環(huán)處理,直到數據發(fā)送完畢。發(fā)送完畢后,再給硬件繼續發(fā)送一個(gè)配置命令,DSP接到該命令后,又開(kāi)始對cyclone進(jìn)行配置,從而完成整個(gè)配置過(guò)程。圖4和圖5分別是配置數據和發(fā)送數據的軟件工作流程。

  圖6為上位機配置控制界面,圖中給出了2片配置芯片的配置過(guò)程,這是采用Visual C++和NIMeasurement Studio聯(lián)合編程方式的標準用戶(hù)界面。其中Visual C++提供了友好的界面及用戶(hù)熟悉的Windows風(fēng)格界面,并可以調用CVI中提供的控件庫和庫函數。

  5 結束語(yǔ)

  本文給出了一種基于程序的可重配置的實(shí)現方案,該方案在配置過(guò)程中,用戶(hù)可以通過(guò)調用自己的邏輯配置文件和程序來(lái)完成處理轉換,并控制下載,從而實(shí)現用戶(hù)系統的在系統編程。該方法可有效提高系統配置的效率,并為產(chǎn)品的升級、重構,以及用戶(hù)產(chǎn)品二次開(kāi)發(fā)提供了良好手段。此外,借助互聯(lián)網(wǎng)技術(shù),本設計還可以支持遠程下載功能。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: FPGA VC++ DSP CPCI CPLD

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>