從高速微控制器系列向超高速閃存微控制器的升級 |
摘要:多種原因會促使我們把以前使用高速微控制器(DS80C310/DS80C320/DS80C323/DS8xC520)的8051設(shè)計(jì)升級到新的超高速閃存微控制器(DS89C430/DS89C450)。促使產(chǎn)品升級的原因是:更高的性能、增值服務(wù)和外設(shè)以及靈活的內(nèi)部閃存存儲器。本應(yīng)用筆記討論了兩個(gè)微控制器系列的重要差異,說明如何從高速升級到超高速器件。 概述Maxim的高速微控制器系列包括多種不同的8051微控制器,與早期的8051每機(jī)器周期12個(gè)時(shí)鐘相比,它們可以達(dá)到每機(jī)器周期4個(gè)時(shí)鐘的更高速度。有些高速微控制器完全利用外部程序存儲器,比如DS80C310;有些控制器包含內(nèi)部EPROM或ROM程序存儲器,比如DS87C520/DS83C520。這些高速器件都與現(xiàn)有的8051微控制器引腳兼容,所以在大部分情況下,更換一個(gè)快速器件并做很少的軟件調(diào)整,就可以很容易升級設(shè)計(jì)。通過同樣的方式,超高速閃存微控制器可以替換高速微控制器設(shè)計(jì)進(jìn)行升級。這些功能更強(qiáng)大的新型微控制器包括DS89C430/DS89C450,重要改進(jìn)包括:擴(kuò)展了內(nèi)部程序閃存存儲器(達(dá)到64kB),重新設(shè)計(jì)的超高速微控制器核工作在單時(shí)鐘周期指令,速度是早期8051設(shè)計(jì)的12倍。 本應(yīng)用筆記討論如何從高速微控制器升級到超高速閃存器件,介紹在升級設(shè)計(jì)時(shí)必須考慮的函數(shù)集、引腳的變動以及SFR的差異。 通用參考文獻(xiàn)下列器件的編程指南可以參考高速微控制器用戶指南(PDF,English only)。
器件的基本功能表1. 器件功能比較
器件引腳排列表2. 器件引腳的差異
器件寄存器表3. SFR映射比較
表4. SFR功能區(qū)別
單周期指令超高速DS89C430/DS89C450處理器工作在單周期指令,執(zhí)行一條指令只需一個(gè)時(shí)鐘周期,DS80C310/DS80C320/DS80C323/DS8xC520高速處理器需要四個(gè)時(shí)鐘周期完成一個(gè)機(jī)器周期,相比之下速度提高4倍。時(shí)鐘速度的不同意味著相同晶體頻率下,用DS89C430/DS89C450替代高速器件就將速度提升4倍。非易失存儲器DS80C310/DS80C320/DS80C323沒有內(nèi)部程序存儲器,需要外部存儲器存儲程序。DS8xC520改進(jìn)了存儲器方案,包含16kB的程序EPROM。從DS80C310/DS80C320/DS80C323向DS89C430/DS89C450移植時(shí),存儲在外部ROM、閃存或EPROM存儲器的應(yīng)用程序可以重新放置到超高速處理器的內(nèi)部閃存。DS89C430提供與DS89xC520相同的內(nèi)部程序存儲器(16kB),存儲在DS8xC520中的所有應(yīng)用程序都可以放入DS89C430,無需調(diào)整。對于外部程序存儲器的應(yīng)用,可以將程序裝載到DS89C450的64kB內(nèi)部閃存,只要沒有占用端口擴(kuò)展64kB的程序存儲空間。 最后,由于DS89C430/DS89C450支持標(biāo)準(zhǔn)的8051復(fù)用地址總線,必要時(shí),還可以使用外部程序存儲器。 串口裝載器雖然DS8xC520包含內(nèi)部EPROM程序存儲器,但不支持在系統(tǒng)或DS89C430/DS89C450增加了串口裝載器,從而改進(jìn)了編程過程。該功能容許程序存儲器通過一個(gè)簡單的基于ASCII的協(xié)議重新裝載程序。串口裝載器利用微控制器內(nèi)部ROM實(shí)現(xiàn),不會占用程序空間。另外,F(xiàn)CNTL和FDATA寄存器可以用于IAP,部分閃存可以在用戶控制下進(jìn)行擦除和重寫。 GPIO端口0由于DS89C430/DS89C450 (類似于DS8xC520)可以在沒有外部程序和數(shù)據(jù)存儲器的情況下工作,所以它們的8個(gè)P0口(復(fù)用總線有效時(shí)作為AD[7:0])可以用作通用I/O (GPIO)。不使用外部總線時(shí),還有一些I/O引腳可以重新定義為通用I/O:8個(gè)P2口(P2[7:0])、P3.6 (nWR)和P3.7 (nRD)引腳。但是,與P2和P3口不同,P0口采用漏極開路輸出驅(qū)動器。這意味著如果這些端口被用作輸出,它們必須接上拉電阻。如果P0口用作輸入(由外部驅(qū)動),則不需要上拉電阻。 1分頻時(shí)鐘DS89C430/DS89C450的CKMOD寄存器增加了系統(tǒng)時(shí)鐘直接驅(qū)動三個(gè)定時(shí)器(定時(shí)器0、定時(shí)器1和定時(shí)器2)的功能(與標(biāo)準(zhǔn)的4分頻和12分頻選項(xiàng)不同)。這一高速選擇模式(由T0MH、T1MH和T2MH位控制)在復(fù)位后默認(rèn)為禁用狀態(tài),保證定時(shí)器與DS80C310/DS80C320/DS80C323/DS8xC520程序兼容。晶振倍頻器DS89C430/SD89C450包含一個(gè)片內(nèi)晶振倍頻器,可以使晶振頻率提高2倍或4倍。這意味著一個(gè)5MHz的晶體可以根據(jù)需要產(chǎn)生5MHz、10MHz或20MHz的時(shí)鐘。5級中斷優(yōu)先級DS89C430/DS89C450擴(kuò)展了可編程中斷優(yōu)先級方案,能夠?yàn)槿我馔獠恐袛?、定時(shí)器中斷、串口中斷或看門狗中斷指定一個(gè)用戶定義的從0(最低)到3(最高非電源故障優(yōu)先級)的中斷等級。最高優(yōu)先級等級4保留給電源故障中斷。這個(gè)系統(tǒng)與DS80C310/DS80C320/DS80C323/DS8xC520使用的低/高可編程優(yōu)先級方案向后兼容。關(guān)于電源的考慮DS89C430/DS89C450提升了處理能力,與高速微控制器相比具有更高的電源電流需求。在最大晶振頻率工作條件下,DS89C430/DS89C450消耗110mA (75mA典型值)的電源電流。因此,升級到DS89C430/DS89C450時(shí),由于功耗增大,可能需要為高速設(shè)計(jì)更改電源電路,更多細(xì)節(jié)請參考器件的數(shù)據(jù)資料。對數(shù)字噪聲的考慮超高速閃存控制器的性能提升源于核的重新設(shè)計(jì),它降低了機(jī)器周期并顯著增加了內(nèi)部開關(guān)速度。由于這個(gè)原因,在用超高速閃存微控制器直接替代高速微控制器時(shí),系統(tǒng)設(shè)計(jì)師可以看到數(shù)字噪聲略有增加。這時(shí),設(shè)計(jì)師應(yīng)該查明設(shè)計(jì)中影響性能提升的因素。有些情況下,有必要給微控制器增加額外的旁路電容,或運(yùn)用其它濾波手段降低數(shù)字噪聲。軟件定時(shí)循環(huán)當(dāng)從高速微控制器升級到超高速器件時(shí),利用軟件循環(huán)產(chǎn)生精確定時(shí)的應(yīng)用程序可能需要調(diào)整。升級到DS89C430/DS89C450后,由于并非所有指令的執(zhí)行速度提高4倍,這種類型的定時(shí)循環(huán)必須逐一檢查。例如,在所有高速微控制器上, |
評論