<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-04-21 來(lái)源:網(wǎng)絡(luò ) 收藏


Windows XP操作系統中的驅動(dòng)開(kāi)發(fā)主要是基于Win32模式驅動(dòng),即基于WDM(Win32 Driver Model)。在WDM驅動(dòng)模型中,每個(gè)硬件設備至少有兩個(gè)驅動(dòng):總線(xiàn)驅動(dòng)程序和功能驅動(dòng)程序。其中總線(xiàn)驅動(dòng)程序由Windows提供,需要考慮的是負責實(shí)現PCI設備邏輯功能的功能驅動(dòng)程序。所以,驅動(dòng)程序分為以動(dòng)態(tài)鏈接庫形式的儀器驅動(dòng)程序和以WDM格式的底層的接口驅動(dòng)程序。前者用于實(shí)現對目標硬件的操作,即下載數據流對;后者則可實(shí)現資源分配、接口管理及數據的控制傳輸。

3 數據分析

中的應用軟件所要下載的配置數據流是由硬件者根據需求提供的,是以二進(jìn)制形式存儲的.rpd文件??梢愿鶕煌?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/FPGA">FPGA來(lái)選擇不同的外圍存儲芯片(如EPCS1,EPCS16),從而生成不同大小的配置數據流。由于軟件中,每次下發(fā)的數據一定,所以,由數據流的大小就能決定循環(huán)發(fā)送數據的次數。

由于硬件設計者提供的.rod文件中的數據并不是原始的配置數據,而是所要配置的數據經(jīng)過(guò)反轉生成的新的配置數據流,所以,要先將.rpd中的數據反轉處理后再發(fā)送給硬件。通過(guò)用戶(hù)界面可以二進(jìn)制的形式打開(kāi).rod文件并讀數,將配置數據流以單字節的形式暫存在一數組中,然后對數據進(jìn)行反轉處理。數組中每個(gè)單字節數據的反轉過(guò)程為:unsigned char strl=DE,反轉后為strl=7B,定義無(wú)符號char型變量bi(i為小于8的整數),可由下面的轉換完成:



由此可以得到:strl=7B。對反轉處理生成的單字節數據經(jīng)過(guò)組合處理后,最終便可得到對進(jìn)行配置所需要的數據流。

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)O(ww[i+1]16)O(ww[i+2]8)Oww[i+3](1)


關(guān)鍵詞: 設計 方案 配置 FPGA VC 程序 采用

評論


相關(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>