新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 討論s3c2440的時(shí)鐘與DMA

討論s3c2440的時(shí)鐘與DMA

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏







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

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

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

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



DMA對(duì)s3c2440的性能非常重要。S3c2440支持位于系統(tǒng)總線和外圍總線之間的4個(gè)通道的控制器。每個(gè)DMA控制器通道無限地執(zhí)行系統(tǒng)總線上的設(shè)備或外設(shè)總線上的設(shè)備之間數(shù)據(jù)搬移。

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

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

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

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

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

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

外部DMA請(qǐng)求/應(yīng)答模式:

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

請(qǐng)求模式和服務(wù)模式的對(duì)比:

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

握手模式

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

XnXDREQ 無效。





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

上一頁 1 2 下一頁

關(guān)鍵詞: s3c2440時(shí)鐘DM

評(píng)論


技術(shù)專區(qū)

關(guān)閉