專利名稱:基于大容量eeprom的軟掩膜卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種智能卡芯片,具體來說,涉及一種基于大容量EEPROM的軟掩膜卡。
背景技術(shù):
集成電路antegrated Circuit)是一種微型電子器件或部件,采用一定的工藝, 把一個(gè)電路中所需的晶體管、二極管、電阻、電容和電感等元件及布線互連一起,制作在一小塊或幾小塊半導(dǎo)體晶片或介質(zhì)基片上,然后封裝在一個(gè)管殼內(nèi),成為具有所需電路功能的微型結(jié)構(gòu)。智能卡(Smart Card)是一種內(nèi)嵌有集成電路芯片的塑料卡的通稱,按照芯片類型的不同IC卡可分為三類存儲卡、邏輯加密卡和CPU卡,只有CPU卡才算是真正意義的智能卡,智能卡(CPU卡)內(nèi)的集成電路包括中央處理器(CPU)、電可擦可編程只讀存儲器 (EEPROM)、隨機(jī)存儲器(RAM)和固化在只讀存儲器(ROM)中的卡內(nèi)操作系統(tǒng)(COS,Chip Operating System),一般采用集成有CPU、存儲器和外設(shè)的微控制器作為智能卡的總控制單元。將中央處理器(CPU)、電可擦可編程只讀存儲器(EEPROM)、隨機(jī)存儲器(RAM)和固化有操作系統(tǒng)COS (Chip Operating System)的只讀存儲器(ROM)集成在一塊或多塊硅片上,就形成了智能卡芯片。目前,對于智能卡的片內(nèi)操作系統(tǒng)C0S,一般是把系統(tǒng)程序固化到ROM中,這種程序存儲方式一般稱作“硬掩膜”,但是,這種方式使得程序的改動(dòng)不靈活,導(dǎo)致有如下不足1)使得用戶的前期調(diào)試難度增大;2)增大了用戶研發(fā)的風(fēng)險(xiǎn);幻延長了新產(chǎn)品的研發(fā)速度及增大了重新做掩膜的成本。
發(fā)明內(nèi)容
針對以上的不足,本發(fā)明提供了一種基于大容量EEPROM的軟掩膜卡,它包括存儲有Bootloader程序和COS程序的存儲器單元,以及通過數(shù)據(jù)地址總線對所述存儲器單元進(jìn)行編程和讀寫訪問的MCU單元,所述存儲器單元包括用于存儲Bootloader程序的ROM單元和用于存儲COS程序的EEPROM單元,所述Bootloader程序中設(shè)計(jì)有進(jìn)入COS程序的命令。所述Bootloader程序中設(shè)計(jì)有更新COS程序的命令。 所述EEPROM單元包括存放COS程序的EEPR0M_C單元,以及設(shè)置有Proflag標(biāo)識, 判斷是進(jìn)入COS程序還是更新COS程序的EEPR0M_D單元,如果Proflag標(biāo)識有效,則進(jìn)入更新COS模式,此模式處理讀寫器發(fā)送的寫EEPR0M_C的命令,將正常COS程序代碼寫入 EEPR0M_C, COS更新完畢后,發(fā)命令寫EEPR0M_D中的Proflag標(biāo)識無效,從而使下次復(fù)位時(shí)系統(tǒng)進(jìn)入正常COS模式;如果Proflag標(biāo)識無效,則進(jìn)入正常COS模式,此模式處理正常的 COS命令。
所述ROM單元在正常模式時(shí),ROM單元的地址線接rom_addr,使用rom_bus進(jìn)行讀程序存儲空間;編程模式時(shí),ROM單元的地址線接Xdat_addr,使用Xdat_bus的Xdat_wr_ rom進(jìn)行寫數(shù)據(jù)存儲空間,兩種模式通過SPC_FNC寄存器的WRS位進(jìn)行選擇。所述存儲器單元為片內(nèi)存儲器,它包括存儲Bootloader程序的ROM單元、存儲COS 程序的EEPROM單元和存放中間數(shù)據(jù)的IRAM單元。所述存儲器單元還包括片外存儲器,所述片外存儲器包括作為MCU的片外數(shù)據(jù)存儲器的XRAM單元;作為MCU的非易失性數(shù)據(jù)存儲器,用于存放UID、ATS序列和COS文件系統(tǒng)的擴(kuò)展 EEPROM 單元;作為MCU與外設(shè)的通信接口,用于擴(kuò)展3DES協(xié)處理和隨機(jī)數(shù)發(fā)生器的XREG單元。本發(fā)明的有益效果相對于傳統(tǒng)的“硬掩膜”芯片,本發(fā)明軟掩膜卡在產(chǎn)品研發(fā)及調(diào)試階段,能為用戶提供一種更靈活更便捷的處理方式,不但使得用戶在研發(fā)調(diào)試階段,程序的修改及完善更簡單便捷,而且降低用戶產(chǎn)品研發(fā)所承擔(dān)的風(fēng)險(xiǎn),縮短新產(chǎn)品的研發(fā)周期及降低了重復(fù)硬掩膜的成本。
圖1為本發(fā)明的基于大容量EEPROM的軟掩膜卡的架構(gòu)圖;圖2為本發(fā)明的工作流程圖;圖3為本發(fā)明的ROM單元總線切換圖;圖4為本發(fā)明的存儲器單元的空間分配示意圖;圖5為本發(fā)明的片內(nèi)存儲器單元的空間分配示意圖;圖6為本發(fā)明的片外存儲器單元的空間分配示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明進(jìn)行進(jìn)一步闡述。如圖1所示,本發(fā)明的基于大容量EEPROM的軟掩膜卡包括存儲有Bootloader程序和COS程序的存儲器單元,以及通過數(shù)據(jù)地址總線對所述存儲器單元進(jìn)行編程和讀寫訪問的MCU單元,所述存儲器單元包括用于存儲Bootloader程序的ROM單元和用于存儲COS 程序的EEPROM單元,所述Bootloader程序中設(shè)計(jì)有進(jìn)入COS程序或者更新COS程序的命令,所述EEPROM單元包括存放COS程序的EEPR0M_C單元,以及設(shè)置有Proflag標(biāo)識,判斷是進(jìn)入COS程序還是更新COS程序的EEPR0M_D單元。如圖2所示,本發(fā)明的基于大容量EEPROM的軟掩膜卡的工作流程為復(fù)位之后,系統(tǒng)進(jìn)入零地址的bootloader程序,bootloader查詢EEPR0M_D單元中的Proflag標(biāo)識是否有效1)如有效則進(jìn)入更新COS模式,此模式可處理讀寫器發(fā)送的寫EEPR0M_C單元的命令,從而將正常COS程序的16進(jìn)制代碼寫入EEPR0M_C單元,將COS更新完畢之后,可發(fā)命令寫EEPR0M_D單元中的Proflag標(biāo)識無效,從而使下次復(fù)位時(shí)系統(tǒng)進(jìn)入正常COS模式;2)如無效則進(jìn)入正常COS模式,此模式可處理正常的COS命令,如用戶需要更新 COS,則可發(fā)命令寫可發(fā)命令寫EEPR0M_D單元中的Proflag標(biāo)識有效,從而使下次復(fù)位時(shí)系統(tǒng)進(jìn)入更新COS模式。綜上,本發(fā)明相對于傳統(tǒng)的硬掩膜卡,在產(chǎn)品的研發(fā)及調(diào)試中具有明顯優(yōu)勢,雖然,軟掩膜卡需要用到大容量的EEPROM作為COS的存儲期間,在程序代碼量相同的情況下, 比硬掩膜的ROM成本相對要高,但由于用于調(diào)試的芯片數(shù)量不多,其EEPROM所帶來的額外成本是可以接受的。如圖3所示,本發(fā)明的軟掩膜卡的ROM單元?jiǎng)t可以寫,ROM單元可實(shí)現(xiàn)rom_bus和 xdat_bus的切換,當(dāng)正常模式時(shí),ROM單元的地址線接rom_addr,使用rom_bus進(jìn)行讀程序存儲空間;而編程模式時(shí),ROM單元的地址線接xdat_addr,使用xdat_bus的xdat_wr_rom 進(jìn)行寫數(shù)據(jù)存儲空間,兩種模式通過SPC_FNC寄存器的WRS位進(jìn)行選擇。與普通卡相比,本發(fā)明的設(shè)計(jì)用戶可重復(fù)地?zé)龑慍0S,從而可以很好的滿足用戶前期的調(diào)試工作,為提高產(chǎn)品的交易速度和減少COS的硬掩膜風(fēng)險(xiǎn)提供了幫助。如圖4所示,本發(fā)明的存儲器單元包括片內(nèi)存儲器和片外存儲器,片外存儲器包括程序存儲器和數(shù)據(jù)存儲器。片內(nèi)存儲器包括作為MCU的程序存儲器,存儲Bootloader程序的ROM單元;作為MCU的程序存儲器,存儲COS程序的EEPROM單元;作為MCU的數(shù)據(jù)存儲器,存放中間數(shù)據(jù)的IRAM單元。所述片外存儲器包括作為MCU的片外數(shù)據(jù)存儲器的XRAM 單元,它有兩種用途,其一同IRAM單元一樣,用于存放中間數(shù)據(jù),其二,作為MCU與DBU進(jìn)行數(shù)據(jù)通信的10緩存區(qū);作為MCU的非易失性數(shù)據(jù)存儲器,用于存放UID、ATS序列和COS文件系統(tǒng)的擴(kuò)展EEPROM單元;作為MCU與外設(shè)的通信接口,用于擴(kuò)展3DES協(xié)處理、循環(huán)冗余碼校驗(yàn)和隨機(jī)數(shù)發(fā)生器等外設(shè)模塊的XREG單元。如圖5和圖6所示,存儲器單元存儲空間分配為本發(fā)明的存儲空間結(jié)構(gòu)與MCS-51兼容,分為片內(nèi)程序存儲空間、片內(nèi)數(shù)據(jù)存儲空間和片外數(shù)據(jù)存儲空間三種,不支持片外程序存儲器空間。片內(nèi)程序存儲空間由4K的ROM單元空間和3 的EEPROM單元空間組成,其中, 小容量的ROM用于存放Bootloader程序,大容量EEPROM則用于存放COS程序。片外數(shù)據(jù)存儲空間其中,64KB的片外數(shù)據(jù)存儲空間又劃分為擴(kuò)展EEPROM單元空間、XRAM單元空間和XREG單元空間三部分,以O(shè)OOOh為起始地址的16K字節(jié)為XRAM單元空間,以4000h為起始地址的16K字節(jié)為XREG單元空間,8000h為起始地址的3 (字節(jié)為擴(kuò)展EERPOM單元空間。表格1各類存儲空間具體分配表
權(quán)利要求
1.一種基于大容量EEPROM的軟掩膜卡,它包括存儲有Bootloader程序和COS程序的存儲器單元,以及通過數(shù)據(jù)地址總線對所述存儲器單元進(jìn)行編程和讀寫訪問的MCU單元, 其特征在于,所述存儲器單元包括用于存儲Bootloader程序的ROM單元和用于存儲COS程序的EEPROM單元,所述Bootloader程序中設(shè)計(jì)有進(jìn)入COS程序的命令。
2.根據(jù)權(quán)利要求1所述的基于大容量EEPROM的軟掩膜卡,其特征在于,所述 Bootloader程序中設(shè)計(jì)有更新COS程序的命令。
3.根據(jù)權(quán)利要求2所述的基于大容量EEPROM的軟掩膜卡,其特征在于,所述EEPROM單元包括存放COS程序的EEPR0M_C單元,以及設(shè)置有Proflag標(biāo)識,判斷是進(jìn)入COS程序還是更新COS程序的EEPR0M_D單元,如果Proflag標(biāo)識有效,則進(jìn)入更新COS模式,此模式處理讀寫器發(fā)送的寫EEPR0M_C的命令,將正常COS程序代碼寫入EEPR0M_C,COS更新完畢后, 發(fā)命令寫EEPR0M_D中的Proflag標(biāo)識無效,從而使下次復(fù)位時(shí)系統(tǒng)進(jìn)入正常COS模式;如果Proflag標(biāo)識無效,則進(jìn)入正常COS模式,此模式處理正常的COS命令。
4.根據(jù)權(quán)利要求1所述的基于大容量EEPROM的軟掩膜卡,其特征在于,所述ROM單元在正常模式時(shí),ROM單元的地址線接r0m_addr,使用r0m_buS進(jìn)行讀程序存儲空間;編程模式時(shí),ROM單元的地址線接xdat_addr,使用xdat_bus的xdat_wr_rom進(jìn)行寫數(shù)據(jù)存儲空間,兩種模式通過SPC_FNC寄存器的WRS位進(jìn)行選擇。
5.根據(jù)權(quán)利要求1所述的基于大容量EEPROM的軟掩膜卡,其特征在于,所述存儲器單元為片內(nèi)存儲器,它包括存儲Bootloader程序的ROM單元、存儲COS程序的EEPROM單元和存放中間數(shù)據(jù)的IRAM單元。
6.根據(jù)權(quán)利要求5所述的基于大容量EEPROM的軟掩膜卡,其特征在于,所述存儲器單元還包括片外存儲器,所述片外存儲器包括作為MCU的片外數(shù)據(jù)存儲器的XRAM單元;作為MCU的非易失性數(shù)據(jù)存儲器,用于存放UID、ATS序列和COS文件系統(tǒng)的擴(kuò)展 EEPROM 單元;作為MCU與外設(shè)的通信接口,用于擴(kuò)展3DES協(xié)處理和隨機(jī)數(shù)發(fā)生器的XREG單元。
全文摘要
本發(fā)明公開了一種基于大容量EEPROM的軟掩膜卡,它包括存儲器單元、數(shù)據(jù)地址總線和MCU單元,存儲器單元包括片內(nèi)存儲器和片外存儲器,片內(nèi)存儲器包括存儲Bootloader程序的ROM單元;存儲COS程序的EEPROM單元;存放中間數(shù)據(jù)的IRAM單元,片外存儲器包括作為MCU的片外數(shù)據(jù)存儲器的XRAM單元;作為MCU的非易失性數(shù)據(jù)存儲器的擴(kuò)展EEPROM單元;作為MCU與外設(shè)的通信接口,用于擴(kuò)展3DES協(xié)處理和隨機(jī)數(shù)發(fā)生器等的XREG單元,EEPROM單元包括存放COS程序的EEPROM_C單元,以及設(shè)置有Proflag標(biāo)識,判斷是進(jìn)入COS程序還是更新COS程序的EEPROM_D單元,ROM單元在正常模式時(shí)其地址線接rom_addr,使用rom_bus進(jìn)行讀程序存儲空間;而編程模式時(shí),其地址線接xdat_addr,使用xdat_bus的xdat_wr_rom進(jìn)行寫數(shù)據(jù)存儲空間,兩種模式通過SPC_FNC寄存器的WRS位進(jìn)行選擇。
文檔編號G06K19/07GK102567772SQ20111043605
公開日2012年7月11日 申請日期2011年12月22日 優(yōu)先權(quán)日2011年12月22日
發(fā)明者丁一, 丁顏玉, 李偉健, 胡建國, 譚洪舟 申請人:廣州中大數(shù)碼科技有限公司