專利名稱:一種微控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體集成電路設(shè)計領(lǐng)域,尤其涉及一種微控制器(MCU, Micro Control Unit )。
背景技術(shù):
如圖1所示為現(xiàn)有技術(shù)微控制器結(jié)構(gòu)示意圖,微控制器6包括中央 處理單元(Central Processing Unit,簡稱)1、外設(shè)2、靜態(tài)隨機(jī)存儲 器(Static Random Access Memory,簡稱)3、電可擦寫可編程只讀存儲 器(Electrically Erasable Programmable Read Only,簡稱EEPROM) 4 以及閃速存儲器(FlashMemory) 5, CPU1分別與外設(shè)2、 SRAML EEPROM4 以及Flash存儲器5連接,其中SRAM3和EEPR0M4均用于存儲CPU1輸入 的數(shù)據(jù),不同之處在于SRAM3具有掉電易失性,即存儲在SRAM3中的數(shù)據(jù) 掉電后就不存在,而EEPR0M4為非易失存儲器,存儲在EEPROM4中的數(shù)據(jù) 即使掉電后仍然存在,所以EEPR0M4通常被用來存儲重要數(shù)據(jù);Flash存 儲器5用于存儲用戶程序;外設(shè)2包括時鐘、中斷模塊、模式轉(zhuǎn)換模塊、 串行接口等。
圖1所示的微控制器中需要三個存儲器SRAM、 EEPROM以及Flash存 儲器來分別存儲臨時數(shù)據(jù)、重要數(shù)據(jù)、用戶程序,增加了微控制器結(jié)構(gòu)的 復(fù)雜性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種微控制器,該微控制 器可以在Flash存儲器中實現(xiàn)EEPROM的功能。本發(fā)明提供了一種微控制器,包括包括中央處理單元、外設(shè)、靜態(tài)隨
機(jī)存儲器、電可擦寫可編程只讀存儲器以及閃速存儲器,所述閃速存儲器 中設(shè)有用戶程序存儲單元,所述閃速存儲器中還設(shè)有應(yīng)用編程單元,與所 述中央處理單元通過應(yīng)用編程接口連接,用于存儲用戶數(shù)據(jù)。
本發(fā)明提供的微控制器通過在閃速存儲器中設(shè)置具有應(yīng)用編程功能的應(yīng)
該應(yīng)用編程單元中存儲的數(shù)據(jù)掉電不丟失,實現(xiàn)了在閃速存儲器中實現(xiàn)電可 擦寫可編程只讀存儲器的功能。
下面通過具體實施例并結(jié)合附圖對本發(fā)明做進(jìn)一步的詳細(xì)描述。
圖1所示為現(xiàn)有技術(shù)微控制器結(jié)構(gòu)示意圖2所示為本發(fā)明微控制器實施例一結(jié)構(gòu)示意圖3所示為本發(fā)明微控制器實施例二結(jié)構(gòu)示意圖。
具體實施例方式
圖2所示為本發(fā)明微控制器實施例一結(jié)構(gòu)示意圖,本實施例微控制器包 括CPU1、外設(shè)2、 SRAM3、應(yīng)用編程(In Application Programming,簡稱 IAP)接口7、 Flash存儲器8,其中Flash存儲器8中包括用戶程序單元 82和IAP單元81, CPU分別與IAP接口 7、外設(shè)2、 SR雄3以及Flash存儲區(qū) 中的用戶程序單元82連接,IAP接口 7與Flash存儲器8中的IAP單元Sl 連接,以上所述CPU1與外設(shè)2、 SRAM3、 IAP接口 7以及用戶程序單元82之 間的連接以及IAP接口 7與Flash存儲區(qū)8中的IAP單元81之間的連接均為 總線連接。
其中IAP接口 7具體包括數(shù)據(jù)寄存器71、控制寄存器"、地址寄存器 73、命令寄存器74以及數(shù)據(jù)處理單元75,數(shù)據(jù)寄存器71、控制寄存器72、地址寄存器73、命令寄存器74分別與CPU1以及數(shù)據(jù)處理單元75相連,數(shù) 據(jù)處理單元75與IAP單元81連接。
本實施例微控制器的工作原理為應(yīng)用編程(IAP)是指微控制器可以在 系統(tǒng)內(nèi)部獲取新代碼并進(jìn)行重新編程,具體到本實施例,本實施例中的Flash 存儲器8中開設(shè)有用戶程序單元82和IAP單元81,其中IAP單元81用于存 儲用戶的重要數(shù)據(jù),由于Flash存儲器8具有掉電不丟失的功能,所以IAP 單元81中存儲的數(shù)據(jù)可以實現(xiàn)掉電不丟失,用戶程序可以從IAP單元調(diào)用需 要的數(shù)據(jù),IAP單元在Flash存儲器中的空間地址由微控制器制造商設(shè)定, 用戶通過向這些地址進(jìn)行讀、寫、擦除來實現(xiàn)IAP功能。具體地,用戶程序 通過對一些特殊寄存器的操作來完成對IAP單元的讀、寫、擦除等,CPU1中 的數(shù)據(jù)存儲到IAP接口 7中的數(shù)據(jù)寄存器71中,CPU1將預(yù)存;^丈該數(shù)據(jù)的IAP 單元81的地址數(shù)據(jù)寫入IAP接口 7中的地址寄存器73,當(dāng)用戶需要對Flash 存儲器8中的IAP單元81進(jìn)行操作時,CPU1向IAP接口 7中的控制寄存器 72中寫入控制數(shù)據(jù),命令寄存器75用于存放命令指令,例如讀指令、寫指 令、擦除指令等,數(shù)據(jù)處理單元75將從數(shù)據(jù)寄存器71、控制寄存器"、地 址寄存器73以及命令寄存器74接收的數(shù)據(jù)進(jìn)行處理后將用戶需要存儲的數(shù) 據(jù)存儲到用戶指定的IAP單元82中的地址空間中。
下面以具體的實例來說明如何對UP單元進(jìn)行讀、寫、擦除操作。
1、 對IAP單元進(jìn)行讀操作的實例如下
Mov DPH,#21H; IAP單元地址高字節(jié),DPH地址83H
Mov DPL,#00H ; IAP單元地址低字節(jié),DPL地址8AH
Mov A, #Q0H ;初始化偏移量,A地址EOH
Move A, M+DPTR ; IAP單元將地址2100H單元中的數(shù)據(jù)存儲在A
;DPH, DPL共同構(gòu)成DPTR 以上程序中將IAP單元中地址2100H中的數(shù)據(jù)存儲在存儲器A中。
2、 對IAP單元進(jìn)行寫操作的實例如下MovFCMD,#IAP—W—EEPR0M;命令寄存器中存入寫IAP單元指令
MovFADH,#21H;;IAP單元地址寄存器高字節(jié)寫入21H
MovFADL,#00H;;IAP單元地址寄存器低字節(jié)寫入00H
MovFDAT,#19H;;將待寫數(shù)據(jù)放入數(shù)據(jù)寄存器
MovFCON,#50H;;控制寄存器中寫入特定數(shù)據(jù)
MovFCON,#A0H;;控制寄存器中寫入特定數(shù)據(jù)
;以上兩條指令觸發(fā)寫操作,防止對
;IAP單元的誤:操作
MovFCMD,#00H;解除寫指令
以上程序中FCMD為命令寄存器的助記符,F(xiàn)ADH為地址寄存器的高八位 助記符,F(xiàn)ADL為地址寄存器的低八位助記符,F(xiàn)DAT為數(shù)據(jù)寄存器助記符,F(xiàn)CON 為控制寄存器助記符。以上的程序可以實現(xiàn)將待寫入的數(shù)據(jù)19H寫入IAP單 元中的2100H地址中。
3、對IAP單元進(jìn)行擦除的實例如下
MovFCMD,#IAP_E—EEPROM;命令寄存器存入擦除IAP單元指令
MovFADH,#20H;IAP單元地址寄存器高字節(jié)寫入20H
MovFADL,綱H;IAP單元地址寄存器低字節(jié)寫入OOH
MovFCON,#50H;IAP單元控制寄存器寫入特定數(shù)據(jù)
MovFCON,#AOH;IAP單元控制寄存器寫入特定數(shù)據(jù)
;以上兩條指令觸發(fā)寫操作,防止對
;IAP單元的誤操作
MovFCMD,#00H;解除擦除操作指令
以上的程序可以實現(xiàn)將IAP單元中的2000H地址空間存儲的數(shù)據(jù)擦除。 本實施例中的微控制器與現(xiàn)有技術(shù)中的微控制器相比實質(zhì)上是在Flash 存儲器中設(shè)置了 IAP單元,該IAP單元的功能等同于現(xiàn)有技術(shù)中EEPROM的功 能,與現(xiàn)有技術(shù)相比,本實施例中的微控制器無需單獨設(shè)置一個EEPROM存儲器,簡化了微控制結(jié)構(gòu)。
圖3所示為本發(fā)明微控制器實施例二結(jié)構(gòu)示意圖,與圖2所示微控制器 相比,本實施例中的微控制器的Flash存儲器中還設(shè)置有系統(tǒng)編程(In System Program,簡稱ISP)單元83, CPU1通過ISP接口 9與Flash存儲器 8中的ISP單元83相連接。在系統(tǒng)編程(ISP)指電路板上的微控制器可以 編程寫入最終用戶代碼,而不需要將微控制器從電路板上取下來,已經(jīng)編程 的微控制器也可以用ISP的方式擦除或再編程。本實施例中,用戶可以通過 ISP接口 9將用戶程序?qū)懭隝SP單元83, ISP單元83中有用戶引導(dǎo)程序,可 以將用戶程序存儲到Flash存儲器8中的用戶程序單元82中,ISP接口 9可 以是通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter, 簡稱UART)。
最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其 限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù) 人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或 者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技
術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1、一種微控制器,包括中央處理單元、外設(shè)、靜態(tài)隨機(jī)存儲器、電可擦寫可編程只讀存儲器以及閃速存儲器,所述閃速存儲器中設(shè)有用戶程序存儲單元,其特征在于,所述閃速存儲器中還設(shè)有應(yīng)用編程單元,與所述中央處理單元通過應(yīng)用編程接口連接,用于存儲用戶數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的微控制器,其特征在于,所述應(yīng)用編程接 口包括數(shù)據(jù)寄存器,與所述中央處理單元相連,用于接收所述中央處理單元 輸入的數(shù)據(jù);控制寄存器,與所述中央處理單元相連,用于接收所述中央處理單元 輸入的控制數(shù)據(jù);地址寄存器,與所述中央處理單元相連,用于接收所述中央處理單元 輸入的地址數(shù)據(jù);命令寄存器,與所述中央處理單元相連,用于接收所述中央處理單元 輸入的命令程序;數(shù)據(jù)處理單元,分別與所述數(shù)據(jù)寄存器、控制寄存器、地址寄存器、 命令寄存器以及應(yīng)用編程單元連接,用于將從所述數(shù)據(jù)寄存器、控制寄存 器、地址寄存器以及命令寄存器接收的數(shù)據(jù)進(jìn)行處理后將用戶欲存儲的數(shù) 據(jù)存儲到應(yīng)用編程單元中用戶指定的地址空間。
3、 根據(jù)權(quán)利要求1或2所述的微控制器,其特征在于,所述閃速存儲器 中還包括系統(tǒng)編程單元,通過系統(tǒng)編程接口與所述中央處理單元連接。
4、 根據(jù)權(quán)利要求3所述的微控制器,其特征在于,所述系統(tǒng)編程接口為 通用異步收發(fā)器。
全文摘要
本發(fā)明涉及一種微控制器,包括中央處理單元、外設(shè)、靜態(tài)隨機(jī)存儲器、電可擦寫可編程只讀存儲器以及閃速存儲器,所述閃速存儲器中設(shè)有用戶程序存儲單元,所述閃速存儲器中還設(shè)有應(yīng)用編程單元,與所述中央處理單元通過應(yīng)用編程接口連接,用于存儲用戶數(shù)據(jù)。本發(fā)明提供的微控制器實現(xiàn)了在閃速存儲器中實現(xiàn)電可擦寫可編程只讀存儲器的功能。
文檔編號G05B19/04GK101458500SQ20071017234
公開日2009年6月17日 申請日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者陳立權(quán) 申請人:上海海爾集成電路有限公司