OTPROM型單片機(jī)內(nèi)內(nèi)部存儲器的使用研究
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):974
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:中國石油大學(xué) 馮興田 張加勝
    
    隨著變頻調(diào)速以及微機(jī)控制技術(shù)的發(fā)展,適應(yīng)電機(jī)控制的intel 8xc196mc系列單片機(jī)應(yīng)用越來越廣泛。
    
    與80c196mc相比,87c196mc單片機(jī)帶有16 kb的otprom(one tline programmable read-only memory),可以進(jìn)行片內(nèi)編程操作,而且可以增強(qiáng)加密功能。對于普通的控制系統(tǒng)來說,其存儲容量足夠大,不必再使用外部擴(kuò)展存儲器。然而87c196mc單片機(jī)的otprom存在一個缺點(diǎn):不可擦除,也就是說只能編程一次,不能實(shí)現(xiàn)重復(fù)編程,不利于大量普及使用。
    
    當(dāng)程序從仿真器移植到單片機(jī)的otprom時,并不能保證程序的一次成功性,由于單片機(jī)的不可擦除性,若程序脫機(jī)一次就使用一片單片機(jī),顯然將造成巨大的資源浪費(fèi)。另一方面,對于復(fù)雜系統(tǒng),16kb的otprom容量如果不夠,則需要采用擴(kuò)展外部存儲器,為了保證有效實(shí)現(xiàn)加密功能,應(yīng)保留一部分程序在片內(nèi)otprom,此時便涉及到單片機(jī)內(nèi)、外存儲器的銜接問題。
    
    本文針對intel 87c196mc單片機(jī)內(nèi)部存儲器的不可擦除性,對兩種情況下的使用問題提供了可以有效實(shí)現(xiàn)重復(fù)編程的方法,并可以推廣至其他任何帶有otprom的單片機(jī)系列的編程應(yīng)用中。
    
    1 87c196mc單片機(jī)內(nèi)部存儲器的編程方式
    
    intel 87c196mc單片機(jī)支持三種編程方式:自動編程方式(使87c196mc單片機(jī)不用eprom編程器即可從外部eprom對自己編程)、從機(jī)編程方式(給外部eprom編程器提供了一個標(biāo)準(zhǔn)接口)和實(shí)時編程方式(運(yùn)行中編程方式,可以在軟件控制下實(shí)時對單個eprom單元編程)。和其他方式不同,實(shí)時編程可以在不進(jìn)入全eprom編程方式下完成。
    
    對于intel 87c196mc單片機(jī)的otprom只能編程,不能擦除,但在編程時可以驗證是否已確實(shí)編程。對0tprom可以采用2種編程方法:在從機(jī)編程方式下或在專門的otprom編程方式下編程。otprom為87c196mc單片機(jī)提供了輔助的存儲器保護(hù)手段,它可以禁止總線控制器執(zhí)行外部取指周期,若企圖把一個外部地址裝載到pc寄存器,芯片將復(fù)位。這種自動復(fù)位功能對跑飛的代碼也提供了一種額外的恢復(fù)手段。使用時應(yīng)根據(jù)實(shí)際需要采取不同的編程方式。
    
    2 87c196mc單片機(jī)內(nèi)部存儲器的重復(fù)編程方法
    
    單片機(jī)87c196mc的ea引腳(外部訪問允許端,87c196mc plcc84-36腳)用來控制訪問內(nèi)部存儲器或外部存儲器。當(dāng)ea=o時,所有訪問都是對片外存儲器的;當(dāng)ea=1時,對2000h~5fffh單元的訪問都是對片內(nèi)otprom/rom的。編程方式下,ea=12.5 v。由于復(fù)位時ea的電平被鎖存,難以通過外部硬件電路來實(shí)現(xiàn)程序空間的選擇。這里通過應(yīng)用程序語句來控制程序地址范圍,相當(dāng)于ea的電平變化作用。本文主要應(yīng)用了intel匯編語言的長跳轉(zhuǎn)指令ump來實(shí)現(xiàn)控制訪問內(nèi)、外存儲器的功能,下面介紹兩種常用的方法。
    
    2.1片內(nèi)編程操作方法
    
    所謂87c196mc單片機(jī)otprom的不可擦除性,實(shí)質(zhì)上是不可實(shí)現(xiàn)從“0”到“1”的編程,而只能完成從“1”到“o”的編程。以下通過簡單的程序?qū)嵗齺斫榻B這種方法。
    
    ljmp nextl
    cseg at 2600h
    nextl:……
    
    上述語句實(shí)際上代表的是ljmp2600h.其機(jī)器碼為e79c04,當(dāng)?shù)刂?600h變化時,得到一組對應(yīng)的機(jī)器碼,通過對這一組機(jī)器碼進(jìn)行分析,就可以得到該方法的原理,如表1所列。
    
    
    
    機(jī)器碼e79c04的后兩個字節(jié)代表了匯編程序語句中的地址(04代表了2600h,14代表了3600h……)。當(dāng)一個字節(jié)從4位全是“1”變成4位全是“o”,且每次只有一個“l(fā)”變?yōu)椤?”時,可以有多種不同的變法,如表2所列。
    
    
    
    由于
    
    
    來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:中國石油大學(xué) 馮興田 張加勝
    
    隨著變頻調(diào)速以及微機(jī)控制技術(shù)的發(fā)展,適應(yīng)電機(jī)控制的intel 8xc196mc系列單片機(jī)應(yīng)用越來越廣泛。
    
    與80c196mc相比,87c196mc單片機(jī)帶有16 kb的otprom(one tline programmable read-only memory),可以進(jìn)行片內(nèi)編程操作,而且可以增強(qiáng)加密功能。對于普通的控制系統(tǒng)來說,其存儲容量足夠大,不必再使用外部擴(kuò)展存儲器。然而87c196mc單片機(jī)的otprom存在一個缺點(diǎn):不可擦除,也就是說只能編程一次,不能實(shí)現(xiàn)重復(fù)編程,不利于大量普及使用。
    
    當(dāng)程序從仿真器移植到單片機(jī)的otprom時,并不能保證程序的一次成功性,由于單片機(jī)的不可擦除性,若程序脫機(jī)一次就使用一片單片機(jī),顯然將造成巨大的資源浪費(fèi)。另一方面,對于復(fù)雜系統(tǒng),16kb的otprom容量如果不夠,則需要采用擴(kuò)展外部存儲器,為了保證有效實(shí)現(xiàn)加密功能,應(yīng)保留一部分程序在片內(nèi)otprom,此時便涉及到單片機(jī)內(nèi)、外存儲器的銜接問題。
    
    本文針對intel 87c196mc單片機(jī)內(nèi)部存儲器的不可擦除性,對兩種情況下的使用問題提供了可以有效實(shí)現(xiàn)重復(fù)編程的方法,并可以推廣至其他任何帶有otprom的單片機(jī)系列的編程應(yīng)用中。
    
    1 87c196mc單片機(jī)內(nèi)部存儲器的編程方式
    
    intel 87c196mc單片機(jī)支持三種編程方式:自動編程方式(使87c196mc單片機(jī)不用eprom編程器即可從外部eprom對自己編程)、從機(jī)編程方式(給外部eprom編程器提供了一個標(biāo)準(zhǔn)接口)和實(shí)時編程方式(運(yùn)行中編程方式,可以在軟件控制下實(shí)時對單個eprom單元編程)。和其他方式不同,實(shí)時編程可以在不進(jìn)入全eprom編程方式下完成。
    
    對于intel 87c196mc單片機(jī)的otprom只能編程,不能擦除,但在編程時可以驗證是否已確實(shí)編程。對0tprom可以采用2種編程方法:在從機(jī)編程方式下或在專門的otprom編程方式下編程。otprom為87c196mc單片機(jī)提供了輔助的存儲器保護(hù)手段,它可以禁止總線控制器執(zhí)行外部取指周期,若企圖把一個外部地址裝載到pc寄存器,芯片將復(fù)位。這種自動復(fù)位功能對跑飛的代碼也提供了一種額外的恢復(fù)手段。使用時應(yīng)根據(jù)實(shí)際需要采取不同的編程方式。
    
    2 87c196mc單片機(jī)內(nèi)部存儲器的重復(fù)編程方法
    
    單片機(jī)87c196mc的ea引腳(外部訪問允許端,87c196mc plcc84-36腳)用來控制訪問內(nèi)部存儲器或外部存儲器。當(dāng)ea=o時,所有訪問都是對片外存儲器的;當(dāng)ea=1時,對2000h~5fffh單元的訪問都是對片內(nèi)otprom/rom的。編程方式下,ea=12.5 v。由于復(fù)位時ea的電平被鎖存,難以通過外部硬件電路來實(shí)現(xiàn)程序空間的選擇。這里通過應(yīng)用程序語句來控制程序地址范圍,相當(dāng)于ea的電平變化作用。本文主要應(yīng)用了intel匯編語言的長跳轉(zhuǎn)指令ump來實(shí)現(xiàn)控制訪問內(nèi)、外存儲器的功能,下面介紹兩種常用的方法。
    
    2.1片內(nèi)編程操作方法
    
    所謂87c196mc單片機(jī)otprom的不可擦除性,實(shí)質(zhì)上是不可實(shí)現(xiàn)從“0”到“1”的編程,而只能完成從“1”到“o”的編程。以下通過簡單的程序?qū)嵗齺斫榻B這種方法。
    
    ljmp nextl
    cseg at 2600h
    nextl:……
    
    上述語句實(shí)際上代表的是ljmp2600h.其機(jī)器碼為e79c04,當(dāng)?shù)刂?600h變化時,得到一組對應(yīng)的機(jī)器碼,通過對這一組機(jī)器碼進(jìn)行分析,就可以得到該方法的原理,如表1所列。
    
    
    
    機(jī)器碼e79c04的后兩個字節(jié)代表了匯編程序語句中的地址(04代表了2600h,14代表了3600h……)。當(dāng)一個字節(jié)從4位全是“1”變成4位全是“o”,且每次只有一個“l(fā)”變?yōu)椤?”時,可以有多種不同的變法,如表2所列。
    
    
    
    由于
熱門點(diǎn)擊
- TPMS外置編碼存儲器式輪胎定位技術(shù)的電路實(shí)
- 基于單片機(jī)的通用示波器存儲功能擴(kuò)展設(shè)計
- FPGA與SRAM相結(jié)合完成大容量數(shù)據(jù)存儲
- OTPROM型單片機(jī)內(nèi)內(nèi)部存儲器的使用研究
- 帶SD/MMC存儲卡接口的MP3和弦芯片ft
- 外掛Flash的引導(dǎo)裝載設(shè)計
- 一種新型非易失性存儲器的原理及應(yīng)用
- 基于M—BUS的趣低功耗數(shù)據(jù)采集系統(tǒng)
- DSP片外高速海置SDRAM存儲系統(tǒng)設(shè)計
- 基于虛擬存儲的嵌入式存儲系統(tǒng)的設(shè)計方法
推薦技術(shù)資料
- 循線機(jī)器人是機(jī)器人入門和
- 循線機(jī)器人是機(jī)器人入門和比賽最常用的控制方式,E48S... [詳細(xì)]
- 100V高頻半橋N-溝道功率MOSFET驅(qū)動
- 集成高端和低端 FET 和驅(qū)動
- 柵極驅(qū)動單片半橋芯片MP869
- 數(shù)字恒定導(dǎo)通時間控制模式(COT)應(yīng)用探究
- 高效率 (CSP/QFN/BG
- IC 工藝、封裝技術(shù)、單片設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究