新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 嵌入式DS80C320單片機(jī)軟核設(shè)計(jì)

        嵌入式DS80C320單片機(jī)軟核設(shè)計(jì)

        作者: 時(shí)間:2009-04-01 來源:網(wǎng)絡(luò) 收藏

        3.4 雙向P端口的模擬
        這里主要是P0和P2雙向端口的模擬;對(duì)于典型的單片機(jī),其P端口一般都是雙向的,但是對(duì)于FPGA設(shè)計(jì)來說,以現(xiàn)在的芯片結(jié)構(gòu),在FPGA芯片里面實(shí)現(xiàn)真正的雙向是不可能的,因此,作為軟核來說,雙向的模擬就一定要處理好;
        常用的解決辦法有這么幾種:一種是直接將雙向端口改成兩個(gè)單向的端口,這樣對(duì)于軟核來說使用更加方便,本設(shè)計(jì)也提供了這種方式供選擇,但是這樣就與標(biāo)準(zhǔn)的單片機(jī)不相同了,因此,本設(shè)計(jì)也提供了一種模擬的雙向口,根據(jù)FPGA設(shè)計(jì)的特點(diǎn),改變信號(hào)線的方向必須有個(gè)切換的過程,這樣就只好仔細(xì)的來分析指令時(shí)序,看看能不能在P端口使用的間隙來處理這個(gè)切換過程;
        首先是分析指令是否需要使用P端口,比較重要的控制信號(hào)有譯碼器發(fā)送的RD_LATCH信號(hào),用來區(qū)分指令是否需要使用P端口,還有來自于CPU_CON的控制總線信息,用來告知P端口需要完成的具體功能;如果需要使用P端口的復(fù)用功能,則由相關(guān)的需要使用P端口的模塊(如串行口模塊)發(fā)送請(qǐng)求指令;
        然后P端口分析所有的使用請(qǐng)求,根據(jù)不同的使用方式來安排不同的使用情況;如果需要雙向切換,則根據(jù)時(shí)序以及指令特點(diǎn)來處理,從而順利完成雙向的切換過程;
        4 綜合與驗(yàn)證
        使用Altera公司的Quartus II 4.2軟件來綜合,使用Nios Development Board,Cyclone Edit開發(fā)板來進(jìn)行板上驗(yàn)證;綜合結(jié)果如下:

        本文引用地址:http://www.104case.com/article/192101.htm

        其中,前一個(gè)版本是沒有內(nèi)部串行口的版本;時(shí)序仿真驗(yàn)證的結(jié)果表明,在上述頻率下該系統(tǒng)可以穩(wěn)定的工作;理論上換算成8051的主頻為:83*2.5=207.5M,這基本上可以適應(yīng)絕大部分需要單片機(jī)控制的場合了;
        仿真測(cè)試主要使用了modelsim SE5.8以及quartus4.2的VWF文件測(cè)試;
        板上波形觀測(cè)主要使用Agilent公司的 1673G 邏輯分析儀;同時(shí)充分利用了開發(fā)板的資源進(jìn)行了大量的系統(tǒng)級(jí)測(cè)試;
        將程序下載到芯片里面,使用邏輯分析觀測(cè)到部分指令的執(zhí)行波形為:

        這是一條中斷返回指令的波形圖,指令代碼為32H,主要觀測(cè)PC的變化,PC在這條指令之后從3FH又變化為中斷發(fā)生前的地址25H;
        5 結(jié)束語
        本設(shè)計(jì)具有速度快,可裁減,具有良好的可重用性和可移植性,完全兼容80單片機(jī)接口,以及方便使用等優(yōu)點(diǎn)。尤其是專門構(gòu)造的內(nèi)部框架以及時(shí)序分配,使得其高速性能在目前的51系列軟核里面基本上是最前列的。因此,可以很方便的應(yīng)用于需要單片機(jī)軟核的FPGA設(shè)計(jì)以及嵌入式系統(tǒng)設(shè)計(jì)之中。


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: C320 320 80C DS

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 泌阳县| 新兴县| 嘉禾县| 定远县| 九台市| 阿勒泰市| 灵川县| 元朗区| 昌乐县| 毕节市| 肇东市| 三亚市| 固原市| 临泉县| 筠连县| 延川县| 深州市| 四平市| 泽州县| 二连浩特市| 延庆县| 博客| 银川市| 望谟县| 南岸区| 沁阳市| 睢宁县| 石楼县| 嘉义县| 兴仁县| 磴口县| 乃东县| 赤壁市| 高邑县| 武夷山市| 延边| 苏尼特右旗| 萨迦县| 关岭| 澎湖县| 射阳县|