電子類相關(guān)習(xí)msp430集msp430x2xx系列中文msp430f2-05flash_第1頁(yè)
電子類相關(guān)習(xí)msp430集msp430x2xx系列中文msp430f2-05flash_第2頁(yè)
電子類相關(guān)習(xí)msp430集msp430x2xx系列中文msp430f2-05flash_第3頁(yè)
電子類相關(guān)習(xí)msp430集msp430x2xx系列中文msp430f2-05flash_第4頁(yè)
電子類相關(guān)習(xí)msp430集msp430x2xx系列中文msp430f2-05flash_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余13頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MSP430F2 系列 16低功耗單片機(jī)模塊原理第 5 章 Flash 塊控制器版本:日期:原文:翻譯:編輯:1.32007.6.TIMSP430 x2xxfamily.pdfDC 微控技術(shù)版主注:以下文章是翻譯 TI MSP430 x2xxfamily.pdf 文件中的部分內(nèi)容。由于翻譯水平有限,有整理過(guò)程中難免有所或錯(cuò)誤;所以以下內(nèi)容只供參考.一切以原文為準(zhǔn)。密切留意微控技術(shù)。第五章 Flash控制器本章介紹了 MSP430 x2xx 系列單片機(jī) Flash控制器的操作。5.1Flash器的介紹Page 1 of 185.25.35.4Flash Flash Flash器的分段結(jié)構(gòu)器的操作

2、器的控制寄存器5.1 FlashMSP430器的介紹的 Flash器是可位/字節(jié)/字尋址和編程的器。該模塊由一個(gè)集成控制器來(lái)控制編程和擦除的操作??刂破靼ㄈ齻€(gè)寄存器,一個(gè)時(shí)序發(fā)生器及一個(gè)提供編程/擦除電壓的電壓發(fā)生器。MSP430 的 Flash器的特點(diǎn)有:產(chǎn)生編程電壓可位/字節(jié)/字編程超低功耗操作支持段擦除和多段模塊擦除Flash器和控制器的結(jié)構(gòu)框圖如圖 51 所示。注意:Flash 寫入和擦除操作期間的最小電壓值 VCC 應(yīng)為 2.2V。如果在操作期間 VCC 低于 2.2V,寫入或擦除的結(jié)果將是不確定的。圖 51Flash器框圖Page 2 of 185.2FlashMSP430位是段

3、。Flash和數(shù)據(jù)可以節(jié)的段,主空間圖。器的分段結(jié)構(gòu)Flash器分成多個(gè)段??蓪?duì)其進(jìn)行單個(gè)位/字節(jié)/字的寫入,但是最小的擦除單器分為主器和信息器兩部分,在操作上兩者沒(méi)區(qū)別,程序代碼器有四個(gè) 64 字的整體于任意部分。兩部分的區(qū)別在于段的大小和物理地址。信息器有兩個(gè)或的 512 字節(jié)的段。不同的可參見(jiàn)各自每一段又進(jìn)一步劃分為64字節(jié)的塊,起始地址分別為0 xx00h,0 xx40h,0 xx80h,0 xxC0h,結(jié)束地址分別為0 xx3Fh,0 xx7Fh,0 xxBFh,0 xxFFh。圖52Flash器分段(以4KB為例)5.2.1 Segment A信息器中的Segment A可以通過(guò)L

4、OCKA位的設(shè)置進(jìn)行鎖定,從而與其他段的操作區(qū)分開(kāi)。當(dāng)LOCKA1時(shí),Segment A不能寫入或擦除,其他的信息器在整個(gè)模塊擦除時(shí)被保護(hù)起來(lái)。當(dāng)LOCKA0時(shí),Segment A可以像其他Flash器一樣進(jìn)行擦除和寫入的操作,同時(shí)其他的信息器在整個(gè)模塊擦除時(shí)擦除。Segment B,C,D在段擦除狀態(tài)無(wú)關(guān)。能被擦除,與LOCKA位的當(dāng) LOCKA 寫入為 1 時(shí),LOCKA 的狀態(tài)發(fā)生翻轉(zhuǎn)(即如果 LOCKA 原來(lái)為 1,對(duì)它寫入 1則變?yōu)?0;如果 LOCKA 原來(lái)為 0,對(duì)它寫 1 則它變?yōu)?1);當(dāng) LOCKA 寫入為 0 時(shí),LOCKA 的狀態(tài)不受影響。這樣就能實(shí)現(xiàn)當(dāng)前 flash

5、編程程序的固定。Page 3 of 18;SegmentA子程序BIT #LOCKA,&FCTL3 JZ SEGA_UNLOCKEDMOV #FWKEY+LOCKA,&FCTL3 SEGA_UNLOCKED;鎖定SegmentA子程序BIT #LOCKA,&FCTL3 JNZ SEGALOCKEDMOV #FWKEY+LOCKA,&FCTL3 SEGA_LOCKED;測(cè)試LOCKA位,判斷是否鎖定Segment A;了嗎?;沒(méi)有,;是的,已經(jīng)了,繼續(xù);測(cè)試LOCKA位,鎖定Segment A 了嗎;鎖定Segment A 了嗎;沒(méi)有,鎖定Segment A;鎖定了,繼續(xù)執(zhí)行5.3 Flash器

6、的操作Flash器的默認(rèn)工作模式是讀模式,在該模式下,器無(wú)法進(jìn)行擦除和寫入操作,同時(shí)時(shí)序發(fā)生器和電壓發(fā)生器關(guān)閉。此時(shí)的操作與 ROM 的操作類似。MSP430 Flash器能在沒(méi)有外加電壓的條件下實(shí)現(xiàn)在系統(tǒng)編程(ISP),CPU能對(duì)它自帶的Flash進(jìn)行編程。Flash能完成:?jiǎn)巫止?jié)/單字寫入塊寫入段擦除多段擦除(針對(duì)所有主器的段)整體擦除(針對(duì)所有段)器的寫入/擦除模式通過(guò)BLKWRT,WRT,MERAS和 ERASE位選擇,在編程或擦除期間對(duì)Flash器進(jìn)行讀或?qū)懖僮?。在寫入或擦除是需要用到的CPU程序應(yīng)該在RAM中運(yùn)行。對(duì)Flash的任何更新都開(kāi)始于Flash器或RAM中。5.3.1Fl

7、ash器的時(shí)序發(fā)生器時(shí)序發(fā)生器用于控制Flash器的編程和擦除操作,如圖53所示。時(shí)序發(fā)生器的輸入頻率fFTG必須在257 kHz 到 476 kHz內(nèi)。(請(qǐng)參看詳細(xì)的)圖53時(shí)序發(fā)生器框圖Flash時(shí)序發(fā)生器時(shí)鐘源的選擇:時(shí)序發(fā)生器可以選擇3個(gè)時(shí)鐘源之一:ACLK,SMCLK或 MCLK。選擇的時(shí)鐘信號(hào)可通過(guò)FNx位的進(jìn)行分頻以適應(yīng)時(shí)序發(fā)生器輸入頻率fFTG 的要求。如果在寫入或擦除操作過(guò)程中,fFTG不符合要求,寫入或擦除的結(jié)果將不確定,或者Flash被迫工作于正常工作狀態(tài)的邊緣(即只要再超過(guò)一點(diǎn)就是操作狀態(tài)了,也可以翻譯為:被迫工作于臨界狀態(tài))。如果在寫入或擦除操作過(guò)程中檢測(cè)到時(shí)鐘信號(hào)失

8、效,操作將終止,置位FAIL標(biāo)志位,操作Page 4 of 18的結(jié)果將不確定。當(dāng)寫入或擦除操作啟動(dòng)了時(shí)鐘源的選擇,不會(huì)在MSP430進(jìn)入低功耗模式時(shí)無(wú)效,將一直保持到寫入或擦除操作完成。5.3.2Flash器的擦除器各位的缺省值為“1”,每一位都可以單獨(dú)的編程為“0”,但只有擦除操作才能Flash將它恢復(fù)成“1”。擦除操作的最小式,如表5-1所示。是段。通過(guò)ERASE和 MERAS位的設(shè)置可選擇3種擦除模表5-1擦除模式任何擦除操作開(kāi)始于對(duì)擦除的地址范圍內(nèi)任意位置作一次空寫入。空寫入的目的是啟動(dòng)時(shí)序發(fā)生器和擦除操作,如圖5-4所示為擦除周期。在空寫入操作之后,BUSY位立即置位,并保持到擦除

9、周期結(jié)束。BUSY,MERAS和ERASE位在擦除周期結(jié)束后自動(dòng)復(fù)位。MSP430Fx2xx系列 的擦除周期均相等,與片內(nèi)Flash 器的數(shù)量無(wú)關(guān)。圖 5-4Flash器擦除周期如果空寫入操作的地址在不能執(zhí)行擦除操作的段地址范圍內(nèi),則寫入操作不起作用,對(duì)Flash器無(wú)影響,也不會(huì)有任何標(biāo)志指示這一狀態(tài),錯(cuò)誤的空寫入將被忽略。從 Flash器啟動(dòng)的擦除操作:任何擦除周期可以從片內(nèi) Flash器或 RAM器開(kāi)始,如果段擦除操作開(kāi)始內(nèi)Flash器內(nèi),所有的定時(shí)都由 Flash 控制器控制,CPU 在擦除周期結(jié)束前將停止運(yùn)行,狀態(tài)保持不變。在擦除周期結(jié)束后,CPU 將重新按照空寫入之后的規(guī)定執(zhí)行程序代

10、碼。開(kāi)始于 Flash器內(nèi)的段擦除操作,同樣可以把擦除之后要執(zhí)行的程序代碼清除掉,一旦發(fā)生這樣的情況,CPU 在擦除周期之后的操作將不確定。由 Flash器啟動(dòng)擦除操作流程如圖 5-5 所示。Page 5 of 18MERASERASE擦除模式01段擦除10多段擦除(所有主器的段)11整體擦除(LOCKA0時(shí),擦除所有主器和信息器的段;主器的段只當(dāng)LOCKA0時(shí)可以擦除)圖 5-5Flash器啟動(dòng)擦除操作流程;從Flash器啟動(dòng)擦除操作,514 kHz SMCLK 952 kHz;假設(shè) MOV MOV MOV MOV CLR MOVACCVIE = NMIIE = OFIE = 0 #WDTP

11、W+WDTHOLD,&WDTCTL;停止看門狗WDT;SMCLK/2;清除LOCK位;使能段操作;空寫入,清除S1;空寫入完成后,置位LOCK;重新使能看門狗WDT#FWKEY+F1+FN0,&FCTL2#FWKEY,&FCTL3 #FWKEY+ERASE,&FCTL1 &0FC10h #FWKEY+LOCK,&FCTL3從 RAM器初始化的擦除操作:任何擦除周期可以從RAM器開(kāi)始,在這種情況下,CPU不會(huì)停止運(yùn)行,能繼續(xù)的執(zhí)行RAM器中的程序代碼。在CPU可以重新任何Flash地址前,必須查詢BUSY位位以判斷擦除周期的結(jié)束。如果進(jìn)入Flash地址發(fā)生在BUSY=1時(shí),這個(gè)進(jìn)入操作是法中斷標(biāo)

12、志)置位,擦除結(jié)果將不確定。的,ACCVIFG(非由 RAM器啟動(dòng)擦除操作流程如圖 5-6 所示。Page 6 of 18圖 5-6RAM器啟動(dòng)擦除操作流程;從RAM器啟動(dòng)擦除操作,514 kHz SMCLK 952 kHz;假設(shè) ACCVIE = NMIIE = OFIE = 0MOV BIT JNZ MOV MOV MOV CLR BIT JNZ#WDTPW+WDTHOLD,&WDTCTL #BUSY,&FCTL3L1;停止看門狗WDT;測(cè)試BUSY位;BUSY1,即忙,則循環(huán)執(zhí)行L1;SMCLK/2;清除LOCK位;使能擦除功能;空寫入,清除S1;測(cè)試BUSY位;BUSY1,即忙,則循環(huán)

13、執(zhí)行L2;空寫入完成后,置位LOCK;重新使能看門狗WDTL1#FWKEY+F1+FN0,&FCTL2#FWKEY,&FCTL3 #FWKEY+ERASE,&FCTL1 &0FC10h#BUSY,&FCTL3 L2L2MOV#FWKEY+LOCK,&FCTL35.3.3Flash器的寫入寫入模式由WRT和BLKWRT位進(jìn)行設(shè)置,如表5-2所示。表5-2寫入模式Page 7 of 18BLKWRTWRT寫入模式01單字節(jié)/單字寫入11塊寫入所有的寫入模式使用一系列特有的寫入命令,采用塊寫入的速度大約是單字節(jié)/單字寫入的 2倍,因?yàn)殡妷喊l(fā)生器在塊寫入完成期間均能保持。對(duì)于這兩種寫入模式,任何能修改

14、目的操作數(shù)的指令均能用于修改地址。一個(gè)Flash字(低高字節(jié))不能在擦除期間進(jìn)行兩次以上的寫入。否則,F(xiàn)LASH可能被損壞。當(dāng)啟動(dòng)寫入操作時(shí)BUSY位置位,寫入結(jié)束時(shí)復(fù)位。如果寫入操作由RAM器啟動(dòng),當(dāng)BUSY1時(shí)CPU無(wú)法進(jìn)入Flash。否則,位,寫入結(jié)果將不確定。進(jìn)入將產(chǎn)生,ACCVIFG(中斷標(biāo)志)置單字節(jié)/單字寫入單字節(jié)/單字寫入可以在片內(nèi)Flash器或RAM器執(zhí)行,如果段擦除操作開(kāi)始于Flash器內(nèi),所有的定時(shí)都由Flash控制器控制,CPU在寫入結(jié)束前將停止運(yùn)行,狀態(tài)保持不變。在寫入結(jié)束后,CPU將重新按照寫入之后的規(guī)定執(zhí)行程序代碼。節(jié)/單字寫入時(shí)間周期如圖5-7所示。圖5-7單字

15、節(jié)/單字寫入周期當(dāng)是從RAM器啟動(dòng)時(shí), CPU能繼續(xù)的執(zhí)行RAM器中的程序代碼。在CPU可以重新進(jìn)入任何Flash地址前,BUSY位必須復(fù)位。否則這個(gè)進(jìn)入操作是問(wèn)中斷標(biāo)志)置位,寫入結(jié)果將不確定。的,ACCVIFG(訪在單字節(jié)/單字寫入模式下,產(chǎn)生的編程電壓在整個(gè)64-byte的塊編程時(shí)間段內(nèi)都供電,每次寫一個(gè)字節(jié)或字,每次需要寫27個(gè)fFTG周期(見(jiàn)圖5-7,即寫一個(gè)字或字節(jié)需要30個(gè)周期,其中只有中間27個(gè)是編程周期,頭尾3個(gè)是電壓產(chǎn)生和消除周期;一個(gè)段(segment)有256個(gè)字節(jié),分為4個(gè)塊,每塊64字節(jié),所以它說(shuō)加電加在“64byte的塊”)。在每個(gè)字或字節(jié)寫入時(shí),編程電壓所加載那

16、一塊(block)的時(shí)間一直在累加。累加時(shí)間tCPT,過(guò)任何一塊所允許的編程總時(shí)間。如果累加編程時(shí)間到了,塊必須在對(duì)該塊的寫操作之前執(zhí)行擦除操作。(請(qǐng)參看詳細(xì)的)從Flash器啟動(dòng)單字節(jié)/單字寫入:從 Flash器啟動(dòng)單字節(jié)/單字寫入的操作流程如圖 5-8 所示。Page 8 of 18圖5-8Flash器啟動(dòng)單字節(jié)/單字寫入流程;由Flash啟動(dòng)單字節(jié)/單字寫入,514 kHz SMCLK 0FF1Eh;完成后清除WRT位;置位LOCK位;重新使能看門狗WDT#FWKEY+F1+FN0,&FCTL2#FWKEY,&FCTL3 #FWKEY+WRT,&FCTL1 #0123h,&0FF1Eh

17、#FWKEY,&FCTL1 #FWKEY+LOCK,&FCTL3.從RAM器啟動(dòng)單字節(jié)/單字寫入:從 RAM器啟動(dòng)單字節(jié)/單字寫入的操作流程如圖 5-9 所示。Page 9 of 18圖5-9RAM器啟動(dòng)單字節(jié)/單字寫入流程; 從RAM器啟動(dòng)單字節(jié)/單字寫入的操作,514 kHz SMCLK 0FF1Eh;測(cè)試BUSY位# FWKEY,&FCTL3# FWKEY+WRT,&FCTL1 # 0123h,&0FF1Eh# BUSY,&FCTL3L2# FWKEY,&FCTL1# FWKEY+LOCK,&FCTL3L2;BUSY1,即忙,則循環(huán)執(zhí)行L2;清除WRT位;置位LOCK;重新使能看門狗WD

18、T塊寫入當(dāng)有連續(xù)的字節(jié)或字需要進(jìn)行編程時(shí),塊寫入的方式能提高Flash寫入的速度。在對(duì)64字節(jié)的塊進(jìn)行寫入操作的過(guò)程中,F(xiàn)lash編程電壓將會(huì)一直保持。累加時(shí)間tCPT,的編程總時(shí)間。過(guò)該塊所允許塊寫入周期不能在片內(nèi)Flash中開(kāi)始,必須從RAM器開(kāi)始。在塊寫入期間,BUSY位保Page 10 of 18持置位,在寫入每個(gè)字節(jié)或字之間需要檢測(cè)WAIT位的值,如果WAIT位置位表明下一個(gè)字節(jié)或字可以寫入了。對(duì)連續(xù)的塊進(jìn)行寫操作時(shí),在當(dāng)前塊寫入完成時(shí),BLKWRT位必須復(fù)位。在 FLAHS的恢復(fù)時(shí)間tend 之后,BLKWRT必須置位以初始化下塊的寫操作 。BUSY位在每個(gè)塊寫入操作完成時(shí)清零,以

19、指示下一個(gè)塊可以寫入了。塊寫入時(shí)間周期如圖5-10所示。.圖5-10Flash器塊寫入周期塊寫入流程及舉例塊寫入流程如圖5-11所示,下面為應(yīng)用舉例。Page 11 of 18Page 12 of 18圖5-11Flash器塊寫入流程; 寫入一個(gè)其實(shí)地址為0F000h的塊.;必須由RAM器啟動(dòng)執(zhí)行,假設(shè)Flash器已經(jīng)擦除;514 kHz SMCLK 952 kHz;假設(shè)ACCVIE = NMIIE = OFIE = 0MOV MOV MOV BIT JNZ MOV MOV MOV MOV BIT JZ INCD DEC JNZ MOV BIT JNZ#32,R5 #0F000h,R6#WDT

20、PW+WDTHOLD,&WDTCTL #BUSY,&FCTL3L1;作為寫入計(jì)數(shù)器;寫操作數(shù)指針;停止看門狗WDT;測(cè)試BUSY位;BUSY1,即忙,則循環(huán)執(zhí)行L1;SMCLK/2;清除LOCK位L1#FWKEY+F1+FN0,&FCTL2#FWKEY,&FCTL3#FWKEY+BLKWRT+WRT,&FCTL1Write_Value,0(R6) #WAIT,&FCTL3 L3R6 R5 L2#FWKEY,&FCTL1#BUSY,&FCTL3 L4;使能塊寫入功能;寫入地址;測(cè)試WAIT位;當(dāng)WAIT=0時(shí),循環(huán)執(zhí)行L3;指向下一個(gè)字;計(jì)數(shù)器減1;寫入是否完成?沒(méi)有則循環(huán)執(zhí)行L2;清除WRT和

21、BLKWRT位;測(cè)持BUSY位;BUSY1,即忙,則循環(huán)執(zhí)行L4 MOVL2 L3L4#FWKEY+LOCK,&FCTL3;LOCK置位;需要的話,重新使能看門狗WDT5.3.4寫入/擦除期間的Flash器在由RAM器啟動(dòng)的任意寫入/除操或BUSY1時(shí),CPU不能讀/寫Flash。否則,將產(chǎn)生一個(gè)進(jìn)入,ACCVIFG(時(shí)對(duì)Flash進(jìn)行寫入,ACCVIFG(中斷標(biāo)志)置位,寫入結(jié)果將不確定。當(dāng)然,如果在WRT=0中斷標(biāo)志)同樣產(chǎn)生置位。Flash器不受影響。在由Flash器啟動(dòng)的任意寫入/除操或BUSY1時(shí),F(xiàn)lash控制器將在取出下一個(gè)指令時(shí)給CPU返回操作代碼03h,相當(dāng)于指令JMPPC,

22、這就會(huì)使CPU循環(huán)執(zhí)行,直到Flash寫入操作完成。在操作完成且BUSY0時(shí),F(xiàn)lash控制器允許CPU取出正確的操作代碼并重新運(yùn)行程序。在BUSY1時(shí),對(duì)Flash的條件如表5-3所示。表5-3Flash的條件(BUSY1)當(dāng)EEI=0,EEIEX=0時(shí),F(xiàn)lash操作期間中斷功能自動(dòng)無(wú)效;在MSP430 x20 xx系列沒(méi)有EEI和Page 13 of 18Flash的操作FlashWAIT位取值結(jié)果擦除或單字節(jié)/單字寫入讀0ACCVIFG=0,讀出結(jié)果為03h寫0ACCVIFG=1,寫操作被忽略取指令0ACCVIFG=0,CPU03h,相當(dāng)于指令JMPPC塊寫入任意操作0ACCVIFG=

23、1,LOCK=1讀1ACCVIFG=0,讀出結(jié)果為03h寫1ACCVIFG=0,F(xiàn)lash執(zhí)行寫操作取指令1ACCVIFG=1,LOCK=1EEIEX位的也同樣適用。Flash操作結(jié)束后,中斷功能自動(dòng)重新使能。在操作期間發(fā)生的中斷將相應(yīng)標(biāo)志位置位,在重新使能后產(chǎn)生中斷請(qǐng)求。當(dāng)EEIEX = 1,GIE = 1時(shí),中斷將立即停止Flash的操作,并置位FAIL位。當(dāng)EEI=1,GIE=1,EEIEX=0時(shí),每32個(gè)fFTG周期段擦除將產(chǎn)生一個(gè)中斷,在中斷服務(wù)之后,段擦除將繼續(xù)執(zhí)行32個(gè)fFTG周期,直至擦除結(jié)束。在中斷服務(wù)程序執(zhí)行時(shí),BUSY保持置位,但是CPU可Flash器而不發(fā)生進(jìn)入。不支持

24、嵌套中斷。在擦除周期之前,看門狗(工作于看門狗模式)要停止工作。復(fù)位將停止擦除操作,使擦除結(jié)果不確定。在擦除周期結(jié)束之后,要重新使能看門狗。5.3.5停止寫入/擦除周期置位EMEX(緊急退出位)位,任意的寫入/擦除操作均可以在正常結(jié)束前被停止。設(shè)置EMEX位能立即停止當(dāng)前操作和Flash控制器。所有Flash操作停止,恢復(fù)到默認(rèn)狀態(tài)讀模式,F(xiàn)CTL1寄存器將全部復(fù)位。預(yù)計(jì)操作的結(jié)果將不可靠。5.3.6Flash控制寄存器設(shè)置和FCTLx是一個(gè)16位,有安全鍵值保護(hù),可讀/寫的寄存器。必須用字指令,寫操作還需在高字節(jié)加入安全鍵值0A5h。鍵值出錯(cuò)將使KEYV置位并產(chǎn)生PUC(上電清除信號(hào))系統(tǒng)復(fù)

25、位。對(duì)FCTLx的讀出需在高字節(jié)加入安全鍵值096h。在擦除或單字節(jié)/單字寫入操作期間對(duì)FCTL1進(jìn)行寫操作是的,將使ACCVIFG置位。在塊寫入模式下,當(dāng)WAIT=1時(shí),允許寫FCTL1;但如果WAIT=0將置位ACCVIFG。當(dāng)BUSY=1時(shí),對(duì)FCTL2的寫入是的。對(duì)FCTLx的讀操作要在BUSY=1是進(jìn)行,否則將產(chǎn)生操作。5.3.7Flash控制寄存器中斷Flash控制器有兩個(gè)中斷源:KEYV和ACCVIFG。發(fā)生操作時(shí)ACCVIFG位置位,在寫入或擦除操作之后重新置位ACCVIE位,此時(shí)ACCVIFG位的置位將產(chǎn)生一個(gè)中斷請(qǐng)求。ACCVIFG是NMI(非中斷),所以不受GIE是否置位

26、的影響。需進(jìn)行檢測(cè)ACCVIFG,確認(rèn)是否有操作發(fā)生。ACCVIFG得由復(fù)位。當(dāng)寫入錯(cuò)誤鍵值時(shí),KEYV位(安全鍵值錯(cuò)位)置位,同時(shí)立即產(chǎn)生PUC(上電清除信號(hào))使系統(tǒng)復(fù)位。5.3.8Flash器的編程對(duì)MSP430 Flash型單片機(jī)有三種編程方式的選擇。所有方式都支持通過(guò)JTAG接口編程通過(guò)引導(dǎo)加載程序編程通過(guò)自定義方式編程編程。通過(guò)JTAG接口編程MSP430單片機(jī)可以通過(guò)JTAG接口進(jìn)行編程。JTAG接口需要四根信號(hào)線(在20或28引腳芯片上需要5根信號(hào)線),地線,VCC和RST/NMI。JTAG接口由熔絲進(jìn)行保護(hù),熔絲的激活是不可逆的,一旦激活就不能再片內(nèi)系統(tǒng)。詳細(xì)情況請(qǐng)參看上的使用

27、中的amming a Flash-Based MSP430 Using theJTAGerface一文。通過(guò)引導(dǎo)加載程序(Bootstrap Loader,BSL)編程MSP430 Flash型單片機(jī)均包含一個(gè)引導(dǎo)裝入程序,BSL使用戶能通過(guò)UART串行接口對(duì)Flash器和RAM器進(jìn)行編程。通過(guò)BSLFlash器由256位,用戶自定義的口令進(jìn)行保中的 atures of the MSP430 Bootstrap護(hù)。詳細(xì)情況請(qǐng)參看Loader一文。上的使用Page 14 of 18通過(guò)自定義方式編程MSP430 CPU對(duì)Flash器的和外部用戶自定義寫入方式如圖5-12所示,用戶可以選擇通過(guò)UA

28、RT, SPI等方式進(jìn)行編程。用戶自行開(kāi)發(fā)的也可以接收數(shù)據(jù)或?qū)lash器編程,從而能方便的進(jìn)行編程,擦除,更新Flash器的應(yīng)用。圖5-12用戶自定義編程方式5.4Flash器控制寄存器Flash器控制寄存器如所示。表5-4Flash器控制寄存器一覽表Flash器控制寄存器FCTL115870096h (讀)0A5h (寫)rw-0rw-0r0rw-0rw-0rw-0rw-0r0注:在MSP430 x20 xx系列中無(wú)b15-8: FRKEY/FWKEY,F(xiàn)CTLx安全鍵值讀操作為096h,寫操作為0A5h,寫入錯(cuò)誤將產(chǎn)生PUC。b7:BLKWRT,塊寫入模式選擇位在寫模式下WRT也必須置位

29、,EMEX置位時(shí),WRT將自動(dòng)復(fù)位。0:塊寫入模式關(guān)閉1:塊寫入模式開(kāi)啟Page 15 of 18BLKWRTWRT保留EEIEXEEI+MERASERASE保留寄存器簡(jiǎn) 稱寄存器類型地址初始值(PUC后)Flash memory control register 1FCTL1可讀/寫0128h09600hFlash memory control register 2FCTL2可讀/寫012Ah09642hFlash memory control register 3FCTL3可讀/寫012Ch09658herrupt Enable 1IE1可讀/寫0000hResetb6/b0WRT ,寫模

30、式選擇位此位是用于選擇寫模式的。EMEX置位時(shí),WRT將自動(dòng)復(fù)位。0:寫入模式關(guān)閉1:寫入模式開(kāi)啟,保留位值為0。EEIEX,緊急中斷退出使能通過(guò)設(shè)置此位,能在GIE = 1時(shí),產(chǎn)生緊急中斷,從而跳出Flash的操作。EMEX置位后, EEIEX自動(dòng)復(fù)位。0:無(wú)作用1:中斷使能EEI,擦除中斷使能設(shè)置此位則允許段擦除產(chǎn)生中斷請(qǐng)求,中斷服務(wù)結(jié)束之后擦除周期繼續(xù)進(jìn)行。EMEX置位后,EEI自動(dòng)復(fù)位。0:無(wú)作用1:使能段擦除中斷 MERAS,集中擦除 ERASE,擦除這兩位同時(shí)用于選擇擦除模式。EMEX置位后,MERAS和ERASE將自動(dòng)復(fù)位。b5b4b3b2 b1Flash器控制寄存器FCTL21587650096h (讀)0A5h (寫)rw-0rw-1rw-0rw-0rw-0rw-0rw-1rw-0b15-8:FWKEYx,F(xiàn)CTLx安全鍵值讀操作為096h,寫操作為0A5h,寫入錯(cuò)誤將產(chǎn)生PUC。b7-6:Fx,時(shí)鐘源選擇位 ACLK MCLK SMCLK000110/11B5-0:FNx,定義時(shí)鐘源信號(hào)的分頻因子為FNx值加1。例如:FNx=00h,分

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論