S3C2410中文手册第7章_时钟和功率管理
S3C2410X中文数据手册

S3C2410X中文数据手册
S3C2410X是一款高性能、低功耗的嵌入式微处理器,采用ARM920T架构,主频可达到203MHz。
该处理器集成了大量外设,包括UART、SPI、I2C、USB等,适用于各种嵌入式应
用领域。
S3C2410X采用32位总线和16位SDRAM控制器,支持1GB的外部存储器。
其片上存储器包括16KB的指令缓存和16KB的数据缓存,以及64KB的一级缓存和8KB的二级缓存。
该处理器支持多种外部时钟源和PLL倍频,使其具有较高的灵活性和可扩展性。
同时,它还具有多种低功耗模式,能够在不同要求下实现高效能与省电的平衡。
另外,S3C2410X还支持多种中断向量,以及软件/硬件调试功能,使得开发人员可以
快速和准确地调试和优化代码。
综合来看,S3C2410X是一款功能强大、灵活性强、省电节能的嵌入式微处理器,适用于各种应用领域,是一款值得关注的产品。
S3C2410 中文手册.asp

二、开发板特性及资源 .............................................................. 6
八、使用 EMBEST IDE 调试软件 ............................................... 35
1、 测试例程........................................................................................................................35 2、 操作步骤........................................................................................................................36
Embest® is registered trademarks of Embest Info&Tech Co.,LTD.
2004 英蓓特公司版权所有
2
目录
前 言 .................................................................................. 4
2004 英蓓特公司版权所有
1
版本说明
本指导书为 Embest S3CEB2410 开发系统使用指导 Version 1.0 版本。因时间仓促,该 版本仅简单介绍了 Embest S3CEB2410 开发系统的硬件及部分软件测试,我们将在后续的 修订版本中加入更详细的内容。关于 Embest S3CEB2410 开发系统使用指导书的最新版本, 敬请关注英蓓特公司网站或直接联系英蓓特公司市场部。
【总结】S3C2440PLL设置详解总结

S3C2440 PLL设置详解CPU上电几毫秒后,晶振输出稳定,FCLK=Fin(晶振频率),CPU开始执行指令。
但实际上,FCLK可以高于Fin,为了提高系统时钟,需要用软件来启用PLL。
这就需要设置CLKDIVN,MPLLCON,UPLLCON这3个寄存器。
CLKDIVN寄存器用于设置FCLK,HCLK,PCLK三者的比例,MPLLCON用于设置主频FCLK,UPLLCON用于设置USB时钟UCLK。
S3C2440APLL源有两个,一个是MPLL,另一个是UPLL. MPLL用于CPU用外设,UPLL只用于USB.,包括CPU的FCLK,AHB总线外设的HCLK以及APB总线外设的PCLK。
S3C2440A包含两个锁相环(PLL):MPLL提供给FCLK、HCLK和PCLK,UPLL 专用于USB模块(48MHz)。
时钟控制逻辑可以不使用PLL来减慢时钟,并且可以由软件连接或断开各外设模块的时钟,以降低功耗。
S3C2440A的主时钟源由外部时钟(EXTCLK)或者外部晶振(XTIPll)提供,输入时钟源由模式控制引脚OM3和OM2控制选择,在复位信号的上升沿参考OM3和OM2的引脚将OM[3:2]的状态在内部锁定,如图1所示图1 引导启动时的时钟源选择选择不同输入时钟源时连接方式如图2所示:图2 时钟连接参考通过在片内集成的2个锁相环:MPLL和UPLL,可对输入的Fin=12MHz的晶振频率进行倍频。
S3C2440使用了三个倍频因子MDIV、PDIV和SDIV来设置倍频,通过寄存器MPLLCON和UPLLCON可分别设置各自的倍频因子。
其中MPLLCON寄存器用于设置处理器内核时钟主频FCLK,其输入输出频率间的关系为FCLK=MPLL=(2*m*Fin)/(p*2^s)其中m=(MDIV+8), p=(PDIV+2), s=SDIV。
其中UPLLCON寄存器用于产生48MHz或96MHz,提供USB时钟(UCLK),其输入输出频率间的关系为UCLK=UPLL=(m * Fin) / (p * 2^s)其中m=(MDIV+8), p=(PDIV+2), s=SDIV。
S3C2410经济型开发板用户手册

3C经济型开发板用户手册编写者:王建民编写日期:版本:目录认识开发板 ........................................................................... 错误!未指定书签。
快速上手指南........................................................................ 错误!未指定书签。
建立开发环境........................................................................ 错误!未指定书签。
硬件的连接.................................................................... 错误!未指定书签。
交叉编译环境的建立.................................................... 错误!未指定书签。
影像文件的编译以及烧制.................................................... 错误!未指定书签。
的编译以及烧制............................................................ 错误!未指定书签。
的编译以及烧制............................................................ 错误!未指定书签。
文件系统的编辑以及烧制............................................ 错误!未指定书签。
文件系统的编辑以及烧制............................................ 错误!未指定书签。
文件系统的烧制............................................................ 错误!未指定书签。
S3C2410简介

实用精品课件PPT
12
实用精品课件PPT
13
2.7.3 存储器控制器(续2)
与存储器有关的寄存器主要有: (1) 总线宽度和等待控制寄存器BWSCON ; (2) 组控制寄存器BANKCONn ; (3) REFRESH控制寄存器; (4) BANKSIZE控制寄存器; (5) SDRAM模式控制寄存器MRSRB6,MRSRB7 。
NAND Flash用复杂的I/O口来串行地存取数据,各个产品或
厂商的方法各不相同。8个引脚用来传送控制、地址和数据信息。
所 有 Flash 器 件 都 受 位 交 换 现 象 的 困 扰 , 此 问 题 更 多 见 于
NAND Flash。必须采用错误检测/错误更正(EDC/ECC)算法确保
可靠性。
— 可通过软件选择大小端 — 地址空间:每个Bank 128Mbytes (总共 1GB) —除 bank0 (16/32-bit) 外,所有的Bank都可以通过编程选择总线宽度 = (8/16/32-bit) — 共 8 个banks
前6个Bank用于控制 ROM, SRAM, etc. 最后2个Bank用于控制 ROM, SRAM, SDRAM, etc . — 7个Bank固定起始地址; — 最后一个Bank可调整起始地址; — 最后两个Bank大小可编程; —所有Bank存储周期可编程控制。
s3c2440-7

第七章第七章 时钟与电源管理时钟与电源管理译者译者译者::王建壮王建壮 概述概述时钟电源控制块由三部分组成:时钟控制,USB 控制和电源控制。
S3C2440A 中的时钟控制逻辑能生成包括CPU 内部时钟(FCLK)在内的所需时钟信号。
主时钟脉冲(HCLK)用于高级高精度系统总线外围设备。
FCLK 应用于CPU 的时钟,PCLK 用于APB bus 各种接口设备。
S3C2410有两个锁相环,一个用于FCLK,HCLK 和PCLK,另一个用于USB 块(48MHZ)。
时钟控制逻辑能产生没有锁相环(PLL)的慢时钟和链接或不链接提供给外围设备块的软件时钟,可以降低功耗。
关于电源控制逻辑,S3C2410A 有多种电源配置方案来保证对假定任务的最佳功耗。
电源控制块在S3C2440中能被激活成四种模式:通用模式,慢模式,空闲模式和睡觉模式。
通用模式通用模式::此块为S3C2440A 中的CPU 和所以外围设备提供时钟。
这种模式下,在设备都运行时,电源功耗将最大。
它允许用户用软件控制外设的运作。
例如,一个定时器不需要啦,用户可以断开提供给这个定时器的时钟以降低功耗。
慢模式慢模式::无锁相环模式。
与通用模式不同,慢模式用外部时钟(XTlpll 或EXTCLK)直接作为S3C2440A 无锁相环的内部时钟。
这种模式中,能耗只取决于外部时钟的频率。
锁相环的功耗取消。
空闲模式空闲模式::此块在为其他外设提供时钟时,停止对CPU 内核提供时钟。
空闲模式开降低cpu 产生的功耗。
任何对CPU 的中断请求可以在空闲模式中被唤醒。
掉电模式掉电模式::此块断开内部能源的提供。
因此,不会产生CPU 功耗,如果不在此模式中唤醒内部逻辑,也不会产生内部逻辑功耗。
激活掉电模式需要两个独立电源。
一个电源用于提供唤醒逻辑控制的能源。
另一个用于支持包括CPU 在内的其内部逻辑块,并且可用电源开关控制。
在掉电模式,这第二个用于支持包括CPU 在内的其内部逻辑块的电源被关闭。
s3c2410中文手册

s3c2410中文手册简介S3C2410 是一种嵌入式处理器,由韩国三星电子公司设计和制造。
它是一款高度集成的 ARM 架构芯片,广泛应用于各种移动设备中,如智能手机、平板电脑、PDA 等。
本手册将详细介绍 S3C2410 芯片的特性、功能和使用方法,帮助开发人员更好地理解和应用该芯片。
芯片特性S3C2410 芯片具有以下主要特性:1.ARM920T 内核: S3C2410 芯片采用了 ARM920T 内核,它是一种高性能、低功耗的 32 位 RISC 处理器。
ARM920T 内核支持 ARMv4T 指令集,并具有强大的计算和处理能力。
2.高度集成的外设: S3C2410 芯片内集成了许多常用的外围设备,包括 UART、SPI、I2C、PWM 等。
这些外设可满足各种应用需求,简化了系统设计和连接。
3.多种接口: S3C2410 芯片提供了丰富的接口,如LCD 控制器、触摸屏控制器、SDIO 控制器等。
这些接口允许连接各种外部设备,如显示屏、输入设备、存储卡等,实现更丰富的功能。
4.低功耗设计: S3C2410 芯片采用先进的低功耗设计技术,具有很低的静态功耗和动态功耗。
这使得它非常适合于移动设备,延长了电池寿命。
芯片功能GPIOS3C2410 芯片提供了多个 GPIO 管脚,用来实现输入和输出功能。
GPIO 管脚可以通过软件配置为输入模式或输出模式,并可以设置电平状态。
开发人员可以利用GPIO 实现各种功能,如控制 LED 灯、读取按键状态等。
UARTS3C2410 芯片内集成了多个 UART 模块,用于串口通信。
每个 UART 模块都提供了数据传输和接收的功能,并支持多种通信协议,如 RS232、RS485 等。
开发人员可以使用 UART 实现与外部设备的串口通信。
LCD 控制器S3C2410 芯片具有强大的 LCD 控制器,支持多种显示模式和分辨率。
LCD 控制器可以控制显示屏的像素点,实现图形显示和文字显示功能。
S3C2410X中文数据手册

S3C2410X中文数据手册S3C2410X32位RISC微处理器用户手册第一章产品综述 (5)介绍: (5)1.1特性 (6)体系结构 (6)系统管理器 (6)NAND Flash 启动引导 (7)Cache 存储器 (7)时钟和电源管理 (7)中断控制器 (8)具有脉冲带宽调制功能的定时器 (8)RTC(实时时钟) (8)通用I/O端口 (8)UART (9)DMA控制器 (9)A/D转换和触摸屏接口 (9)LCD控制器STN LCD显示特性 (9)TFT彩色显示屏 (10)看门狗定时器 (10)IIS总线接口 (10)USB主设备 (10)USB从设备 (10)SD主机接口 (11)SPI接口 (11)工作电压 (11)操作频率 (11)封装 (11)1.2 内部结构图 (12)表1-1 272-FBGA引脚分配及顺序 (14)表1-2 272-FBGA封装的引脚分配 (16)表1-3 S3C2410X信号描述 (24)表1-4 S3C2410X特殊功能寄存器 (30)第二章处理器工作模式 (45)2.1 概述 (46)2.2 处理器工作状态 (46)2.3 切换状态 (47)2.4指令长度 (48)2.5操作模式 (48)2.6 寄存器 (49)2.7程序寄存器状态 (51)2.8 异常 (53)第三章 ARM指令集 (59)3.1 指令格式 (60)3.2 条件码 (62)3.3 分支和转换指令(BX) (63)3.4转移及带链接的转移指令(B,BL) (64)3.5 数据处理指令 (65)3.6 PSR 转移指令(MRS,MSR) (71)3.7 乘法及乘加指令(MUL,MLA) (75)3.8 长乘及长乘加指令(MULL,MLAL) (77)3.9单数据传输指令(LDR,STR) (79)3.10半字和带符号的数据传输(LDRH/STRH/LDRSB/LDRSH) (82) 3.11块数据传输(LDM,STM) (87)3.12 单数据传输指令(SWP) (94)3.13 软件中断指令(SWI) (95)3.14 协处理器数据操作(CDP) (97)3.15 协处理器数据传输指令(LDC,STC) (98)3.16 协处理器寄存器传输指令(MRC,MCR) (99)3.17 未定义指令 (99)第五章存储器控制器 (99)5.1 概述 (99)5.2 功能描述 (101)5.2.1 bank0总线宽度 (101)5.2.2 nWAIT引脚的作用 (103)5.2.3 nXBREQ/nXBACK引脚操作 (104)5.3 存储器接口举例 (105)5.4 特殊功能寄存器 (111)5.4.1 总线宽度和等待控制寄存器(BWSCON) (111)5.4.2 总线控制寄存器(BANKCONN:nGCS0-nGCS5) (113)5.4.3 BANK控制寄存器(BANKCONn:nGCS6-nGCS7) (114) 5.4.4 刷新控制寄存器 (115)5.4.5 BANKSIZE 寄存器 (115)5.4.6 SDRAM模式寄存器集寄存器(MRSR) (116)第六章 NAND FLASH寄存器 (117)6.1 概述 (117)6.2 特性 (117)6.2.1 自动导入模式步骤 (118)6.2.3 NAND FLASH存储器时序 (119)6.2.4 管脚配置 (119)6.2.6 NAND Flash存储空间分布 (121)6.3 专用寄存器 (122)6.3.1 NAND FLASH 配置(NFCONF)寄存器 (122)6.3.2 NAND FLASH命令设置(NFCMD)寄存器 (122)6.3.3 NAND flash地址设置(NFADDR)寄存器 (123)6.3.4 NAND FLASH 数据(NFDATA)寄存器 (123)6.3.5 NAND FLASH ECC(NFECC)寄存器 (123)第七章时钟与电源管理 (124)7.1概述: (124)7.2 功能描述 (125)7.2.1 时钟结构: (125)7.2.2锁相环(PLL): (126)7.2.3时钟控制逻辑: (128)7.2.4 加电重启:(XTIpll) (128)7.2.5 USB时钟控制: (130)7.2.7电源管理: (131)7.3 特殊功能寄存器 (138)第8章DMA (141)8.1 概述 (141)8.2 DMA工作过程 (142)8.3 DMA特殊功能寄存器 (146)第九章I/O端口 (152)9.1 概述 (152)9.2 端口功能控制描述 (156)9.3 I/O端口控制专用寄存器 (156)第十章PWM Timer (172)9.1 概述 (172)9.2特性 (173)预定标器和分割器 (174)定时器基本操作 (175)自动加载和双缓冲模式 (175)用手动更新位和逆变器位对定时器进行初始化 (176) 定时器操作步骤: (176)脉宽调制 (177)输出电平控制 (178)死区发生器 (178)DMA请求模式 (179)9.3 PWM定时器专用寄存器 (180)第十一章UART (185)11.1 概述 (185)11.2 UART操作: (186)数据传输: (187)2. 数据接收: (187)3.自动流控制 (187)4.非自动流控制实例(软件控制nRTS及nCTS) (188)5. 中断/DMA请求的产生 (188)6.UART错误状态FIFO (189)7.波特率的产生 (190)8.回环模式 (190)9.红外模式 (191)11.3 UART特殊功能寄存器 (192)第十四章中断控制器 (198)14.1 S3C2410X 中断概述 (198)14.2S3C2410X 中断控制器的操作 (199)14.3S3C2410X 中断源 (199)14.4S3C2410X 中断控制器的特殊功能寄存器 (202) 第十七章RTC (210)17.1 概述 (210)17.2 实时时钟操作 (211)17.3 RTC特殊功能寄存器 (212)第十八章看门狗 (216)18.1 概述 (216)18.2 看门狗定时器特殊功能寄存器 (216)第十九章SD接口 (218)19.1 概述 (218)19.2 SDI特殊功能寄存器 (219)第二十章 IIC (226)20.1 概述 (226)20.2 IIC总线接口 (227)20.3 IIC总线接口特殊功能寄存器 (233)第二十一章IIS总线接口 (235)21.1 概述: (235)21.2 功能描述 (236)21.3 S3C2410X 音频串行接口格式 (236)21.4 S3C2410X IIS接口特殊功能寄存器 (238)第二十二章 SPI (241)22.1 概述 (241)22.2 SPI特殊功能寄存器 (245)第二十三章总线优先权 (248)23.1 概述 (248)23.2 总线优先权 (248)第一章产品综述介绍:本手册描述了三星公司推出的16/32位RISC微处理器S3C2410X。
三星 S3C2410X 32位RISC微处理器 说明书 Revision 1

S3C2410X 32位RISC微处理器用户手册Revision 1修订版1第一章产品概述第一章产品概述 (3)简介 (3)特性 (4)方框图 (8)引脚分配 (9)第一章产品概述简介这个手册描述了SAMSUNG公司的S3C2410X16/32位RISC微处理器。
这个产品计划用于低成本、低功耗和高性能手持设备和一般应用的单片微处理器解决方案。
为了降低系统成本,S3C2410X包含了如下部件:独立的16KB指令和16KB数据缓存,用于虚拟内存管理的MMU 单元,LCD控制器(STN & TFT),非线性(NAND)Flash引导单元,系统管理器(包括片选逻辑和SDRAM控制器),3通道的异步串行口(UART),4个通道的DMA,4个通道的带脉宽调制器(PWM)的定时器,输入输出端口,实时时钟单元(RTC),带有触摸屏接口的8通道10位AD 转换器,IIC总线接口,IIS总线接口,USB的主机(Host)单元,USB的设备(Device)接口,SD卡和MMC(Multi-Media Card)卡接口,2通道SPI接口和锁相环(PLL)时钟发生器。
S3C2410X微处理器是使用ARM920T核、采用0.18um 工艺CMOS标准宏单元和存储编译器开发的。
它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。
应用中,它采用了一种新的总线结构,即高级微控制器总线结构(AMBA)。
S3C2410X的杰出特性是它的CPU核,采用了由ARM公司设计的16/32位ARM920T RISC 处理器。
ARM920T实现了MMU、AMBA总线和独立的16KB指令和16KB数据哈佛结构的缓存,每个缓存均为8个字长度的流水线。
S3C2410X通过提供全面的、通用的片上外设,使系统的全部成本降到最低,并且不需要配置额外的部件。
这个文档将包含以下完整的在片功能的介绍。
1.8V ARM920T内核,1.8V/2.5V/3.3V存储系统,带有3.3V16KB指令和16KB数据缓存及MMU单元的外部O接口的微处理器外部存储器控制(SDRAM控制和芯片选择逻辑)LCD控制器(支持4K颜色的STN或256K色TFT的LCD),带有1个通道的LCD专用DMA控制器 4通道DMA,具有外部请求引脚3通道UART(支持IrDA1.0,16字节发送FIFO及16字节接收FIFO)/2通道SPI接口1个通道多主IIC总线控制器/1通道IIS总线控制器1.0版本SD主机接口及2.11版本兼容的MMC卡协议2个主机接口的USB口/1个设备USB口(1.1版本)4通道PWM定时器/1通道内部计时器看门狗定时器117位通用目的I/O口/24通道外部中断源电源控制:正常、慢速、空闲及电源关闭模式带触摸屏接口的8通道10位ADC带日历功能的实时时钟控制器具有PLL的片上时钟发生器特性体系结构z集成了手持设备和通用嵌入式系统的解决方案z32/16位结构体系和ARM920T CPU核的强大指令体系z增强的ARM MMU体系结构支持WinCE, EPOC 32 和 Linux操作系统z指令缓存、数据缓存、写缓冲器和RAM物理地址标签减少了主存储器带宽和潜在性能的影响 z ARM920T CPU核支持ARM调试体系结构z内置的高级微控制总线体系结构(AMBA)(AMBA2.0,AHB/APB)系统管理器z支持小/大端模式z寻址空间:每个bank 128M字节(总共1G字节)z支持每个bank可编程的8/16/32位数据总线宽度z bank0到bank6具有固定的bank起始地址z bank7具有可编程的bank起始地址和bank大小z共有8个存储器bank:—6个存储器bank用于ROM,SRAM及其它—2个存储器bank用于ROM/SRAM/同步DRAMz所有的存储器bank具有可编程的操作周期z支持外部等待信号延长总线周期z支持掉电时的SDRAM自刷新模式z支持多种类型的引导ROM(NOR/NAND Flash,EEPROM及其它)NAND Flash 引导装载器z支持从NAND flash存储器引导z4KB内置缓冲存储器用于引导z支持引导后从NAND flash存储器向内存加载缓冲存储器z带有指令缓存(16KB)和数据缓存(16KB)的联合缓存装置z每线8字长度,其中每线带有1个有效位和2个无效位z伪随机的或循环移位算法z写通过或写返回缓存来更新主存储器z新缓冲区能够保持16字的数据和4个地址时钟和电源管理z在片MPLL和UPLL:UPLL时钟发生器用于主/从USB操作MPLL时钟发生器用于MCU在极限203MHz@1.8V运行z每一个功能块可以用软件选择时钟z电源模式:正常,慢速,空闲和掉电正常模式:正常操作模式满速模式:不带PLL的低频时钟空闲模式:始终仅使CPU停止下来掉电模式:所有外围设备全部掉电仅内核电源供电z可以从掉电模式借助于EINT[15:0]或RTC报警中断唤醒过来中断控制z55个中断源(1个看门狗定时器,5个定时器,9个通用异步串行口,24个外部中断,4个DMA,2个RTC,2个USB,1个LCD和1个电池故障)z外部中断源具有电平/边沿模式z可编程极性的边沿触发或电平触发z在非常紧急中断的情况下支持快中断请求(FIQ)带脉冲宽度调制器(PWM)的定时器z4通道16位带PWM的定时器/1通道16位基于DMA或基于中断操作的内部定时器z可编程的占空比,频率和极性z失效区发生器z支持外部时钟源RTC(实时时钟)z全部时钟特点:毫秒,秒,分钟,小时)z32.768KHz操作z报警中断z定时中断通用输入输出口:z24个外部中断口z多路输入输出口通用串行异步通讯口(UART)z3通道基于DMA或基于中断操作的UARTz支持5位、6位、7位或8位串行数据发送/接收(Tx/Rx)z可编程的波特率z支持IrDA 1.0z具有测试回送功能z每个通道有内置的16字节发送FIFO和16字节接收FIFODMA控制器z4通道DMA控制器z支持存储器到存储器、IO到存储器、存储器到IO和IO到IO传输z突发传输模式增强了传输速率带触摸屏接口的A/D转换器z8通道多路ADCz最大500KSPS转换速率10位分辨率LCD控制器 STN LCD显示特点z支持3中类型STN LCD面板:4位双屏、4位单屏、8位单屏显示z支持单色模式、4级灰度、16级灰度、256色和4096色STN LCDz支持多种屏幕像素—典型的流行屏幕像素:640x480, 320x240,160x160等—极限虚屏像素:4Mbytes—极限虚屏像素在256色下z显示模式:4096x1024, 2048x2048, 1024x4096等TFT彩色显示特点z支持彩色TFT模式1、2、4或8bpp(位/像素)带调色板彩色显示z支持彩色TFT模式16bpp不带调色板真彩色显示z支持24bpp下最大16M 彩色TFT模式z支持多种屏幕像素—典型的流行屏幕像素:640x480、 320x240、160x160等—极限虚屏像素:4Mbytes—极限虚屏像素在64K色下2048 x1024等看门狗定时器z16位看门狗定时器z超时时发出中断请求或系统复位IIC总线接口z1通道多主IIC总线z串行,能够在标准模式下达到100 Kbit/s或快速模式下达到400 Kbit/s 的8位单向和双向数据传输IIS总线接口z1通道基于DMA的IIS总线用于音频接口z串行,8-/16位每通道数据传输z128字节(64字节+64字节)FIFO用于发送/接收z支持IIS格式和MSB验证数据格式USB主机z2个USB主机口z遵守OHCI 1.0版z兼容USB1.1版本规范USB设备z1个USB设备口z5端点USB设备z兼容USB1.1版本规范SD主接口z与SD存储卡协议1.0版本兼容z与SDIO卡协议1.0版本兼容z具有字节FIFO用于发送/接收z基于DMA或基于中断模式操作z与多媒体卡2.11版本兼容SPI接口z与2通道串行外部接口2.11版本协议兼容z 2 x8位移位寄存器用于发送/接收 z基于DMA或基于中断模式操作工作电压范围z内核1.8Vz存储器:2.5V/3.3Vz输入/输出口:3.3V工作频率z最大203MHZ封装z272-FBGA方框图引脚分配表1-1 272脚FBGA引脚分配——按引脚编号排序(图表3-1)引脚号引脚名引脚号引脚名引脚号引脚名A1DATA19B14ADDR0/GPA0D10ADDR19/GPA4 A2DATA18B15nSRAS D11VDDiA3DATA16B16nBE1:nWBE1:DQM1D12ADDR10A4DATA15B17VSSi D13ADDR5A5DATA11C1DATA24D14ADDR1A6VDDMOP C2DATA23D15VSSMOPA7DATA6C3DATA21D16SCKEA8DATA1C4VDDi D17nGCS0A9ADDR21/GPA6C5DATA12E1DATA31A10ADDR16/GPA1C6DATA7E2DATA29A11ADDR13C7DATA4E3DATA28A12VSSMOP C8VDDi E4DATA30A13ADDR6C9ADDR25/GPA10E5VDDMOPA14ADDR2C10VSSMOP E6VSSMOPA15VDDMOP C11ADDR14E7DATA3A16nBE3:nWBE3:DQM3C12ADDR7E8ADDR26/GPA11A17nBE0:nWBE0:DQM0C13ADDR3E9ADDR23/GPA8B1DATA22C14nSCAS E10ADDR18/GPA3 B2DATA20C15nBE2:nWBE2:DQM2E11VDDMOPB3DATA17C16nOE E12ADDR11B4VDDMOP C17VDDi E13nWEB5DATA13D1DATA27E14nGCS3/GPA14 B6DATA9D2DATA25E15nGCS1/GPA12 B7DATA5D3VSSMOP E16nGCS2/GPA13 B8DATA0D4DATA26E17nGCS4/GPA15 B9ADDR24/GPA9D5DATA14F1TOUT1/GPB1 B10ADDR17/GPA2D6DATA10F2TOUT0/GPB0 B11ADDR12D7DATA2F3VSSMOPB12ADDR8D8VDDMOP F4TOUT2/GPB2 B13ADDR4D9ADDR22/GPA7F5VSSOP引脚号引脚名引脚号引脚名引脚号引脚名F6VSSi H4nXDREQ1/GPB8K13TXD2/nRTS1/GPH6 F7DATA8H5nTRST K14RXD1/GPH5F8VSSMOP H6TCK K15TXD0/GPH2F9VSSi H12CLE/GPA17K16TXD1/GPH4F10ADDR20/GPA5H13VSSOP K17RXD0/GPH3F11VSSi H14VDDMOP L1VD0/GPC8F12VSSMOP H15VSSi L2VD1/GPC9F13SCLK0H16XTOpll L3LCDVF2/GPC7F14SCLK1H17XTIpll L4VD2/GPC10F15nGCS5/GPA16J1TDI L5VDDiarmF16nGCS6:nSCS0J2VCLK:LCD_HCLK/GPC1L6LCDVF1/GPC6F17nGCS7:nSCS1J3TMS L7IICSCL/GPE14G1nXBACK/GPB5J4LEND:STH/GPC0L9EINT11/nSS1/GPG3 G2nXDACK1/GPB7J5TDO L11VDDi_UPLLG3TOUT3/GPB3J6VLINE:HSYNC:CPV/GPC2L12nRTS0/GPH1G4TCLK0/GPB4J7VSSiarm L13UPLLCAPG5nXBREQ/GPB6J11EXTCLK L14nCTS0/GPH0 G6VDDalive J12nRESET L15EINT6/GPF6 G7VDDiarm J13VDDi L16UCLK/GPH8 G9VSSMOP J14VDDalive L17EINT7/GPF7 G11ADDR15J15PWREN M1VSSiarmG12ADDR9J16nRSTOUT/GPA21M2VD5/GPC13 G13nWAIT J17nBATT_FLT M3VD3/GPC11 G14ALE/GPA18K1VDDOP M4VD4/GPC12 G15nFWE/GPA19K2VM:VDEN:TP/GPC4M5VSSiarmG16nFRE/GPA20K3VDDiarm M6VDDOPG17nFCE/GPA22K4VFRAME:VSYNC:STV/GPC3M7VDDiarmH1VSSiarm K5VSSOP M8IICSDA/GPE15 H2nXDACK0/GPB9K6LCDVF0/GPC5M9VSSiarmH3nXDREQ0/GPB10K12RXD2/nCTS1/GPH7M10DP1/PDP0引脚号引脚名引脚号引脚名引脚号引脚名M11EINT23/nYPON/GPG15P8SPICLK0/GPE13T5I2SLRCK/GPE0M12RTCVDD P9EINT12/LCD_PWREN/GPG4T6SDCLK/GPE5M13VSSi_MPLL P10EINT18/GPG10T7SPIMISO0/GPE11 M14EINT5/GPF5P11EINT20/XMON/GPG12T8EINT10/nSS0/GPG2 M15EINT4/GPF4P12VSSOP T9VSSOPM16EINT2/GPF2P13DP0T10EINT17/GPG9M17EINT3/GPF3P14VDDi_MPLL T11EINT22/YMON/GPG1 4N1VD6/GPC14P15VDDA_ADC T12DN0N2VD8/GPD0P16XTIrtc T13OM3N3VD7/GPC15P17MPLLCAP T14VSSA_ADCN4VD9/GPD1R1VDDiarm T15AIN1N5VDDiarm R2VD14/GPD6T16AIN3N6CDCLK/GPE2R3VD17/GPD9T17AIN5N7SDDAT1/GPE8R4VD18/GPD10U1VD15/GPD7N8VSSiarm R5VSSOP U2VD19/GPD11N9VDDOP R6SDDAT0/GPE7U3VD21/GPD13N10VDDiarm R7SDDAT3/GPE10U4VSSiarmN11DN1/PDN0R8EINT8/GPG0U5I2SSDI/nSS0/GPE3N12Vref R9EINT14/SPIMOSI1/GPG6U6I2SSDO/I2SSDI/GPE4 N13AIN7R10EINT15/SPICLK1/GPG7U7SPIMOSI0/GPE12N14EINT0/GPF0R11EINT19/TCLK1/GPG11U8EINT9/GPG1N15VSSi_UPLL R12CLKOUT0/GPH9U9EINT13/SPIMISO1/G PG5N16VDDOP R13R/nB U10EINT16/GPG8N17EINT1/GPF1R14OM0U11EINT21/nXPON/GPG 13P1VD10/GPD2R15AIN4U12CLKOUT1/GPH10 P2VD12/GPD4R16AIN6U13NCONP3VD11/GPD3R17XTOrtc U14OM2P4VD23/nSS0/GPD15T1VD13/GPD5U15OM1P5I2SSCLK/GPE1T2VD16/GPD8U16AIN0P6SDCMD/GPE6T3VD20/GPD12U17AIN2P7SDDAT2/GPE9T4VD22/nSS1/GPD14--引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型C3DATA21DATA21Hi-z Hi-z I t12 B1DATA22DATA22Hi-z Hi-z I t12 C2DATA23DATA23Hi-z Hi-z I t12 D3VSSMOP VSSMOP P P P s3o E5VDDMOP VDDMOP P P P d3o C1DATA24DATA24Hi-z Hi-z I t12 D2DATA25DATA25Hi-z Hi-z I t12 D4DATA26DATA26Hi-z Hi-z I t12 D1DATA27DATA27Hi-z Hi-z I t12 E3DATA28DATA28Hi-z Hi-z I t12 E2DATA29DATA29Hi-z Hi-z I t12 E4DATA30DATA30Hi-z Hi-z I t12 E1DATA31DATA31Hi-z Hi-z I t12 F3VSSMOP VSSMOP P P P s3o F5VSSOP VSSOP P P P s3o F2TOUT0/GPB0GPB0–/–O(L)/–I t8 F1TOUT1/GPB1GPB1–/–O(L)/–I t8 F4TOUT2/GPB2GPB2–/–O(L)/–I t8 G3TOUT3/GPB3GPB3–/–O(L)/–I t8 G4TCLK0/GPB4GPB4–/––/–I t8 G1nXBACK/GPB5GPB5–/––/–I t8 G5nXBREQ/GPB6GPB6–/––/–I t8 G2nXDACK1/GPB7GPB7–/––/–I t8 G6VDDalive VDDalive P P P d1i G7VDDiarm VDDiarm P P P d1c H1VSSiarm VSSiarm P P P s3i H4nXDREQ1/GPB8GPB8–/––/–I t8 H2nXDACK0/GPB9GPB9–/––/–I t8 H3nXDREQ0/GPB10GPB10–/––/–I t8 H5nTRST nTRST I I I is H6TCK TCK I I I is J1TDI TDI I I I is J3TMS TMS I I I is引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型J5TDO TDO O O O ot J4LEND:STH/GPC0GPC0–/–O(L)/–I t8 J2VCLK:LCD_HCLK/GPC1GPC1–/–O(L)/–I t8 J6VLINE:HSYNC:CPV/GPC2GPC2–/–O(L)/–I t8 K3VDDiarm VDDiarm P P P d1c J7VSSiarm VSSiarm P P P s3i K2VM:VDEN:TP/GPC4GPC4–/–O(L)/–I t8 K4VFRAME:VSYNC:STV/GPC3GPC3–/–O(L)/–I t8 K1VDDOP VDDOP P P P d3o K5VSSOP VSSOP P P P s3o K6LCDVF0/GPC5GPC5–/–O(L)/–I t8 L6LCDVF1/GPC6GPC6–/–O(L)/–I t8 L3LCDVF2/GPC7GPC7–/–O(L)/–I t8 L1VD0/GPC8GPC8–/–O(L)/–I t8 L2VD1/GPC9GPC9–/–O(L)/–I t8 L4VD2/GPC10GPC10–/–O(L)/–I t8 M3VD3/GPC11GPC11–/–O(L)/–I t8 L5VDDiarm VDDiarm P P P d1c M1VSSiarm VSSiarm P P P s3i M4VD4/GPC12GPC12–/–O(L)/–I t8 M2VD5/GPC13GPC13–/–O(L)/–I t8 N1VD6/GPC14GPC14–/–O(L)/–I t8 N3VD7/GPC15GPC15–/–O(L)/–I t8 N2VD8/GPD0GPD0–/–O(L)/–I t8 N4VD9/GPD1GPD1–/–O(L)/–I t8 P1VD10/GPD2GPD2–/–O(L)/–I t8 P3VD11/GPD3GPD3–/–O(L)/–I t8 P2VD12/GPD4GPD4–/–O(L)/–I t8 R1VDDiarm VDDiarm P P P d1c M5VSSiarm VSSiarm P P P s3i T1VD13/GPD5GPD5–/–O(L)/–I t8 R2VD14/GPD6GPD6–/–O(L)/–I t8 U1VD15/GPD7GPD7–/–O(L)/–I t8引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型T2VD16/GPD8GPD8–/–O(L)/–I t8 R3VD17/GPD9GPD9–/–O(L)/–I t8 R4VD18/GPD10GPD10–/–O(L)/–I t8 U2VD19/GPD11GPD11–/–O(L)/–I t8 T3VD20/GPD12GPD12–/–O(L)/–I t8 U3VD21/GPD13GPD13–/–O(L)/–I t8 T4VD22/nSS1/GPD14GPD14–/–O(L)/–I t8 P4VD23/nSS0/GPD15GPD15–/–O(L)/–I t8 N5VDDiarm VDDiarm P P P d1c U4VSSiarm VSSiarm P P P s3i M6VDDOP VDDOP P P P d3o R5VSSOP VSSOP P P P s3o T5I2SLRCK/GPE0GPE0–/–O(L)/–I t8 P5I2SSCLK/GPE1GPE1–/–O(L)/–I t8 N6CDCLK/GPE2GPE2–/–O(L)/–I t8 U5I2SSDI/nSS0/GPE3GPE3–/–/––/–/–I t8 U6I2SSDO/I2SSDI/GPE4GPE4–/–/–O(L)/–/–I t8 T6SDCLK/GPE5GPE5–/–O(L)/–I t8 P6SDCMD/GPE6GPE6–/–Hi-z/–I t8 R6SDDAT0/GPE7GPE7–/–Hi-z/–I t8 N7SDDAT1/GPE8GPE8–/–Hi-z/–I t8 P7SDDAT2/GPE9GPE9–/–Hi-z/–I t8 R7SDDAT3/GPE10GPE10–/–Hi-z/–I t8 T7SPIMISO0/GPE11GPE11–/–Hi-z/–I t8 U7SPIMOSI0/GPE12GPE12–/–Hi-z/–I t8 P8SPICLK0/GPE13GPE13–/–Hi-z/–I t8 M7VDDiarm VDDiarm P P P d1c N8VSSiarm VSSiarm P P P s3i L7IICSCL/GPE14GPE14–/–Hi-z/–I d8 M8IICSDA/GPE15GPE15–/–Hi-z/–I d8 R8EINT8/GPG0GPG0–/––/–I t8 U8EINT9/GPG1GPG1–/––/–I t8 T8EINT10/nSS0/GPG2GPG2–/–/––/–/–I t8引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型L9EINT11/nSS1/GPG3GPG3–/–/––/–/–I t8 P9EINT12/LCD_PWREN/GPG4GPG4–/–/––/O(L)/–I t8 U9EINT13/SPIMISO1/GPG5GPG5–/–/––/Hi-z/–I t8 R9EINT14/SPIMOSI1/GPG6GPG6–/–/––/Hi-z/–I t8 T9VSSOP VSSOP P P P s3o N9VDDOP VDDOP P P P d3o N10VDDiarm VDDiarm P P P d1c M9VSSiarm VSSiarm P P P s3i R10EINT15/SPICLK1/GPG7GPG7–/–/––/Hi-z/–I t8 U10EINT16/GPG8GPG8–/––/–I t6 T10EINT17/GPG9GPG9–/––/–I t6 P10EINT18/GPG10GPG10–/––/–I t6 R11EINT19/TCLK1/GPG11GPG11–/–/––/–/–I t12 P11EINT20/XMON/GPG12GPG12–/–/––/O(L)/–I t12 U11EINT21/nXPON/GPG13GPG13–/–/––/O(L)/–I t12 T11EINT22/YMON/GPG14GPG14–/–/––/O(L)/–I t12 M11EINT23/nYPON/GPG15GPG15–/–/––/O(L)/–I t12 R12CLKOUT0/GPH9GPH9–/–O(L)/–I t12 U12CLKOUT1/GPH10GPH10–/–O(L)/–I t12 M10DP1/PDP0DP1––AI us N11DN1/PDN0DN1––AI us P13DP0DP0––AI us T12DN0DN0––AI us U13NCON NCON––I is R13R/nB R/nB––I is T13OM3OM3––I is U14OM2OM2––I is U15OM1OM1––I is R14OM0OM0––I is P12VSSOP VSSOP P P P s3oT14VSSA_ADC VSSA_ADCP P P s3tN12Vref Vref––AI ia U16AIN0AIN0––AI r10引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型T15AIN1AIN1––AI r10 U17AIN2AIN2––AI r10 T16AIN3AIN3––AI r10 R15AIN4AIN4––AI r10 T17AIN5AIN5––AI r10 R16AIN6AIN6––AI r10 N13AIN7AIN7––AI r10P15VDDA_ADC VDDA_ADCP P P d3tR17XTOrtc XTOrtc––AO gp P16XTIrtc XTIrtc––AI gp M12RTCVDD RTCVDD P P P d1iP14VDDi_MPLL VDDi_MPLLP P P d1cM13VSSi_MPLL VSSi_MPLLP P P s3iP17MPLLCAP MPLLCAP––AI gpL11VDDi_UPLL VDDi_UPLLP P P d1cN15VSSi_UPLL VSSi_UPLLP P P s3iL13UPLLCAP UPLLCAP––AI gp N16VDDOP VDDOP P P P d3o N14EINT0/GPF0GPF0–/––/–I t8 N17EINT1/GPF1GPF1–/––/–I t8 M16EINT2/GPF2GPF2–/––/–I t8 M17EINT3/GPF3GPF3–/––/–I t8 M15EINT4/GPF4GPF4–/––/–I t8 M14EINT5/GPF5GPF5–/––/–I t8 L15EINT6/GPF6GPF6–/––/–I t8 L17EINT7/GPF7GPF7–/––/–I t8 L16UCLK/GPH8GPH8–/––/–I t8 L14nCTS0/GPH0GPH0–/––/–I t8 L12nRTS0/GPH1GPH1–/–O(H)/–I t8 K15TXD0/GPH2GPH2–/–O(H)/–I t8 K17RXD0/GPH3GPH3–/––/–I t8 K16TXD1/GPH4GPH4–/–O(H)/–I t8 K14RXD1/GPH5GPH5–/––/–I t8引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型K13TXD2/nRTS1/GPH6GPH6–/–O(H)/–I t8 K12RXD2/nCTS1/GPH7GPH7–/––/–I t8J17nBATT_FLT nBATT_FLT––I isJ16nRSTOUT/GPA21nRSTOUT–/–O(L)/–O b8 J15PWREN PWREN O(H)O(L)O b8 J12nRESET nRESET––I isJ14VDDalive VDDalive P P P d1i J11EXTCLK EXTCLK––AI isJ13VDDi VDDi P P P d1c H17XTIpll XTIpll––AI m26 H16XTOpll XTOpll––AO m26 H15VSSi VSSi P P P s3i H13VSSOP VSSOP P P P s3o H14VDDMOP VDDMOP P P P d3o G17nFCE/GPA22nFCE O(H)/–O(H)/–O b8 G16nFRE/GPA20nFRE O(H)/–O(H)/–O b8 G15nFWE/GPA19nFWE O(H)/–O(H)/–O b8 G14ALE/GPA18ALE O(L)/–O(L)/–O b8 H12CLE/GPA17CLE O(L)/–O(L)/–O b8 G13nWAIT nWAIT––I isF17nGCS7:nSCS1nGCS7Hi-z O(H)O ot F16nGCS6:nSCS0nGCS6Hi-z O(H)O ot F15nGCS5/GPA16nGCS5Hi-z O(H)/–O ot E17nGCS4/GPA15nGCS4Hi-z O(H)/–O ot E14nGCS3/GPA14nGCS3Hi-z O(H)/–O ot E16nGCS2/GPA13nGCS2Hi-z O(H)/–O ot E15nGCS1/GPA12nGCS1Hi-z O(H)/–O ot D17nGCS0nGCS0Hi-z O(H)O ot D16SCKE SCKE Hi-z O(L)O ot D15VSSMOP VSSMOP P P P s3o F14SCLK1SCLK1Hi-z O(L)O t16 C17VDDi VDDi P P P d1c F13SCLK0SCLK0Hi-z O(L)O t16引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型B17VSSi VSSi P P P s3i E13nWE nWE Hi-z O(H)O(H)ot C16nOE nOE Hi-z O(H)O(H)ot A17nBE0:nWBE0:DQM0DQM0Hi-z O(H)O(H)ot B16nBE1:nWBE1:DQM1DQM1Hi-z O(H)O(H)ot C15nBE2:nWBE2:DQM2DQM2Hi-z O(H)O(H)ot A16nBE3:nWBE3:DQM3DQM3Hi-z O(H)O(H)ot B15nSRAS nSRAS Hi-z O(H)O(H)ot C14nSCAS nSCAS Hi-z O(H)O(H)ot A15VDDMOP VDDMOP P P P d3o F12VSSMOP VSSMOP P P P s3o B14ADDR0/GPA0ADDR0Hi-z/–O(L)/–O(L)ot D14ADDR1ADDR1Hi-z O(L)O(L)ot A14ADDR2ADDR2Hi-z O(L)O(L)ot C13ADDR3ADDR3Hi-z O(L)O(L)ot B13ADDR4ADDR4Hi-z O(L)O(L)ot D13ADDR5ADDR5Hi-z O(L)O(L)ot A13ADDR6ADDR6Hi-z O(L)O(L)ot C12ADDR7ADDR7Hi-z O(L)O(L)ot B12ADDR8ADDR8Hi-z O(L)O(L)ot G12ADDR9ADDR9Hi-z O(L)O(L)ot A12VSSMOP VSSMOP P P P s3o E11VDDMOP VDDMOP P P P d3o D12ADDR10ADDR10Hi-z O(L)O(L)ot E12ADDR11ADDR11Hi-z O(L)O(L)ot D11VDDi VDDi P P P d1c F11VSSi VSSi P P P s3i B11ADDR12ADDR12Hi-z O(L)O(L)ot A11ADDR13ADDR13Hi-z O(L)O(L)ot C11ADDR14ADDR14Hi-z O(L)O(L)ot G11ADDR15ADDR15Hi-z O(L)O(L)ot A10ADDR16/GPA1ADDR16Hi-z O(L)/–O(L)ot B10ADDR17/GPA2ADDR17Hi-z O(L)/–O(L)ot引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型C10VSSMOP VSSMOP P P P s3o E10ADDR18/GPA3ADDR18Hi-z/–O(L)O(L)ot D10ADDR19/GPA4ADDR19Hi-z/–O(L)O(L)ot F10ADDR20/GPA5ADDR20Hi-z/–O(L)O(L)ot A9ADDR21/GPA6ADDR21Hi-z/–O(L)O(L)ot D9ADDR22/GPA7ADDR22Hi-z/–O(L)O(L)ot E9ADDR23/GPA8ADDR23Hi-z/–O(L)O(L)ot B9ADDR24/GPA9ADDR24Hi-z/–O(L)O(L)ot C9ADDR25/GPA10ADDR25Hi-z/–O(L)O(L)ot E8ADDR26/GPA11ADDR26Hi-z/–O(L)O(L)ot C8VDDi VDDi P P P d1c F9VSSi VSSi P P P s3i D8VDDMOP VDDMOP P P P d3o G9VSSMOP VSSMOP P P P s3o B8DATA0DATA0Hi-z Hi-z Hi-z t12 A8DATA1DATA1Hi-z Hi-z Hi-z t12 D7DATA2DATA2Hi-z Hi-z Hi-z t12 E7DATA3DATA3Hi-z Hi-z Hi-z t12 C7DATA4DATA4Hi-z Hi-z Hi-z t12 B7DATA5DATA5Hi-z Hi-z Hi-z t12 A7DATA6DATA6Hi-z Hi-z Hi-z t12 C6DATA7DATA7Hi-z Hi-z Hi-z t12 A6VDDMOP VDDMOP P P P d3o F8VSSMOP VSSMOP P P P s3o F7DATA8DATA8Hi-z Hi-z Hi-z t12 B6DATA9DATA9Hi-z Hi-z Hi-z t12 D6DATA10DATA10Hi-z Hi-z Hi-z t12 A5DATA11DATA11Hi-z Hi-z Hi-z t12 C5DATA12DATA12Hi-z Hi-z Hi-z t12 B5DATA13DATA13Hi-z Hi-z Hi-z t12 D5DATA14DATA14Hi-z Hi-z Hi-z t12 A4DATA15DATA15Hi-z Hi-z Hi-z t12 B4VDDMOP VDDMOP P P P d3o博创科技第21页共21页表1-2 272脚FPGA引脚分配(图表9-9)引脚号引脚名默认功能I/O状态@BUS REQI/O状态@PWR-offI/O状态@nRESETI/O类型E6VSSMOP VSSMOP P P P s3o C4VDDi VDDi P P P d1c F6VSSi VSSi P P P s3i A3DATA16DATA16Hi-z Hi-z Hi-z t12 B3DATA17DATA17Hi-z Hi-z Hi-z t12 A2DATA18DATA18Hi-z Hi-z Hi-z t12 A1DATA19DATA19Hi-z Hi-z Hi-z t12 B2DATA20DATA20Hi-z Hi-z Hi-z t12备注:1. The @BUS REQ. shows the pin states at the external bus, which is used by the other bus master.2.“- ”标志说明在总线请求模式下引脚状态没有变化。
S3C24x0片内设备驱动编写时的时钟问题

前天编写S3C24x0芯片的ADC驱动。
其实很简单,参考别人的驱动,把以前的驱动模板改改就好了。
可是写好后没使用成功。
测来测去,最后发现对ADC的寄存器根本无法写入,只能读出。
郁闷!!一开始以为是我用的赋值语句不对,参考我的驱动学习文档,试了一圈,问题依旧!郁闷了整整两天之后,在网上看到有人也遇到了2410的外设寄存器无法赋值的情况,最后发现是时钟问题。
受此启发,我回想起了以前看的Linux的SPI驱动,里面有以下语句:当时也没怎么在意,后悔啊!之后我在DAC驱动上加了类似的语句,参考了别人的2410触摸屏驱动,将"spi"改为"adc" 。
实验成功!三星的S3C24x0处理器为了实现低功耗,增加对外设的时钟和电源的管理。
具体的内容请看芯片手册的《7. Clock & Power Management》这一章。
虽然芯片启动时默认这些外设的时钟是使能的,但在Linux下,启动时为了节能考虑,将部分时钟关闭了。
如果没有使能这些时钟,就会出现无法对外设寄存器写操作的情况。
Linux中时钟使能部分的源码主要有:参考这些源码,就可以大致知道Linux是如何操作S3C24x0处理器的外设时钟的。
特别是/arch/arm/mach-s3c2410/clock.c中的以下数据对编程有所帮助:.name ="nand",.id =-1,.parent =&clk_h,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_NAND,},{.name ="sdi",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_SDI,},{.name ="adc",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_ADC,},{.name ="i2c",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_IIC,},{.name ="iis",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_IIS,},{.name ="spi",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable,.ctrlbit = S3C2410_CLKCON_SPI, }};static struct clk init_clocks[]={{.name ="lcd",.id =-1,.parent =&clk_h,.enable = s3c2410_clkcon_enable,.ctrlbit = S3C2410_CLKCON_LCDC, },{.name ="gpio",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable,.ctrlbit = S3C2410_CLKCON_GPIO, },{.name ="usb-host",.id =-1,.parent =&clk_h,.enable = s3c2410_clkcon_enable,.ctrlbit = S3C2410_CLKCON_USBH, },{.name ="usb-device",.id =-1,.parent =&clk_h,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_USBD,},{.name ="timers",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_PWMT,},{.name ="uart",.id = 0,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_UART0, },{.name ="uart",.id = 1,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_UART1, },{.name ="uart",.id = 2,.parent =&clk_p,.enable = s3c2410_clkcon_enable, .ctrlbit = S3C2410_CLKCON_UART2,},{.name ="rtc",.id =-1,.parent =&clk_p,.enable = s3c2410_clkcon_enable,.ctrlbit = S3C2410_CLKCON_RTC, },{.name ="watchdog",.id =-1,.parent =&clk_p,.ctrlbit = 0,},{.name ="usb-bus-host",.id =-1,.parent =&clk_usb_bus,},{.name ="usb-bus-gadget",.id =-1,.parent =&clk_usb_bus,},};。
关于S3C2410时钟与启动方式

关于S3C2410时钟一、对clock的基本认识第七部分是“clock & power management”,总结如下:1 s3c2410的clock & power management模块包含三个部分:clock cont rol、usb control、power control。
现在的关注点是clock control。
2、s3c2410有两个pll(phase locked loop,锁相环,在高频中学过,可以实现倍频,s3c2410的高频就是由此电路产生的)。
其中一个是MPLL,M即为main,用来产生三种时钟信号:Fclk(给CPU核供给时钟信号,我们所说的s3c2410的cpu主频为200MHz,就是指的这个时钟信号,相应的,1/Fclk 即为cpu时钟周期)、Hclk(为AHB bus peripherals供给时钟信号,AHB 为advanced high-performance bus)、Pclk(为APB bus peripherals 供给时钟信号,APB为advanced peripherals bus)。
在这里,需要了解一下AMBA system architecture了。
这个可以到官方网站下载相关资料。
简单的说,AMBA是一种协议,这种协议已经称为片上组织通信的事实上的标准(the de facto standard for on-chip fabric communicatio n)。
下面给出英文描述:The AMBA protocol is an open standard, on-chip bus specification that details a stategy for the interconnection and management of functional blocks that makes up a system-on-ch ip(SoC).It facilitates "right-first-time" development of embedded proc essors with one or more CPU/signal processors and multiple periph erals. The AMBA protocol enhances a resuable design methodology by defining a common backbone for SoC modules.需要知道的是,AMBA总线是ARM提出的一种解决方案,它并非唯一的规范,但是因为ARM的广泛使用,AMBA总线也就成为了事实上的规范了。
s3c2410a第七章-时钟与电源供管理

第七章时钟和电源管理概述时钟和电源管理模块由三部分组成:时钟控制、USB控制和电源控制。
S3C2410A的时钟控制逻辑能产生以下所需的时钟信号,它们包括:CPU工作时钟FCLK,AHB总线外设的时钟HCLK,APB总线外设的时钟PCLK. S3C2410A有2个锁相环(PLL),一个用于FCLK,HCLK和PCLK,另一个则专门用与USB模块的48MHz时钟的产生。
时钟控制逻辑可以不使用PLL而产生一个低频时钟,并且可以通过软件设置来提供或断开每个外设模块的时钟供应,以此来减少功耗。
S3C2410A电源控制逻辑提供了多种电源管理方案,可以在执行不同任务时保持一个最佳的功耗。
S3C2410A 电源管理模块能设置为4种模式:普通模式、低速模式、空闲模式以及掉电模式。
普通模式:时钟模块向S3C2410A的CPU和所有外设提供时钟信号。
在这种模式下,在所有外设都打开的情况下功耗最大。
但是它允许用户通过软件控制外设的运转,例如:如果一个定时器不需要用到,用户可以断开提供给该定时器的时钟来减少能量消耗。
低速模式:也叫无PLL模式。
与普通模式不同,低速模式不使用S3C2410A的PLL而直接使用外部时钟(XTIpll或EXTCLK)。
在这种模式下,能量消耗仅仅依赖于外部时钟,来自于PLL的能量消耗排除在外。
空闲模式:时钟模块只断开CPU的时钟FCLK,而向所有其他的外设提供时钟源。
在空闲模式下,功耗为普通模式 - 来自于CPU内核的能量消耗。
任何向CPU发出的中断请求都可将系统从空闲模式下唤醒。
掉电模式:时钟模块断开内部电源。
所以在这种模式下,除内部唤醒逻辑外,CPU和内部其他逻辑都没有能量消耗。
为了让掉电模式能正常启动,时钟模块提供了两个各自独立的电源。
其中一个唤醒逻辑的工作电源,另外一个是用于CPU和内部其他的内部逻辑可控制开启和关闭的工作电源。
在掉电模式下,第二个电源(CPU和其他内部逻辑的工作电源)被关闭。
2019年S3C2410系统时钟和定时器.doc

S3C2410系统时钟和定时器S3C2410系统时钟和定时器(2011-05-26 08:59)主机环境:UBUNTU10.04LTS+arm-linux-gcc 2.95.3开发板环境:EdukitIII实验箱+s3c2410子板问题描述:首先初始化S3C2410系统时钟,然后通过定时器中断来控制LED的点亮、熄灭情况【1.系统时钟硬件原理】EdukitIII实验箱上一共有两个时钟,都是通过外接晶振实现,一个是实时时钟RTC,主要为系统计时使用,其晶振X101频率为32.768 kHz;另一个是系统时钟,为硬件设备提供时钟信号使用,其晶振X102为12MHz,系统时钟都是在X102的基础上通过时钟寄存器的控制来生成不同的时钟信号,为不同的硬件设备提供工作时钟信号。
S3C2410的时钟控制逻辑可以外接晶振,然后通过内部的电路产生时钟源,也可以直接使用外部提供的时钟源,通过引脚设置来选择。
时钟逻辑为整个系统提供3种时钟:FCLK用于CPU核;HCLK用于AHB总线上的设备,如存储控制器、中断控制器、LCD控制器、DMA、USB主机模块等;PCLK用于APB总线上的设备,如WATCHDOG、IIS、I2C、PWM定时器、MMC接口、ADC、UART、GPIO、RTC、SPI等。
开发板上的外接时钟(晶振X102为12MHz)通过相位锁相环(PLL)电路来提高频率,S3C2410有两个PLL,一个MPLL,用于设置FCLK、HCLK、PCLK;另一个为UPLL,用于USB设备。
上电时,PLL没有启动,FCLK等于外部输入时钟Fin,若要提高系统频率,通过软件来启用PLL(设置相关寄存器),图1为PLL上电后的启动过程图1上电后MPLL的启动过程图中的OSC即是外接晶振X102,频率为12MHz,上电后需要等待一段时间(Lock Time),MPLL才能输出稳定,Lock Time的值由寄存器LOCITIME设置。
S3C2410A中文数据手册

S3C2410A中⽂数据⼿册第⼀章产品综述1.1特性 (2)体系结构 (2)系统管理器 (3)NAND Flash 启动引导 (3)Cache 存储器 (3)时钟和电源管理 (3)中断控制器 (4)具有脉冲带宽调制功能的定时器 (4)RTC(实时时钟) (4)通⽤I/O端⼝ (4)UART (4)DMA控制器 (5)A/D转换和触摸屏接⼝ (5)LCD控制器STN LCD显⽰特性 (5)TFT彩⾊显⽰屏 (5)看门狗定时器 (5)IIC总线接⼝ (6)IIS总线接⼝ (6)USB主设备 (6)SD主机接⼝ (6)SPI接⼝ (6)⼯作电压 (7)操作频率 (7)封装 (7)1.2内部结构图 (8)表1-1 272-FBGA 引脚分配及顺序 (9)表1-2 272-FBGA封装的引脚分配 (12)信号描述 (21)表1-3 S3C2410A信号描述 (21)表1-4 S3C2410A 专⽤寄存器 (25)Samsung 公司推出的16/32位RISC处理器S3C2410A,为⼿持设备和⼀般类型应⽤提供了低价格、低功耗、⾼性能⼩型微控制器的解决⽅案。
为了降低整个系统的成本,S3C2410A提供了以下丰富的内部设备:分开的16KB的指令Cache和16KB数据Cache,MMU虚拟存储器管理,LCD控制器(⽀持STN&TFT),⽀持NAND Flash系统引导,系统管理器(⽚选逻辑和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定时器,I/O 端⼝,RTC,8通道10位ADC和触摸屏接⼝,IIC-BUS接⼝,IIC-BUS接⼝,USB主机,USB 设备,SD主卡&MMC卡接⼝,2通道的SPI以及内部PLL时钟倍频器。
S3C2410A采⽤了ARM920T内核,0.18um⼯艺的CMOS标准宏单元和存储器单元。
它的低功耗、精简和出⾊的全静态设计特别适⽤于对成本和功耗敏感的应⽤。
嵌入式07_S3C2410处理器时钟和电源管理

}
6、RTC 编程实例
(2)实时时钟显示函数 void Display_Rtc(void) /************************************************ Function name: Display_Rtc Description : 实时时钟显示程序 Argument : 读出当前的时间,然后显示 ************************************************/
(3)IDLE mode
The block disconnects clocks (FCLK) only to the CPU core while it supplies clocks to all other peripherals. The IDLE mode results in reduced power consumption due to CPU core. Any interrupt request to CPU can be woken up from the Idle mode.
电源管理模式转换关系图
4、时钟相关寄存器
Lock计数寄存器 时钟控制寄存器 慢时钟控制寄存器 (LOCKTIME) (CLKCON) (CLKSLOW)
锁相环控制寄存器 (MPLLCON、UPLLCON)
时钟分频控制寄存器(CLKDIVN)
(1)Lock计数寄存器(LOCKTIME)
(2)锁相环控制寄存器(MPLLCON、UPLLCON)
(1)NORMAL mode
The block supplies clocks to CPU as well as all peripherals in the S3C2410A. In this mode, the power consumption will be maximized when all peripherals are turned on. It allows the user to control the operation of peripherals by software.
7第七章-时钟和功率管理

第七章时钟和功率管理概述时钟和功率管理模块由三部分组成:时钟控制,USB控制和功率控制。
S3C2410A的时钟控制逻辑能够产生系统所需要的时钟,包括CPU的FCLK,AHB总线接口的HCLK,和APB总线接口的PCLK。
S3C2410A有两个PLL,一个用于FCLK,HCLK,PCLK,另一个用于USB模块(48MHZ)。
时钟控制逻辑能够由软件控制不将PLL连接到各接口模块以降低处理器时钟频率,从而降低功耗。
S3C2410A有各种针对不同任务提供的最佳功率管理策略,功率管理模块能够使系统工作在如下4种模式:正常模式,低速模式,空闲模式和掉电模式。
正常模式:功率管理模块向CPU和所有外设提供时钟。
这种模式下,当所有外设都开启时,系统功耗将达到最大。
用户可以通过软件控制各种外设的开关。
例如,如果不需要定时器,用户可以将定时器时钟断开以降低功耗。
低速模式:没有PLL的模式。
与正常模式不同,低速模式直接使用外部时钟(XTIpll或者EXTCLK)作为FCLK,这种模式下,功耗仅由外部时钟决定。
空闲模式:功率管理模块仅关掉FCLK,而继续提供时钟给其他外设。
空闲模式可以减少由于CPU核心产生的功耗。
任何中断请求都可以将CPU从中断模式唤醒。
掉电模式:功率管理模块断开内部电源。
因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。
要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。
在掉电模式下,第二个电源将被关掉。
掉电模式可以由外部中断EINT[15:0]或RTC唤醒。
功能描述时钟结构图7-1描述了时钟架构的方块图。
主时钟源由一个外部晶振或者外部时钟产生。
时钟发生器包括连接到一个外部晶振的振荡器和两个PLL(MPLL和UPLL)用于产生系统所需的高频时钟。
时钟源选择表7-1描述了模式控制引脚(OM3和OM2)和选择时钟源之间的对应关系。
OM[3:2]的状态由OM3和OM2引脚的状态在nRESET的上升沿锁存得到。
s3c2440a 裸奔1之时钟和电源管理篇

时钟和电源管理篇一、时钟和电源管理模块组成:1.时钟控制B控制 3。
电源管理二.时钟控制产生的信号:1。
CPU的FCLK 2,AHB总线外设的HCLK 3。
APB总线外设的PCLK三。
MCU内部两个锁相环(PLL)作用:1。
其中一个提供给包括FCLK,HCLK,PCLK使用2。
另外一个专门提供给USB模块(48MHZ)注:提供给USB模块的时钟信号不能轻易改动,否则USB模块不能正常工作,正常工作在48MHZ上四.电源管理模块可以工作在以下四种模式:1。
正常模式:此模式提供给CPU时钟以及其他所有外设时钟,功率消耗达到最大,用户软件可以控制外设是否运行,例如实际情况中我们不需要使用定时器或者MCU内部其他的外设功能时,我们可以讲时钟与此外设断开,以达到不让其工作的目的,从而降低了系统的功耗。
2。
慢速模式:PLL在此模式中不起作用,FCLK直接与外部时钟相关,在此模式下系统的MCU的功耗跟外部时钟有关系,跟PLL没有关系。
3。
空闲模式:此模式断开MCU内核的时钟FCLK以达到降低MCU内核的目的,但是CPU其他外设的时钟并没有断开,任何中断请求都可以使MCU从空闲模式中唤醒4。
睡眠模式:这个模块与内部供电是分离的。
因此在此模式中发生了没有因CPU 和除唤醒逻辑以外的内部逻辑的功耗。
要激活睡眠模式需要两个独立的供电电源。
两个电源之一提供电源给唤醒逻辑。
另一个提供电源给包括CPU 在内的其它内部逻辑,而且应当能够控制供电的开和关。
在睡眠模式中,第二个为CPU 和内部逻辑供电电源将被关闭。
可以由EINT[15:0]或RTC 闹铃中断产生从睡眠模式中唤醒。
五.时钟源的选择:时钟源靠硬件选择 OM[3:2]管腿,MICRO 2440两个管腿均接地证明HCLK FCLK PCLK以及USB的时钟均来自外部晶振,以下列出不同配置时钟源不同的列表:六.锁相环(PLL)七.HCLK FCLK PCLKFCLK 是提供给ARM920T 的时钟。
S3C2410中文手册第7章_时钟及电源管理模块

S3C2410中文手册第7章_时钟及电源管理模块第七章时钟及电源管理模块时钟电源管理模块包含了3部分:Clock控制、USB控制、POWER控制.时钟控制逻辑单元能够产生s3c2440需要的时钟信号,包括CPU 使用的主频FCLK,AHB总线设备使用的HCLK,以及APB总线设备使用的PCLK.2440内部有2个PLL(锁相环):一个对应FCLK、HCLK、PCLK,另外一个对应的是USB使用(48MHz)。
时钟控制逻辑单元可以在不使用PLL情况下降低时钟CLOCK的频率,并且可以通过软件来驱使时钟和各个模块的连接/断开,以减少电源消耗。
对于电源控制逻辑单元,2440有许多钟电源管理方案来针对所给的任务保持最优的电源消耗。
S3c2440中的电源管理模块对应4种模式:NORMAL模式、SLOW模式,IDLE模式,SLEEP 模式。
NORMAL模式:这个模块给CPU时钟以及2440相应的外围设备提供时钟。
这个模式下,当所有的外围设备都被打开,电源消耗被最大化。
它允许用户通过软件来控制外部设备的操作。
例如,如果一个定时器不需要时,那么用户可以通过CLKCON寄存器来关闭时钟和定时器的连接,来降低电源消耗。
SLOW模式:NON-PLL模式,不同于Normal模式,这个模式使用的一个外部时钟(XTlpll 或EXTCLK)来直接作为2440的主频FCLK,而没有使用PLL。
在这个模式下,电源的消耗仅依赖于外部时钟频率,电源同PLL有关的消耗可以被排除。
IDLE模式:这个模式下CPU的时钟FCLK被断开,而还继续提供其他外围设备的时钟。
因此空闲模式导致减少了CPU核相应的电源消耗。
任何中断请求都能够将CPU唤醒。
Sleep模式:这个模式断开了内部电源。
因此在这个模式下CPU &内部的逻辑单元都没有电源消耗,除了一个wake-up逻辑单元。
激活sleep模式需要2个独立的电源。
一个给wake-up逻辑模块提供电源,另外一个给内部逻辑包括CPU提供电源,并且其是对于poweron/off可控的。
S3C2410X中文数据手册

S3C2410X32位RISC微处理器用户手册第一章产品综述 (5)介绍: (5)1.1特性 (6)体系结构 (6)系统管理器 (6)NAND Flash 启动引导 (7)Cache 存储器 (7)时钟和电源管理 (7)中断控制器 (8)具有脉冲带宽调制功能的定时器 (8)RTC(实时时钟) (8)通用I/O端口 (8)UART (9)DMA控制器 (9)A/D转换和触摸屏接口 (9)LCD控制器STN LCD显示特性 (9)TFT彩色显示屏 (10)看门狗定时器 (10)IIS总线接口 (10)USB主设备 (10)USB从设备 (10)SD主机接口 (11)SPI接口 (11)工作电压 (11)操作频率 (11)封装 (11)1.2 内部结构图 (12)表1-1 272-FBGA引脚分配及顺序 (14)表1-2 272-FBGA封装的引脚分配 (16)表1-3 S3C2410X信号描述 (24)表1-4 S3C2410X特殊功能寄存器 (30)第二章处理器工作模式 (45)2.1 概述 (46)2.2 处理器工作状态 (46)2.3 切换状态 (47)2.4指令长度 (48)2.5操作模式 (48)2.6 寄存器 (49)2.7程序寄存器状态 (51)2.8 异常 (53)第三章 ARM指令集 (59)3.1 指令格式 (60)3.2 条件码 (62)3.3 分支和转换指令(BX) (63)3.4转移及带链接的转移指令(B,BL) (64)3.5 数据处理指令 (65)3.6 PSR 转移指令(MRS,MSR) (71)3.7 乘法及乘加指令(MUL,MLA) (75)3.8 长乘及长乘加指令(MULL,MLAL) (77)3.9单数据传输指令(LDR,STR) (79)3.10半字和带符号的数据传输(LDRH/STRH/LDRSB/LDRSH) (82)3.11块数据传输(LDM,STM) (87)3.12 单数据传输指令(SWP) (94)3.13 软件中断指令(SWI) (95)3.14 协处理器数据操作(CDP) (97)3.15 协处理器数据传输指令(LDC,STC) (98)3.16 协处理器寄存器传输指令(MRC,MCR) (99)3.17 未定义指令 (99)第五章存储器控制器 (99)5.1 概述 (99)5.2 功能描述 (101)5.2.1 bank0总线宽度 (101)5.2.2 nWAIT引脚的作用 (103)5.2.3 nXBREQ/nXBACK引脚操作 (104)5.3 存储器接口举例 (105)5.4 特殊功能寄存器 (111)5.4.1 总线宽度和等待控制寄存器(BWSCON) (111)5.4.2 总线控制寄存器(BANKCONN:nGCS0-nGCS5) (113)5.4.3 BANK控制寄存器(BANKCONn:nGCS6-nGCS7) (114)5.4.4 刷新控制寄存器 (115)5.4.5 BANKSIZE 寄存器 (115)5.4.6 SDRAM模式寄存器集寄存器(MRSR) (116)第六章 NAND FLASH寄存器 (117)6.1 概述 (117)6.2 特性 (117)6.2.1 自动导入模式步骤 (118)6.2.3 NAND FLASH存储器时序 (119)6.2.4 管脚配置 (119)6.2.6 NAND Flash存储空间分布 (121)6.3 专用寄存器 (122)6.3.1 NAND FLASH 配置(NFCONF)寄存器 (122)6.3.2 NAND FLASH命令设置(NFCMD)寄存器 (122)6.3.3 NAND flash地址设置(NFADDR)寄存器 (123)6.3.4 NAND FLASH 数据(NFDATA)寄存器 (123)6.3.5 NAND FLASH ECC(NFECC)寄存器 (123)第七章时钟与电源管理 (124)7.1概述: (124)7.2 功能描述 (125)7.2.1 时钟结构: (125)7.2.2锁相环(PLL): (126)7.2.3时钟控制逻辑: (128)7.2.4 加电重启:(XTIpll) (128)7.2.5 USB时钟控制: (130)7.2.7电源管理: (131)7.3 特殊功能寄存器 (138)第8章DMA (141)8.1 概述 (141)8.2 DMA工作过程 (142)8.3 DMA特殊功能寄存器 (146)第九章I/O端口 (152)9.1 概述 (152)9.2 端口功能控制描述 (156)9.3 I/O端口控制专用寄存器 (156)第十章PWM Timer (172)9.1 概述 (172)9.2特性 (173)预定标器和分割器 (174)定时器基本操作 (175)自动加载和双缓冲模式 (175)用手动更新位和逆变器位对定时器进行初始化 (176)定时器操作步骤: (176)脉宽调制 (177)输出电平控制 (178)死区发生器 (178)DMA请求模式 (179)9.3 PWM定时器专用寄存器 (180)第十一章UART (185)11.1 概述 (185)11.2 UART操作: (186)数据传输: (187)2. 数据接收: (187)3.自动流控制 (187)4.非自动流控制实例(软件控制nRTS及nCTS) (188)5. 中断/DMA请求的产生 (188)6.UART错误状态FIFO (189)7.波特率的产生 (190)8.回环模式 (190)9.红外模式 (191)11.3 UART特殊功能寄存器 (192)第十四章中断控制器 (198)14.1 S3C2410X 中断概述 (198)14.2S3C2410X 中断控制器的操作 (199)14.3S3C2410X 中断源 (199)14.4S3C2410X 中断控制器的特殊功能寄存器 (202)第十七章RTC (210)17.1 概述 (210)17.2 实时时钟操作 (211)17.3 RTC特殊功能寄存器 (212)第十八章看门狗 (216)18.1 概述 (216)18.2 看门狗定时器特殊功能寄存器 (216)第十九章SD接口 (218)19.1 概述 (218)19.2 SDI特殊功能寄存器 (219)第二十章 IIC (226)20.1 概述 (226)20.2 IIC总线接口 (227)20.3 IIC总线接口特殊功能寄存器 (233)第二十一章IIS总线接口 (235)21.1 概述: (235)21.2 功能描述 (236)21.3 S3C2410X 音频串行接口格式 (236)21.4 S3C2410X IIS接口特殊功能寄存器 (238)第二十二章 SPI (241)22.1 概述 (241)22.2 SPI特殊功能寄存器 (245)第二十三章总线优先权 (248)23.1 概述 (248)23.2 总线优先权 (248)第一章产品综述介绍:本手册描述了三星公司推出的16/32位RISC微处理器S3C2410X。
s3c2410a第七章-时钟与电源供管理

第七章时钟和电源管理概述时钟和电源管理模块由三部分组成:时钟控制、USB控制和电源控制。
S3C2410A的时钟控制逻辑能产生以下所需的时钟信号,它们包括:CPU工作时钟FCLK,AHB总线外设的时钟HCLK,APB总线外设的时钟PCLK. S3C2410A有2个锁相环(PLL),一个用于FCLK,HCLK和PCLK,另一个则专门用与USB模块的48MHz时钟的产生。
时钟控制逻辑可以不使用PLL而产生一个低频时钟,并且可以通过软件设置来提供或断开每个外设模块的时钟供应,以此来减少功耗。
S3C2410A电源控制逻辑提供了多种电源管理方案,可以在执行不同任务时保持一个最佳的功耗。
S3C2410A 电源管理模块能设置为4种模式:普通模式、低速模式、空闲模式以及掉电模式。
普通模式:时钟模块向S3C2410A的CPU和所有外设提供时钟信号。
在这种模式下,在所有外设都打开的情况下功耗最大。
但是它允许用户通过软件控制外设的运转,例如:如果一个定时器不需要用到,用户可以断开提供给该定时器的时钟来减少能量消耗。
低速模式:也叫无PLL模式。
与普通模式不同,低速模式不使用S3C2410A的PLL而直接使用外部时钟(XTIpll或EXTCLK)。
在这种模式下,能量消耗仅仅依赖于外部时钟,来自于PLL的能量消耗排除在外。
空闲模式:时钟模块只断开CPU的时钟FCLK,而向所有其他的外设提供时钟源。
在空闲模式下,功耗为普通模式 - 来自于CPU内核的能量消耗。
任何向CPU发出的中断请求都可将系统从空闲模式下唤醒。
掉电模式:时钟模块断开内部电源。
所以在这种模式下,除内部唤醒逻辑外,CPU和内部其他逻辑都没有能量消耗。
为了让掉电模式能正常启动,时钟模块提供了两个各自独立的电源。
其中一个唤醒逻辑的工作电源,另外一个是用于CPU和内部其他的内部逻辑可控制开启和关闭的工作电源。
在掉电模式下,第二个电源(CPU和其他内部逻辑的工作电源)被关闭。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章时钟和功率管理概述时钟和功率管理模块由三部分组成:时钟控制,USB控制和功率控制。
S3C2410A的时钟控制逻辑能够产生系统所需要的时钟,包括CPU的FCLK,AHB总线接口的HCLK,和APB总线接口的PCLK。
S3C2410A有两个PLL,一个用于FCLK,HCLK,PCLK,另一个用于USB模块(48MHZ)。
时钟控制逻辑能够由软件控制不将PLL连接到各接口模块以降低处理器时钟频率,从而降低功耗。
S3C2410A有各种针对不同任务提供的最佳功率管理策略,功率管理模块能够使系统工作在如下4种模式:正常模式,低速模式,空闲模式和掉电模式。
正常模式:功率管理模块向CPU和所有外设提供时钟。
这种模式下,当所有外设都开启时,系统功耗将达到最大。
用户可以通过软件控制各种外设的开关。
例如,如果不需要定时器,用户可以将定时器时钟断开以降低功耗。
低速模式:没有PLL的模式。
与正常模式不同,低速模式直接使用外部时钟(XTIpll或者EXTCLK)作为FCLK,这种模式下,功耗仅由外部时钟决定。
空闲模式:功率管理模块仅关掉FCLK,而继续提供时钟给其他外设。
空闲模式可以减少由于CPU核心产生的功耗。
任何中断请求都可以将CPU从中断模式唤醒。
掉电模式:功率管理模块断开内部电源。
因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。
要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。
在掉电模式下,第二个电源将被关掉。
掉电模式可以由外部中断EINT[15:0]或RTC唤醒。
功能描述时钟结构图7-1描述了时钟架构的方块图。
主时钟源由一个外部晶振或者外部时钟产生。
时钟发生器包括连接到一个外部晶振的振荡器和两个PLL(MPLL和UPLL)用于产生系统所需的高频时钟。
时钟源选择表7-1描述了模式控制引脚(OM3和OM2)和选择时钟源之间的对应关系。
OM[3:2]的状态由OM3和OM2引脚的状态在nRESET的上升沿锁存得到。
注意:1、尽管MPLL在系统复位的时候就开始产生,但是只有有效的设置号MPLLCON寄存器后才能用于系统时钟。
在此之前,外部时钟将直接作为系统时钟。
即使不需要改变MPLLCON寄存器的初值,也必须将同样的值写入寄存器。
2、当OM[1:0]为11时,OM[3:2]用于决定一种测试模式。
锁相环PLL位于时钟信号发生器的内部MPLL用于将输出信号和相关输入信号在相位和频率上同步起来。
它包括如图7-2所示的一些基本模块:根据DC电压产生相应比例关系频率的压控振荡器(VCO),除数P(对输入频率Fin进行P分频),除数M(对VCO的输出频率进行M分频,分频后输入到相位频率探测器PFD),除数S(对MPLL输出频率Mpll进行分频),相差探测器,charge pump,loop filter。
MPLL的时钟输出Mpll和输入时钟Fin的关系如下式所示:UPLL和MPLL是完全一样的。
下面的部分描述了MPLL的操作,包括相差探测器,charge pump,VCO,loop filter。
相位频率探测器PFD当PFD检测Fref和Fvco之间的相差时产生一个控制信号。
Fref如图7-2所示。
Charge pumpCharge pump 通过一个外部过滤器将PFD的控制信号转换成一个比例的电压关系来驱动VCO。
Loop FilterPFD产生的控制信号可能在每一次Fref和Fvco比较的时候产生很大的偏差,为了防止VCO过载,一个低通滤波器将过滤掉控制信号的高频成分。
滤波器就是常用的一节RC滤波器。
压控振荡器VCOLoop filter 输出的电压驱动VCO,导致它的晶振频率根据平均电压线性地增加或降低。
当Fref和Fvco的频率和相位都匹配时,PFD停止发送控制信号给charge pump,然后VCO频率保持不变,并且PLL保持固定于系统时钟。
PLL和时钟发射器的通用条件PLL和时钟发生器通常使用如下条件注:1、值是可变的。
2、FCLK必须大于X-tal或EXTCLK的3倍。
时钟控制逻辑时钟控制逻辑决定哪个时钟源被使用,例如MPLL或者外部时钟。
当PLL被配置到一个新的频率时,时钟控制逻辑将会停止FCLK直到PLL达到一个稳定的输出。
时钟控制逻辑在上电复位和从掉电模式唤醒的情况下也是有效的。
上电复位(XTIpll)图7-4显示了上电复位时的时钟行为。
晶振在几毫秒内开始振荡。
当OSC时钟稳定后,PLL根据默认PLL设置开始生效,但是通常这个时候是不稳定的,因此在软件重新配置PLLCON寄存器之前FCLK直接使用Fin而不是MPLL,即使用户不希望改变PLLCON的默认值,用户也应该执行一边写PLLCON操作。
FCLK在软件配置好PLLCON之后锁定一段时间后连接到Mpll。
正常情况下改变MPLL设置正常模式下,用户可以通过写PMS的值来改变FCLK的频率,此时将会自动插入一段时间延迟,在这段延迟内FCLK将停止,其时序如图7-5。
图7-5USB时钟控制USB主机接口和USB设备接口需要48MHz的时钟。
在S3C2410中,是通过UPLL来产生这一时钟的,UCLK只有在UPLL配置好后才会生效。
FCLK,HCLK和PCLKFCLK用于ARM920T.HCLK用于AHB总线。
包括ARM920T,存储控制器,中断控制器,LCD控制器,DMA和USB主机。
PCLK用于APB总线。
包括外设如WDT,IIS,I2C,PWM,PWM TIMER,MMC,ADC,UART,GPIO,RTC,SPI。
S3C2410支持三者之间的比率可选,这个比率是由CLKDIVN寄存器的HDIVN 和PDIVN决定的。
设置好PMS的值后,需要设置CLKDIVN寄存器。
CLKDIVN寄存器的值将在PLL锁定时间之后生效,在复位和改变功率模式后也是有效的。
注意:1、HCLK和PCLK不应该超过某一限制2、如果HDIVN=1,CPU总线模式将通过一下指令从快速模式切换到异步模式:MMU_SetAsyncBusModemrc p15,0,r0,c1,c0,0orr r0,r0,#R1_nF:OR:R1_iAmcr p15,0,r0,c1,c0,0如果HDIVN=1并且CPU总线模式是快速模式,CPU将以HCLK进行运行,这一特性可以用于将CPU频率减半而不影响HCLK和PCLK。
功率管理在S3C2410中,功率功率模块通过软件控制系统时钟来达到降低功耗的目的。
这些策略牵涉到PLL,时钟控制逻辑和唤醒信号。
图7-7显示了S3C2410的时钟分配。
S3C2410有4种功耗模式。
各种模式之间的转换并不是完全自由的,图7-8描述了各种模式之间的转换关系。
正常模式正常模式下,所有的外设和基本的功能模块,包括功率管理模块,CPU核心,总线控制器,存储控制器,中断控制器,DMA和外部控制器都可以完全操作。
但是除了基本的模块之外,其他模块都可以通过关闭其时钟的方法来降低功耗。
空闲模式空闲模式下,除了总线控制器、存储控制器、中断控制器、功率管理模块以外的CPU时钟都被停止。
EINT[23:0]、RTC中断或者其他中断都可以将CPU从空闲模式下唤醒。
低速模式低速模式通过降低FCLK和关闭PLL来实现降低功耗。
此时FCLK是外部时钟(XTIpll or EXTCLK)的n分频。
分频数由CLKSLOW寄存器的SLOW_VAL和CLKDIVN寄存器决定。
在低速模式下,PLL是关闭的。
当用户需要从低速模式切换到正常模式时,PLL需要一个时钟稳定时间(PLL锁定时间)。
PLL稳定时间是由内部逻辑自动插入的,大概需要150us,在这段时间内,FCLK还是使用低速模式下的时钟。
用户可以在PLL开的情况下通过改变CLKSLOW寄存器的SLOW_BIT位使能低速模式来改变频率。
在低速模式下,FCLK为外部时钟的分频。
如图7-9.变,如图7-10.如果低速模式失效和PLL同时打开,则需要等待PLL锁定后FCLK才会改变,锁定期间FLCK停止。
如图7-11.掉电模式功率管理模块断开内部电源。
因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。
要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。
在掉电模式下,第二个电源将被关掉。
掉电模式可以由外部中断EINT[15:0]或RTC中断。
进入掉电模式的过程1、设置GPIO配置2、在INTMSK寄存器中屏蔽所有中断。
3、配置适当的唤醒源,包括RTC报警。
为了是SRCPND和EINTPEND位置位,唤醒源相关的EINTMASK位不必被屏蔽,尽管一个唤醒源被指定而且EINTMASK相关位被屏蔽,唤醒还是会发生,SRCPND和EINTPEND位也不会置位。
4、设置USB为中止模式。
(MISCCR[13:12]=11b)5、将一些有用的值存入GSTATUS3,4,这些寄存器在掉电模式下是被保持的。
6、通过MISCCR[1:0]将数据总线D[31:0]的上拉电阻配置成开。
如果有外部总线保持器,如74LVCH162245,关掉上拉电阻,否则打开上拉电阻。
7、通过清除LCDCON1.ENVID位停止LCD。
8、读取rREFRESH和rCLKCON寄存器,并填入TLB。
9、通过设置REFRESH[22]=1b使SDRAM进入自动刷新模式。
10、等待SDRAM自动刷新生效。
11、通过设置MISCCR[19:17]=111B使SDRAM信号在掉电模式期间被保护起来(SCLK0,SCLK1,SCKE)。
12、置位CLKCON寄存器的掉电模式位。
从掉电模式唤醒的过程1、某个唤醒源生效将产生一个内部复位信号。
复位时间由一个内部16位计数器决定,此计数器的时钟是tRST=(65535/XTAL_frequency)。
2、查询GSTATUS[2]位看从掉电模式唤醒是否产生了一个POWER-UP。
3、通过将MISCCR[19:17]设置为000b,释放SDRAM信号保护。
4、配置SDRAM控制器。
5、等待SDRAM自我刷新完毕。
大部分SDRAM需要refresh cycle of allSDRAM row。
6、GSTATUS3,4的信息可以被用户使用,因为GSTATUS3,4的值已经在掉电模式下被保存了。
7、对于EINT[3:0],检查SRCPND寄存器;对于EINT[15:4],检查EINTPND寄存器;对于RTC报警唤醒,检查RTC时间,因为在唤醒时SRCPND寄存器的RTC位不被置位;如果在掉电模式期间有nBATT-FLTassertion,SRCPND寄存器的相关位被置位。
掉电模式的引脚状态VDDi和VDDiarm功率控制掉电模式下,只有VDDi和VDDiarm被关闭,这由PWREN引脚控制。