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

其中,前一個(gè)版本是沒(méi)有內部串行口的版本;時(shí)序仿真驗證的結果表明,在上述頻率下該系統可以穩定的工作;理論上換算成8051的主頻為:83*2.5=207.5M,這基本上可以適應絕大部分需要單片機控制的場(chǎng)合了;
仿真測試主要使用了modelsim SE5.8以及quartus4.2的VWF文件測試;
板上波形觀(guān)測主要使用Agilent公司的 1673G 邏輯分析儀;同時(shí)充分利用了開(kāi)發(fā)板的資源進(jìn)行了大量的系統級測試;
將程序下載到芯片里面,使用邏輯分析觀(guān)測到部分指令的執行波形為:
這是一條中斷返回指令的波形圖,指令代碼為32H,主要觀(guān)測PC的變化,PC在這條指令之后從3FH又變化為中斷發(fā)生前的地址25H;
5 結束語(yǔ)
本設計具有速度快,可裁減,具有良好的可重用性和可移植性,完全兼容DS80C320單片機接口,以及方便使用等優(yōu)點(diǎn)。尤其是專(zhuān)門(mén)構造的內部框架以及時(shí)序分配,使得其高速性能在目前的51系列軟核里面基本上是最前列的。因此,可以很方便的應用于需要單片機軟核的FPGA設計以及嵌入式系統設計之中。
評論