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

其中,前一個(gè)版本是沒有內(nèi)部串行口的版本;時(shí)序仿真驗(yàn)證的結(jié)果表明,在上述頻率下該系統(tǒng)可以穩(wěn)定的工作;理論上換算成8051的主頻為:83*2.5=207.5M,這基本上可以適應(yīng)絕大部分需要單片機(jī)控制的場(chǎng)合了;
仿真測(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é)束語(yǔ)
本設(shè)計(jì)具有速度快,可裁減,具有良好的可重用性和可移植性,完全兼容DS80C320單片機(jī)接口,以及方便使用等優(yōu)點(diǎn)。尤其是專門構(gòu)造的內(nèi)部框架以及時(shí)序分配,使得其高速性能在目前的51系列軟核里面基本上是最前列的。因此,可以很方便的應(yīng)用于需要單片機(jī)軟核的FPGA設(shè)計(jì)以及嵌入式系統(tǒng)設(shè)計(jì)之中。
評(píng)論