新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用ATmega32單片機對FPGA進行配置

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

        作者: 時間:2013-12-12 來源:網絡 收藏

        配置文件

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

        軟件設計

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

        采用ATmega32單片機對FPGA進行配置
        圖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用下載線下載到單片機中。

        結論

        以上方案可適用于3.3V和5V系統的,無須擴展EEPROM,還能實現多任務配置。


        上一頁 1 2 下一頁

        關鍵詞: ATmega32 單片機 FPGA配置

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 克拉玛依市| 景泰县| 芜湖县| 鸡西市| 呼和浩特市| 平遥县| 日喀则市| 南陵县| 平塘县| 外汇| 江西省| 陆河县| 青海省| 佛山市| 肥乡县| 彩票| 江西省| 寿光市| 东平县| 奉新县| 宜阳县| 壤塘县| 聊城市| 凌海市| 临沧市| 潮安县| 乌海市| 宁安市| 昆明市| 乐安县| 锡林郭勒盟| 措美县| 蛟河市| 三穗县| 辽宁省| 株洲县| 蓬安县| 乳源| 赤峰市| 扶余县| 德州市|