時(shí)鐘與DMA

發(fā)布時(shí)間:2011-3-28 14:02    發(fā)布者:techshare
關(guān)鍵詞: DMA , 時(shí)鐘
首先討論一下s3c24440的時(shí)鐘和DMA部分,也是非常重要的兩個(gè)部分。

s3c2440的時(shí)鐘與電源管理模塊包括3個(gè)部分,時(shí)鐘控制,USB控制和電源控制。時(shí)鐘源如下圖有兩個(gè),左邊的是外部晶振提供,右邊是外部時(shí)鐘提供。









由這個(gè)表可以看出來(lái)時(shí)鐘源的選擇是在引導的時(shí)候由OM[3:2]引腳決定的。






如圖,剛上電一小段時(shí)間后,FCLK=晶振時(shí)鐘,等待4個(gè)時(shí)鐘周期后,PLL鎖存有效,自動(dòng)插入一段PLL Lock Time,即PLL鎖定時(shí)間,此時(shí),FCLK停止震蕩,CPU停止工作,Lock time的長(cháng)短由寄存器LOCKTIME設定。PLL Lock Time之后,MPLL輸出正常,CPU工作在新的FCLK下。










有兩個(gè)PLL,一個(gè)是MPLL,一個(gè)是UPLL。MPLL分頻得到FCLK(用于CPU),HCLK(用于A(yíng)HB BUS),PCLK(用于A(yíng)PB BUS)。UPLL產(chǎn)生UCLK給USB提供48M或96M時(shí)鐘。上邊的是s3c2440a的體系結構圖,最上邊的是CPU wrapper,也就是CPU核,中間的AHB BUS相當于系統總線(xiàn),APB相當于IO總線(xiàn)。中間的Bridge相當于康柏(Compaq)公司提出的南橋。這個(gè)Bridge的作用就是連接高速和低速總線(xiàn)。這種結構類(lèi)似于:









通過(guò)配置MPLLCON的MDIV,PDIV,SDIV可以獲得MPLL。通過(guò)公式:

Mpll = (2 * m * Fin) / (p * 2S)

m = (MDIV + 8), p = (PDIV + 2), s = SDIV

AHB BUS(advanced high-performance bus)上連接的是高速設備如LCD,USB Host,ExtMaster,SDRAM等。注意他們是通過(guò)控制器間接跟總線(xiàn)連接的。APB BUS(advanced peripherals bus)連接的就是低速的外圍設備。



DMA對s3c2440的性能非常重要。S3c2440支持位于系統總線(xiàn)和外圍總線(xiàn)之間的4個(gè)通道的控制器。每個(gè)DMA控制器通道無(wú)限地執行系統總線(xiàn)上的設備或外設總線(xiàn)上的設備之間數據搬移。

DMA有3種狀態(tài):

狀態(tài)一:作為初始狀態(tài),DMA等待DMA請求,一旦請求到達,進(jìn)入狀態(tài)二,在此狀態(tài),DMA ACK和INT REQ都為0。

狀態(tài)二:在此狀態(tài),DMA ACK變成1且計數器(CURR_TC)從DCONN[19:0]裝載。注意DMA ACK直到后邊被清除一直保持1。

狀態(tài)三:在此狀態(tài),進(jìn)行DMA原子操作的子狀態(tài)機被初始化。此子狀態(tài)機從源地址讀取數據并寫(xiě)入目的地址。此操作應該考慮數據大小和傳輸大小(single or burst),而在全服務(wù)模式whole service mode中,次操作一直被重復直到計數器(CURR_TC)變成1;而在單服務(wù)模式single service mode中,此操作僅被執行一次。當計數器(CURR_TC)變成0且外部中斷設置DCON[29]

寄存器被置1,主狀態(tài)機發(fā)出中斷請求信號(INT REQ)。另外,遇到以下情況,其清除DMA ACK。
(1)在全服務(wù)模式下計數器(CURR_TC)變成0

(2)在單個(gè)服務(wù)模式下計數器原子操作完成

外部DMA請求/應答模式:

有3種類(lèi)型的外部DMA請求/應答協(xié)議(單服務(wù)請求,單服務(wù)握手和全服務(wù)請求模式)。

請求模式和服務(wù)模式的對比:

-如果XnXDREQ 保持有效,下個(gè)傳輸馬上開(kāi)始,否則它會(huì )一直等到XnXDREQ 有效。

握手模式

如果XnXDREQ 無(wú)效,DMA 在兩個(gè)周期內將XnXDACK 設無(wú)效。否則他會(huì )一直等

XnXDREQ 無(wú)效。





當需要DDMA操作的時(shí)候,外部DMA請求引腳XnXDREQ置為低電平,此時(shí),DMA控制器向CPU發(fā)出占用總線(xiàn)的請求,當總線(xiàn)請求成功后,XnXDACK變?yōu)榈碗娖,表示CPU已將總線(xiàn)使用權交給了DMA控制器,可以進(jìn)行數據傳輸。當數據傳輸完成后應答信號XnXDACK置為高電平,通知CPU完成一次數據傳輸。


作者:李萬(wàn)鵬
本文地址:http://selenalain.com/thread-60210-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页