新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > MC8051單片機IP核的FPGA實現與應用

        MC8051單片機IP核的FPGA實現與應用

        作者: 時間:2009-04-01 來源:網絡 收藏

        2.3.5 并行I/O端口
        為了便于IC設計,805l 的I/0口不提供復用功能,包括4個8位輸入輸出口、串行接口、計數器輸入端和擴展存儲器接口。如果要想將。 的并行I/O端口改為雙向I/0端口,設計時可以添加一些外圍邏輯電路來實現。其基本電路結構如圖5所示。圖中的2個D觸發器起同步輸入信號的作用(mc805l_core的輸入I/O不做同步處理),也可以不用。上拉電阻是必要的,因為I/0端口輸出高電平是靠上拉電阻實現的。

        2.4 其他說明
        (1)MC 的定時器和串口波特率的計算與標準8051一樣,由系統時鐘經12倍分頻獲得計數時鐘。
        (2)外部中斷信號是經兩級寄存器做同步處理后輸入的。
        (3)MC805l_core的輸入I/0不做同步處理,必要時可自行添加,如圖5所示。
        (4)寫應用程序時,I/O端口如果沒有做成雙向端口,而是輸入和輸出分開的,應特別注意諸如Pl=一P1、P1^O=P1^0這樣的I/0取反操作是無效的,因為讀回的值不是I/O寄存器的值,而是輸入引腳的狀態。

        3 MC8051的RTL封裝
        利用綜合工具Synplify Pro軟件實現對MC8051核的RTL封裝,從而生成最終所需的MC8051 IP核(.vqm文件)。
        3.1 MC8051存儲模塊生成
        MC8051中所需的存儲模塊:內部RAM、擴展RAM和ROM。其中內部RAM和ROM是必要的,內部RAM固定為128字節,ROM最大可選64 K字節,鑒于片上RAM資源有限,這里選用4 K字節(可根據需要修改);擴展RAM是可選,最大也可以達到64 K字節,這里選用2 K字節。
        由于采用Altera公司的來實現,所以可以利用Al―tera公司的集成開發環境Quartus II來創建ROM、RAM模塊。在具體的實現中,可根據不同廠家的器件,用廠家提供的工具來生成ROM和RAM,或者采用HDL描述實現。
        3.2 MC8051 IP核RTL封裝
        由于用的MC8051 IP核源代碼頂層設計文件中的存儲模塊(RAM、ROM)是仿真時使用的,實際應用設計時,必須改成實際應用中用到的RAM、ROM模塊(也就是前面生成的RAM、ROM模塊)。
        (1)打開源代碼中的mc805l_p.vhd程序包文件,將原文件中的RAM(包括內部RAM、擴展RAM)、ROM元件例化語句全部替換成實際應用設計的程序代碼;
        (2)打開源代碼中的mc805l_top_stru.vhd文件,將原文件中的RAM(包括內部RAM、擴展RAM)ROM元件端口映射語句全部修改成應用設計的端口映射。因為實際應用中RAM、ROM的容量與MC8051核中存儲器容量不一致及控制信號的差異,需要修改實際應用中RAM、ROM的地址線及控制信號線的端口映射。
        (3)新建Synplify Pro工程,將修改后的MC8051 IP核的VHDL文件添加到工程中。選擇綜合的目標FPGA器件,設置相關綜合參數,生成MC8051 IP核的RTL封裝文件.vqm,其綜合后的RTL圖如圖6所示。

        (4)因為VHDL文件編譯是有順序的,所以在向SynplifyPro工程添加VHDL源代碼文件時,應注意的是:首先添加MC805l_p.vhd文件,然后添加其他文件,最后添加mc805l_top_.vhd和mc8051_top_strut.vhd文件。注意文件名后為_cfg.vhd的配置文件可以不添加到工程中,前面生成的RAM、ROM源代碼文件也不必添加到工程里面。
        (5)綜合編譯成功后,需要檢查頂層設計是否正確,這時可通過RTL圖來檢查。在RTL圖中可看到MC8051 IP核的頂層結構圖。在RTL圖中主要檢查ROM、RAM模塊的連線是否正確,是否符合實際應用設計。

        4 MC8051 IP核應用構建
        采用Ahera公司的FPGA實現,可以利用Ahera公司的集成開發環境0uartus II構建實際應用系統。
        4.1 MC8051硬件系統構建
        在QuartusⅡ中新建應用工程,創建頂層圖形設計文件并保存。
        (1)將MC8051 IP核進行RTL封裝時用Quartus II創建的RAM、ROM模塊文件添加到工程中;
        (2)在工程中調用FPGA自帶的PLL數字鎖相環模塊,將目標系統板上的時鐘調整到MC805l IP核的應用時鐘頻率。MC805l IP核經Quartus II綜合編譯后,查看時序分析報告,其最高運行頻率為18.96 MHz(每次編譯都可能不同,I/0分配不同結果可能不同),因此系統時鐘不能超過時序報告的時鐘最高頻率(即fmax)。可以選擇18 MHz,利用PLL對目標系統板上的時鐘進行分頻;
        (3)將Synplifyr Pro綜合生成的RTL封裝文件.vqm拷貝到Quartus II工程文件目錄下,并添加到工程中。然后再將添加.vqm文件生成MC8051_top.bsf圖形文件;
        (4)打開創建的應用設計頂層圖形設計文件,將前面生成的PLL模塊、MC8051_top模塊添加到頂層設計文件中。添加輸入/輸出引腳,并對引腳命名,連接引腳與各模塊.設置相關編譯參數。生成FPGA的配置文件*.sof。其實際應用系統頂層原理圖如圖7所示。

        可將并行I/O端口設計成雙向I/O端口,以節約FPGA的引腳資源,其方法參見圖5。根據實際應用的需要,利用FPGA剩余的資源,添加其他邏輯模塊,與MC8051 core模塊、PLL模塊一起構成應用系統。這里只討論MC8051 IP核的FPGA實現。
        4.2 MC8051應用程序創建
        在MC8051應用系統建立后,根據具體應用編寫應用程序。可以是C語言程序,也可以是匯編語言程序。MC8051的應用程序與標準的8051應用程序完全兼容,可以采用熟悉的開發工具進行應用程序的編寫。在編寫完成、仿真調試通過后,利用編譯工具編譯生成.hex文件,供固化ROM使用。
        4.3 MC8051實際應用系統實現
        將生成的.hex應用程序文件拷貝到Quartus II工程文件目錄下,替代原創建ROM存儲器模塊時使用的初始化.hex文件。然后重新編譯Quarius II工程生成FPGA的配置文件.sof,將應用程序代碼嵌入(同化)到ROM中。最后利用Quartus II的Programmer將FPGA的配置文件.sof下載到FPGA或EPCS中,實現MC8051的實際應用系統。

        5 結語
        本文在分析了MC805lIP Core的結構原理,設計層次,內核各組成模塊及參數設置的基礎上,詳細論述了MC8051 IP核的FPGA實現與應用的實際設計步驟。試驗驗證,根據需求修改后的MC8051 IP核,能很好滿足對8051MCU的應用需求,而且其性能比標準8051 MCU高,系統集成度也比采用標準8051 MCU構成的應用系統高。因此,MC8051 IP核在基于可編程邏輯和MCU的應用領域中具有廣泛的應用前景。


        上一頁 1 2 3 下一頁

        關鍵詞: 8051 FPGA MC IP核

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玉环县| 黔西| 手机| 湖南省| 衡山县| 灵丘县| 合江县| 房山区| 扶绥县| 凤冈县| 红桥区| 双辽市| 萝北县| 邓州市| 广州市| 潢川县| 建阳市| 株洲市| 广德县| 洞头县| 霍州市| 镇宁| 习水县| 武汉市| 虞城县| 海兴县| 遂宁市| 明水县| 时尚| 会泽县| 兰考县| 克什克腾旗| 固始县| 富蕴县| 南雄市| 乌什县| 河曲县| 耒阳市| 玉林市| 台南市| 古交市|