表 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