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