付費下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023年1月8日1Cortex-M4原理與實踐第二章Cortex-M4F微處理器的系統(tǒng)控制主講人:陳朋(博士、副教授)地址:1號樓D325Email:2023年1月8日Cortex-M4原理與實踐2主要內(nèi)容提綱2.1系統(tǒng)控制相關(guān)信號描述2.2系統(tǒng)控制功能概述2023年1月8日3第二章Cortex-M4F微處理器的系統(tǒng)控制2.1系統(tǒng)控制相關(guān)信號描述2023年1月8日4系統(tǒng)控制相關(guān)信號描述Cortex-M4F微處理器的系統(tǒng)控制確定器件的所有操作,并提供器件的有關(guān)信息。這些操作包括復(fù)位、電源、時鐘、低功耗模式的控制以及NMI控制。系統(tǒng)控制的具體功能如下:提供器件標識信息;局部控制:復(fù)位、電源和時鐘控制;工作模式控制:運行、睡眠和深度睡眠模式控制。Cortex-M4原理與實踐2023年1月8日5系統(tǒng)控制和時鐘信號Cortex-M4原理與實踐管腳名稱管腳編號管腳復(fù)用/管腳賦值管腳類型緩沖區(qū)類型描述DIVSCLK102PQ4(7)輸出TTL基于選定的時鐘源,輸出一個可選擇的分頻參考時鐘NMI128PD7(8)輸入TTL不可屏蔽中斷OSC088固定輸入模擬主振蕩器晶體輸入或外部時鐘參考輸入。OSC189固定輸出模擬主振蕩器晶體輸出。當(dāng)使用外部單端參考時鐘源時,此管腳應(yīng)懸空。RST70固定輸入TTL系統(tǒng)復(fù)位輸入2023年1月8日62.2系統(tǒng)控制功能概述第二章Cortex-M4F微處理器的系統(tǒng)控制2023年1月8日72.2.1器件標識信息Cortex-M4F微處理器中有些只讀寄存器給軟件提供有關(guān)微處理器的信息,包括版本、元件型號、內(nèi)部存儲器大小和外設(shè)信息等。例如,器件標識0寄存器DID0和器件標識1寄存器DID1提供器件版本、封裝和工作溫度范圍等信息。從系統(tǒng)控制偏移地址0x300開始和0xFC0開始的寄存器分別提供了外設(shè)詳細信息,例如偏移地址0x300的寄存器PPWD(WatchdogTimerPeripheralPresent)提供了芯片上是否有看門狗定時器0或1的信息等。此外,還有4個唯一標識符寄存器n(UNIQUEIDn),為每一個微處理器提供了一個128位的獨一無二的設(shè)備標識符,該標識符無法被修改。Cortex-M4原理與實踐2023年1月8日82.2.2復(fù)位控制TM4C1294微處理器有8種復(fù)位方式,包括:上電復(fù)位POR(Power-onreset)外部復(fù)位引腳RST\低電平復(fù)位內(nèi)部掉電復(fù)位BOR(brown-outdetector)軟件引起的復(fù)位看門狗定時器復(fù)位休眠模式事件復(fù)位軟件通過硬件系統(tǒng)重啟服務(wù)請求復(fù)位(HSSR)MOSC失效復(fù)位Cortex-M4原理與實踐2023年1月8日9復(fù)位源Cortex-M4原理與實踐復(fù)位源內(nèi)核是否復(fù)位JTAG是否復(fù)位片上外設(shè)是否復(fù)位上電復(fù)位是是是RST是僅管腳配置是掉電復(fù)位是僅管腳配置是使用APINT寄存器中的SYSRESREQ位進行軟件系統(tǒng)請求復(fù)位。是僅管腳配置是使用APINT寄存器中的VECTRESET位進行軟件系統(tǒng)請求復(fù)位。是否否軟件外設(shè)復(fù)位否僅管腳配置是看門狗復(fù)位是僅管腳配置是MOSC失敗復(fù)位是僅管腳配置是休眠模式復(fù)位是僅管腳配置是HSSR復(fù)位是僅管腳配置是2023年1月8日10上電復(fù)位PORCortex-M4原理與實踐當(dāng)外部產(chǎn)生上電復(fù)位時,內(nèi)部上電復(fù)位(POR)電路監(jiān)測電源電壓(VDD),并且在電源達到閾值(VPOR)時向包括JTAG在內(nèi)的所有內(nèi)部邏輯產(chǎn)生復(fù)位信號。當(dāng)片上上電復(fù)位脈沖結(jié)束時,微控制器必須在規(guī)定的參數(shù)范圍內(nèi)工作。上電復(fù)位序列如下:微控制器等待內(nèi)部POR變?yōu)闊o效。內(nèi)部復(fù)位釋放,內(nèi)核從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第1條指令,然后開始執(zhí)行。2023年1月8日11上電復(fù)位PORReset(Internal)
R2DigitalPORR1Cortex-M4原理與實踐2023年1月8日121.如果應(yīng)用中只使用內(nèi)部POR電路,那么(RST)輸入必須通過一個可選的上拉電阻(0至100K?)連接到電源(VDD),如圖所示。(RST)輸入的濾波功能需要最小脈寬,以便復(fù)位脈沖被識別。外部復(fù)位引腳(RST)低電平復(fù)位Cortex-M4原理與實踐2023年1月8日132.為提高噪聲免疫和/或延遲上電復(fù)位,(RST)輸入可以連接至一個RC網(wǎng)絡(luò)外部復(fù)位引腳(RST)低電平復(fù)位Cortex-M4原理與實踐3.如果如果應(yīng)用中需要使用外部復(fù)位開關(guān),右圖給出了參考電路。RPU和C1元件確定了上電延時時間。2023年1月8日14外部復(fù)位引腳(RST)低電平復(fù)位Cortex-M4原理與實踐2023年1月8日15外部復(fù)位管腳(RST)復(fù)位微控制器,包括內(nèi)核和所有片上外設(shè)。外部復(fù)位步驟如下外部復(fù)位管腳(RST)在TMIN規(guī)定的時間持續(xù)有效,然后失效。內(nèi)部復(fù)位釋放,內(nèi)核從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第1條指令,然后開始執(zhí)行。外部復(fù)位引腳(RST)低電平復(fù)位Cortex-M4原理與實踐器件內(nèi)部的BOR檢測器(brown-outdetector)檢測電源電壓VDD(外部)或VDDA(模擬),當(dāng)其低于相對應(yīng)的閾值電壓時,系統(tǒng)將產(chǎn)生一個中斷或者系統(tǒng)復(fù)位。應(yīng)用程序可以通過讀取Power-TemperatureCause(PWRTC)寄存器來識別BOR類型。BOR檢測電路可以通過設(shè)置Power-OnandBrown-OutControl(PBOCTL)寄存器來產(chǎn)生一個復(fù)位、系統(tǒng)控制中斷或不可屏蔽中斷(NMI)。2023年1月8日16掉電復(fù)位BORCortex-M4原理與實踐2023年1月8日17掉電復(fù)位BOR時序圖Cortex-M4原理與實踐2023年1月8日18軟件復(fù)位軟件既可以使整個器件復(fù)位,也可以單獨使內(nèi)核或者某個外設(shè)復(fù)位。(1)通過軟件將寄存器APINT的SYSRESREQ位置位,可以使整個器件復(fù)位;(2)通過軟件將寄存器APINT的VECTRESET位置位,可以使內(nèi)核復(fù)位;(3)通過軟件將特定外設(shè)軟件復(fù)位寄存器(叢偏移地址0x500開始)的對應(yīng)位置位,然后清除,可以使特定外設(shè)復(fù)位。Cortex-M4原理與實踐2023年1月8日19軟件復(fù)位時序圖SoftwareResetReset(Internal)R6Cortex-M4原理與實踐看門狗定時器的作用是為了避免系統(tǒng)懸掛。TM4C1294微處理器有兩個看門狗定時器,一個工作于系統(tǒng)時鐘下,另一個工作于精密內(nèi)部時鐘PIOSC(PrecisionInternalOscillator)下。每個看門狗定時器均可配置為:在第一次溢出時產(chǎn)生一個中斷或非屏蔽中斷NMI(當(dāng)看門狗控制寄存器WDTCTL的INTTYPE和INTEN位被設(shè)置時),在第二次溢出時產(chǎn)生一個復(fù)位。看門狗定時器第一次溢出后,32位的看門狗計數(shù)器將重新裝載寄存器WatchdogTimerLoad(WDTLOAD)的值,然后繼續(xù)減數(shù)計數(shù)。若看門狗復(fù)位被使能了(當(dāng)看門狗控制寄存器WDTCTL的RESEN位被置位時),則在第二次溢出后將產(chǎn)生復(fù)位信號。2023年1月8日20看門狗定時器復(fù)位Cortex-M4原理與實踐2023年1月8日21看門狗定時器復(fù)位序列看門狗定時器第二次溢出時沒有被服務(wù)。內(nèi)部復(fù)位有效。內(nèi)部復(fù)位釋放,微控制器從存儲器加載初始堆棧指針、初始程序計數(shù)器以及由程序計數(shù)器指定的第1條指令,然后開始執(zhí)行。Cortex-M4原理與實踐WatchdogResetReset(Internal)R72023年1月8日22休眠模式復(fù)位休眠模塊被配置且經(jīng)過冷上電初始化,隨后進入休眠模式,喚醒事件(不包括外部復(fù)位引腳喚醒)使模塊產(chǎn)生系統(tǒng)復(fù)位,該復(fù)位信號復(fù)位裝置中除休眠模塊外的所有電路。休眠模塊的所有寄存器在復(fù)位后保留原值。Cortex-M4原理與實踐2023年1月8日23休眠模式復(fù)位當(dāng)休眠模塊的VDD啟用且接收到喚醒事件,會產(chǎn)生如下的系統(tǒng)復(fù)位序列:設(shè)置RESC寄存器中的上電復(fù)位位或EXT位。內(nèi)部復(fù)位生效。內(nèi)部復(fù)位釋放,微控制器從存儲器中加載初始堆棧指針,初始程序計數(shù)器以及由程序計數(shù)器指定的第一條指令,然后開始執(zhí)行。休眠模塊中的HIBRIS寄存器可讀,以確定復(fù)位的原因。寫0來清除RESC寄存器中的上電復(fù)位位或EXT位。Cortex-M4原理與實踐2023年1月8日24HSSR復(fù)位硬件系統(tǒng)服務(wù)請求(HSSR)寄存器可以用來回恢復(fù)設(shè)備到出廠設(shè)置。成功地寫入硬件系統(tǒng)服務(wù)請求(HSSR)寄存器可啟動系統(tǒng)復(fù)位。復(fù)位初始化程序在檢查HSSR寄存器和處理指令之前執(zhí)行。該寄存器只能在特權(quán)模式下訪問。在恢復(fù)出廠設(shè)置之前,設(shè)置RESC寄存器的HSSR位并且執(zhí)行系統(tǒng)復(fù)位序列。在HSSR功能被處理之后,將功能處理結(jié)果寫入HSSR寄存器中的CDOFF位域,同時執(zhí)行另一個HSSR系統(tǒng)復(fù)位。RESC寄存器中的HSSR位可通過寫0清除。Cortex-M4原理與實踐TM4C1294微處理器有6種NMI中斷源,具體是哪一種需要通過軟件讀取NMIC寄存器來判斷:外部NMI信號;主振蕩器驗證失敗即MOSC失效;中斷控制和狀態(tài)寄存器INTCTRL(InterruptControlandState)的NMISET位被設(shè)置;看門狗定時器中斷:控制寄存器WDTCTL(WatchdogControl)的INTTYPE位被設(shè)置;休眠的觸發(fā)事件;BOR的觸發(fā)事件。2023年1月8日252.2.3NMI控制Cortex-M4原理與實踐2023年1月8日262.2.4電源控制Cortex-M4原理與實踐2023年1月8日272.2.5時鐘控制TM4C1294微處理器有四個時鐘源,如下表所示。Cortex-M4原理與實踐時鐘源驅(qū)動PLL?用作SysClk?精密內(nèi)部振蕩器PIOSC是USEPLL=1,PLLSRC=0x0是USEPLL=0,OSCSRC=0x0主振蕩器MOSC是USEPLL=1,PLLSRC=0x3是USEPLL=0,OSCSRC=0x3低頻內(nèi)部振蕩器LFIOSC否-是USEPLL=0,OSCSRC=0x2休眠模塊時鐘否-是USEPLL=0,OSCSRC=0x42023年1月8日28精密內(nèi)部振蕩器PIOSC精確內(nèi)部振蕩器是一個片上時鐘源,在POR期間和之后,微控制器使用該時鐘源。它不需要使用任何外部元件,并提供一個16MHz時鐘,其校準精度為±1%,整個溫度范圍內(nèi)的精度為±3%。PIOSC是為需要精確時鐘源并減少系統(tǒng)開銷的應(yīng)用而考慮的。如果需要主振蕩器,軟件必須在復(fù)位后使能主振蕩器,并在改變時鐘參考前讓主振蕩器達到穩(wěn)定。如果冬眠模塊時鐘源是32.768KHz振蕩器,也可以通過改變時鐘參考前讓主振蕩器達到穩(wěn)定。不論PIOSC是否是系統(tǒng)時鐘源,PIOSC可以被配置為ADC時鐘源以及UART和SSI的波特率時鐘。Cortex-M4原理與實踐2023年1月8日29主振蕩器MOSC主振蕩器可通過兩種方式提供一個頻率精確的時鐘源:外部單端時鐘源連接到OSC0輸入管腳,或者外部晶振串接在OSC0輸入管腳和OSC1輸出管腳間。如果PLL正在使用,晶振的值必須是5MHz到25MHz(含)之間的一個支持的頻率。如果PLL沒有被使用,晶振可以是4MHz到25MHz之間的任何一個支持的頻率。注意MOSC:必須為USBPLL提供一個時鐘源,并且必須連接到晶體或振蕩器。Cortex-M4原理與實踐2023年1月8日30低頻內(nèi)部振蕩器LFIOSC低頻內(nèi)部振蕩器(LFIOSC)提供了33KHz的時鐘頻率,其精度與電氣特性相關(guān)。低頻內(nèi)部振蕩器適用于深度睡眠省電模式。該省電模式受益于精簡的內(nèi)部配電系統(tǒng),同時也允許MOSC或PIOSC關(guān)閉。此外,通過深度睡眠時鐘配置寄存器(DSCLKCFG)來控制在節(jié)電模式中內(nèi)部切換和關(guān)閉MOSC或PIOSC。Cortex-M4原理與實踐2023年1月8日31休眠模塊時鐘休眠模塊提供了兩個輸出時鐘,一個外部32.768KHz和低頻時鐘(HIBLFIOSC)。休眠模塊時鐘由連接至XOSC0引腳的32.768kHz的時鐘源,32.768KHz振蕩器可以使用系統(tǒng)時鐘,因此不再需要額外的晶體或振蕩器。另外,休眠模塊包含一個低頻振蕩器(HIBLFIOSC),旨在為系統(tǒng)提供一個實時時鐘源,還可以為深度睡眠或休眠模式提供一個準確的電源。Cortex-M4原理與實踐注意:HIBLFIOSC和LFIOSC是兩個不同的時鐘源。2023年1月8日32時鐘配置系統(tǒng)時鐘SysClk可由以上四種時鐘源中的任意一個直接提供,或者通過內(nèi)部主PLL提供,也可由PIOSC的四分頻即4MHz±1%提供。PLL時鐘源的頻率必須在5MHz到25MHz的范圍之內(nèi)。RunandSleepModeConfigurationRegister(RSCLKCFG)寄存器提供在運行和睡眠模式下控制系統(tǒng)時鐘,DeepSleepClockConfigurationregister(DSCLKCFG)寄存器在深度睡眠模式中,指定時鐘系統(tǒng)的行為。Cortex-M4原理與實踐2023年1月8日33時鐘配置externuint32_tSysCtlClockFreqSet(uint32_tui32Config,uint32_tui32SysClock);Cortex-M4原理與實踐配置參數(shù)注釋SYSCTL_CFG_VCO_480VCOis480MHz(壓控振蕩器設(shè)置為480MHz)SYSCTL_USE_PLLSystemclockisthePLLclock(使用PLL)SYSCTL_USE_OSCSystemclockistheoscclockSYSCTL_XTAL_1MHZExternalcrystalis1MHz(外部時鐘為1MHz)SYSCTL_XTAL_25MHZExternalcrystalis25.0MHzSYSCTL_OSC_MAINOscsourceismainoscSYSCTL_OSC_INTOscsourceisint.oscSYSCTL_OSC_INT4Oscsourceisint.osc/4SYSCTL_OSC_INT30Oscsourceisint.30KHzSYSCTL_OSC_EXT32Oscsourceisext.32KHzSYSCTL_INT_OSC_DISDisableinternaloscillatorSYSCTL_MAIN_OSC_DISDisablemainoscillator2023年1月8日34時鐘配置Cortex-M4原理與實踐例2.1:設(shè)外部時鐘為25MHz,需配置系統(tǒng)時鐘頻率為120MHz,操作程序如下:intmain(void){
////RunfromthePLLat120MHz.//g_ui32SysClock=SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ| SYSCTL_OSC_MAIN| SYSCTL_USE_PLL| SYSCTL_CFG_VCO_480), 120000000);}2023年1月8日35時鐘配置外設(shè)由系統(tǒng)時鐘驅(qū)動,ADC的時鐘由PIOSC、SysClk或者PLL提供,通過寄存器ADCCC(ADCClockConfiguration)設(shè)置;PWM的時鐘由系統(tǒng)時鐘SysClk分頻提供,通過寄存器PWMCC(PWMClockControl)控制;USB的時鐘由主振蕩器通過USBPLL提供,通過寄存器USBCC(USBClockControlRegister)來控制;通信模塊如UART、CAN和SSI也有相應(yīng)的時鐘控制寄存器,可以設(shè)置模塊時鐘源和波特率時鐘源。Cortex-M4原理與實踐2023年1月8日362.2.6工作模式控制為了進行功耗控制,位于系統(tǒng)控制寄存器區(qū)偏移地址為0x600、0x700和0x800開始的外設(shè)專用寄存器RCGCx、SCGCx和DCGCx(其中‘x’代表外設(shè)英文縮寫字母,例如看門狗專用寄存器為RCGCWD)用于在系統(tǒng)運行、睡眠、深度睡眠以及休眠時控制對應(yīng)外設(shè)的時鐘。TM4C1294微處理器有四種工作模式:運行、睡眠、深度睡眠和休眠。Cortex-M4原理與實踐2023年1月8日37工作模式控制運行模式:該模式下,微處理器正常執(zhí)行代碼,所有已被外設(shè)專用寄存器RCGC設(shè)置為使能的外設(shè)正常運行,系統(tǒng)時鐘源可以是任意一種時鐘源及其PLL分頻。睡眠模式:在睡眠模式,運行中的外設(shè)時鐘頻率不變,但是處理器和存儲器子系統(tǒng)不使用時鐘,所以不再執(zhí)行代碼。睡眠模式是通過Cortex-M4F內(nèi)核執(zhí)行一條WFI(等待中斷)指令。系統(tǒng)中任何正確配置的中斷事件都可以將處理器帶回到運行模式。Cortex-M4原理與實踐2023年1月8日38工作模式控制深度睡眠模式:處理器通過首先將系統(tǒng)控制寄存器SYSCTRL的SLEEPDEEP位置位,然后執(zhí)行WFI(WaitforInterrupt)指令進入深度睡眠模式。該模式下,系統(tǒng)時鐘源可能改變;外設(shè)的時鐘頻率也可能改變;處理器和存儲器的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(農(nóng)機設(shè)備應(yīng)用與維修)拖拉機駕駛試題及答案
- 2025年高職新能源汽車技術(shù)(電機控制技術(shù))試題及答案
- 2025年中職(計算機網(wǎng)絡(luò)技術(shù))網(wǎng)絡(luò)設(shè)備配置期中測試試題及答案
- 2025年中職林木種苗生產(chǎn)(林木種苗培育)試題及答案
- 2025年高職(園林工程)園林工程施工試題及答案
- 2025年高職會計畢業(yè)論文寫作(論文寫作)試題及答案
- 禁毒知識安全教育主題班會
- 年產(chǎn)5000噸酪蛋白系列產(chǎn)品生產(chǎn)裝置設(shè)備更新改造及智能化提升項目可行性研究報告模板-立項申報用
- 萊州消防安全巡查機制
- 光伏硅片技術(shù)分享
- 2024-2030年中國海南省廢水污染物處理資金申請報告
- 新能源汽車技術(shù) SL03維修手冊(第4章)-電氣-4.2.2~4.2.12電器集成
- 教科版科學(xué)教材培訓(xùn)
- 甲狀腺的中醫(yī)護理
- 商住樓項目總體規(guī)劃方案
- 2022儲能系統(tǒng)在電網(wǎng)中典型應(yīng)用
- 互聯(lián)網(wǎng)+物流平臺項目創(chuàng)辦商業(yè)計劃書(完整版)
- 家庭學(xué)校社會協(xié)同育人課件
- IABP主動脈球囊反搏課件
- 基于python-的車牌識別
- 《LTCC生產(chǎn)流程》課件
評論
0/150
提交評論