亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種8位兼容c51指令集微控制器的制作方法

文檔序號(hào):6561160閱讀:205來(lái)源:國(guó)知局
專利名稱:一種8位兼容c51指令集微控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及半導(dǎo)體集成電賴4殳計(jì)領(lǐng)域,尤其涉及一種孩i控制器(MCU, Micro Control Uni t X
背景技術(shù)
51單片機(jī)是常用的微控制器,是目前市場(chǎng)上使用的最廣泛的單片機(jī)之 一,其因?yàn)橹噶詈?jiǎn)單明晰,功能強(qiáng)大,使用范圍極廣,在不同的生產(chǎn),控制 領(lǐng)域有著極其廣泛的應(yīng)用。
傳統(tǒng)51單片機(jī)的機(jī)器周期為12個(gè)時(shí)鐘周期,運(yùn)行頻率低,指令執(zhí)行速 度慢;同時(shí)外設(shè)模塊少,存儲(chǔ)器不可被反復(fù)擦除,無(wú)系統(tǒng)編程(ISP, In system Program)模式,應(yīng)用編程(IAP, In application Program)模式,不可在 線調(diào)試。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出一種8位兼容C51指令集微控制器,至少包括算 術(shù)邏輯部件,算術(shù)邏輯選擇,8x8比特乘法/除法器,內(nèi)部數(shù)據(jù)存儲(chǔ)器,寄存
器接口,特殊功能寄存器,執(zhí)行指令/直接寄存器,指令狀態(tài)機(jī),中斷控制 器,指令解碼器,程序存儲(chǔ)器單元,定時(shí)器/計(jì)數(shù)器,外部端口,兩個(gè)串行接口,所述定時(shí)器/計(jì)數(shù)器包括3個(gè)16位定時(shí)器,1個(gè)16位的看門狗定時(shí)器;其中,程序存儲(chǔ)器單元用于存儲(chǔ)在微控制器上運(yùn)行的程序,將程序從程 序存儲(chǔ)器單元讀出后,在指令狀態(tài)機(jī)的控制下,送到指令解碼器中進(jìn)行解碼, 解碼完畢后,經(jīng)過(guò)執(zhí)行指令/直接寄存器,特殊功能寄存器的控制,再經(jīng)過(guò)算 術(shù)邏輯選擇模塊的選擇,送入到算術(shù)邏輯部件模塊中進(jìn)行運(yùn)算,運(yùn)算后的結(jié) 果將送到內(nèi)部數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器中,寄存器接口模塊和內(nèi)部數(shù)據(jù) 存儲(chǔ)器相互交互控制;8x8比特乘法/除法器用于對(duì)特殊功能寄存器和內(nèi)部數(shù)據(jù)存儲(chǔ)器需要的 乘法除法做專用運(yùn)算,所述定時(shí)器/計(jì)數(shù)器模塊,用于對(duì)微控制器內(nèi)部精確 設(shè)定時(shí)間的控制;指令狀態(tài)機(jī)由時(shí)鐘控制模塊驅(qū)動(dòng),中斷控制器由外部中斷源驅(qū)動(dòng),串行 端口由串行輸入接口驅(qū)動(dòng),與外部端口連接,外部端口引出輸出輸入端口線, 組成輸入輸出端口。微控制器還包括外部特殊寄存器、外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,所述 的外部特殊寄存器用于存儲(chǔ)用戶擴(kuò)展的特殊寄存器,所述的外部數(shù)據(jù)存儲(chǔ)器 用于存儲(chǔ)微控制器內(nèi)核產(chǎn)生的需要外部存儲(chǔ)的數(shù)據(jù),所述的程序存儲(chǔ)器用于 存儲(chǔ)程序。外部端口模塊包括四組8位的標(biāo)準(zhǔn)輸入輸出端口和一個(gè)4位的輸入輸出 端口??撮T狗定時(shí)器在芯片進(jìn)入到異常故障的時(shí)候復(fù)位微控制器芯片,使其重 新工作,看門狗定時(shí)器需要軟件在一定的間隔內(nèi)復(fù)位其控制位,但是當(dāng)微控 制器芯片進(jìn)入到調(diào)試模式的時(shí)候,看門狗電路停止工作,不會(huì)定期復(fù)位微控 制器芯片,所以在調(diào)試模式的時(shí)候不用刷新看門狗定時(shí)器的控制位。中斷控制器模塊的中斷源包括12個(gè)中斷,分別為不可屏蔽中斷NMI,外 部中斷0,時(shí)鐘0中斷,外部中斷1,時(shí)鐘1中斷,全雙工異步串4亍通訊UART 中斷,時(shí)鐘2中斷,外部中斷2,外部中斷3,全雙工異步串行通訊UART2 中斷,外部中斷4,外部中斷5。12個(gè)中斷中的不可屏蔽NMI中斷的優(yōu)先級(jí)最高,其中看門狗定時(shí)器的預(yù) 警信號(hào)、程序存儲(chǔ)器的讀寫錯(cuò)誤都會(huì)引發(fā)不可屏蔽畫I中斷。不同的中斷觸 發(fā)類型可通過(guò)相應(yīng)的中斷狀態(tài)標(biāo)志位監(jiān)測(cè),每一種中斷都由其使能控制位使 其使能或者禁止。中斷分為兩種模式,在這兩種中斷模式下,都可以通過(guò)中斷使能寄存器 的設(shè)置屏蔽掉所有除NMI之外的中斷。中斷模式一為中斷事件信號(hào)發(fā)生后, 設(shè)置中斷狀態(tài)標(biāo)記,此刻中斷被標(biāo)記成一個(gè)未決的中斷,當(dāng)相應(yīng)的中斷源被 允許中斷的時(shí)候,此中斷才會(huì)對(duì)CPU內(nèi)核有效,當(dāng)中斷被響應(yīng)后,硬件會(huì)自 動(dòng)將中斷清零,CPU中的時(shí)鐘0中斷,時(shí)鐘1中斷,外部中斷0,外部中斷1 的中斷狀態(tài)標(biāo)志位為TFO, TF1, IEO, IE1,此四位都在中斷控制寄存器里, 如果中斷被響應(yīng),此四個(gè)標(biāo)志位就會(huì)被清零,如果中斷沒有被響應(yīng),就需要 用軟件的方式將其清零,URAT在串行控制寄存器里的兩個(gè)狀態(tài)標(biāo)志位RI和 TI即使中斷被響應(yīng)后也不會(huì)被硬件清零,必須通過(guò)軟件的形式將其清零。中 斷模式二為中斷狀態(tài)標(biāo)志和未決的中斷請(qǐng)求是相互獨(dú)立的,時(shí)鐘2引發(fā)的 中斷會(huì)設(shè)置相應(yīng)的中斷狀態(tài)標(biāo)志位,只要本中斷結(jié)點(diǎn)開放,就會(huì)引發(fā)CPU的 中斷,當(dāng)本中斷被響應(yīng)后,未決的中斷信號(hào)就會(huì)被硬件清零,而中斷標(biāo)志位 仍然需要軟件的方式將其清零。微控制器的工作方式可設(shè)置為正常工作模式,空閑模式,掉電模式三種,
在空閑模式下,只有外圍模塊和微控制器狀態(tài)機(jī)的驅(qū)動(dòng)時(shí)鐘工作,CPU核的
驅(qū)動(dòng)時(shí)鐘停止工作,在掉電模式下所有模塊的時(shí)鐘都停止工作。
微控制器還包括時(shí)鐘控制模塊,其時(shí)鐘為內(nèi)部阻容振蕩時(shí)鐘RC或外部 高精度振蕩時(shí)鐘。
微控制器還包括在線調(diào)試仿真器模塊,系統(tǒng)編程ISP模塊和應(yīng)用編程 IAP模塊,所述在線調(diào)試仿真器模塊實(shí)現(xiàn)在線調(diào)試仿真功能,所述系統(tǒng)編程 ISP模塊實(shí)現(xiàn)系統(tǒng)編程功能,所述應(yīng)用編程IAP模塊實(shí)現(xiàn)應(yīng)用編程功能。在 線調(diào)試模塊嵌入于微控制器內(nèi)部,該模塊通過(guò)一套專有的調(diào)試指令集操縱調(diào) 試模塊所有功能,通過(guò)實(shí)時(shí)方式監(jiān)測(cè)微控制器內(nèi)部各個(gè)數(shù)據(jù)總線和地址總 線,操控微控制器內(nèi)部狀態(tài),實(shí)現(xiàn)對(duì)程序儲(chǔ)存器,內(nèi)部數(shù)據(jù)儲(chǔ)存器,外部數(shù) 據(jù)儲(chǔ)存器,特殊功能寄存器的監(jiān)控操作,可以設(shè)置4個(gè)硬件觸發(fā)斷點(diǎn)。ISP 模式可以通過(guò)微控制器上的UART接口和外部電腦主機(jī)通訊,下載程序到程 序存儲(chǔ)器中,實(shí)現(xiàn)程序的快速燒寫。
程序存儲(chǔ)器單元為16k的flash存儲(chǔ)器,前8k的地址用來(lái)存儲(chǔ)用戶應(yīng) 用程序,中間6k為數(shù)據(jù)存儲(chǔ)器,最后2k用來(lái)存放系統(tǒng)編程ISP的引導(dǎo)服務(wù) 程序,8k存儲(chǔ)器的最低端存放中斷和復(fù)位向量,中斷向量從0x03開始,所 述內(nèi)部數(shù)據(jù)存儲(chǔ)器為256字節(jié)的靜態(tài)存儲(chǔ)器。
Flash存儲(chǔ)器有加密功能,可以防止用戶源代碼的泄漏或者誤操作引起 的Flash內(nèi)存儲(chǔ)的源程序被改動(dòng)或者擦除,當(dāng)Flash處在加密狀態(tài)的時(shí)候, MOVC指令被禁止執(zhí)行,存儲(chǔ)在Flash中的數(shù)據(jù)不能被讀出,除了 ERASE_CHIP 和PROGRAM-SEC指令外,所有的ISP命令都#1禁止掉,所有的外部主機(jī)命令 也都被禁止執(zhí)行。Flash存儲(chǔ)器使用兩位安全加密位SB1和SB2,這兩位可 以通過(guò)ISP或者外部主機(jī)模式進(jìn)行編程,無(wú)論在什么安全級(jí)別下,此兩位安
全加密位都可以被編程, 一旦被編程后,此過(guò)程將不可逆轉(zhuǎn),除非將Flash 存儲(chǔ)器上所有的數(shù)據(jù)全部擦除才能進(jìn)行再次編程。安全加密位的狀態(tài)可通過(guò)讀取特殊功能寄存器中的安全加密狀態(tài)寄存 器得知。安全級(jí)別分為3種第一種,不加密當(dāng)整片芯片被^"除后,安全 加密位處于沒有被編程的狀態(tài),所有的加密功能都沒有開放,M0VC和所有的 外部主機(jī),ISP指令都可以運(yùn)行;第二種,加密FLASH存儲(chǔ)器^皮鎖住,M0VC 指令被禁止,除了 CHIP-ERASE指令外所有的ISP命令都被禁止,除了 ERASE—CHIP和PROGRAM—SEC指令外,所有的外部主機(jī)命令都被禁止;第三種, 特別加密除了所有和第二種加密的特性之外,使能信號(hào)也被禁止,所有的 程序都從內(nèi)部存儲(chǔ)器運(yùn)行。本發(fā)明的微控制器在內(nèi)部指令運(yùn)行時(shí),每個(gè)機(jī)器周期所用的時(shí)鐘周期由 原來(lái)的12個(gè)時(shí)鐘周期提升到2個(gè)時(shí)鐘周期,可以達(dá)到傳統(tǒng)51單片機(jī)6倍的 指令運(yùn)行速度,大幅度降低運(yùn)行功耗,運(yùn)行穩(wěn)定,性能優(yōu)異,外設(shè)模塊齊全, 性能高,穩(wěn)定性高,功耗低,兼容51指令集,可廣泛應(yīng)用在工業(yè)控制領(lǐng)域。


圖l是本發(fā)明的內(nèi)部結(jié)構(gòu)2是本發(fā)明的Flash存儲(chǔ)器的功能地址劃分結(jié)構(gòu)3是本發(fā)明的Flash加密結(jié)構(gòu)4是本發(fā)明的ISP模式引導(dǎo)程序流程圖具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。如圖1所示是本發(fā)明的內(nèi)部結(jié)構(gòu)圖,本發(fā)明為新型的8位兼容C51指令 集微控制器,微控制器內(nèi)部模塊包括8比特高速算術(shù)邏輯部件(ALU, Arithmetic Logical Unit)模塊15,算術(shù)邏輯選擇模塊14, 8x8比特乘法/ 除法器16,內(nèi)部數(shù)據(jù)存儲(chǔ)器7及寄存器接口模塊8,特殊功能寄存器(SFR, Special Function Register) 9,執(zhí)行指令/直接寄存器模塊10,指令狀態(tài) 機(jī)ll,中斷控制器模塊12,指令解碼器17,程序存儲(chǔ)器模塊18,定時(shí)器/ 計(jì)數(shù)器模塊19,外部端口模塊20,微控制器外部模塊包括兩個(gè)串行接口 (UART, Universal Asynchronous Receiver/Transmitter)模塊13, 3個(gè) 16位定時(shí)器,1個(gè)16位的看門狗定時(shí)器(WDT, Watch Dog Timer )。程序存儲(chǔ)器單元18用于存儲(chǔ)在微控制器上運(yùn)行的程序存儲(chǔ),程序存儲(chǔ) 器單元18在指令狀態(tài)機(jī)11的控制下逐條讀取程序,將程序從程序存儲(chǔ)器單 元18讀出后,在指令狀態(tài)機(jī)ll的控制下,將其送到指令解碼器17,指令解 碼后將控制數(shù)據(jù)的流動(dòng),操作特殊功能寄存器9,執(zhí)行指令/直接寄存器10 等,將其數(shù)據(jù)輸出到算術(shù)邏輯選擇14,算術(shù)邏輯選擇通過(guò)的數(shù)據(jù),將其送入 到算術(shù)邏輯部件15中進(jìn)行運(yùn)算,需要乘除運(yùn)算的數(shù)據(jù)送入到乘法器/除法器 16中進(jìn)行運(yùn)算。經(jīng)算術(shù)邏輯部件運(yùn)算過(guò)的結(jié)果保存到內(nèi)部數(shù)據(jù)存儲(chǔ)器7和特 殊功能寄存器9中,圖中l(wèi)為外部特殊寄存器,用來(lái)存儲(chǔ)用戶擴(kuò)展的特殊寄 存器,圖中2為外部數(shù)據(jù)存儲(chǔ)器,用來(lái)存儲(chǔ)微控制器內(nèi)核產(chǎn)生的需要外部存 儲(chǔ)的數(shù)據(jù)。時(shí)鐘控制模塊4用于產(chǎn)生微控制器所需要的各種時(shí)鐘信號(hào),控制 微控制器的有效運(yùn)行,中斷控制器12用于管理中斷源5所產(chǎn)生的各種中斷 信號(hào),外部端口 20為微控制器和外部信號(hào)交互的輸入輸出端口。寄存器接 口單元8和內(nèi)部數(shù)據(jù)存儲(chǔ)器7,外部特殊寄存器1交互控制。
指令狀態(tài)機(jī)11由時(shí)鐘控制模塊4所引出的時(shí)鐘線路來(lái)驅(qū)動(dòng),中斷控制 器12由中斷源5觸發(fā)驅(qū)動(dòng)。串行接口 13由串行輸入接口 6驅(qū)動(dòng),連接外部 端口 20。乘法/除法器單元16,用于對(duì)特殊功能寄存器和內(nèi)部數(shù)據(jù)存儲(chǔ)器需 要的乘法除法做專用運(yùn)算,提升微控制器的運(yùn)算速度,定時(shí)器/計(jì)數(shù)器單元 19,用于對(duì)微控制器內(nèi)部精確設(shè)定時(shí)間的控制。如圖1中21所示,外部端 口 20包括0到3四個(gè)8位的標(biāo)準(zhǔn)輸入輸出端口 ,分別為0端口 , 1端口 , 2 端口, 3端口,還包括一個(gè)4位的輸入輸出端口。當(dāng)出現(xiàn)異常故障時(shí),看門狗定時(shí)器WDT能復(fù)位微控制器,避免其限于死 循環(huán)狀態(tài)??撮T狗定時(shí)器需軟件在一定的間隔內(nèi)復(fù)位其控制位,但是當(dāng)進(jìn)入 調(diào)試模式時(shí),WDT停止工作,故處于調(diào)試模式時(shí)不需刷新WDT。本微控制器有l(wèi)2個(gè)中斷,分別為不可屏蔽中斷(NMI, non-maskable Interrupt ),外部中斷0,時(shí)鐘0中斷,外部中斷1,時(shí)鐘1中斷,UART中斷, 時(shí)鐘2中斷,外部中斷2,外部中斷3, UART2中斷,外部中斷4,外部中斷5。 中斷優(yōu)先級(jí)可以設(shè)置為2/4級(jí)。12個(gè)中斷中包括一個(gè)NMI, NMI的中斷優(yōu)先級(jí) 最高,其中WDT的預(yù)警信號(hào)、FLASH操作完成、發(fā)生F1ASH ECC錯(cuò)誤都會(huì)引發(fā) 腿中斷。其余的中斷由在外圍模塊或者外部觸發(fā)引起中斷,不同的中斷觸發(fā)類型 可以在相應(yīng)的中斷狀態(tài)標(biāo)志位上監(jiān)測(cè)出來(lái)。每一種中斷都由其使能控制位使其使能或者禁止。本微控制器的中斷分為兩種模式,在這兩種中斷模式下,可以通過(guò)使能 信號(hào)的設(shè)置屏蔽除固I之外的其他中斷。這些中斷模式的實(shí)現(xiàn)方式都是通過(guò) 中斷控制器來(lái)完成的。中斷模式一特征如圖1中所列出的中斷源5中的中斷事件信號(hào)發(fā)生后, 會(huì)設(shè)置中斷狀態(tài)標(biāo)記,此刻中斷被標(biāo)記成一個(gè)未決的中斷,當(dāng)相應(yīng)的中斷源被特殊功能寄存器9允許中斷的時(shí)候,此中斷才會(huì)對(duì)CPU內(nèi)核有效。當(dāng)中斷 被響應(yīng)后,硬件會(huì)自動(dòng)將中斷清零。CPU中的時(shí)鐘O中斷,時(shí)鐘1中斷,外部 中斷0,外部中斷1的中斷狀態(tài)標(biāo)志位為TFO, TF1, IEO, IE1。此四位都在 TCON特殊寄存器里,如果中斷被響應(yīng),此四個(gè)標(biāo)志位就會(huì)被清零,如果中斷 沒有被響應(yīng),就需要用軟件的方式將其清零。URAT在SCON寄存器里的兩個(gè)狀 態(tài)標(biāo)志位RI和TI即使中斷被響應(yīng)后也不會(huì)被硬件清零,必須通過(guò)軟件的形 式將其清零。中斷模式二特征中斷狀態(tài)標(biāo)志和未決的中斷請(qǐng)求是相互獨(dú)立的。在時(shí) 鐘2的中斷中應(yīng)用到了本結(jié)構(gòu)。時(shí)鐘2引發(fā)的中斷會(huì)設(shè)置相應(yīng)的中斷狀態(tài)標(biāo) 志位,只要本中斷結(jié)點(diǎn)開放,就會(huì)引發(fā)CPU的中斷,當(dāng)本中斷被響應(yīng)后,未 決的中斷信號(hào)就會(huì)被硬件清零,而中斷標(biāo)志位仍然需要軟件的方式將其清零。本微控制器的存儲(chǔ)器分三部分內(nèi)部數(shù)據(jù)存儲(chǔ)器,程序存儲(chǔ)器,外部?jī)?chǔ) 存器。其中程序存儲(chǔ)器為16k的flash存儲(chǔ)器。內(nèi)部數(shù)據(jù)存儲(chǔ)器為256字節(jié)的 靜態(tài)存儲(chǔ)器(SRAM, Static Random Access Memory )。本控制器為雙數(shù)據(jù)指針,數(shù)據(jù)的讀、寫各占用一指針,可同步實(shí)現(xiàn)數(shù)據(jù) 讀寫,有效地提高指令的讀寫效率。本微控制器的工作方式可設(shè)置為正常工作模式,空閑模式,掉電模式三 種。在空閑模式下,只有外圍模塊和微控制器狀態(tài)機(jī)的驅(qū)動(dòng)時(shí)鐘工作,可節(jié) 省約70%的能量,在掉電模式下所有模塊的時(shí)鐘都停止工作,節(jié)省能量為 100% 。本微控制器的時(shí)鐘可選擇內(nèi)部阻容振蕩時(shí)鐘(RC, Resistance Capacitance Oscillator)和外部高精度振蕩時(shí)鐘,RC時(shí)鐘的頻率易受溫 度等外部條件的影響,所以用在對(duì)頻率要求精度不高的情況下,外部晶振的 精度很高,但需要外接電路,這些都是由時(shí)鐘控制模塊4控制的。本微控制器包括還包括在線調(diào)試仿真器(ICE, In-circuit Emulator) 才莫塊,系統(tǒng)編程(ISP,In system Program)才莫塊和應(yīng)用編程(IAP, In application Program)模塊,實(shí)i見ICE線上調(diào)試,ISP和IAP功能。在線調(diào)試模塊嵌入于微控制器內(nèi)部,該模塊通過(guò)一套專有的調(diào)試指令集 來(lái)操縱完成調(diào)試模塊所有功能,整個(gè)模塊嵌入于微控制器內(nèi)部,通過(guò)實(shí)時(shí)方 式監(jiān)測(cè)微控制器內(nèi)部各個(gè)數(shù)據(jù)總線和地址總線,操控微控制器內(nèi)部狀態(tài),實(shí) 現(xiàn)對(duì)程序儲(chǔ)存器,內(nèi)部數(shù)據(jù)儲(chǔ)存器,外部數(shù)據(jù)儲(chǔ)存器,特殊功能寄存器的監(jiān) 控操作,可以設(shè)置4個(gè)硬件觸發(fā)斷點(diǎn)。ISP模式可以通過(guò)微控制器上的UART接口和外部主機(jī)通訊,下載程序到 Flash存儲(chǔ)器中,實(shí)現(xiàn)程序的快速燒寫。本微控制器的程序存儲(chǔ)器模塊為Flash存儲(chǔ)器有加密功能,可以防止用 戶源代碼的泄漏,或者誤操作引起的Flash內(nèi)存儲(chǔ)的源程序被改動(dòng)或者擦除, 當(dāng)Flash處在加密狀態(tài)的時(shí)候,MOVC指令被禁止執(zhí)行,存儲(chǔ)在Flash中的數(shù) 據(jù)不能被讀出,除了 ERASE—CHIP和PROGRAM-SEC指令外,所有的ISP命令都 被禁止掉,所有的外部主機(jī)命令也都被禁止執(zhí)行。安全加密位共有兩位,SB1和SB2,這兩位可以通過(guò)ISP或者外部主機(jī) 才莫式進(jìn)行編程,無(wú)論在什么安全級(jí)別下,此兩位安全加密位都可以被編程, 但是一旦被編程后,此過(guò)程就不可逆轉(zhuǎn),除非將Flash上所有的數(shù)據(jù)全部擦 除才能進(jìn)行再次編程。安全加密位的狀態(tài)可以通過(guò)讀SFR中的FST寄存器得 到。
安全級(jí)別分為3種第一種,不加密當(dāng)整片芯片被擦除后,安全加密 位處于沒有被編程的狀態(tài),所有的加密功能都沒有開放,MOVC和所有的外部 主機(jī),ISP指令都可以運(yùn)行。第二種加密FLASH被鎖住,MOVC指令被禁止, 除了 CHIP-ERASE指令外所有的ISP命令都被禁止,除了 ERASE_CHIP和 PROGRAM—SEC指令外,所有的外部主機(jī)命令都被禁止。第三種特別加密除 了所有和第二種加密的特性之外,使能信號(hào)也被禁止,所有的程序都從內(nèi)部 存儲(chǔ)器運(yùn)行。圖2是本發(fā)明的程序存儲(chǔ)器的功能地址劃分結(jié)構(gòu)圖。201區(qū)域?yàn)槌?序存儲(chǔ)器,包含中斷入口地址。NMI的中斷入口地址為0x0073,外部中 斷0入口地址為0x0003,時(shí)鐘0中斷入口地址為0x000B,外部中斷1 入口地址為0x0013,時(shí)鐘1中斷入口地址為0x001B, URAT中斷入口地 址為0x0023,時(shí)鐘2中斷入口地址為0x002B,外部中斷2入口地址為 0x0033,外部中斷3入口地址為0x003B, UART2中斷入口地址為0x0043, 外部中斷4入口地址為0x004B,外部中斷5入口地址為0x0053,在所 述的不同的入口地址上存放對(duì)應(yīng)的跳轉(zhuǎn)指令,從而使程序跳轉(zhuǎn)至對(duì)應(yīng)的 中斷服務(wù)程序執(zhí)行。202區(qū)域?yàn)橥獠繑?shù)據(jù)存儲(chǔ)器模塊。203區(qū)域?yàn)镮SP引導(dǎo)區(qū),樣史控制器上電后,程序從圖中的203區(qū)域的 0x3800地址處開始執(zhí)行,ISP模式的啟動(dòng)代碼存放于以0x3800開始的地址中。微控制器的加密過(guò)程如圖3所示,31為微控制器,經(jīng)過(guò)地址總線34將 需訪問(wèn)的地址傳送到加密解密單元32,加密解密單元32設(shè)置于程序存儲(chǔ)器 單元18中,經(jīng)過(guò)加密后將加密過(guò)的地址傳送到程序存儲(chǔ)器33中;加密解密
單元32讀出加密過(guò)的數(shù)據(jù),然后經(jīng)數(shù)據(jù)總線35將解密后的數(shù)據(jù)傳送到孩i控 制器內(nèi)核當(dāng)中。加密解密單元需要從外部人為設(shè)定加密種子38,使能信號(hào) 39用于使能加密解密單元32。圖4是本發(fā)明的ISP模式引導(dǎo)程序流程圖。將微控制器的串行輸入 接口與電腦的C0M1 口相連,運(yùn)行ISP模式軟件,執(zhí)行如下的運(yùn)行步驟步驟41、初始化微控制器;步驟42、檢測(cè)電腦上ISP模式軟件設(shè)置的串行數(shù)據(jù)的波特率,根據(jù)所述 波特率進(jìn)行微控制器的URAT 口的波特率設(shè)置,然后對(duì)看門狗定時(shí)器進(jìn)行時(shí) 間值設(shè)置;步驟43、判斷微控制器的URAT 口接收的命令是否來(lái)自電腦上的ISP模 式軟件(也即是主機(jī)),進(jìn)而判斷所述命令是否為指示微控制器進(jìn)入ISP模 式的命令,如果所述命令是"U",則需進(jìn)入ISP模式,故停止看門狗定時(shí)器, 進(jìn)入ISP模式,進(jìn)而執(zhí)行步驟44;如果不是"U",循環(huán)判斷,直到看門狗定 時(shí)器的時(shí)間溢出,觸發(fā)內(nèi)部復(fù)位信號(hào),進(jìn)而執(zhí)行步驟48,也即是開始正式執(zhí) 行程序存儲(chǔ)器中原存儲(chǔ)的程序,不進(jìn)行新的ISP編程操作;步驟44、讀取主機(jī)的端口號(hào),也即是波特率、奇偶校驗(yàn)等信息; 步驟45、如端口號(hào)正確,也即波特率、奇偶校驗(yàn)等信息正確,則進(jìn)入步 驟46,如端口號(hào)不正確,則執(zhí)行步驟49,發(fā)送端口號(hào)到主機(jī),然后轉(zhuǎn)到步 驟48;步驟46、將新的用戶程序下栽至程序存儲(chǔ)器;步驟47、判斷是否處理完畢,如果沒有處理完畢,則轉(zhuǎn)至步驟46繼續(xù) 下載,循環(huán)執(zhí)行步驟46、步驟47,直至處理完畢,轉(zhuǎn)到步驟48;步驟48、微控制器內(nèi)部復(fù)位,從0x0000開始執(zhí)行用戶的應(yīng)用程序。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用于限制本發(fā)明。凡在本 發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在 本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種8位兼容C51指令集微控制器,其特征在于,至少包括算術(shù)邏輯部件,算術(shù)邏輯選擇,8×8比特乘法/除法器,內(nèi)部數(shù)據(jù)存儲(chǔ)器,寄存器接口,特殊功能寄存器,執(zhí)行指令/直接寄存器,指令狀態(tài)機(jī),中斷控制器,指令解碼器,程序存儲(chǔ)器單元,定時(shí)器/計(jì)數(shù)器,外部端口,兩個(gè)串行接口,所述定時(shí)器/計(jì)數(shù)器包括3個(gè)16位定時(shí)器,1個(gè)16位的看門狗定時(shí)器;所述的程序存儲(chǔ)器單元用于存儲(chǔ)在微控制器上運(yùn)行的程序,將程序從程序存儲(chǔ)器單元讀出后,在指令狀態(tài)機(jī)的控制下,送到指令解碼器中進(jìn)行解碼,解碼完畢后,經(jīng)過(guò)執(zhí)行指令/直接寄存器,特殊功能寄存器的控制,再經(jīng)過(guò)算術(shù)邏輯選擇的選擇,送入到算術(shù)邏輯部件中進(jìn)行運(yùn)算,運(yùn)算后的結(jié)果將送到內(nèi)部數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器中,寄存器接口和內(nèi)部數(shù)據(jù)存儲(chǔ)器交互控制;所述的8×8比特乘法/除法器用于對(duì)特殊功能寄存器和內(nèi)部數(shù)據(jù)存儲(chǔ)器需要的乘法除法做專用運(yùn)算;所述定時(shí)器/計(jì)數(shù)器,用于對(duì)微控制器內(nèi)部精確設(shè)定時(shí)間的控制;所述的指令狀態(tài)機(jī)由時(shí)鐘控制模塊驅(qū)動(dòng),中斷控制器由中斷源觸發(fā)驅(qū)動(dòng),串行接口由串行輸入接口驅(qū)動(dòng),與外部端口連接,外部端口連接輸出輸入端口線,組成輸入輸出端口。
2. 如權(quán)利要求1所述的微控制器,其特征在于,還包括外部特殊寄存 器、外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,所述的外部特殊寄存器用于存儲(chǔ)用戶擴(kuò) 展的特殊寄存器,所述的外部數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)微控制器內(nèi)核產(chǎn)生的需要 外部存儲(chǔ)的數(shù)據(jù),所述的程序存儲(chǔ)器用于存儲(chǔ)程序。
3. 如權(quán)利要求l所述的微控制器,其特征在于,所述的外部端口包括 四組8位的標(biāo)準(zhǔn)輸入輸出端口和一個(gè)4位的輸入輸出端口 。
4. 如權(quán)利要求1所述的微控制器,其特征在于,所述的看門狗電路在 芯片進(jìn)入到異常故障的時(shí)候復(fù)位微控制器芯片,使其重新工作,看門狗定時(shí) 器需軟件在一定的間隔內(nèi)復(fù)位其控制位;當(dāng)微控制器芯片處于調(diào)試模式時(shí), 看門狗定時(shí)器停止工作,在所述模式下不需復(fù)位其控制位。
5. 如權(quán)利要求l所述的微控制器,其特征在于,所述的中斷控制器的 中斷源包括12個(gè)中斷,分別為不可屏蔽中斷NMI,外部中斷O,時(shí)鐘0中斷, 外部中斷l(xiāng),時(shí)鐘1中斷,全雙工異步串行通訊UART中斷,時(shí)鐘2中斷,外 部中斷2,外部中斷3,全雙工異步串行通訊UART2中斷,外部中斷4,外部 中斷5。
6. 如權(quán)利要求5所述的微控制器,其特征在于,所述不可屏蔽NMI中 斷的優(yōu)先級(jí)最高,看門狗定時(shí)器的預(yù)警信號(hào)、程序存儲(chǔ)器的讀寫镅4吳會(huì)觸發(fā) 不可屏蔽NMI中斷。
7. 如權(quán)利要求5所述的微控制器,其特征在于,所述不同的中斷的觸 發(fā)類型可由相應(yīng)的中斷狀態(tài)標(biāo)志位監(jiān)測(cè),每一中斷由其使能控制位使能或者 禁止。
8. 如權(quán)利要求5所述的微控制器,其特征在于,所述中斷分為兩種模式。
9. 如權(quán)利要求8所述的微控制器,其特征在于,所述中斷模式一為 中斷事件信號(hào)發(fā)生后,設(shè)置中斷狀態(tài)標(biāo)記,此刻中斷被標(biāo)記成一個(gè)未決的中 斷,當(dāng)相應(yīng)的中斷源被允許中斷的時(shí)候,此中斷才會(huì)對(duì)CPU內(nèi)核有效,當(dāng)中 斷被響應(yīng)后,硬件會(huì)自動(dòng)將中斷清零,CPU中的時(shí)鐘O中斷,時(shí)鐘1中斷,外部中斷O,外部中斷1的中斷狀態(tài)標(biāo)志位為TFO, TF1, IEO, IE1,此四位 都在中斷控制寄存器里,如果中斷被響應(yīng),此四個(gè)標(biāo)志位就會(huì)被清零,如果 中斷沒有被響應(yīng),就需要用軟件的方式將其清零,URAT在串行控制寄存器 里的兩個(gè)狀態(tài)標(biāo)志位RI和TI即使中斷被響應(yīng)后也不會(huì)被硬件清零,必須通 過(guò)軟件的形式將其清零。
10. 如權(quán)利要求8所述的微控制器,其特征在于,所述中斷模式二為 中斷狀態(tài)標(biāo)志和未決的中斷請(qǐng)求是相互獨(dú)立的,時(shí)鐘2引發(fā)的中斷會(huì)設(shè)置相 應(yīng)的中斷狀態(tài)標(biāo)志位,只要本中斷結(jié)點(diǎn)開放,就會(huì)引發(fā)CPU的中斷,當(dāng)本中 斷被響應(yīng)后,未決的中斷信號(hào)就會(huì)被硬件清零,而中斷標(biāo)志位仍然需要軟件 的方式將其清零。
11. 如權(quán)利要求1所述的微控制器,其特征在于,所述微控制器的工作方式分為正常工作模式、空閑模式和掉電模式。
12. 如權(quán)利要求1所述的微控制器,其特征在于,所述的微控制器還 包括時(shí)鐘控制模塊,其時(shí)鐘為內(nèi)部阻容振蕩時(shí)鐘RC或外部高精度振蕩時(shí)鐘。
13. 如權(quán)利要求1所述的微控制器,其特征在于,還包括在線調(diào)試仿 真器模塊,系統(tǒng)編程ISP模塊和應(yīng)用編程IAP模塊,所述在線調(diào)試仿真器模 塊實(shí)現(xiàn)在線調(diào)試仿真功能,所述系統(tǒng)編程模塊實(shí)現(xiàn)系統(tǒng)編程功能,所述應(yīng)用 編程模塊實(shí)現(xiàn)應(yīng)用編程功能。
14. 如權(quán)利要求13所述的微控制器,其特征在于,所述在線調(diào)試模塊 嵌入于微控制器內(nèi)部,該模塊通過(guò)一套專有的調(diào)試指令集操縱完成調(diào)試模塊 的功能,通過(guò)實(shí)時(shí)的方式監(jiān)測(cè)纟鼓控制器內(nèi)部各個(gè)數(shù)據(jù)總線和地址總線,操控 微控制器內(nèi)部狀態(tài),實(shí)現(xiàn)對(duì)程序儲(chǔ)存器,內(nèi)部數(shù)據(jù)儲(chǔ)存器,外部數(shù)據(jù)儲(chǔ)存器, 特殊功能寄存器的監(jiān)控操作,可以設(shè)置4個(gè)硬件觸發(fā)斷點(diǎn)。
15. 如杈利妻求13所速的微控制器,其持征在于,所述系統(tǒng)編程ISP 模式可以通過(guò)微控制器上的UART串行接口和外部主機(jī)通訊,下栽程序到程 序存儲(chǔ)器中,實(shí)現(xiàn)快速燒寫芯片。
16. 如權(quán)利要求1所述的微控制器,其特征在于,所述的程序存儲(chǔ)器 單元為16k的Flash存儲(chǔ)器。
17. 如權(quán)利要求16所述的微控制器,其特征在于,所述Flash存儲(chǔ)器 有加密功能,可以防止用戶源代碼的泄漏或者誤操作引起的Flash內(nèi)的源程 序被修改或者擦除,當(dāng)Flash處在加密狀態(tài)的時(shí)候,MOVC指令被禁止執(zhí)行, 存儲(chǔ)在Flash中的數(shù)據(jù)不能被讀出,除了 ERASE—CHIP和PROGRAM—SEC指令 外,所有的系統(tǒng)編程ISP命令都被禁止掉,所有的外部主機(jī)命令也都被禁止 執(zhí)行。
18. 如權(quán)利要求17所述的微控制器,其特征在于,所述Flash存儲(chǔ)器 使用兩位安全加密位SB1和SB2,所述兩位可以通過(guò)ISP或者外部主枳一莫式 進(jìn)行編程,無(wú)論在任何安全級(jí)別下,此兩位安全加密位都可以;波編程,但是 一旦#:編程后,此過(guò)程就不可逆轉(zhuǎn),除非將Flash上所有的數(shù)據(jù)全部擦除掉 才能進(jìn)行再次編程。
19. 如權(quán)利要求18所述的微控制器,其特征在于,所述安全加密位的 狀態(tài)由特殊功能寄存器中的安全加密狀態(tài)寄存器顯示。
20. 如權(quán)利要求18所述的微控制器,其特征在于,安全級(jí)別分為3種 第一種,不加密當(dāng)整片芯片被擦除后,安全加密位處于未編程的狀態(tài),加 密功能不開放,MOVC和系統(tǒng)編程ISP指令都可以運(yùn)行;第二種,加密FLASH 存儲(chǔ)器被鎖住,MOVC指令被禁止,除了 CHIP-ERASE指令外所有的系統(tǒng)編程 ISP命令都被禁止,除了 ERASE—CHIP和PROGRAM—SEC指令外所有的外部主機(jī)命令都被禁止;第三種,特別加密除了第二種加密的特性之外,使能信 號(hào)也被禁止,程序從內(nèi)部存儲(chǔ)器運(yùn)行。
全文摘要
本發(fā)明的8位兼容C51指令集微控制器包括8比特高速算術(shù)邏輯部件模塊,算術(shù)邏輯選擇模塊,8×8比特乘法/除法器,內(nèi)部數(shù)據(jù)存儲(chǔ)器,寄存器接口模塊,特殊功能寄存器,執(zhí)行指令/直接寄存器,指令狀態(tài)機(jī),中斷控制器模塊,指令解碼器,程序存儲(chǔ)器單元,定時(shí)器/計(jì)數(shù)器模塊,外部端口模塊;兩個(gè)串行接口模塊,3個(gè)16位定時(shí)器,1個(gè)16位的看門狗定時(shí)器;在內(nèi)部指令運(yùn)行時(shí),每個(gè)機(jī)器周期所用的時(shí)鐘周期由原來(lái)的12個(gè)時(shí)鐘周期提升到2個(gè)時(shí)鐘周期,可以達(dá)到傳統(tǒng)51單片機(jī)6倍的指令運(yùn)行速度,大幅度降低運(yùn)行功耗,功能全面,性能優(yōu)異,有著廣泛的應(yīng)用前景。
文檔編號(hào)G06F15/78GK101154212SQ200610116870
公開日2008年4月2日 申請(qǐng)日期2006年9月29日 優(yōu)先權(quán)日2006年9月29日
發(fā)明者張鵬飛, 陳立權(quán) 申請(qǐng)人:上海海爾集成電路有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1