第4章S3C2410X系统结构_第1页
第4章S3C2410X系统结构_第2页
第4章S3C2410X系统结构_第3页
第4章S3C2410X系统结构_第4页
第4章S3C2410X系统结构_第5页
已阅读5页,还剩196页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统讲义嵌入式系统讲义第第4章章 S3C2410X系统结构系统结构第第4章章 S3C2410X系统结构系统结构4.1 S3C2410X概述概述4.2 存储器配置存储器配置4.3 DMA4.4 ADC和触摸屏接口和触摸屏接口4.5 中断控制器中断控制器4.6 I/O端口端口4.7 PWM4.8 UART接口接口4.9 SPI接口接口4.10 IIC接口接口4.11 RTC4.12时钟和电源管理时钟和电源管理4.13看门狗看门狗4.14 其它接口其它接口主要内容主要内容4.1 S3C2410X概述概述主要内容主要内容 主要特性主要特性 系统结构系统结构 引脚信号引脚信号4.1 S3C2410

2、X概述概述S3C2410X是韩国三星公司推出的是韩国三星公司推出的16/32位位RISC微控制器,其微控制器,其CPU采用的是采用的是ARM920T内核,加上内核,加上丰富的片内外设,为手持设备和其它应用,提供了丰富的片内外设,为手持设备和其它应用,提供了低价格、低功耗、高性能微控制器的解决方案。低价格、低功耗、高性能微控制器的解决方案。一、主要特性一、主要特性 具有具有16KB指令指令Cache、 16KB数据数据Cache和存储器和存储器管理单元管理单元MMU。 外部存储器控制器,可扩展外部存储器控制器,可扩展8组,每组组,每组128MB,总,总容量达容量达1GB;支持从;支持从Nand

3、flash存储器启动。存储器启动。 55个中断源,可以设定个中断源,可以设定1个为快速中断,有个为快速中断,有24个外个外部中断,并且触发方式可以设定。部中断,并且触发方式可以设定。 4通道的通道的DMA,并且有外部请求引脚。,并且有外部请求引脚。 3个通道的个通道的UART,带有,带有16字节的字节的TX/RX FIFO,支,支持持IrDA1.0功能。功能。 具有具有2通道的通道的SPI、1个通道的个通道的IIC串行总线接口和串行总线接口和1个通道的个通道的IIS音频总线接口。音频总线接口。 有有2个个USB主机总线的端口,主机总线的端口,1个个USB设备总线的端设备总线的端口。口。 有有4

4、个具有个具有PWM功能的功能的16位定时器和位定时器和1个个16位内部位内部定时器。定时器。 8通道的通道的10位位A/D转换器,最高速率可达转换器,最高速率可达500kB/s;提供有触摸屏接口。提供有触摸屏接口。 具有具有117个通用个通用I/O口和口和24通道的外部中断源。通道的外部中断源。 兼容兼容MMC的的SD卡接口。卡接口。 具有电源管理功能,可以使系统以普通方式、慢速具有电源管理功能,可以使系统以普通方式、慢速方式、空闲方式和掉电方式工作。方式、空闲方式和掉电方式工作。 看门狗定时器。看门狗定时器。 具有日历功能的具有日历功能的RTC。 有有LCD控制器,支持控制器,支持4K色的色

5、的STN和和256K色的色的TFT,配置有配置有DMA通道。通道。 具有具有PLL功能的时钟发生器,时钟频率高达功能的时钟发生器,时钟频率高达203MHz。 双电源系统:双电源系统:1.8/2.0V内核供电,内核供电,3.3V存储器和存储器和I/O供电。供电。二、系统结构二、系统结构主要由两大部分主要由两大部分构成:构成:ARM920T内核内核片内外设。片内外设。1、ARM920T内核内核由三部分:由三部分:ARM9内核内核ARM9TDMI、32KB的的Cache、MMU。2、片内外设、片内外设分为高速外设和低速外设,分别用分为高速外设和低速外设,分别用AHB总线和总线和APB总线。总线。三、

6、引脚信号三、引脚信号S3C微控制器是微控制器是272-FBGA封装。封装。其信号可以分成其信号可以分成addr0-addr26、Data0-data31、GPA0-GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0nGCS7、AIN7、IIC、SPI、OM0-OM3等,大部分都是复用的等,大部分都是复用的4.2 S3C2410X的存储器的存储器主要内容主要内容 存储器配置存储器配置 存储器概述存储器概述 控制寄存器控制寄存器 Flash及控制器及控制器 Flash控制器概述控制器概述 控制器主要特性控制器主要特性 控制器的寄存器

7、控制器的寄存器 控制器的工作原理控制器的工作原理4.2 存储器配置存储器配置4.2.1 S3C2410X的存储器配置的存储器配置一、概一、概 述述S3C2410X的存储器管理器的存储器管理器提供访问外部存储器的所有提供访问外部存储器的所有控制信号:控制信号:26位地址信号、位地址信号、32位数据信号、位数据信号、8个片选信号、个片选信号、以及读以及读/写控制信号等。写控制信号等。S3C2410X的存储空间分成的存储空间分成8组组,最大容量是,最大容量是1GB,bank0-bank5为固定为固定128MB,bank6和和bank7的容量可编的容量可编程改变,可以是程改变,可以是2、4、8、16、

8、32、64、128MB,并且,并且bank7的开始地址与的开始地址与bank6的结束地址相连接,但是二者的的结束地址相连接,但是二者的容量必须相等。容量必须相等。bank0可以作为引导可以作为引导ROM,其数据线宽只能是,其数据线宽只能是16位和位和32位,复位时由位,复位时由OM0、OM1引脚确定;其它存储器的数据引脚确定;其它存储器的数据线宽可以是线宽可以是8位、位、16位和位和32位。位。S3C2410X的存储器格式,的存储器格式,可以编程设置为大端格式,可以编程设置为大端格式,也可以设置为小端格式。也可以设置为小端格式。二、存储器的控制寄存器二、存储器的控制寄存器内存控制器为访问外部存

9、储空间提供存储器控制信号,内存控制器为访问外部存储空间提供存储器控制信号, S3C2410X存储器控制器共有存储器控制器共有13个寄存器。个寄存器。寄存器寄存器地地 址址功功 能能操作操作复位值复位值BWSCON0 x48000000总线宽度和等待控制总线宽度和等待控制读读/写写0 x0BANKCON00 x48000004BANK0控制控制读读/写写0 x0700BANKCON10 x48000008BANK1控制控制读读/写写0 x0700BANKCON20 x4800000CBANK2控制控制读读/写写0 x0700BANKCON30 x48000010BANK3控制控制读读/写写0 x

10、0700BANKCON40 x48000014BANK4控制控制读读/写写0 x0700BANKCON50 x48000018BANK5控制控制读读/写写0 x0700BANKCON60 x4800001CBANK6控制控制读读/写写0 x18008BANKCON70 x48000020BANK7控制控制读读/写写0 x18008REFRESH0 x48000024SDRAM刷新控制刷新控制读读/写写0 xAC0000BANKSIZE0 x48000028可变的组大小设置可变的组大小设置读读/写写0 x0MRSRB60 x4800002CBANK6模式设置模式设置读读/写写xxxMRSRB70

11、 x48000030BANK7模式设置模式设置读读/写写xxx1、总线宽度和等待控制寄存器总线宽度和等待控制寄存器3130 29 28 27 26 25 24 23 22 21 20 19 18 17 16ST7 WS7DW7ST6 WS6DW6ST5 WS5DW5ST4 WS4DW415 14 13 12 11109876543210ST3 WS3DW3ST2 WS2DW2ST1 WS1DW1XDW0XSTn:控制存储器组:控制存储器组n的的UB/LB引脚输出信号引脚输出信号。1:使:使UB/LB与与nBE3:0相连;相连;0:使:使UB/LB与与nWBE3:0相连相连WSn:使用:使用/禁

12、用存储器组禁用存储器组n的的WAIT状态状态1:使能:使能WAIT;0:禁止:禁止WAITDWn:控制存储器组:控制存储器组n的数据线宽的数据线宽00:8位;位;01:16位;位;10:32位;位;11:保留:保留Tacs:设置:设置nGCSn有效前地址的建立时间有效前地址的建立时间00:0个个;01:1个;个;10:2个;个;11:4个时钟周期个时钟周期Tcos:设置:设置nOE有效前片选信号的建立时间有效前片选信号的建立时间00:0个个;01:1个;个;10:2个;个;11:4个时钟周期个时钟周期Tacc:访问周期:访问周期000:1个;个;001:2个;个;010:3个;个;011:4个

13、时钟个时钟100:6个:个:101:8个;个;110:10个;个;111:14个个15 14 13 12 11 109876543210TacsTcosTaccTcohTcahTacpPMC2、BANKn-存储器组控制寄存器存储器组控制寄存器(n=0-5)31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16Tcoh:nOE无效后片选信号的保持时间无效后片选信号的保持时间00:0个个;01:1个;个;10:2个;个;11:4个时钟个时钟Tcah: nGCSn无效后地址信号的保持时间无效后地址信号的保持时间00:0个个;01:1个;个;10:2个;个;11

14、:4个时钟个时钟Tacp:页模式的访问周期:页模式的访问周期00:2个个;01:3个;个;10:4个;个;11:6个时钟个时钟PMC:页模式的配置,每次读写的数据数:页模式的配置,每次读写的数据数00:1个个;01:4个;个;10:8个;个;11:16个个注:注:00为通常模式。为通常模式。MT:设置存储器类型设置存储器类型00:ROM或者或者SRAM,3:0为为Tacp和和PMC;11:SDRAM, 3:0为为Trcd和和SCAN; 01、10:保留:保留Trcd:由行地址信号切换到列地址信号的延时时钟数:由行地址信号切换到列地址信号的延时时钟数00:2个时钟;个时钟;01:3个时钟;个时钟

15、;10:4个时钟个时钟 SCAN:列地址位数:列地址位数00:8位;位;01:9位;位;10:10位位 14 13 12 11 109876543210TacsTcosTaccTcohTcahTacp/TrcdPMC/SCAN3、BANK6/7-存储器组存储器组6/7控制寄存器控制寄存器3117 16 15保留保留MTREFEN:刷新控制:刷新控制。1:使能刷新;使能刷新;0:禁止刷新:禁止刷新TREFMD:刷新方式:刷新方式。1:自刷新:自刷新0:自动刷新自动刷新Trp:设置:设置SDRAM行刷新时间行刷新时间(时钟数)(时钟数)00:2个时钟;个时钟;01:3个;个;10:3个;个;11:

16、4个时钟个时钟Tsrc:设置:设置SDRAM行操作时间行操作时间(时钟数)(时钟数)00:4个时钟;个时钟;01:5个;个;10:6个;个;11:7个时钟个时钟注:注: SDRAM的行周期的行周期= Trp + Tsrc。Refresh_count:刷新计数值:刷新计数值15 14 13 12 11 109876543210保保 留留Refresh_count4、REFRESH-刷新控制寄存器刷新控制寄存器3124232221 20 19 18 17 16保保 留留REFEN TREFMDTrpTsrc保留保留Refresh_count:刷新计数器值:刷新计数器值计算公式:计算公式:刷新周期刷

17、新周期=(211- Refresh_count+1)/HCLK例子:设刷新周期例子:设刷新周期=15.6s,HCLK=60MHz则则刷新计数器值刷新计数器值=211+1-6015.6=11131113=0 x459=0b10001011001高高24位未用。位未用。BURST_EN:ARM突发操作控制突发操作控制0:禁止突发操作;:禁止突发操作;1:可突发操作:可突发操作SCKE_EN:SCKE使能控制使能控制SDRAM省电模式省电模式0:关闭省电模式;:关闭省电模式;1:使能省电模式:使能省电模式SCLK_EN:SCLK省电控制省电控制,使其只在,使其只在SDRAM访问周期内访问周期内使能使

18、能SCLK0:SCLK一直有效;一直有效;1:SCLK只在访问期间有效只在访问期间有效BK76MAP:控制:控制BANK6/7的大小及映射的大小及映射76543210BURST_ENXSCKE_EN SCLK_ENXBK76MAP5、BANKSIZE-BANK6/7组大小控制寄存器组大小控制寄存器BK76MAP:控制:控制BANK6/7的大小及映射的大小及映射100:2MB;101:4MB;110:8MB 111:16MB;000:32MB;001:64MB010:128MBWBL:突发写的长度:突发写的长度。0:固定长度;:固定长度;1:保留:保留TM:测试模式:测试模式。00:模式寄存器集

19、;其它保留:模式寄存器集;其它保留CL:列地址反应时间:列地址反应时间000:1个时钟;个时钟;010:2个时钟;个时钟;011:3个时钟;其它保留个时钟;其它保留BT:猝发类型:猝发类型0:连续;:连续;1:保留:保留BL:猝发时间:猝发时间000:1个时钟;其它保留个时钟;其它保留6、MRSRB6/7-BANK6/7模式设置寄存器模式设置寄存器15 14 13 12 11 109876543210WBLTMCLBTBL4.2.2 Nand Flash及其控制器及其控制器主要内容主要内容1、Nand Flash控制器概述控制器概述2、控制器主要特性、控制器主要特性3、控制器的寄存器、控制器的

20、寄存器4、控制器的工作原理、控制器的工作原理4.2.2 Nand Flash及其控制器及其控制器Nor flash存储器:存储器:读速度高,而擦、写速度低,容量读速度高,而擦、写速度低,容量小,价格高。小,价格高。 Nand flash存储器:存储器:读速度不如读速度不如Nor flash,而擦、写速,而擦、写速度高,容量大,价格低。有取代磁盘的趋势。度高,容量大,价格低。有取代磁盘的趋势。因此,现在不少用户从因此,现在不少用户从Nand flash启动和引导系统,而启动和引导系统,而在在SDRAM上执上执 行主程序代码。行主程序代码。一、一、Nand Flash控制器概述控制器概述S3C24

21、10X微控制器从微控制器从Nand flash的引导功能:的引导功能:其内部其内部有一个叫做有一个叫做“起步石(起步石(Steppingstone)”的的 SRAM缓冲器缓冲器,系统系统 启动时,启动时,Nand flash存储器的前面存储器的前面4KByte字节将被自字节将被自动载入到动载入到起步石起步石中,然后系统自动执行这些载入的引导代中,然后系统自动执行这些载入的引导代码。引导代码。引导代 码执行完毕后,自动跳转到码执行完毕后,自动跳转到SDRAM执行。执行。Nand flash操作的校验功能:操作的校验功能:使用使用S3C2410X内部硬件内部硬件ECC功能可以对功能可以对Nand

22、flash的数据进行有效性的检测。的数据进行有效性的检测。 二、二、 Nand Flash控制器主要特性控制器主要特性 Nand Flash模式:模式:支持读支持读/擦擦/编程编程Nand flash存存储器。储器。 自动导入模式:自动导入模式:复位后,引导代码被送入复位后,引导代码被送入Steppingstone,传送后,引导代码在,传送后,引导代码在 Steppingstone中执行。中执行。 具有硬件具有硬件ECC(纠错码)功能:(纠错码)功能:硬件产生纠错硬件产生纠错代码。代码。内部内部4KB的的SRAM缓冲器缓冲器Steppingstone,在,在Nand flash引导后可以作为其

23、他用途使用。引导后可以作为其他用途使用。 Nand Flash控制器功能框图控制器功能框图 主要由主要由6部分组成部分组成引脚信号:引脚信号:CLE:命令锁存:命令锁存R/nB :就绪:就绪/忙忙三、三、Nand Flash 控制器的寄存器控制器的寄存器寄存器寄存器地地 址址功功 能能操作操作复位值复位值NFCON0 x4E000000Nand Flash配置配置读读/写写-NFCMD0 x4E000004Nand Flash命令命令读读/写写-NFADDR 0 x4E000008Nand Flash地址地址读读/写写-NFDATA 0 x4E00000CNand Flash数据数据读读/写写

24、-NFSTAT0 x4E000010Nand Flash状态状态读读/写写-NFECC0 x4E000014Nand Flash纠错纠错读读/写写-NFEN:NF控制器使能控制控制器使能控制0:禁止使用;:禁止使用;1:允许使用:允许使用IECC:初始化:初始化ECC编码编码/解码器控制位解码器控制位0:不初始化:不初始化ECC;1:初始化:初始化ECCNFCE:NF片选信号片选信号nFCE控制位持续时间设置控制位持续时间设置0: nFCE为低有效;为低有效;0: nFCE为高无效为高无效TACLE:CLE/ALE持续时间设置值(持续时间设置值(0-7)持续时间持续时间 HCLK * (TAC

25、LS + 1)CLE/ALE :命令:命令/地址锁存允许地址锁存允许151413 121110 9876543210NFENXIECC NFCETACLEXTWRPH0XPWRPH10-000-0-01、NFCON-Flash配置寄存器配置寄存器TWRPH0:写信号:写信号持续时间设置值持续时间设置值(07)持续时间持续时间 HCLK * (TWRPH01) TWRPH1:写信号无效后:写信号无效后CLE/ALE保保持时间设置值持时间设置值(07)持续时间持续时间 HCLK * (TWRPH11)15 14 13 12 11 109876543210保保 留留命令字命令字2、NFCMD-Fla

26、sh命令寄存器命令寄存器高高24位未用,低位未用,低8位为读入或者写出的数据位为读入或者写出的数据15 14 13 12 11 109876543210保保 留留地址值地址值3、NFADDR-Flash地址寄存器地址寄存器15 14 13 12 11 109876543210保保 留留输入输入/ /输出数据输出数据4、NFDATA-Flash数据寄存器数据寄存器高高24位未用,低位未用,低8位为位为Flash存储器地址值存储器地址值RnB:Nand Flash存储器状态位存储器状态位0:存储器忙;:存储器忙;1:存储器准备好:存储器准备好15 14 13 12 11 109876543210保

27、保 留留RnB5、NFSTAT-Flash状态寄存器状态寄存器15 14 13 12 11 109876543210错误校正码错误校正码#1#1错误校正码错误校正码#0#06、NFECC-Flash错误校正码寄存器错误校正码寄存器31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16保保 留留错误校正码错误校正码#2#2四、四、Nand Flash 控制器的工作原理控制器的工作原理 1、自动导入启动代码步骤、自动导入启动代码步骤完成复位。完成复位。 如果自动导入模式使能,如果自动导入模式使能,Nand flash存储器的前面存储器的前面4K字节被自动拷贝

28、到字节被自动拷贝到Steppingstone 内部缓冲器中。内部缓冲器中。 Steppingstone被映射到被映射到nGCS0对应的对应的BANK0存储空间。存储空间。 CPU在在Steppingstone的的4-KB内部缓冲器中开始执行引内部缓冲器中开始执行引导代码。导代码。 注意:注意: 在自动导入模式下,不进行在自动导入模式下,不进行ECC检测。因此,检测。因此,Nand flash的前的前4KB应确保不能有位错误(一应确保不能有位错误(一 般般Nandflash厂家都确保)。厂家都确保)。 2、Nand FLASH模式配置模式配置 通过通过NFCONF寄存器配置寄存器配置Nand f

29、lash;写写Nand flash命令到命令到NFCMD寄存器;寄存器;写写Nand flash地址到地址到NFADDR寄存器;寄存器;在读写数据时,通过在读写数据时,通过NFSTAT寄存器来获得寄存器来获得Nand flash的状态信息。应该在读操作前或写入的状态信息。应该在读操作前或写入 之之后检查后检查R/nB信号(准备好信号(准备好/忙信号)。忙信号)。 在读写操作后要查询校验错误代码,对错误进在读写操作后要查询校验错误代码,对错误进行纠正。行纠正。3、系统引导和、系统引导和 Nand FLASH 配置配置 OM1:0 = 00b:使能使能Nand flash控制器自动导控制器自动导入

30、模式;入模式; OM3:0为芯片引脚,设置引导模式、存储器为芯片引脚,设置引导模式、存储器bank0的数据宽度、时钟模式等。的数据宽度、时钟模式等。 OM1:0 = 01b、10b:bank0数据宽度为数据宽度为16位、位、32位位OM1:0=11b:测试模式:测试模式Nand flash的存储页面大小的存储页面大小应该为应该为512字节。字节。 NCON :Nand flash 寻址步骤数选择寻址步骤数选择 0:3步寻址;步寻址;1:4步寻址步寻址4、Nand Flash操作的校验问题操作的校验问题S3C2410A在写在写/读操作时,每读操作时,每512字节数据自动字节数据自动产生产生3字节

31、的字节的ECC奇偶代码奇偶代码(24位位)。 24位位 ECC 奇偶代码奇偶代码18位行奇偶位行奇偶 6位列奇偶位列奇偶ECC产生模块执行以下步骤:产生模块执行以下步骤: 当当MCU写数据到写数据到Nand时,时,ECC产生模块生成产生模块生成ECC代代码。码。 当当MCU从从Nand读数据时,读数据时,ECC产生模块生成产生模块生成ECC代代码同时用户程序将它与先前写入时产码同时用户程序将它与先前写入时产 生的生的ECC代码比较代码比较。 4.3 DMA控制器控制器主要内容主要内容1、概述、概述2、工作原理、工作原理3、寄存器、寄存器一、概一、概 述述S3C2410X有有4 个通道的个通道的

32、DMA 控制器,其位于在控制器,其位于在系统总线和外设总线之间。系统总线和外设总线之间。每个每个DMA 通道都能没有约束的实现系统总线或通道都能没有约束的实现系统总线或者外设总线之间的数据传输,即每个通道都能处理者外设总线之间的数据传输,即每个通道都能处理下面四种情况:下面四种情况:(1) 源器件和目的器件都在系统总线源器件和目的器件都在系统总线(2) 源器件在系统总线,目的器件在外设总线源器件在系统总线,目的器件在外设总线(3) 源器件在外设总线,目的器件在系统总线源器件在外设总线,目的器件在系统总线(4) 源器件和目的器件都在外设总线源器件和目的器件都在外设总线DMA的主要优点是的主要优点

33、是:可以不通过:可以不通过CPU的中断来的中断来实现数据的传输,实现数据的传输,DMA的运行可以通过软件或者通的运行可以通过软件或者通过外围设备的中断和请求来初始化。过外围设备的中断和请求来初始化。 二、二、DMA工作原理工作原理1、DMA的服务对象的服务对象每个每个DMA通道都有通道都有4个个DMA请求源,通过设置,可以从请求源,通过设置,可以从中挑选一个服务。每个通道的中挑选一个服务。每个通道的DMA 请求源如表请求源如表4-1所示。所示。 通道通道 源源请求源请求源0请求源请求源1请求源请求源2请求源请求源3请求源请求源4通道通道0nXDREQ0UART0SDITimerUSB设备设备E

34、P1通道通道1nXDREQ1UART1IIS/SDISPI0USB设备设备EP2通道通道2IISSDOIISSDISDITimerUSB设备设备EP3通道通道3UART2SDISPI1TimerUSB设备设备EP4表表4-1 各通道的各通道的DMA 请求源请求源2、DMA的工作过程的工作过程一般一般DMA的工作过程如下面所示的工作过程如下面所示 (1) 外设向外设向DMAC 发出请求发出请求 (2)DMAC通通过过HOLD 向向CPU 发出总线请求;发出总线请求;(3)CPU响应响应释放三总线,并释放三总线,并且发应答且发应答HLDA(4)DMAC向向外设发外设发DMA应答应答 (5)DMAC

35、发出地址、控制信号,为外设传送数据;发出地址、控制信号,为外设传送数据;(6)传送完规定的数据后,)传送完规定的数据后,DMAC撤销撤销HOLD信号,信号,CPU也撤销也撤销HLDA信号,并且恢复对三总线的控制。信号,并且恢复对三总线的控制。124532、DMA的工作过程的工作过程S3C2410X的的DMA工作过程可以分为三个状态:工作过程可以分为三个状态:状态状态1:等待状态。:等待状态。DMA 等待一个等待一个DMA请求。请求。如果有请求到来,将转到状态如果有请求到来,将转到状态2。在这个状态下,。在这个状态下,DMA ACK和和INT REQ为为0。 状态状态2:准备状态。:准备状态。D

36、MA ACK变为变为1,计数器,计数器(CURR_TC)装入)装入DCON19:0寄存器。寄存器。注意:注意:DMA ACK保持为保持为1直至它被清除。直至它被清除。状态状态3:传输状态。:传输状态。DMA控制器从源地址读入数控制器从源地址读入数据并将它写到目的地址,每传输一次,据并将它写到目的地址,每传输一次,CURR_TC数器(在数器(在DSTAT中)减中)减1,并且可能做以下操作:,并且可能做以下操作:重复传输:重复传输:在全服务模式下,将重复传输,直到计数器在全服务模式下,将重复传输,直到计数器CURR_TC变为变为0;在单服务模式下,仅传输一次。;在单服务模式下,仅传输一次。 设置中

37、断请求信号:设置中断请求信号:当当CURR_TC变为变为0时,时,DMAC发出发出INT REQ信号,而且信号,而且DCON29即中断设定位被设为即中断设定位被设为1。 清除清除DMA ACK信号:信号:对单服务模式,或者全服务模式对单服务模式,或者全服务模式 CURR_TC变为变为0。注意:注意:在单服务模式下,在单服务模式下,DMAC的的3个状态被执个状态被执行一遍,然后停止,等待下一个行一遍,然后停止,等待下一个DMA REQ的到来。的到来。如果如果DMA REQ到来,则这些状态被重复操作,直到来,则这些状态被重复操作,直到到CURR_TC减为减为0 。 说明:说明:DMA传输分为一个单

38、元传输和传输分为一个单元传输和4个单元个单元突发式传输。突发式传输。3、外部、外部DMA请求请求/响应规则响应规则DMAC有有3种类型的外部种类型的外部DMA请求请求/响应规则:响应规则:(1)single service demand,单服务请求单服务请求(对应于需求模式)(对应于需求模式)(2)single service handshake,单服务握手单服务握手(握手模式)(握手模式)(3)whole service handshake,全服务握手全服务握手(全服务模式)(全服务模式)每种类型都定义了像每种类型都定义了像DMA请求和请求和DMA响应这些信号怎样响应这些信号怎样与这些规则相

39、联系。与这些规则相联系。demand 与与 handshake模式的比较:模式的比较:在一次传输结束时,在一次传输结束时,DMA检查检查xnxDREQ(DMA请求)信请求)信号的状态:号的状态:在在demand模式下:如果模式下:如果DMA请求(请求(xnxDREQ)信号仍然有效,则传)信号仍然有效,则传输马上再次开始。否则等待。输马上再次开始。否则等待。在在handshake模式下:如果模式下:如果DMA请求信号无效,请求信号无效,DMA在两个时钟周期在两个时钟周期后将后将DMA响应(响应(xnxDACK)信号变得无效。否则,)信号变得无效。否则,DMA等待直到等待直到DMA请求信号变得无效

40、。每请求一次传输一次。请求信号变得无效。每请求一次传输一次。 4、DMA时序要求时序要求基本时序要求:基本时序要求:DMA请求信号和响应信号的请求信号和响应信号的Setup时间与时间与delay时间在所有时间在所有的模式下是相同的。的模式下是相同的。 如果如果DMA请求信号的请求信号的setup时间满足要求,则在两个周期时间满足要求,则在两个周期内实现同步,然后内实现同步,然后DMA响应信号变得有效。响应信号变得有效。在在DMA响应信号有效后,响应信号有效后,DMA向向CPU请求总线。如果它请求总线。如果它得到总线就执行操作。得到总线就执行操作。DMA操作完成后,操作完成后,DMA响应信号变得

41、响应信号变得无效。无效。 三、三、DMA控制器的相关寄存器控制器的相关寄存器每个每个DMA 通道有通道有9 个控制寄存器(个控制寄存器(4 个通道共计个通道共计36 个个寄存器),寄存器),6 个用来控制个用来控制DMA 传输,其它传输,其它3 个监视个监视DMA 控控制器的状态。制器的状态。Register Address R/W Description Reset Value DISRCn 0 x4B0000 x0 R/W 初始源基地址寄存器初始源基地址寄存器 0 x00000000 DISRCCn 0 x4B0000 x4 R/W 初始源控制寄存器初始源控制寄存器0 x00000000

42、DIDSTn 0 x4B0000 x8 R/W 初始目的基地址寄存器初始目的基地址寄存器0 x00000000 DIDSTCn 0 x4B0000 xC R/W初始目的控制寄存器初始目的控制寄存器0 x00000000DCONn 0 x4B0000y0 R/W DMA控制寄存器控制寄存器0 x00000000 DSTATn 0 x4B0000y4 R状态状态/计数寄存器计数寄存器0 x00000000 DCSRCn 0 x4B0000y8 R当前源地址寄存器当前源地址寄存器0 x00000000 DCDSTn 0 x4B0000yC R当前目的地址寄存器当前目的地址寄存器0 x00000000

43、 SKTRIGn 0 x4B0000z0 R/W DMA掩码掩码/触发寄存器触发寄存器0b0001、DISRCn-DMA源基地址寄存器源基地址寄存器原名:原名: DMA初始源寄存器初始源寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DISRC0 0 x4B000000 R/W DMA0源基地址寄存器源基地址寄存器 0 x00000000 DISRC1 0 x4B000040 R/W DMA1源基地址寄存器源基地址寄存器 0 x00000000 DISRC2 0 x4B000080 R/W DMA2源基地址寄存器源基地址寄存器 0 x00000000 DISRC3 0 x4B0

44、000C0 R/W DMA3源基地址寄存器源基地址寄存器 0 x00000000 3130 00S_ADDR-源数据基地址源数据基地址(在(在CURR_SRC为为0、并且、并且DMA ACK为为1时装载入时装载入CURR_SRC)LOC-源所在总线选择源所在总线选择0:AHB;1:APBINC-源地址变化设置源地址变化设置0:源地址增加;:源地址增加;1:源地址不变:源地址不变2、DISRCCn-DMA源控制寄存器源控制寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DISRCC0 0 x4B000004 R/W DMA0初始源控制寄存器初始源控制寄存器 0 x00000000

45、 DISRCC1 0 x4B000044 R/W DMA1初始源控制寄存器初始源控制寄存器 0 x00000000 DISRCC2 0 x4B000084 R/W DMA2初始源控制寄存器初始源控制寄存器 0 x00000000 DISRCC3 0 x4B0000C4 R/W DMA3初始源控制寄存器初始源控制寄存器 0 x00000000 31 21 0保留(为保留(为0)LOC-源总线选择源总线选择INC-源地址变化设置源地址变化设置3、DIDSTn-DMA目的基地址寄存器目的基地址寄存器原名:原名: DMA初始目的寄存器初始目的寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值

46、值 DIDST0 0 x4B000008 R/W DMA0目的基地址寄存器目的基地址寄存器 0 x00000000 DIDST1 0 x4B000048 R/W DMA1目的基地址寄存器目的基地址寄存器 0 x00000000 DIDST2 0 x4B000088 R/W DMA2目的基地址寄存器目的基地址寄存器 0 x00000000 DIDST3 0 x4B0000C8 R/W DMA3目的基地址寄存器目的基地址寄存器 0 x00000000 3130 00D_ADDR-目标基地址,目标基地址,会被载入会被载入CURR_DST(当(当CURR_DST的值为的值为0、并且、并且 DMA AC

47、K 的值为的值为1时)时)4、DIDSTCn-DMA初始目的控制寄存器初始目的控制寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DIDSTC0 0 x4B00000C R/W DMA0初始目的控制寄存器初始目的控制寄存器 0 x00000000 DIDSTC1 0 x4B00004C R/W DMA1初始目的控制寄存器初始目的控制寄存器 0 x00000000 DIDSTC2 0 x4B00008C R/W DMA2初始目的控制寄存器初始目的控制寄存器 0 x00000000 DIDSTC3 0 x4B0000CC R/W DMA3初始目的控制寄存器初始目的控制寄存器 0 x

48、00000000 LOC-目的地址所在总线选择目的地址所在总线选择0:AHB;1:APBINC-目的地址地址变化设置目的地址地址变化设置0:目的地址增加;:目的地址增加;1:目的地址不变:目的地址不变31 21 0保留(为保留(为0)LOC-目的总线选择目的总线选择 INC-目的地址变化设置目的地址变化设置5、DCONn-DMA控制控制寄存器寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DCON0 0 x4B000010 R/W DMA 0 控制寄存器控制寄存器 0 x00000000 DCON1 0 x4B000050 R/W DMA 1 控制寄存器控制寄存器0 x0000

49、0000 DCON2 0 x4B000090 R/W DMA 2 控制寄存器控制寄存器0 x00000000 DCON3 0 x4B0000D0 R/W DMA 3 控制寄存器控制寄存器0 x00000000 3130292827262524232221 20DMD_HSSYNC INTTSZSERVMODEHWSRCSELSWHW_SELRELOADDSZ19 18 17 16 15 14 13 12 11 10 98876543210TC-传输次数初值传输次数初值DMD_HS-DMA与外设握手模式选择与外设握手模式选择0:需求模式。为单服务,但只要:需求模式。为单服务,但只要DREQ信号有

50、效便传输信号有效便传输1:握手模式。为单服务,要等待:握手模式。为单服务,要等待DREQ信号变为无效,信号变为无效, DREQ再有效时才传输。再有效时才传输。SYNC-DREQ 和和DACK信号与系统总线时钟同步选择信号与系统总线时钟同步选择0:DREQ和和DACK与与PCLK(APB clock)同步。慢速外设同步。慢速外设 1:DREQ和和DACK与与HCLK(AHB clock)同步。高速外设同步。高速外设 INT-CURR_TC的中断请求控制的中断请求控制0:禁止:禁止CURR_TC产生中断请求产生中断请求1:当所有的传输结束时,:当所有的传输结束时,CURR_TC产生中断请求产生中断

51、请求 TSZ-传输长度类型选择传输长度类型选择0:执行单数据传输:执行单数据传输 1:执行四数据长的突发传输:执行四数据长的突发传输 3130292827262524232221 20DMD_HSSYNC INTTSZSERVMODEHWSRCSELSWHW_SELRELOADDSZSERVMODE-传输模式选择传输模式选择0:单服务传输模式,每传输一次都要查询:单服务传输模式,每传输一次都要查询DREQ1:全服务传输模式,不查询:全服务传输模式,不查询DREQ,但传输一次也要释,但传输一次也要释 放总线。放总线。HWSRCSEL -各各DMA通道请求源设置通道请求源设置31302928272

52、62524232221 20DMD_HSSYNC INTTSZSERVMODEHWSRCSELSWHW_SELRELOADDSZHWSRCSEL000001010011100通道通道0nXDREQ0UART0SDITimerUSB设备设备EP1通道通道1nXDREQ1UART1IISSDISPI0USB设备设备EP2通道通道2IISSDOIISSDISDITimerUSB设备设备EP3通道通道3UART2SDISPI1TimerUSB设备设备EP4SWHW_SEL- DMA源选择方式源选择方式(软件或硬件)(软件或硬件)设置设置0:以软件:以软件software方式产生方式产生DMA请求,需要

53、用请求,需要用DMASKTRIG控制寄存器中的控制寄存器中的SW_TRIG位设置触发。位设置触发。1:由位:由位26:24提供的提供的DMA源触发源触发DMA操作操作RELOAD-再装载选择再装载选择0:自动再装载,当传输次数减为:自动再装载,当传输次数减为0时自动装载时自动装载DMA初值初值1:不自动再装载,传输结束关闭:不自动再装载,传输结束关闭DMA通道。通道。DSZ-传输数据类型设置传输数据类型设置00:字节;:字节;01:半字;:半字;10:字;:字;11:保留:保留3130292827262524232221 20DMD_HSSYNC INTTSZSERVMODEHWSRCSELS

54、WHW_SELRELOADDSZSTAT-DMA状态状态00:就绪态,可进行传输;:就绪态,可进行传输;01:DMA正在传输;正在传输;1X:保留:保留CURRTC-当前传输计数值当前传输计数值每传输一次其值减每传输一次其值减1。其初值在。其初值在DCONn中低中低20位。位。6、DSTATn-DMA状态状态/计数计数寄存器寄存器原名:原名:DMA状态寄存器状态寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DSTAT0 0 x4B000014 RDMA0状态状态/计数寄存器计数寄存器 0 x00000000 DSTAT1 0 x4B000054 RDMA1状态状态/计数寄存器

55、计数寄存器 0 x00000000 DSTAT2 0 x4B000094 RDMA2状态状态/计数寄存器计数寄存器 0 x00000000 DSTAT3 0 x4B0000D4 RDMA3状态状态/计数寄存器计数寄存器 0 x00000000 21 20 19 18 17 16 15 14 13 12 11 10 98876543210STATCURRTC-当前传输次数计数值当前传输次数计数值CURR_SRC-当前数据源地址当前数据源地址 注意:(注意:(1)DMA每传输一次,其地址可能增加每传输一次,其地址可能增加(1、2、4)、可能不变;(可能不变;(2)在在CURR_SRC为为0、且、且

56、DMA ACK为为1时,将时,将S_ADDR源基地址的值装入。源基地址的值装入。寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DCSRC0 0 x4B000018 RDMA0当前源地址寄存器当前源地址寄存器 0 x00000000 DCSRC1 0 x4B000058 RDMA1当前源地址寄存器当前源地址寄存器0 x00000000 DCSRC2 0 x4B000098 RDMA2当前源地址寄存器当前源地址寄存器0 x00000000 DCSRC3 0 x4B0000D8 RDMA3当前源地址寄存器当前源地址寄存器0 x00000000 3130 00CURR_SRC-当前数据源地

57、址当前数据源地址7、DCSRCn-DMA当前当前源地址寄存器源地址寄存器CURR_DST-当前数据目的地址当前数据目的地址注意:(注意:(1)DMA每传输一次,其地址可能增加每传输一次,其地址可能增加(1、2、4) ;(2)在在CURR_DST为为0、且、且DMA ACK为为1时,时,将将D_ADDR的值装入。的值装入。寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DCDST0 0 x4B00001C RDMA0当前目的地址寄存器当前目的地址寄存器 0 x00000000 DCDST1 0 x4B00005C RDMA1当前目的地址寄存器当前目的地址寄存器 0 x00000000

58、DCDST2 0 x4B00009C RDMA2当前目的地址寄存器当前目的地址寄存器 0 x00000000 DCDST3 0 x4B0000DC RDMA3当前目的地址寄存器当前目的地址寄存器 0 x00000000 3130 00CURR_DST-当前数据目的地址当前数据目的地址8、DCDSTn-DMA当前目的地址寄存器当前目的地址寄存器寄存器寄存器 地地 址址 R/W 意意 义义 初初 值值 DMASKTRIG0 0 x4B000020 R/W DMA0掩码触发寄存器掩码触发寄存器 0 x00000000 DMASKTRIG1 0 x4B000060 R/W DMA1掩码触发寄存器掩码触

59、发寄存器 0 x00000000 DMASKTRIG2 0 x4B0000A0 R/W DMA2掩码触发寄存器掩码触发寄存器 0 x00000000 DMASKTRIG3 0 x4B0000E0 R/W DMA3掩码触发寄存器掩码触发寄存器 0 x00000000 9、DMASKTRIGn-DMA掩码掩码(Mask)触发寄存器触发寄存器31 321 0保留(为保留(为0)STOP ON/OFF SW_TRIG STOP-DMA运行停止位运行停止位1:DMA将当前数据传输完立即停止,并且将当前数据传输完立即停止,并且CURR_TC变变为为0。注意注意:如果如果ON/OFF设置为设置为OFF,则,

60、则DMA也停止传输。也停止传输。ON/OFF-DMA通道屏蔽位通道屏蔽位0:关闭通道;:关闭通道;1:开放通道:开放通道如果如果DCONn22设为非自动重装,设为非自动重装,DMA则传输完成后则传输完成后STOP位置位置1、并且关闭通道。、并且关闭通道。注意:注意:在在DMA运行期间,不要改变其值,并且也不要使运行期间,不要改变其值,并且也不要使用该位停止用该位停止DMA传输,正确的方法应该使用传输,正确的方法应该使用STOP位。位。SW_TRIG: DMA软件触发位软件触发位设为设为1时,实现软件触发时,实现软件触发DMA请求。请求。注意:注意:只有当只有当DCONn23设为软件触发设为软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论