国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

采用AVR單片機(jī)對(duì)FPGA進(jìn)行配置

發(fā)布時(shí)間:2010-6-12 10:31    發(fā)布者:zealot
關(guān)鍵詞: AVR , FPGA , 單片機(jī)
Altera公司的ACEX、FLEX等系列的FPGA芯片應(yīng)用廣泛,但其FPGA基于SRAM結(jié)構(gòu),決定電路邏輯功能的編程數(shù)據(jù)存儲(chǔ)于SRAM中。由于SRAM的易失性,每次上電時(shí)必須重新把編程數(shù)據(jù)裝載到SRAM中,這一過程就是FPGA的配置過程。FPGA的配置分為主動(dòng)式和被動(dòng)式。在主動(dòng)模式下,F(xiàn)PGA上電后主動(dòng)將配置數(shù)據(jù)從專用的EPROM(如EPC1,EPC2等)加載到SRAM中。被動(dòng)模式下,F(xiàn)PGA為從屬器件,由相應(yīng)的控制電路或微處理器控制配置過程,包括通過下載電纜由計(jì)算機(jī)控制配置和單片機(jī)模擬配置時(shí)序配置。其中,專用的EPROM價(jià)格高,可編程次數(shù)少,而計(jì)算機(jī)配置在現(xiàn)場應(yīng)用中又很不現(xiàn)實(shí),因此本文提出一種基于AVR單片機(jī)的被動(dòng)配置方式。由于AVR系列單片機(jī)的內(nèi)嵌閃存的容量為8~128kB,可容納中小規(guī)模(10萬門以下)FPGA的配置文件并進(jìn)行配置,另外還可實(shí)現(xiàn)多任務(wù)配置。以下將以FLEX10K10為例,介紹單片機(jī)對(duì)FPGA的雙任務(wù)配置。

ATmega系列單片機(jī)

ATMEL公司的ATmega系列單片機(jī)根據(jù)片內(nèi)閃存的大小分為ATmega8、ATmega32、ATmega128等。本設(shè)計(jì)采用的是ATmega32,該單片機(jī)片內(nèi)含16K×16共32KB的片內(nèi)可編程ROM,可擦寫10 000次,能裝載2萬門以內(nèi)FPGA的配置數(shù)據(jù),最高性能可達(dá)16MIPS,可在最短的時(shí)間內(nèi)完成FPGA的配置。如需要配置門數(shù)更高的FPGA,可采用MEGA128。
硬件電路設(shè)計(jì)

ATmega32內(nèi)含32KB的閃存,F(xiàn)PGA為FLEX10K10,其配置文件的大小為15KB,因此該方案可實(shí)現(xiàn)雙任務(wù)配置。硬件連接上,采用單片機(jī)配置模式時(shí),須將FLEX10K10的MESL0、MESL1、nCE接地,同時(shí)將nCONFIG、DCLK、DATA0、nSTATUS、CONF_DONE分別與MEGA32的PA0~PA4相連。MEGA32的I/O口均是可編程的,根據(jù)需要將PA0、PA1、PA2設(shè)置為輸出口,PA3、PA4設(shè)置為輸入口。另外,需在單片機(jī)的PB0、PB1上連接兩個(gè)按鍵以選擇配置任務(wù)。具體電路如圖1所示。

圖1  硬件原理框圖

配置方式

Altera公司FPGA器件的配置方式主要有AS(主動(dòng)串行方式)、PS(被動(dòng)串行方式)、PPS(被動(dòng)并行同步方式)、PPA(被動(dòng)并行方式)和JTAG(邊界掃描方式),使用單片機(jī)對(duì)FPGA進(jìn)行配置主要是采用單片機(jī)來模擬PS方式的時(shí)序,以實(shí)現(xiàn)FPGA器件的配置。

被動(dòng)串行方式的工作過程如下:配置時(shí)需要五個(gè)引腳,其中nCONFIG、DCLK、DATA0為單片機(jī)的輸出引腳,nSTATUS、CONF_DONE為單片機(jī)的輸入引腳。系統(tǒng)上電后,由單片機(jī)使nCONFIG上產(chǎn)生一個(gè)大于8μs的負(fù)脈沖,F(xiàn)PGA檢測(cè)到nCONFIG的下降沿后將啟動(dòng)配置過程,nSTATUS和CONF_DONE隨之拉低。nCONFIG抬高1μs內(nèi),nSTATUS抬高,配置數(shù)據(jù)從DATA0上由低位到高位依次送出,當(dāng)所有配置數(shù)據(jù)全部送出后,CONF_DONE被抬高,當(dāng)MCU檢測(cè)到這一變化后即結(jié)束配置過程。隨后,DCLK必須再提供幾個(gè)周期的時(shí)鐘(對(duì)于FLEX10K需要10個(gè)周期)以供FPGA正確完成初始化,進(jìn)入用戶模式。若配置過程出錯(cuò),nSTATUS將被拉低,MCU重新啟動(dòng)配置過程。其配置時(shí)序如圖2所示。

圖2  被動(dòng)串行配置時(shí)序圖

配置文件

Altera公司的開發(fā)工具Quartus II和MAXPlus II可生成多種配置文件,包括sof、pof、hex、rbf、ttf等。該配置方案中采用的是rbf文件,rbf文件為二進(jìn)制文件,包含了全部配置數(shù)據(jù),1字節(jié)的rbf數(shù)據(jù)包含8bit的配置數(shù)據(jù),配置時(shí)最低位先由低位到高位依次裝入。

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

使用單片機(jī)對(duì)FPGA的設(shè)計(jì)關(guān)鍵是軟件設(shè)計(jì)。在雙任務(wù)配置中,兩個(gè)任務(wù)的配置數(shù)據(jù)分別存放于不同起始地址的連續(xù)存儲(chǔ)器區(qū)域中。單片機(jī)上電復(fù)位后,進(jìn)入按鍵查詢狀態(tài),檢測(cè)到按鍵按下后,單片機(jī)從相應(yīng)起始地址中讀出數(shù)據(jù)并對(duì)FPGA進(jìn)行配置。配置過程按照PS方式的時(shí)序要求進(jìn)行,配置完成后重新進(jìn)入按鍵查詢狀態(tài)。控制程序流程圖如圖3所示。

圖3  控制程序流程圖

在雙任務(wù)配置中,兩個(gè)任務(wù)的配置數(shù)據(jù)分別存放于指定的地址中,由引導(dǎo)程序從指定地址中讀出數(shù)據(jù)并對(duì)FPGA進(jìn)行配置。引導(dǎo)程序和rbf文件(配置數(shù)據(jù))的合并是軟件設(shè)計(jì)的關(guān)鍵,以下詳述其處理過程。

(1) 將引導(dǎo)程序在ICCAVR下編譯并生成mcu.hex,hex文件格式是由Intel公司定義的,是按地址排列的數(shù)據(jù)信息,數(shù)據(jù)寬度為字節(jié),所有數(shù)據(jù)使用16進(jìn)制數(shù)字表示. 以下是一個(gè)例子。

:10008000AF5 F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200 FE10D2AA00477D81
:0B00A00080FA92006F3600 C3A00076CB
:00000001FF

第一行,“:”符號(hào)表明記錄的開始。后面的兩個(gè)字符表明記錄的長度,這里是10h。后面的四個(gè)字符給出調(diào)入的地址,這里是0080h。后面的兩個(gè)字符表明記錄的類型后面則是真正的數(shù)據(jù)記錄, 最后兩位是校驗(yàn)和檢查,最后一行是結(jié)束串,總寫成這樣;

(2)將fpga1.rbf改為fpga1.bin,使用“超級(jí)單片機(jī)工具”將fpga1.bin轉(zhuǎn)換成起始地址為0x0273(mcu.hex的數(shù)據(jù)長度)的fpga1.hex;
(3)將fpga2.rbf改為fpga1.bin,使用“超級(jí)單片機(jī)工具”將fpga2.bin轉(zhuǎn)換成起始地址為0x3bd7(mcu.hex和fpga1.hex的數(shù)據(jù)長度和)的fpga2.hex;
(4)將刪除結(jié)束串后的mcu.hex和fpga1.hex與fpga2.hex依次合并成config.hex;
(5)將config.hex用下載線下載到ATmega32單片機(jī)中。

結(jié)論

以上方案可適用于3.3V和5V系統(tǒng)的FPGA配置,無須擴(kuò)展EEPROM,還能實(shí)現(xiàn)多任務(wù)配置。
本文地址:http://m.qingdxww.cn/thread-12843-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 利用SAM E54 Xplained Pro評(píng)估工具包演示CAN轉(zhuǎn)USB橋接器以及基于CAN的主機(jī)和自舉程序應(yīng)用程序
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美在线观看视频一区二区 | 在线精品视频在线观看高清 | 精品国产高清露脸在线观看 | 欧美在线观看一区 | 欧美黑寡妇高清一级在线观看 | 精品国产成人a区在线观看 精品国产成人 | 麻豆国产精品视频 | 日本成人一区二区 | 久久九九久 | 国产麻豆精品免费视频 | 日韩免费观看一级毛片看看 | 国产在线麻豆精品观看 | 亚洲国产成人精品激情 | 欧美日韩精选 | 国产精品免费精品自在线观看 | 四虎a级欧美在线观看 | 日韩免费一区二区三区在线 | 一二三四日本手机高清视频 | 算你色永久免费视频播放 | 久久精品亚洲一区二区 | 欧美在线一区二区三区不卡 | 日韩精品在线一区 | 国产日韩在线 | 99国产精品久久久久久久成人热 | 97精品国产97久久久久久 | 亚洲欧美日韩另类在线 | 91亚洲视频 | 四虎国产精品一区二区 | 欧美色成人tv在线播放 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 狠狠操操操 | 91热久久免费频精品黑人99 | 国产黄色福利 | 久久精品国产福利国产琪琪 | 中文字幕专区高清在线观看 | 一品道一本香蕉视频 | 日本欧美大码a在线视频播放 | 亚洲孕交| 欧洲精品一区二区三区 | 欧美人欧美人与动人物性行为 | 77788色淫免费网站视频 |