X86改變了處理器的設計?,F(xiàn)在INTEL又將這一技術應用于16位微控制器80196系列之中,并開發(fā)了新一代的單片機80296SA.它結合了 80196的基本結果以及一個具有指令流水線的RISC技術,并經過重新設計和產生而成。該器件在許多方面有重大改進,因而使它在性能上更加適合于嵌入式測控系統(tǒng)的應用。
1 性能特點
80296SA是在80196結構的基礎上重新設計的,因此,它的指令系統(tǒng)與早期的MCS96系列單片機二進制代碼兼容,并在其基礎上有所增加。其管腳與 80196NP和80196NU的管腳兼容。它的四段指令流水線能在同一時刻分別完成四條指令的取指、譯碼、讀——運行以及運行——寫操作。因而大大提高了指令的運行效率。它的時鐘頻率可以高達50MHz。80296還包括一個鎖相環(huán)電路(PLL)。因此,外部時鐘能以最大的內部時鐘頻率的1/2或1/4 輸入來驅動器件。當運行頻率為50MHz時,可以通過管腳選擇25MHz或12.5MHz晶體來連接。80296SA的運行速度是標準的80196的5 倍,是80196NU的2倍。
80296SA內含一個512字節(jié)的內部寄存器存儲區(qū),分為高、低兩個區(qū)域,各占256個字節(jié)。低端的0H到17H地址區(qū)為特殊功能寄存器(SFR)。低端寄存器區(qū)可以使用指令對其直接尋址,高端寄存器區(qū)則需要使用間接尋址方式。當然,通過使用窗口寄存器方式尋址,可將高端寄存器區(qū)映象到低端寄存器區(qū)的一些相應位置,因而也可以對其直接尋址。通過改變窗口可以使設計者快捷方便地進行編程。
80296SA還有一個內部的2k字節(jié)的代碼/數(shù)據(jù)SRAM。它的地址映象在F800H-FFFFH區(qū)域。這些RAM用于存放時間性高的代碼,例如中斷服務子程序。也可存放時間性強的數(shù)據(jù),如嵌入數(shù)字信號處理的數(shù)據(jù)表格、堆?;蛑袛嘞蛄勘淼取K奶攸c是處于器件內部,不必對數(shù)據(jù)和地址總線訪問,存取速度快。設計者可以根據(jù)需要決定它的用途。這個存儲器區(qū)也可以使用窗口寄存器方式將部分地址映象到低端寄存器存儲區(qū)進行直接訪問。
窗口是80196系列特有的一項工藝。它用來擴展那些被寄存器直接尋址方式存取的寄存器的數(shù)據(jù)。直接尋址能夠使用短的、快速的指令訪問低端寄存器區(qū)。有了窗口,直接尋址也可以訪問高端寄存器和外圍接口SFR。80296SA使用80196已有的窗口選擇寄存器WSR選擇窗口,另外還增加了一個窗口選擇寄存器WSR1,這使得編程更加靈活。
80296SA的外圍接口包括一個事件處理陣列(EPA)(用于從事與兩個帶有4個捕捉/比較通道的定時器計數(shù)據(jù)器TIME1和TIME2相聯(lián)系的I/O 功能)、三個通道PWM信號發(fā)生器(高達193kH在、一個帶有波特率發(fā)生器的SIO串行接口以及6個片選的存儲器控制器。外圍接口SFR是I/O的控制寄存器,地址在1F00H~1FFFH,可以設置為窗口。80296SA還包括一個總線出讓電路,允許一個外部器件對總線控制。另外,80296SA還有一個中斷控制器。設計者既能象早期MCS96中斷一樣編程控制,也可按中斷優(yōu)先權排列編程控制。中斷向量表分為低區(qū)(FF2000H~FF2007H)和高區(qū)(FF2030H~FF203FH)兩個區(qū)域,用來存放中斷服務程序的首地址。
[!--empirenews.page--]
80296SA的外部存儲器接口是由20位地址線、16位的數(shù)據(jù)總線及6個片選組成。數(shù)據(jù)總線可通過編程設置為8位/16位寬度,等待狀態(tài)為0到15。每一個片選最大可尋址范圍為1M字節(jié)??梢允褂?0196擴展的指令(如ELD,EST,EJMP,ECALL等)對大于64k的存儲空間進行操作。因此, 80296SA具有6M字節(jié)連續(xù)的程序/數(shù)據(jù)存儲器。地地空間為000000H~FFFFFFH,程序代碼運行開始地址為FF2080H。
80296SA采用100腳QFP封裝,它的管腳與80C196NU和80C196NP管腳兼容。
2 數(shù)字信號處理(DSP)
80296SA與早期的80196系列產品的最大區(qū)別在于它更適合于數(shù)字信號處理(DSP)方面的應用。數(shù)字信號處理(DSP)是一種使用數(shù)學算法去分析研究和解決復雜的數(shù)字信號信息的方法。FIR濾波器設計是一個基本的處理算法,與其相關的運算包含大量的循環(huán)和乘/累加運算。80296SA重新設計的結構恰好適應了這些特性,它能很好地完成高達12.5MIPS的DSP內部循環(huán)操作以及乘/累加(MAC)操作。80296SA有一個40位的累加器,這是80296SA特有的,可用于存放乘/累加(MAC)運算的32位結果。另外,增加了3對索引寄存器(IDX0,IDX1,ICB0,ICB1,ICX0,ICX1)以及一個硬件循環(huán)計數(shù)器。充分使用這些資源,再加上合適的軟件算法可以精確地完成DSP運算功能,并使80296SA能夠快捷地查詢和修改數(shù)據(jù)表中的數(shù)據(jù)。INTEL 的工程師根據(jù)DSP運算的需要為它的指令系統(tǒng)增加了17條指令,這些增加的指令的操作符及功能如表1所列,利用這些指令可以有效地支持一個40位的累加器、硬件循環(huán)控制以及80ns乘/累加(MAC)的自動指針遞增/遞減。其中,乘/累加指令二進制操作代碼與乘法指令MUL、MULU相同,差別在于它們目標碼的最低4位。
3 典型應用
近年來,隨著工業(yè)測控系統(tǒng)的不斷發(fā)展,越來越多的精密控制器被應用到工業(yè)企業(yè)中以代替?zhèn)鹘y(tǒng)的控制方式。這就需要使用高性能的單片機80296SA,圖1為一個電力系統(tǒng)監(jiān)控裝置的CPU板方框圖。它的時鐘輸入頻率為112.5MHz,將80296SA的PLLEN1和PLLEN2兩個管腳接地可將器件設置為四倍頻,這樣,其運行速度將達50Mz。片選CS0選通2片F(xiàn)LASH存儲器AMD29F040-70,尋址范圍為512k字空間,設置為一個等待狀態(tài)。起始地址F00000H用于存放用戶程序;片選CS1選通2片HM628512-50,尋址512k字空間,設置為一個等待狀態(tài)。起始地地000000H 用來存放數(shù)據(jù),如果要使數(shù)據(jù)在掉電時不丟失,可使用后備電池及切換回路為HM628512供電;如果存儲器存取時間小于35ns,則無需等待。這樣可提高主機的效率,但是器件價格將有較大提高。其他片選可用于選擇I/O及A/D口。