嵌入式DS80C320單片機軟核設計
1 引言
在如今的快速嵌入式系統(tǒng)設計中,目前比較流行的方案是在FPGA內(nèi)集成應用軟件或是軟IP平臺,以簡化工序、加速產(chǎn)品面市日程。為此,很多公司推出了自己的開發(fā)平臺以及相關CPU的IP核,常見的為兩種:一種是通用型CPU,如xilinx和altera公司的32位以及64位通用CPU核;還有就是專用型的,常見的為51系列單片機的CPU核,但是目前關于單片機的軟核基本上都是8051的,其他的品種很少。而且8051的速度不是很快,在有些快速的控制場合(如利用單片機來作為usb2.0的控制部件)顯得速度不足,比較著名的actel公司推出的Core8051,運行頻率也只在40 MHz左右。本文介紹了一個非常高速DS80C320單片機軟核的設計。
DS80C320單片機是DALLAS公司推出的一款基于51框架的高性能單片機。
它有如下一些優(yōu)點:
。具有與51系列完全一致的指令系統(tǒng),能充分兼容所有基于51系列開發(fā)的程序;
,具有比8051更加齊全的外設。相比8051單片機,DS80C320增加了定時器2以及一個增強型串口等;
#具有比8051更好的效率;DS80C320的一個指令周期是4個CLK,8051則是12個,這個區(qū)別尤其是在處理簡單指令的時候優(yōu)勢明顯,例如單周期指令的處理,DS80C320只需要4個CLK,而8051需要12個,據(jù)DALLAS公司的統(tǒng)計表明,在相同時鐘頻率下,DS80C320每條指令的執(zhí)行速度是8051的1.5~3倍,對于典型的應用程序來說,執(zhí)行速度也是8051的2.5倍左右。
ぃ其讀取指令的方式比8051更加適合IP核的特點;將單片機內(nèi)部ROM去掉,完全從外部讀取指令,這種特點作為軟核是很適合的,首先是結(jié)構簡單,有利于指令讀取的流水設計,其次可以突破內(nèi)部ROM大小的限制,最后,作為FPGA設計的特點,即使8051的設計,內(nèi)部ROM塊也是放在FPGA芯片的ROM資源里面,與其這樣,還不如直接放到外面更加簡化時序與結(jié)構;
2 總體結(jié)構劃分
如圖所示為DS80C320軟核的總體功能圖:
本IP核的設計主要按照指令執(zhí)行的流程來安排功能塊,并通過數(shù)據(jù)總線來傳遞數(shù)據(jù);虛線里面的為CPU核心;首先是ROM模塊,DS80C320并沒有內(nèi)部ROM,所以該模塊功能主要是分析從P端口讀取過來的指令,并通過查找指令的長度以及周期數(shù)目,從而計算出相關控制信號發(fā)送給CPU控制模塊以便控制指令的讀取;同時,如果指令為LCALL或者ACALL,則可以分析出子程序入口地址并報送PC模塊,引導PC正確跳轉(zhuǎn);在ROM模塊分析指令的同時,譯碼器DECODER也在進行譯碼的動作,它將根據(jù)指令的8位數(shù)據(jù)分析出三個重要的參數(shù):ALU的動作類型,該指令的操作數(shù)據(jù)來源以及讀取方式,該指令結(jié)果的存放位置以及存放方式;第一個參數(shù)送給ALU模塊,其余兩個送到CPU控制模塊;CPU控制模塊CPU_CON是整個CPU的核心部分,主要完成兩個作用:ALU執(zhí)行前的讀取數(shù)據(jù)控制,以及ALU執(zhí)行完成之后回寫數(shù)據(jù)控制;該模塊同時也控制著整個CPU的時序,監(jiān)視其他模塊的執(zhí)行情況;ALU則主要是完成計算工作;INTER模塊則是中斷系統(tǒng)的控制模塊,其功能主要完成對各個中斷源所提交的中斷請求的有效判斷以及排序,產(chǎn)生中斷標志并且將判斷結(jié)果以及中斷入口地址編碼提交給ROM模塊,以指示程序跳轉(zhuǎn),同時還需要負責在中斷完成之后清除中斷標志以及恢復中斷之前的中斷等級; DS80C320有三個定時器和2個串行口,其中定時器2和串行口如果不需要的話可以裁減;至于其他的模塊或者寄存器則在CPU控制模塊的控制下通過數(shù)據(jù)總線交換數(shù)據(jù);
可見,本設計的思路是以CPU_CON控制整個CPU的執(zhí)行以及時序,以INTER控制整個中斷系統(tǒng),其他寄存器則以數(shù)據(jù)總線來完成數(shù)據(jù)的交換,均勻的分布在數(shù)據(jù)總線的兩側(cè),結(jié)構清晰簡單,規(guī)則化的設計也有利于提高速度,以及方便裁減。
3 一些設計特點
評論