预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第三章ARM9芯片S3C2410片上资源主要内容:3.1S3C2410处理器介绍S3C2410微处理器是一款由Samsung公司为手持设备设计的低功耗、高度集成的基于ARM920T核的微处理器。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:16KB指令Cache、16KB数据Cache、MMU、外部存储器控制器、LCD控制器(STN和TFT)、NANDFlash控制器、4个DMA通道、3个UART通道、1个I2C总线控制器、1个I2S总线控制器,以及4个PWM定时器和一个内部定时器、通用I/O口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等。现在它广泛应用于PDA、移动通讯、路由器、工业控制等领域,其内部结构如图3-1所示。图3-1S3C2410X结构框图3.1.1AMBA、AHB、APB总线特点AMBA2.0规范包括四个部分:AHB、ASB、APB和TestMethodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。下面将简要介绍比较重要的AHB和APB总线。3.1.2S3C2410处理器体系结构3.1.3S3C2410处理器管理系统3.1.4S3C2410处理器存储器映射图3-2S3C2410存储区地址映射3.1.5S3C2410处理器时钟和电源管理表3-1时钟源选择S3C2410引脚的OM[3:2]=00时,晶体为MPLLCLK和UPLLCLK提供时钟源;OM[3:2]=01时,晶体为MPLLCLK提供时钟源,EXTCLK为UPLLCLK提供时钟源;OM[32]=10时,EXTCLK为MPLLCLK提供时钟源,晶体为UPLLCLK提供时钟源;OM[3:2]=11时,EXTCLK为MPLLCLK和UPLLCLK提供时钟。3.时钟控制逻辑 S3C2410支持HCLK、FCLK和PCLK的按比率选择,其比率是通过时钟分频寄存器CLKDIV中的HDIVN和PDIVN控制的,如表3-2所示。4.电源管理 S3C2410电源管理模块通过4种模式有效地控制功耗,即正常(Normal)模式、省电(Slow)模式、空闲(Idle)模式和断电(Power-off)模式。 •Normal模式:为CPU和所有的外设提供电源,所有的外设开启,该模式下的功耗最大。这种模式允许用户通过软件控制外设,可以断开提供给外设的时钟以降低功耗。 •Slow模式:采用外部时钟生产FCLK的方式,此时电源的功耗取决于外部时钟。5.时钟和电源管理寄存器 S3C2410通过相应控制寄存器实现对时钟和电源的管理,相关寄存器使用参见表3-3。3.2S3C2410处理器片上资源的定义和使用2410addr.h内容包括:Memorycontrol、USBHost、INTERRUPT、DMA、CLOCK&POWERMANAGEMENT、LCDCONTROLLER、NANDflash、UART、PWMTIMER、USBDEVICE、WATCHDOGTIMER、IIC、IIS、I/OPORT、RTC、ADC、SPI、ISR、SDInterface等,近20类。3.3参考软件项目2410test.mcp//-------------------------------------------------------------------------------------------------------- //引入所有实验所需头文件 //------------------------------------------------------------------------------------------------------- #include<stdlib.h> #include<string.h> #include"def.h" #include"option.h" #include"2410addr.h" #include"2410lib.h"#include"2410slib.h" #include"2410etc.h" #include"2410IIC.h" #include"2410iis.h" #include"2410int.h" #include"2410RTC.h" #include"2410swi.h" #include"timer.h" #include"adc.h" #include"dma.h" #include"dma2.h" #include"eint.h" #include"extdma.h" #include"k9s1208.h" #inc