《無線傳感器網絡》課件5.9 時鐘和電源管理;5.10 看門狗;5.11 DMA_第1頁
《無線傳感器網絡》課件5.9 時鐘和電源管理;5.10 看門狗;5.11 DMA_第2頁
《無線傳感器網絡》課件5.9 時鐘和電源管理;5.10 看門狗;5.11 DMA_第3頁
《無線傳感器網絡》課件5.9 時鐘和電源管理;5.10 看門狗;5.11 DMA_第4頁
《無線傳感器網絡》課件5.9 時鐘和電源管理;5.10 看門狗;5.11 DMA_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

5.9時鐘和電源管理CC2530不同的運行模式或供電模式用于低功耗運行。超低功耗運行的實現通過關閉電源模塊以避免損耗功耗,還通過使用特殊的門控時鐘和關閉振蕩器來降低動態功耗。CC2530有五種不同的運行模式(供電模式),分別被稱作主動模式、空閑模式、PM1、PM2和PM3。主動模式是一般模式,而PM3具有最低的功耗。CC2530電源管理主動模式:完全功能模式。穩壓器的數字內核開啟,16MHzRC振蕩器和32MHz晶體振蕩器運行至少一個運行。32kHzRC振蕩器或32kHz晶體振蕩器也有一個在運行。空閑模式:除了CPU內核停止運行,其他和主動模式一樣。PM1:穩壓器的數字部分開啟。32MHz晶體振蕩器和16MHzRC振蕩器都不運行。32kHzRC振蕩器或32kHz晶體振蕩器運行。復位、外部中斷或睡眠定時器過期時系統將轉到主動模式。PM2:穩壓器的數字內核關閉。32MHz晶體振蕩器和16MHzRC振蕩器都不運行。32kHzRC振蕩器或32kHz晶體振蕩器運行。復位、外部中斷或睡眠定時器到期時系統將轉到主動模式。PM3:穩壓器的數字內核關閉。所有的振蕩器都不運行。復位或外部中斷時系統將轉到主動模式。CC2530電源管理所需的供電模式通過使用寄存器SLEEPCMD的MODE位和PCON.IDLE位來選擇。設置寄存器PCON.IDLE位,進入SLEEPCMD.MODE所選的模式。來自端口引腳或睡眠定時器的使能的中斷,或上電復位將從其他供電模式喚醒設備,使它回到主動模式。當進入PM1、PM2或PM3,就運行一個掉電序列。當設備從 PM1、PM2或PM3中出來,它在16MHz開始,如果當進入供電模式(設置PCON.IDLE)且CLKCONCMD.OSC=0時,自動變為32MHz。如果當進入供電模式設置了PCON.IDLE且CLKCONCMD.OSC=1,它繼續運行在16MHz。CC2530電源管理控制設備有一個內部系統時鐘或主時鐘。該系統時鐘的源既可以用16MHzRC振蕩器,也可以采用32MHz晶體振蕩器。時鐘的控制可以使用寄存器CLKCONCMD來完成。 設備還有一個32KHz時鐘源,可以是RC振蕩器或晶振,也由CLKCONCMD寄存器控制。CLKCONSTA寄存器是一個只讀的寄存器,用于獲得當前時鐘狀態。振蕩器可以選擇高精度的晶體振蕩器,也可以選擇低功耗的高頻RC振蕩器。CC2530振蕩器和時鐘32MHz 晶振振蕩器16MHzRC振蕩器32MHz晶振振蕩器啟動時間對一些應用程序來說可能比較長,因此設備可以運行在16MHzRC振蕩器,直到晶振穩定。16MHzRC振蕩器功耗少于晶振振蕩器,但是由于不像晶振那么精確,不能用于RF收發器操作。高頻振蕩器32kHz晶體振蕩器用于運行在32.768kHz,為系統需要的時間精度提供一個穩定的時鐘信號。校準時 32kHzRC振蕩器運行在 32.753kHz。32kHzRC振蕩器應用于降低成本和電源消耗。這兩個32kHz振蕩器不能同時運行。低頻振蕩器(1)實驗目的:了解幾種系統電源模式的基本設置及切換。(2)實驗現象:程序指定S1為外部中斷源喚醒CC2530,每次系統喚醒LED1燈亮,LED2閃爍10下后關閉兩LED,進入系統睡眠模式PM3。當然,也可通過系統復位進行系統喚醒。實驗1:中斷喚醒系統實驗實驗1:中斷喚醒系統實驗5.10看門狗當單片機程序可能進入死循環情況下,看門狗定時器(WDT)用作一個恢復的方法。當軟件在選定時間間隔內不能清除WDT時,WDT必須復位系統。看門狗可用于容易受到電氣噪音、電源故障、靜電放電等影響的應用,或需要高可靠性的環境。如果一個應用不需要看門狗功能,可以配置看門狗定時器為一個定時器,這樣可以用于在選定的時間間隔產生中斷。看門狗在系統復位之后,看門狗定時器就被禁用。要設置WDT在看門狗模式,必須設置WDCTL.MODE[1:0]位為10 。然后看門狗定時器的計數器從0開始遞增。在看門狗模式下,一旦定時器使能,就不可以禁用定時器,因此,如果WDT位已經運行在看門狗模式下,再往WDCTL.MODE[1:0]寫入00或10就不起作用了。WDT運行在一個頻率為32.768kHz(當使用32kHzXOSC)的看門狗定時器時鐘上。這個時鐘頻率的超時期限等于1.9ms,15.625ms,0.25s和1s,分別對應64,512,8192和32768的計數值設置。如果計數器達到選定定時器的間隔值,看門狗定時器就為系統產生一個復位信號。如果在計數器達到選定定時器的間隔值之前,執行了一個看門狗清除序列,計數器就復位到0,并繼續遞增。看門狗清除的序列包括在一個看門狗時鐘周期內,寫入0xA到WDCTL.CLR[3:0],然后寫入0x5到同一個寄存器位。如果這個序列沒有在看門狗周期結束之前執行完畢,看門狗定時器就為系統產生一個復位信號。在看門狗模式下,WDT使能,就不能通過寫入WDCTL.MODE[1:0]位改變這個模式,且定時器間隔值也不能改變。在看門狗模式下,WDT不會產生一個中斷請求。看門狗模式如果不需要看門狗功能,可以將看門狗定時器設置成普通定時器,必須把WDCTL.MODE[1:0]位設置為11。定時器就開始,且計數器從0開始遞增。當計數器達到選定間隔值,定時器將產生一個中斷請求。在定時器模式下,可以通過寫入1到WDCTL.CLR[0]來清除定時器內容。當定時器被清除,計數器的內容就置為0。寫入00或01到WDCTL.MODE[1:0]來停止定時器,并清除它為0。定時器間隔由WDCTL.INT[1:0]位設置。在定時器操作期間,定時器間隔不能改變,且當定時器開始時必須設置。在定時器模式下,當達到定時器間隔時,不會產生復位。注意如果選擇了看門狗模式,定時器模式就不能在芯片復位之前選擇。定時器模式(1)實驗目的:編程實現看門狗周期單片機重啟,LED1和LED2不斷閃爍。加入喂狗函數后不重啟,驗證看門狗功能。看門狗實驗5.11DMA

DMA是directmemoryaccess的縮寫,即“直接內存存取”。這是一種高速的數據傳輸模式,ADC/UART/RF收發器等外設單元和存儲器之間可以直接在“DMA控制器”的控制下交換數據而幾乎不需要CPU的干預。除了在數據傳輸開始和結束時做一點處理外,在傳輸過程中CPU可以進行其他的工作。這樣,在大部分時間里,CPU和這些數據交互處于并行工作狀態。因此,系統的整體效率可以得到很大的提高。DMA控制器有5個通道,即DMA通道0到通道4。每個DMA通道能夠從DMA存儲器空間的一個位置傳送數據到另一個位置,比如XDATA位置之間。當DMA通道配置完畢后,在允許任何傳輸發起之前,必須進入工作狀態。DMA通道通過將DMA通道工作狀態寄存器DMAARM中指定位置1,就可以進入工作狀態。一旦DMA通道進入工作狀態,當配置的DMA觸發事件發生時,DMA傳送就開始了。可能的DMA觸發事件有32個,例如UART傳輸、定時器溢出等。DMA通道要使用的觸發事件由DMA通道配置設置,因此直到配置被讀取之后,才能知道。DMA操作(1)源地址DMA通道開始讀數據的地址,在XDATA存儲器中。這可以是任何XDATA地址——在RAM中,在映射的閃存區(cfMEMCTR.XBANK)中,XREG或XDATA尋址的。(2) 目標地址DMA通道從源地址讀出的要寫數據的首地址。用戶必須確認該目標地址可寫。這可以是任何XDATA地址——在RAM、XREG或XDATA尋址的SFR中。(3) 傳送數量DMA傳輸完成之前必須傳送的字節/字的個數。當達到傳送數量,DMA通道重新進入工作狀態或者解除工作狀態,并警告CPU即將有中斷請求到來。傳送數量可以在配置中定義,或可以采用可變長度。(4)VLEN設置DMA配置參數(5)DMA通道可以利用源數據中的第一個字節或字(對于字,使用位12:0)作為傳送長度。這允許可變長度的傳輸。當使用可變長度傳送時,要給出關于如何計算要傳輸的字節數的各種選項。在任何情況下,都是設置傳送長度(LEN)為傳送的最大長度。如果首字節或字指明的傳輸長度大于LEN,那么LEN個字節/字將被傳輸。當使用可變長度傳輸,那么LEN應設置位允許傳輸的最大長度加一。注意,僅在選擇字節長度傳送數據時才可以使用M8 位(見8.2.11節)。可以同VLEN一起設置的選項如下:1)傳輸首字節/字規定的個數+1字節/字(先傳輸字節/字的長度,然后按照字節/字長度指定的傳輸盡可能多的字節/字)2)傳輸首字節/字規定的字節/字3)傳輸首字節/字規定的個數+2字節/字(先傳輸字節/字的長度,然后按照字節/字長度指定+1傳輸盡可能多的字節/字)4)傳輸首字節/字規定的個數+3字節/字(先傳輸字節/字的長度,然后按照字節/字長度指定+2傳輸盡可能多的字節/字)

DMA配置參數(6)源和目標增量當DMA通道進入工作狀態或者重新進入工作狀態時,源地址和目標地址傳送到內部地址指針。其地址增量可能有下列4種:增量為0。每次傳送之后,地址指針將保持不變。增量為l。每次傳送之后,地址指針將加上1個數。增量為2。每次傳送之后,地址指針將加上2個數。 減量為 1。每次傳送之后,地址指針將減去1個數。其中一個數在字節模式下等于1個字節,在字模式下等于2個字節。 減量為 1。每次傳送之后,地址指針將減去1個數。其中一個數在字節模式下等于1個字節,在字模式下等于2個字節。(7)DMA傳輸模式傳輸模式確定當DMA通道開始傳輸數據時是如何工作的。以下描述了四種傳輸模式:單一模式:每當觸發時,發生一個DMA 傳送,DMA通道等待下一個觸發。完成指定的傳送長度后,傳送結束,通報CPU,解除DMA通道的工作狀態。塊模式:每當觸發時,按照傳送長度指定的若干DMA傳送被盡快傳送,此后,通報CPU,解除DMA通道的工作狀態。重復的單一模式:每當觸發時,發生一個DMA傳送,DMA通道等待下一個觸發。完成指定的傳送長度后,傳送結束,通報CPU,且DMA通道重新進入工作狀態。重復的塊模式:每當觸發時,按照傳送長度指定的若干DMA傳送被盡快傳送,此后通報CPU,DMA通道重新進入工作狀態。DMA配置參數(8)DMA優先級DMA優先級別對每個DMA通道是可以配置的。DMA優先級別用于判定同時發生的多個內部存儲器請求中的哪一個優先級最高,以及DMA存儲器存取的優先級別是否超過同時發生的CPU存儲器存取的優先級別。在同屬內部關系的情況下,采用輪轉調度方案應對,確保所有的存取請求。有三種級別的DMA優先級:高級:最高內部優先級別。DMA存取總是優先于CPU存取。一般級:中等內部優先級別。保證DMA存取至少在每秒一次的嘗試中優先于CPU存取。低級:最低內部優先級別。DMA存取總是劣于CPU存取。(9)字節或字傳輸判定已經完成的傳送究竟是8 位(字節)還是16位(字)。(10)中斷屏蔽在完成DMA傳送的基礎上,該DMA通道能夠產生一個中斷到處理器。這個位可以屏蔽該中斷。(11)模式8設置這個域的值,決定是采用7位還是8位長的字節來傳送數據。此模式僅僅適用于字節傳送。DMA配置參數停止DMA傳輸使用DMAARM寄存器來解除DMA通道工作狀態,停止正在運行的DMA傳送或進入工作狀態的DMA。將1寫入DMAARM.ABORT寄存器位,就會停止一個或多個進入工作狀態的DMA通道,同時通過設置相應的DMAARM.DMAARMx為1選擇停止哪個DMA通道。當設置DMAARM.ABORT為1,非停止通道的DMAARM.DMAARMx位必須寫入0。DMA中斷每個DMA通道可以配置為一旦完成DMA傳送,就產生中斷到CPU。該功能由IRQMASK位在通道配置時實現。當中斷產生時,寄存器DMAIRQ中所對應的中斷標志位置1。當然要處理DMA中斷需要設置DMAIE=1和EA=1;一旦DMA通道完成傳送,不管在通道配置中IRQMASK位是何值,中斷標志都會置1。這樣,當通道重新進入工作狀態且IRQMASK的設置改變時,軟件必須總是清除這個寄存器相應位。DMA配置安裝實驗現象:程序運行后,在LCD上顯示提示信息,按S1鍵,DMA傳輸開始,如果傳輸成功顯示提示信息。實驗1:DMA傳輸1)對于DMA傳輸來說,DMA配置參數非常重要,在dma.h文件中定義了以下結構體#pragmabitfields=reversedtypedefstruct{charSRCADDRH;charSRCADDRL;charDESTADDRH;

charDESTADDRL;charVLEN:3;charLENH:5;

charLENL:8;charWORDSIZE:1;charTMODE:2;charTRIG:5;charSRCINC:2;charDESTINC:2;charIRQMASK:1;charM8:1;charPRIORITY:2;}DMA_DESC;在定義此結構體時,用到了很多冒號(:),后面還跟著一個數字,這種語法叫“位域”:位域是指信息在存儲時,并不需要占用一個完整的字節,而只需占幾個或一個二進制位。例如在存放一個開關量時,只有0和1兩種狀態,用一位二進位即可。為了節省存儲空間,并使處理簡便,C語言提供了一種數據結構,稱為“位域”或“位段”。所謂“位域”是把一個字節中的二進位劃分為幾個不同的區域,并說明每個區域的位數。每個域有一個域名,允許在程序中按域名進行操作。這樣就可以把幾個不同的對象用一個字節的二進制位域來表示。配置DMA:首先必須配置DMA,但DMA的配置比較特殊:不是直接對某些SFR賦值,而是在外部定義一個結構體,對其賦值,然后再將此結構體的首地址的高8位賦給

DMA0CFGH,將其低8位賦給

DMA0CFGL。程序分析:2)定義一個結構體,對其賦值//設置DMA通道.SET_WORD(dmaChannel.SRCADDRH,dmaChannel.SRCADDRL,&sourceString);//設置源數據的地址

SET_WORD(dmaChannel.DESTADDRH,dmaChannel.DESTADDRL,&destString);//設置源目的地址.SET_WORD(dmaChannel.LEN

溫馨提示

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

評論

0/150

提交評論