微處理器的內(nèi)核
基于8051內(nèi)核的CISC微控制器迄今為止,MCS-51已成為8位機(jī)中運(yùn)行最慢的系列?,F(xiàn)在Dallas推出的DS89C430系列產(chǎn)品在保持與80C51引腳和指令集兼容的基礎(chǔ)上,每個(gè)機(jī)器周期僅為一個(gè)時(shí)鐘,實(shí)現(xiàn)了8051系列的最高吞吐率。一般而言,對(duì)于現(xiàn)有的基于8051的應(yīng)用軟件可以直接寫(xiě)入DS89C430而無(wú)需進(jìn)行更改。除此之外,DS89C430還在許多其他方面引入了新的功能,從而為具體應(yīng)用提供了更多靈活性。下面介紹DS89C430不同于8051的功能和特點(diǎn)。
片內(nèi)程序存儲(chǔ)器及應(yīng)用片內(nèi)程序存儲(chǔ)器邏輯上分為成對(duì)的8 KB、16 KB或32 KB閃存單元,以支持在應(yīng)用編程。這允許器件在應(yīng)用軟件的控制下修改程序存儲(chǔ)器,應(yīng)用系統(tǒng)能夠在執(zhí)行其主要功能的情況下,完成在線軟件升級(jí)。DS89C430集成了64 B加密陣列,允許用戶以加密形式查看數(shù)據(jù),進(jìn)行程序代碼校驗(yàn)。器件支持通過(guò)RS-232串口實(shí)現(xiàn)在系統(tǒng)編程。在系統(tǒng)編程通過(guò)將器件的一個(gè)或多個(gè)外部引腳設(shè)置為某特定狀態(tài)來(lái)激活引導(dǎo)加載程序。器件啟動(dòng)后,開(kāi)始執(zhí)行駐留于器件內(nèi)部專用ROM的加載程序。一旦收到一個(gè)回車符號(hào),串口就執(zhí)行自動(dòng)波特率功能,并與主機(jī)的波特率同步。
簡(jiǎn)單的引導(dǎo)加載程序接口允許使用幾種方法來(lái)實(shí)現(xiàn)PC機(jī)與目標(biāo)微控制器間的通信。最簡(jiǎn)單的方法是使用Dallas的微控制器工具包(MTK)軟件.它具有高度前端特征,簡(jiǎn)化了目標(biāo)配置,上傳、下載代碼以及特殊功能配置等任務(wù)操作。雙數(shù)據(jù)指針8051微控制器是通過(guò)MOVX指令來(lái)訪問(wèn)片外數(shù)據(jù)空間的,用MOVX@DPTR指令可訪問(wèn)整個(gè)64 KB的片外數(shù)據(jù)存儲(chǔ)器。傳統(tǒng)的8051只有一個(gè)數(shù)據(jù)指針DPTR,要將數(shù)據(jù)從一個(gè)地址移到另一個(gè)地址非常麻煩。DS89C430則具備雙數(shù)據(jù)指針DPTR0和DPTRl,因此軟件可以使用一個(gè)指針裝載源地址,另一個(gè)指針裝載目的地址。DPTR0的SFR地址與805l相同(82H和83H),因此使用該指針時(shí)源代碼無(wú)需更改,DPTRl位于84H和85H地址。所有與數(shù)據(jù)指針相關(guān)的操作都使用活動(dòng)數(shù)據(jù)指針,活動(dòng)指針通過(guò)控制位SEL選擇。每個(gè)指針還各有一個(gè)控制位,決定INCDPTR操作是遞增還是遞減數(shù)據(jù)指針值。在拷貝數(shù)據(jù)塊時(shí),與使用單數(shù)據(jù)指針相比,雙數(shù)據(jù)指針可以節(jié)省大量代碼。
用戶通過(guò)轉(zhuǎn)換SEL位來(lái)轉(zhuǎn)換活動(dòng)數(shù)據(jù)指針,其中一種方法可通過(guò)執(zhí)行INCDPS指令來(lái)實(shí)現(xiàn)。對(duì)于這些大的數(shù)據(jù)塊拷貝,用戶必須頻繁執(zhí)行該指令來(lái)轉(zhuǎn)換DPTR0和DPTRl。為了在節(jié)省代碼的同時(shí)提高運(yùn)行速度和效率,DS89C430又包含了一個(gè)轉(zhuǎn)換選擇位 (TSL),來(lái)確定執(zhí)行MOVX指令時(shí)硬件是否自動(dòng)轉(zhuǎn)換SEL位,這樣就可以省去INCDPS指令并進(jìn)一步提高運(yùn)行速度。大的數(shù)據(jù)塊拷貝需要源指針和目的指針逐字節(jié)尋址數(shù)據(jù)空間,傳統(tǒng)的方法是通過(guò)使用INCDPTR指令來(lái)增加數(shù)據(jù)指針。為了進(jìn)一步提高數(shù)據(jù)傳輸速率,引入了自動(dòng)增減控制位(AID),用以確定執(zhí)行MOVX指令時(shí),是否會(huì)自動(dòng)增減活動(dòng)指針值。表l為各種情況下DS80C320和DS89C430進(jìn)行64B數(shù)據(jù)塊傳輸時(shí)的速度比較。從表l中可以看出,采用雙數(shù)據(jù)指針后運(yùn)行速度得到極大提高。電源管理和時(shí)鐘分頻控制CMOS電路的功耗主要由兩部分組成:連續(xù)漏電流造成的靜態(tài)功耗以及對(duì)負(fù)載電容進(jìn)行充放電所需的轉(zhuǎn)換開(kāi)關(guān)電流造成的動(dòng)態(tài)功耗。
其中,動(dòng)態(tài)功耗是總體功耗的主要部分,該功耗(PD)可以通過(guò)負(fù)載電容(CL)、電源電壓(VDD)和工作頻率(f)進(jìn)行計(jì)算,即:PD=CL×VDD2×f。對(duì)于某具體應(yīng)用,電容和電源電壓相對(duì)固定,而處理器的處理速度在不同時(shí)刻可能是不同的,因此工作頻率可以根據(jù)不同需要進(jìn)行調(diào)整,從而在不影響系統(tǒng)性能的前提下達(dá)到降低功耗的要求。DS89C430支持三種低功耗節(jié)電模式。①系統(tǒng)時(shí)鐘分頻控制:允許微控制器使用內(nèi)部分頻的時(shí)鐘源繼續(xù)工作,以節(jié)省功耗。通過(guò)軟件設(shè)置時(shí)鐘分頻控制位,設(shè)置工作速率為每機(jī)器周期1024個(gè)振蕩器周期.②空閑模式:以靜態(tài)方式保持程序計(jì)數(shù)器,并掛起處理器。在此模式中,處理器不取指令也不執(zhí)行指令。除了外圍接口時(shí)鐘保持為活動(dòng)狀態(tài)以及定時(shí)器、看門(mén)狗、串口和電源監(jiān)視功能仍然工作外,所有的資源均保存。處理器能夠使用允許的中斷源退出空閑模式。③停機(jī)模式:禁止處理器內(nèi)部的所有電路。所有片內(nèi)時(shí)鐘、定時(shí)器和串口通信都停止運(yùn)行,處理器不執(zhí)行任何指令。通過(guò)使用六個(gè)外部中斷中的任何一個(gè),處理器都能夠退出停機(jī)模式。