• 沒有找到結果。

SDRAM 狀態暫存器:P_MIU _SDRAM_STATUS(0x8807006C) 反映 MIU 的工作狀態。

在文檔中 嵌入式微處理器 (頁 142-145)

表 3-32 P_MIU_SDRAM_STATUS(0x8807006C)

b0

讀/寫 R/W

預設值 0

名稱 MIU_STATUS

MIU_STATUS b0 SDRAM 的狀態位:

0:SDRAM 沒有狀態發生

1:SDRAM 處於自動刷新模式或省電模式

3.8 APB 匯流排 DMA

SPCE3200 具有 DMA 功能,透過 DMA 功能可以完成 APB 匯流排讀取 APB 週邊設備模組資

料寫到 MIU 記憶體,或從 MIU 記憶體讀取資料寫到 APB 週邊設備模組。APBDMA 結構如圖

3-10所示:

嵌入式微處理器 SPCE3200 原理及應用

© Sunplus Technology Co., Ltd. PAGE 142 V1.1 - Agu 29, 2007

GPIO

APB Interface APB

Arbiter DMA

Register

CHANNEL M

CHANNEL M

CHANNEL M

CHANNEL M

APB Arbiter

S

UART

SPI

SIO

I2C

I2S

TIMER

WDOG

SD

NAND

A/D

USB MIU

slave 9

APB 32bit

27*N/M MHz OR-ed interrupt to CPU

to/from CHANNEL

APB SLAVE D/A

M S Decoder

CPU M

AHB 32/16/8-bit

AHB

圖 3-10

APBDMA 結構圖

DMA 控制器可為 APB 週邊設備模組同時提供 4 個用於讀/寫 MIU 記憶體的通道,每一通道都 可以設置成下列 4 類傳輸方式:

• 8 位單通道傳輸

• 16 位單通道傳輸

• 32 位單通道傳輸

• 32 位突發模式傳輸

DMA 具有 2 種啟動方式:

(1) 當 DMA 通道被使能(通道使能位元被設為 1)後,DMA 控制器透過通道連續地讀出或寫 入資料,並在完成讀寫操作後結束 DMA 操作;

(2) 當 DMA 通道被使能後,在 APB 週邊設備模組發出 REQ 請求時 DMA 控制器便會進行讀

寫操作一次,並當所有 REQ 請求的讀寫操作完成後結束操作。

嵌入式微處理器 SPCE3200 原理及應用

© Sunplus Technology Co., Ltd. PAGE 143 V1.1 - Agu 29, 2007

當 DMA 控制器讀/寫 MIU 時有 2 種記憶體存儲方式:

(1) 單緩存區方式:即指定 DMA 緩存區的起始、結束位址,則 DMA 控制器僅對這一存儲空 間進行讀寫操作,並在讀寫操作完成時透過發出 IRQ 信號來結束操作;

(2) 雙緩存區方式:即同時指定 BUFFER A 和 BUFFER B 緩存區的起始、結束位址,則 DMA 控制器會交替對 BUFFER A 和 BUFFER B 進行讀寫操作,並在二者有關讀寫操作的傳輸 完成後發出 IRQ 信號。將 DMA 通道使能位設回到`0'時,會產生 DMA 操作終止請求,

則 DMA 控制器會在當前傳輸完成時結束其操作。

當 DMA 向 APB 週邊設備模組進行讀寫操作時,有 2 種定址方式來定位週邊設備埠:

(1) 常規定址;

(2) 連續定址。

注意:

當 DMA 操作完成後,用戶需要寫`1'到相應的通道 IRQ 狀態位元以清除 DMA 中斷,並需要寫`0'

到相應的通道 DMA 使能位以結束其 DMA 操作。

DMA 相關暫存器:

DMA 控制器共有 28 個暫存器,如表 3-33所示。透過對這 28 個暫存器的操作,即可使用 DMA 操作。下麵將對這些暫存器一一進行說明。

表 3-33 DMA 控制器相關暫存器列表

暫存器名稱 助記符 位址

DMA 時鐘配置暫存器 P_DMA_CLK_CONF 0x88210058 DMA 忙狀態暫存器 P_DMA_BUSY_STATUS 0x88080000 DMA 中斷狀態暫存器 P_DMA_INT_STATUS 0x88080004 AHB DMA 第 0 通道緩衝區 A 起始位址 P_DMA_AHB_SA0BA 0x88080008 AHB DMA 第 1 通道緩衝區 A 起始位址 P_DMA_AHB_SA1BA 0x8808000C AHB DMA 第 2 通道緩衝區 A 起始位址 P_DMA_AHB_SA2BA 0x88080010 AHB DMA 第 3 通道緩衝區 A 起始位址 P_DMA_AHB_SA3BA 0x88080014 AHB DMA 第 0 通道緩衝區 A 結束位址 P_DMA_AHB_EA0BA 0x88080018 AHB DMA 第 1 通道緩衝區 A 結束位址 P_DMA_AHB_EA1BA 0x8808001C AHB DMA 第 2 通道緩衝區 A 結束位址 P_DMA_AHB_EA2BA 0x88080020 AHB DMA 第 3 通道緩衝區 A 結束位址 P_DMA_AHB_EA3BA 0x88080024 APB DMA 第 0 通道起始位址 P_DMA_APB_SA0 0x88080028

嵌入式微處理器 SPCE3200 原理及應用

© Sunplus Technology Co., Ltd. PAGE 144 V1.1 - Agu 29, 2007

暫存器名稱 助記符 位址

APB DMA 第 1 通道起始位址 P_DMA_APB_SA1 0x8808002C APB DMA 第 2 通道起始位址 P_DMA_APB_SA2 0x88080030 APB DMA 第 3 通道起始位址 P_DMA_APB_SA3 0x88080034 AHB DMA 第 0 通道緩衝區 B 起始位址 P_DMA_AHB_SA0BB 0x8808004C AHB DMA 第 1 通道緩衝區 B 起始位址 P_DMA_AHB_SA1BB 0x88080050 AHB DMA 第 2 通道緩衝區 B 起始位址 P_DMA_AHB_SA2BB 0x88080054 AHB DMA 第 3 通道緩衝區 B 起始位址 P_DMA_AHB_SA3BB 0x88080058 AHB DMA 第 0 通道緩衝區 B 結束位址 P_DMA_AHB_EA0BB 0x8808005C AHB DMA 第 1 通道緩衝區 B 結束位址 P_DMA_AHB_EA1BB 0x88080060 AHB DMA 第 2 通道緩衝區 B 結束位址 P_DMA_AHB_EA2BB 0x88080064 AHB DMA 第 3 通道緩衝區 B 結束位址 P_DMA_AHB_EA3BB 0x88080068 DMA 第 0 通道控制暫存器 P_DMA_CHANNEL0_CTRL 0x8808006C DMA 第 1 通道控制暫存器 P_DMA_CHANNEL1_CTRL 0x88080070 DMA 第 2 通道控制暫存器 P_DMA_CHANNEL2_CTRL 0x88080074 DMA 第 3 通道控制暫存器 P_DMA_CHANNEL3_CTRL 0x88080078 DMA 通道重設暫存器 P_DMA_CHANNEL_RESET 0x8808007C

在文檔中 嵌入式微處理器 (頁 142-145)