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

采用AVR單片機對FPGA進行配置

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

ATmega系列單片機

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

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

圖1  硬件原理框圖

配置方式

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

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

圖2  被動串行配置時序圖

配置文件

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

軟件設計

使用單片機對FPGA的設計關鍵是軟件設計。在雙任務配置中,兩個任務的配置數據分別存放于不同起始地址的連續存儲器區域中。單片機上電復位后,進入按鍵查詢狀態,檢測到按鍵按下后,單片機從相應起始地址中讀出數據并對FPGA進行配置。配置過程按照PS方式的時序要求進行,配置完成后重新進入按鍵查詢狀態。控制程序流程圖如圖3所示。

圖3  控制程序流程圖

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

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

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

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

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

結論

以上方案可適用于3.3V和5V系統的FPGA配置,無須擴展EEPROM,還能實現多任務配置。
本文地址:http://m.qingdxww.cn/thread-12843-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用模擬開發工具生態系統進行安全電路設計
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: h成年同人动漫在线观看网站 | 亚洲91精品麻豆国产系列在线 | 精品卡一卡2卡三卡免费 | 成在线人免费视频一区二区三区 | 亚洲天堂自拍 | 夜鲁夜鲁夜鲁在线观看福利 | 欧美高清视频一区 | 欧美激情一区二区三区不卡 | 韩国理论片妈妈的朋友 | 99视频网址| 天天影视亚洲 | 亚洲一区二区三区免费观看 | 在线港台四级 | 欧美成人三级一区二区在线观看 | 99精品国产兔费观看66 | 91综合国产 | 老子影院午夜理伦手机不卡 | 亚洲国产成人99精品激情在线 | 淫综合网 | 国产在线欧美精品 | 国产天天色| 在线观看成年美女黄网色视频 | 久久鸭综合久久国产 | 五月婷婷视频在线观看 | 国产欧美成人免费观看 | 中文字幕免费观看视频 | 日本一区二区三区国产 | 精品72久久久久久久中文字幕 | 国产毛片不卡 | 精品国产一区二区三区2021 | 欧美精品在线看 | 黑人精品 | 亚洲日韩成人 | 欧美成人高清手机在线视频 | 国产精品欧美一区二区三区 | 成人激情综合 | 久久国内免费视频 | 久久免费99精品久久久久久 | 999国产精品999久久久久久 | 一区二区三区视频在线播放 | 中文字幕在线日韩 |