




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第6章 時鐘與電源管理、 DMA與總線優(yōu)先權本章重點本章重點: S3C2410A時鐘與電源管理概述;時鐘發(fā)生器;電源管理;時鐘與電源管理特殊功能寄存器。其中包含了時鐘與電源管理用到的引腳信號、電源用到的引腳。 S3C2410A DMA概述,包括存儲器到外設DMA傳輸舉例等;DMA操作,包括選擇硬件DMA請求或軟件DMA請求,硬件DMA請求源的選擇、有限狀態(tài)機、外部DMA請求/響應協(xié)議和DMA傳輸舉例等;DMA特殊功能寄存器;總線優(yōu)先權。6.1 時鐘與電源管理概述 6.1.1 時鐘與電源管理概述nS3C2410A片內集成了時鐘與電源管理模塊,該模塊由三部分組成:時鐘控制、USB控制和電源控制。n
2、時鐘與電源管理有以下特點。 時鐘與電源管理模塊內有兩個鎖相環(huán)(Phase Locked Loop,PLL),一個稱為主鎖相環(huán)MPLL,產(chǎn)生三種時鐘信號,F(xiàn)CLK用于ARM920T;HCLK用于AHB總線設備和ARM920T;PCLK用于APB總線設備。另一個稱為USB鎖相環(huán)UPLL,產(chǎn)生的時鐘信號UCLK(48MHz)用于USB。 FCLK在S3C2410A內核供電電源為2.0V時,最高頻率為266MHz;內核供電電源為1.8V時,最高頻率為200MHz。n電源管理有4種模式,分別是NORMAL、SLOW、IDLE和Power_OFF。lNORMAL模式:在這種模式下,只允許用戶通過軟件控制片
3、內外設的時鐘信號接通或切斷。例如,UART2如果不使用,可以通過軟件切斷它的時鐘信號,以減少功耗。lSLOW模式:SLOW模式不使用主鎖相環(huán),SLOW模式使用外部頻率較低的時鐘(XTIpll或EXTCLK)經(jīng)過分頻后直接作為FCLK。在這種模式下,功耗僅僅取決于外部時鐘的頻率。lIDLE模式:在這種模式下,只切斷了到ARM920T的時鐘FCLK,到所有片內外設或控制器的時鐘信號仍然接通。計算功耗時應減去ARM920T的功耗。任何到CPU的中斷請求,能夠將CPU從IDLE模式中喚醒。lPower_OFF模式:在這種模式下,除了喚醒邏輯外,S3C2410A片內電源被切斷。為了能夠激活Power_O
4、FF模式,S3C2410A要求有兩個單獨的電源供電,一個給喚醒邏輯,另一個給包含CPU在內的內部邏輯供電,并且這1路電源應該能夠被控制,使得它的電源能夠被接通或切斷。從Power_OFF模式中被喚醒,使用外部中斷請求EINT15:0或RTC報警中斷。6.1.2 功耗管理概述n基于CMOS電路芯片的功耗,由靜態(tài)功耗與動態(tài)功耗組成。靜態(tài)功耗非常小,可以忽略不計。門電路電容充放電的動態(tài)功耗是電路功耗的主要部分。動態(tài)功耗通常與加在芯片上的電源電壓的平方成正比;與加在芯片上的時鐘信號的頻率成正比。n動態(tài)頻率調節(jié)(Dynamic Frequency Scaling)是指,由頻率調度程序負責在運行過程中針對
5、不同的運算需求,動態(tài)調節(jié)系統(tǒng)時鐘的頻率,以達到降低功耗的目的。n動態(tài)頻率調節(jié)需要有相應的調度程序,負責收集系統(tǒng)當前運行速度、負荷,預測系統(tǒng)未來的需求,以及計算調度花費的功耗與調度后節(jié)省的功耗。nS3C2410A時鐘與電源管理模塊中的MPLL,在外接時鐘源頻率已經(jīng)固定的情況下(如12MHz),通過軟件設置特殊功能寄存器MPLLCON中主、預、后分頻控制為不同的值,可以使鎖相環(huán)在程序運行過程中,輸出的時鐘頻率發(fā)生改變。比如從266MHz變成150MHz,或從150MHz變成200MHz,實現(xiàn)動態(tài)頻率調節(jié)。n用于USB的時鐘頻率,即UPLL的輸出,通常使用48MHz,不改變。n雖然S3C2410A在
6、內核電源為2.0V時,MPLL產(chǎn)生的時鐘頻率最高為266MHz,但是對于某些應用場合,如果事先能夠確定它的工作頻率,比如100MHz已經(jīng)滿足系統(tǒng)要求,那么在初始化階段,通過設定鎖相環(huán)對應的參數(shù),可以使其啟動后就工作在較低的頻率。 nS3C2410A為了支持軟件對功耗的管理,在NORMAL模式,還可以通過對時鐘控制寄存器CLKCON設置不同的值,把不使用的外設或控制器所連接的時鐘信號切斷,以節(jié)省功耗。n在IDLE模式,S3C2410A可以停止到ARM920T的時鐘。在Power_OFF模式,可以切斷除喚醒邏輯外的ARM920T和全部片內外設的電源,降低系統(tǒng)的功耗。nS3C2410A中,F(xiàn)CLK是
7、主時鐘,可以由軟件調節(jié)時鐘分頻比,產(chǎn)生不同頻率的HCLK和PCLK,以適應不同的應用方案,減少功耗。6.1.3 時鐘與電源管理用到的S3C2410A引腳信號n表6-1列出了部分S3C2410A的引腳信號及它們的含義,它們是時鐘與電源管理所用到的。另外,將Reset相關引腳信號也一并放在這里介紹。6.2 時鐘發(fā)生器6.2.1 時鐘與電源管理結構框圖 時鐘與電源管理結構框圖見圖6.1。6.2.2 時鐘源的選擇n系統(tǒng)啟動時,在nRESET上升沿,連接到S3C2410A模式控制引腳OM3:2的狀態(tài),被自動鎖存到機器內部。由OM3:2的狀態(tài),決定S3C2410A使用的時鐘源,詳見表6-2。n圖6.2給出
8、了OM3:2=00和11時,S3C2410A片外時鐘源的連接方法。圖中,晶振頻率范圍為1020MHz,常用12MHz的;電容可用1522pF的。n參見圖6.1,雖然在啟動后MPLL就接通(ON狀態(tài)),但是MPLL的輸出Mpll,在軟件寫一個合法的設置值到MPLL控制寄存器MPLLCON以前,不會作為系統(tǒng)時鐘。在合法的值設置以前,從外部晶振或EXTCLK來的時鐘源將被直接地用作系統(tǒng)的時鐘。即使用戶不需要改變MPLLCON寄存器中的缺省值,用戶也應該寫相同的值到MPLLCON寄存器。n另外,當OM1:0=11時,OM3:2被用作確定測試模式。6.2.3 鎖相環(huán)n圖6.1中有2個鎖相環(huán),MPLL和U
9、PLL。它們的輸入信號,見表6-2,可以選擇晶振或EXTCLK,頻率常為12MHz。MPLL輸出信號Mpll的頻率是可以改變的,方法是通過在寄存器MPLLCON中設置MDIV、PDIV和SDIV為不同的值而實現(xiàn)的。在內核電源電壓為2.0V時,MPLL輸出信號Mpll的頻率最高為266MHz。UPLL輸出信號Upll的頻率也可以調整,方法是通過在UPLL控制寄存器UPLLCON中設置MDIV、PDIV和SDIV為不同的值而實現(xiàn)的。nMPLLCON、UPLLCON寄存器的值,在程序運行中可以隨時修改,用于實現(xiàn)動態(tài)調整時鐘頻率的目的。通常UPLL輸出時鐘頻率要求為48MHz,一般不改變。n圖6.1中
10、MPLL和UPLL旁邊的P5:0、M7:0和S1:0與PDIV(預分頻控制)、MDIV(主分頻控制)和SDIV(后分頻控制)分別對應。n如果已知主鎖相環(huán)MPLL輸入Fin的頻率以及MDIV、PDIV和SDIV的值,輸出Mpll的頻率計算見式6-1。 Mpll=(mFin) / (p2S) (式6-1) 式中m=MDIV+8,p=PDIV+2,s=SDIV。nUpll頻率的計算方法與Mpll相同?!纠?.1】對MPLL,已知Fin=12MHz,MDIV=161,PDIV=3,SDIV=1,計算Mpll頻率;對UPLL,已知Fin=12MHz,MDIV=120,PDIV=2,SDIV=3,計算Up
11、ll頻率。 Mpll = (161+8)12) / (521) = 202.80 (MHz) Upll = (120+8)12) / (423) = 48.00 (MHz)n對于特殊功能寄存器MPLLCON和UPLLCON中的MDIV、PDIV和SDIV,三星公司給出了一組推薦值,使得輸出頻率可以選擇45.00MHz,50.70MHz,56.25MHz,202.80MHz、266.00MHz,以至最高達270.00MHz。表6-3是從這組推薦值中選出的幾個數(shù)據(jù),供參考。 n在實際對MPLL設置MDIV、PDIV和SDIV參數(shù)時,還要求滿足以下關系: FCLK頻率 = 3倍晶振頻率或3倍EXTC
12、LK頻率6.2.4 時鐘控制邏輯 時鐘控制邏輯的功能n時鐘控制邏輯確定被使用的時鐘源。例如,是使用MPLL的時鐘Mpll呢,還是直接使用外部時鐘XTIpll或EXTCLK。另外,當MPLL被設置一個新的頻率值時,時鐘控制邏輯依據(jù)鎖定時間計數(shù)寄存器LOCKTIME中設定的鎖定時間參數(shù),自動插入鎖定時間。在鎖定時間,F(xiàn)CLK不輸出時鐘脈沖,維持低電平,直到鎖定時間結束,以新的頻率輸出的信號穩(wěn)定后,才輸出FCLK。n在NORMAL模式,通過改變MPLLCON寄存器中的MDIV、PDIV和SDIV(簡稱PMS)參數(shù)值,使時鐘FCLK變慢,依據(jù)LOCKTIME寄存器中M_LTIME鎖定時間參數(shù),自動插入
13、鎖定時間的圖例見圖6.3(P198)。n在加電Reset和從Power_OFF模式中喚醒時,時鐘控制邏輯也使用鎖定時間參數(shù),自動插入鎖定時間。 加電Resetn參見圖6.1,加電Reset后,由于MPLL、UPLL還不穩(wěn)定,在軟件將一個新的設置值寫到MPLLCON寄存器以前,F(xiàn)in被送到時鐘控制邏輯,代替Mpll,直接作為FCLK。因此即使用戶在加電Reset后,不需要改變保留在MPLLCON、UPLLCON寄存器中的缺省值,也應該通過軟件寫相同的值到MPLLCON、UPLLCON寄存器,之后經(jīng)過自動插入鎖定時間,MPLL的輸出Mpll(而不是Fin)經(jīng)過時鐘控制邏輯輸出作為FCLK。FCLK
14、的頻率與加電Reset后通過軟件寫到MPLLCON寄存器的設置值相對應。同樣,UPLL的輸出頻率也與加電Reset后通過軟件寫到UPLLCON寄存器的設置值相對應。 在NORMAL模式改變MPLLCON、UPLLCON中的設置值nS3C2410A允許在NORMAL模式,由運行的程序,改變MPLLCON、UPLLCON寄存器中MDIV、PDIV和SDIV的設置值。改變之后,經(jīng)過鎖定時間,輸出時鐘的頻率被改變。新的頻率值與新寫入MPLLCON、UPLLCON中的MDIV、PDIV和SDIV參數(shù)值對應,見圖6.3。 USB時鐘控制nUSB主接口和設備接口需要48MHz的時鐘。S3C2410A中UPL
15、L能夠產(chǎn)生48MHz的時鐘。在UPLLCON寄存器中相應的參數(shù)被設置后,UPLL產(chǎn)生的48MHz的時鐘作為UCLK,具體見表6-4。 分頻比nFCLK也稱為主時鐘,通過在時鐘分頻控制寄存器CLKDIVN中對HDIVN1、HDIVN和PDIVN設置不同的值,可以改變FCLK、HCLK、PCLK之間頻率的比值,具體見表6-5。6.3 電源管理6.3.1 電源管理模式的轉換nS3C2410A有4種電源管理模式,分別是NORMAL、SLOW、IDLE和Power_OFF。不允許在這4種模式中自由轉換,合法的轉換見圖6.4。圖6.4n對于4種電源管理模式中的每一種,連接S3C2410A中各模塊的時鐘或電
16、源的狀態(tài),見表6-6(P200)。 6.3.2 4種電源管理模式 NORMAL模式n在NORMAL模式,全部片內外設,以及包含電源管理模塊在內的基本模塊,如ARM920T、總線控制器、存儲器控制器、中斷控制器、DMA和外部總線控制器等,全部可以操作,這時功耗最大。這種模式允許用戶通過軟件,控制連接每一個片內外設的時鐘接通或切斷,以減少功耗。在時鐘控制寄存器CLKCON中可以設置不同的值,能夠切斷或接通某一個或某幾個片內外設的時鐘。 IDLE模式n如果將時鐘控制寄存器CLKCON2設置為1,S3C2410A經(jīng)過一定的延時,進入IDLE模式。n在IDLE模式,到ARM920T的時鐘FCLK被停止。
17、但是到總線控制器、存儲器控制器、中斷控制器和電源管理模塊的時鐘仍接通;到片內外設的時鐘仍接通。在IDLE模式,計算功耗時應減去ARM920T的功耗。當EINT23:0或RTC報警中斷或其他中斷激活時,退出IDLE模式。 SLOW模式nSLOW模式是一種非鎖相環(huán)模式。n在SLOW模式,由于使用了比較慢的時鐘,能夠減少S3C2410A的功耗。在SLOW模式,MPLL應該被切斷,計算功耗時應減去MPLL的功耗。雖然UPLL也可以被切斷,但是USB使用的UCLK要求為48MHz的時鐘,通常并不切斷UPLL。只有在SLOW模式,才允許切斷或接通MPLL或UPLL。 Power_OFF模式 Power_O
18、FF模式 Power_OFF模式S3C2410A部分引腳狀態(tài)n在Power_OFF模式,S3C2410A的GPIO、功能輸出和功能輸入引腳狀態(tài)見表6-8。 Power_OFF模式對電源的控制n在Power_OFF模式,僅僅VDDi和VDDiarm電源能被切斷,切斷是由S3C2410A輸出引腳PWREN控制的。如果PWREN信號為高電平,由外部電壓調節(jié)器提供VDDi和VDDiarm;如果PWREN信號為低電平,切斷VDDi和VDDiarm,見圖6.6。 用于喚醒的EINT15:0 電池失效信號(nBATT_FLT) ADC Power Down6.3.3 S3C2410A電源引腳nS3C2410
19、A電源引腳連接的電源電壓和電源的用途見表6-9(P204)。6.4 時鐘與電源管理特殊功能寄存器 6個特殊功能寄存器的名稱、地址及Reset值 6個特殊功能寄存器的名稱、地址及Reset值,見表6-10。 鎖定時間計數(shù)寄存器 鎖定時間計數(shù)寄存器LOCKTIME,分別保存用于UPLL和用于MPLL的鎖定時間計數(shù)值,具體含義見表6-11。 MPLL及UPLL控制寄存器 MPLL及UPLL控制寄存器,即MPLLCON/UPLLCON,具體含義見表6-12。 時鐘控制寄存器 時鐘控制寄存器根據(jù)設置的不同值,允許/禁止PCLK或HCLK時鐘信號連接到某一確定的模塊;控制進入Power_OFF或IDLE模
20、式與否。 時鐘控制寄存器CLKCON含義見表6-13。 SLOW時鐘控制寄存器 SLOW時鐘控制寄存器CLKSLOW,具體含義見表6-14。 時鐘分頻控制寄存器 時鐘分頻控制寄存器CLKDIVN,具體含義見表6-15。6.5 DMA概述6.5.1 DMA概述 參見第2章圖2.1 S3C2410A組成框圖,S3C2410A支持一個4通道的DMA控制器,DMA控制器位于AHB與APB之間。每個通道能夠處理如下4種情況: 傳輸數(shù)據(jù)的源和目的設備都連接在AHB; 傳輸數(shù)據(jù)的源設備連接在AHB,而目的設備連接在APB; 傳輸數(shù)據(jù)的源設備連接在APB,而目的設備連接在AHB; 傳輸數(shù)據(jù)的源和目的設備都連接
21、在APB。n本章將連接在AHB、APB上的控制器,簡稱為設備。n連接在AHB上和APB上的設備見圖2.1。n圖2.1中并不是所有連接在AHB和APB上的設備都可以使用DMA方式,具體哪些可用或不可用,在后續(xù)各設備對應章節(jié)中會講到。nDMA主要優(yōu)點是傳輸數(shù)據(jù)不需要CPU介入。nDMA操作能夠以3種方式啟動:軟件、片內外設請求或S3C2410A片外DMA請求引腳信號。6.5.2 存儲器到外設DMA傳輸舉例 DMA傳輸舉例 例如存儲器(內存)某緩沖區(qū)的數(shù)據(jù),要讀出傳輸?shù)侥惩庠O(接口),與DMA傳輸相關事項有: DMA傳輸前要確定使用的DMA通道、初始參數(shù)設置,如果DMA傳輸結束需要進入中斷處理,則需
22、要考慮中斷處理程序在存儲器的定位; 確定由外設提出DMA請求,還是由軟件提出DMA請求(本例中由外設提出); CPU運行其他程序,外設隨機提出DMA請求,DMA控制器控制讀存儲器數(shù)據(jù),送外設(接口); 全部數(shù)據(jù)傳輸完成,DMA發(fā)中斷請求,中斷服務程序進行處理(例如用新數(shù)據(jù)填寫內存緩沖區(qū)、設置新的DMA初始參數(shù)以及清除相應的中斷登記位等);也可以通過查詢DMA狀態(tài),確定數(shù)據(jù)傳輸是否完成。 DMA初始參數(shù)設置與狀態(tài)寄存器 假定使用DMA通道0,那么以下所有參數(shù)都要送到通道0的特殊功能寄存器。可以讀出通道0的狀態(tài)寄存器,判斷通道0處于就緒/忙狀態(tài)、判斷傳輸計數(shù)當前值。 源地址 由于是從存儲器某緩沖區(qū)
23、讀出數(shù)據(jù),送某外設(接口),所以存儲器緩沖區(qū)的起始地址作為源地址,要送到DMA通道0的初始源(地址)寄存器DISRC0。DMA自動將DISRC0的值送到通道0的當前源(地址)寄存器DCSRC0,參見表6-17。 目的地址 本例中,目的地址指的是某外設(接口)的端口地址,是從內存讀出數(shù)據(jù)送往的目的地址,是目的區(qū)的一個起始地址,這個地址要送到DMA通道0的初始目的(地址)寄存器DIDST0。DMA自動將DIDST0的值送到通道0的當前目的(地址)寄存器DCDST0,參見表6-19。 傳輸計數(shù) 由存儲器緩沖區(qū)數(shù)據(jù)個數(shù)(字節(jié)數(shù)),通過計算得到一個傳輸計數(shù)值,這個值也稱傳輸節(jié)拍數(shù),送到通道0的控制寄存器
24、DCON0的TC域,稱為初始傳輸計數(shù)值。DMA自動將TC域的值送到通道0的狀態(tài)寄存器DSTAT0的CURR_TC域,稱為傳輸計數(shù)當前值,參見表6-21、表6-22。 初始源、初始目的控制寄存器 初始源控制寄存器,通過設置不同的參數(shù)值,控制源(設備)連接到AHB還是APB。本例中存儲器控制器連接在AHB,應該將DISRCC01設置為0。 在初始源控制寄存器中還可以選擇當前源地址是增量還是固定不變。 DMA控制寄存器 每個通道有1個DMA控制寄存器,通道0的為DCON0。通過程序可以分別選擇:請求/握手(Demand/Handshake)模式;使用AHB/APB時鐘同步;傳輸計數(shù)當前值CURR_T
25、C為0時產(chǎn)生中斷與否;Unit/Burst模式;Single/Whole服務模式;DMA請求源對應的設備;軟/硬件DMA請求;自動重裝與否;數(shù)據(jù)尺寸(data size),并可設置初始傳輸計數(shù)TC值。 屏蔽觸發(fā)寄存器 每個通道有1個屏蔽觸發(fā)寄存器,通道0的是DMASKTRIG0,可以用于停止DMA操作、設置通道0 ON/OFF、觸發(fā)軟件DMA請求。 狀態(tài)寄存器 每個通道有1個狀態(tài)寄存器,通道0的是DSTAT0,保存就緒/忙(Ready/Busy)狀態(tài),保存?zhèn)鬏斢嫈?shù)當前值CURR_TC。CURR_TC在每個原子操作結束時減1。6.5.3 DMA用到的S3C2410A引腳信號 S3C2410A芯片
26、引腳信號nXDREQ1:0為輸入信號,可以分別外接2路DMA請求信號;芯片引腳信號nXDACK1:0為輸出信號,輸出對nXDREQ1:0產(chǎn)生的DMA響應信號。6.6 DMA操作6.6.1 硬件DMA請求與軟件DMA請求 S3C2410A可以使用片外DMA請求引腳信號nXDREQ1:0、片內外設和軟件方式啟動DMA操作,前2種稱為硬件DMA請求,后1種稱為軟件DMA請求。 選擇硬件DMA請求或軟件DMA請求 DMA控制寄存器DCONn中的SWHW_SEL域控制選擇硬件DMA請求還是軟件DMA請求。當DCONn23=0時為軟件請求模式,通過設置DMA屏蔽觸發(fā)寄存器DMASKTRIGn的SW_TRI
27、G位,能夠觸發(fā)DMA請求;當DCONn23=1時為硬件請求模式,需要通過DCONn26:24選擇DMA請求源,由這個請求源提出DMA請求。 硬件DMA請求源的選擇 DMA控制器的每個通道,如果在DMA控制寄存器中選擇了使用硬件請求模式(DCONn23=1),那么可以從5個請求源中選出1個作為請求源,具體見表6-16。 如果選擇了軟件請求模式,表6-16中的硬件請求源沒有意義。6.6.2 用于DMA操作的有限狀態(tài)機 DMA使用3個狀態(tài)的有限狀態(tài)機(Finite State Machine,F(xiàn)SM)實現(xiàn)它的操作,3個狀態(tài)分別描述如下:nState-1:作為初始狀態(tài),DMA等待DMA請求。如果出現(xiàn)D
28、MA請求,進入State-2。在State-1中,DMA ACK和INT REQ為0(無效)。nState-2:在這個狀態(tài),DMA ACK變?yōu)?(有效),并且把DMA控制寄存器的DCONn19:0的初始傳輸計數(shù)值裝入到DMA狀態(tài)寄存器DSTATn的傳輸計數(shù)當前值CURR_TC域。DMA ACK保持1(有效),直到它被清除為止。nState-3:在這個狀態(tài),處理DMA原子操作(最基本的操作、不可分開的操作)的子有限狀態(tài)機(sub-FSM)被啟動。子有限狀態(tài)機從源地址讀數(shù)據(jù),然后寫數(shù)據(jù)到目的地址。在這個操作中,數(shù)據(jù)尺寸(size)和傳輸個數(shù)(Unit/Burst)被考慮。這個操作一直重復,在全部服
29、務(Whole Service)模式,直到CURR_TC計數(shù)器變?yōu)?;在單個服務(Single Service)模式,只執(zhí)行一次。當子有限狀態(tài)機結束每個原子操作時,主有限狀態(tài)機(即有限狀態(tài)機)的CURR_TC進行減法計數(shù)。當CURR_TC變?yōu)?并且寄存器DCONn29中斷設置位被設置成1時,主有限狀態(tài)機發(fā)出INT REQ(有效)信號。如果遇到以下條件中的一個,DMA ACK被清除(無效): 在全部服務模式,CURR_TC變成0; 在單個服務模式,原子操作結束。 在單個服務模式,主有限狀態(tài)機的這3個狀態(tài)被執(zhí)行,然后停止,等待下一個DMA請求。如果出現(xiàn)DMA請求,重復上述3個狀態(tài)。因此,對每個原子
30、操作,DMA ACK先有效,然后無效。在全部服務模式,主有限狀態(tài)機在State-3等待,直到CURR_TC變?yōu)?。因此,DMA ACK在全部傳輸期間有效,而當CURR_TC=0時無效。 然而,僅僅在CURR_TC變?yōu)?時INT REQ有效,與當前服務是單個服務模式或全部服務模式無關。6.6.3 外部DMA請求/響應協(xié)議有3種外部DMA請求/響應協(xié)議類型,分別是: 單個服務請求(Single Service Demand)模式; 單個服務握手(Single Service Handshake)模式; 全部服務握手(Whole Service Handshake)模式。 基本DMA定時 DMA服務
31、意味著在DMA操作中,執(zhí)行一對讀和寫周期,并且讀和寫周期被看作1個不可分開的DMA操作。圖6.7表示S3C2410A在DMA操作中的基本定時關系。 請求(Demand)/握手(Handshake)模式 請求和握手模式與XnXDREQ和XnXDACK之間的協(xié)議有關。 請求模式 在請求模式,當XnXDREQ有效時,經(jīng)過2個同步時鐘,XnXDACK有效。從XnXDACK有效開始,最少經(jīng)過3個時鐘,傳輸一次數(shù)據(jù)(如果處于Unit傳輸模式,則讀一次、寫一次)。 請求模式只要XnXDREQ有效,能夠傳輸多次。請求模式信號關系見圖6.8。 握手模式 在握手模式,一次數(shù)據(jù)傳輸后,DMA控制器只有在XnXDRE
32、Q撤消(高電平)后,經(jīng)過2個時鐘,XnXDACK才無效(高電平)。僅僅在XnXDREQ再次有效(低電平),才開始下一次傳輸。傳輸后如果XnXDREQ一直有效,則XnXDACK一直為低電平,直到XnXDREQ撤消。 握手模式信號關系見圖6.9。 單個服務(Single Service)/全部服務(Whole Service)模式n在單個服務模式,每次原子傳輸(Unit模式傳輸1次,Burst模式4個突發(fā)讀,之后4個突發(fā)寫)后,DMA停止,等待下一個DMA請求。n在全部服務模式,1個DMA請求出現(xiàn),進行原子傳輸,重復原子傳輸,直到當前傳輸計數(shù)值CURR_TC達到0為止。在這種模式下,只要有1個DM
33、A請求,就可以傳輸全部數(shù)據(jù)。n在全部服務模式,當每次原子傳輸后,DMA將釋放總線,然后自動重新獲得總線,從而避免了獨占總線使其他總線主設備無法獲得總線帶來的問題。重新獲得總線并不要求重新激活DMA請求。6.6.4 Unit/Burst傳輸、數(shù)據(jù)尺寸與自動重裝 Unit/Burst傳輸nUnit傳輸?shù)暮x是1次傳輸由1個讀周期和1個寫周期組成。nBurst傳輸?shù)暮x是1次傳輸由4個連續(xù)的讀周期和4個連續(xù)的寫周期組成。n在Unit或Burst傳輸期間,DMA穩(wěn)固地保持總線,其他總線主設備不能得到總線。S3C2410A DMA Burst傳輸信號關系見圖6.10。 數(shù)據(jù)尺寸(data size) 數(shù)
34、據(jù)尺寸的含義是每個讀(寫)周期,DMA傳輸?shù)臄?shù)據(jù)寬度。只能選擇使用字節(jié)/半字/字3種寬度中的一種。通過對DMA控制寄存器DCONn21:20位進行不同的設置,可以指定不同的數(shù)據(jù)尺寸。 自動重裝nDMA控制寄存器DCONn22為自動重裝選擇位,當這1位設置為0時,允許自動重裝。n當傳輸全部結束,在DMA狀態(tài)寄存器中的傳輸計數(shù)當前值CURR_TC變?yōu)?時,如果允許自動重裝,則在下一個DMA請求出現(xiàn)時,進行自動重裝,將初始源(地址)寄存器的值、初始目的(地址)寄存器的值和初始傳輸計數(shù)TC的值,分別送到DMA當前源(地址)寄存器、當前目的(地址)寄存器和傳輸計數(shù)當前值CURR_TC域中。6.6.5 外
35、部DMA請求/響應協(xié)議傳輸舉例 單個服務、請求模式、Unit傳輸 在單個服務模式,每次Unit傳輸,需要檢查XnXDREQ是有效的。在請求模式,只要XnXDREQ有效,操作將繼續(xù),讀和寫操作被看作不可分開的一對操作被執(zhí)行,具體見圖6.11。 單個服務、握手模式、Unit傳輸 單個服務、握手模式、Unit傳輸見圖6.12。 全部服務、握手模式、Unit傳輸 全部服務、握手模式、Unit傳輸見圖6.13。6.7 DMA特殊功能寄存器 DMA控制器共有36個特殊功能寄存器,每個DMA通道有9個寄存器。其中6個控制DMA傳輸,另外3個監(jiān)控DMA控制器的狀態(tài)。 DMA初始源(地址)寄存器 4個通道的DM
36、A初始源(地址)寄存器的名稱分別為DISRC0、DISRC1、DISRC2和DISRC3;對應地址分別為0 x4B000000、0 x4B000040、0 x4B000080和0 x4B0000C0;可讀寫;Reset后初值全部為0;分別存放各通道要傳輸?shù)脑磾?shù)據(jù)的基本地址(起始地址),具體見表6-17。 DMA初始源控制寄存器 4個通道的DMA初始源控制寄存器的名稱分別為DISRCC0、DISRCC1、DISRCC2和DISRCC3;對應地址分別為0 x4B000004、0 x4B000044、0 x4B000084和0 x4B0000C4;可讀寫;Reset后初值全部為0;分別存放各通道源(
37、設備)連接的總線、傳輸后地址增加與否等信息,具體見表6-18。 DMA初始目的(地址)寄存器 4個通道的DMA初始目的(地址)寄存器的名稱分別為DIDST0、DIDST1、DIDST2和DIDST3;對應地址分別為0 x4B000008、0 x4B000048、0 x4B000088和0 x4B0000C8;可讀寫;Reset后初值全部為0;分別存放各通道要傳輸?shù)哪康幕镜刂罚ㄆ鹗嫉刂罚?,具體見表6-19。 DMA初始目的控制寄存器 4個通道的DMA初始目的控制寄存器的名稱分別為DIDSTC0、DIDSTC1、DIDSTC2和DIDSTC3;對應地址分別為0 x4B00000C、0 x4B00004C、0 x4B00008C和0 x4B0000CC;可讀寫;Reset后初值全部為0;分別存放各通道目的(設備)連接的總線、傳輸后地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 客運站安全管理制度
- 家樂福產(chǎn)品管理制度
- 家庭文件夾管理制度
- 應急器材庫管理制度
- 歸口領導與管理制度
- 影視中控室管理制度
- 微機課安全管理制度
- 心電圖員工管理制度
- 快遞員派送管理制度
- 怎樣做電鍍管理制度
- 2024屆新疆維吾爾阿克蘇地區(qū)小升初語文檢測卷含答案
- MOOC 工科數(shù)學分析(一)-北京航空航天大學 中國大學慕課答案
- 汽車零部件生產(chǎn)過程大數(shù)據(jù)分析與管理
- 部編版《道德與法治》五年級下冊第11課《屹立在世界的東方》教學設計
- 2023年新疆維吾爾自治區(qū)石河子市小升初數(shù)學試卷(內含答案解析)
- 初中地理七下8.3.2《撒哈拉以南非洲》教學設計
- 鋁錠應用行業(yè)分析
- 湖北煙草公司招聘考試真題
- 心衰的中西醫(yī)結合治療
- 1000道100以內進位退位加減法題
- 公路技術狀況檢測與評定-公路技術狀況評定
評論
0/150
提交評論