S3C6410系统控制器包括两部分:系统时钟控制和电源管理。
一、系统时钟将产生系统所需的时钟信号。共有三个PLL(锁相环)。其中第一个(ARM PLL)为ARMCLK专用,第二个(MAIN PLL)用于HCLK和PCLK,第三个(EXTRA PLL)用于外围设备,特别是用于音频设备的时钟。每个外围设备的时钟信号可以用软件来enable和disable,用来降低功耗。
1、ARMCLK -----> CPU
2、HCLK ------> AXI/Ahb 总线上的设备
3、PCLK ------> Apb 总线设备
1、硬件结构
S3C6410是由ARM1176核、一些多媒体协处理器(co-processors)、多种外设IPs组成。ARM1176核是通过64位AXI总线与存储控制器相连的,这样做是为了满足带宽的需要。 多媒体协处理(MFC多格式编码器、JPEG、camera接口、TV译码器、3D加速器等)器被分为五个电源域,这五个电源域可被单独控制以降低功耗。
2、时钟结构
时钟源在外部晶振和外部时钟二者之间进行选择。时钟发生器由三个PLL组成,最高可产生1.6GHz的信号。
3、时钟源
下面为三星官方手册:
当OM[0]为0时,选择外部晶体;当为1时,选择外部信号。下图为6400的截图,也适用6410,关于6410的启动,网上有高手称是三星隐藏了什么,见下图。
如果使用nand flash则XSELNAND必须为1;如果使用onenand则必须为0.
4、锁相环
三个锁相环:APLL、MPLL、EPLL。
VCO(电压控制震荡器)输出的频率与输入的电压成正比。预分频器将输入频率分频(P),主分频器将VCO的输出频率分频(M)送入鉴相器,post定标器将将VCO输出的频率分频(S)。相位差检测器检测相位差和电荷泵电压的增加和减少
1) ARM和AXI/AHB/APB时钟
ARM1176最大支持667MHZ,在不改变PLL的情况下,可以通过DIVarm来控制该频率。
S3C6410由AXI、AHB、APB总线组成。IPs可以连接相应总线来满足I/O带宽和操作性能。连接在AXI/AHB的总线上的设备,最高可以达到133MHz的速度。当连接在APB总线上时,最高可以达到66MHz的速度。总线速度很高程度上依赖于AHB和APB总线之间的同步数据传输。
注意图中的右侧部分:
HCLKx2用于两个DDR控制器,DDR0、DDR1,最高可达到266MHZ,每个DDR控制器可以单独控制,以用来降低功耗。
所有的AHB总线上的时钟是由DIVhclk分频得来的,同样,也可以单独控制来降低功耗。HCLK_GATE寄存器来配置HCLKx2和HCLK。
APB总线与AHB总线类似,但是注意:在AHB和APB总线之间的频率比必须隔着一个偶数值,例如:如果DIVhclk是1,那么DIVpclk必须是1、3…..,否则,则不能传输数据。
在AHB总线上的JPEG和安全子系统不能运行在133MHz。AHB总线用DIVjpeg和DIVsecur为它们单独产生时钟信号,因此它们与APB之间的频率也要隔着一个偶数。
APLL单独用于ARM核,其值不作约束。
2) MFC时钟
3) camera I/F(接口) 时钟
4) 显示时钟(POST、LCD和scaler
5) 音频时钟(IIS和PCM)
6) UART、SPI、MMC时钟
7) IrDA 和USB HOST时钟
8) 时钟的开关控制可以通过控制HCLK_GATE、PCLK_GATE、SCLK_GATE。
9) 时钟的输出有一个时钟输出端口,产生内部时钟,用于中断或调试。
5、同步667MHz模式
使用同步接口模式(ARM核与AXI总线之间)时,ARMCLK和HCLK之间的时钟比必须是一个整数。
S3C6410在533MHZ的同步接口模式下没有任何限制,比如:ARMCLK=533M,HCLKx2=266M,HCLK=133M.但是,注意:如果超过533MHz,典型的是667MHz,那么只能使用1:2.5:5,也就是667M:266:133。
原因见下图:
ARMCLK、HCLKx2、HCLK的产生是由各自的预分频器和后分频器组成的。其中预分频器是固定的,不可配置的,APLL后面的预频率器为2分频,而MPLL后面的预分频器为5分频。而后分频器可以通过CLK_DIV0来配置。
如果使用同步667模式,如图,如果FOUT=1.33GHz,则经过预分频器后的ARMCLK为667MHz,经过另一个预分频器的则为266MHz.
同步667操作模式的5个使用步骤:
1、 正常模式:SYNC667寄存器相应位被清0,这时,就没有任何限制,典型的分频比:1:2:4(533:266:133MHz)。
2、 晶振模式:在设置SYNC667之前,S3C6410必须使用使用的是晶振的频率(通过设置CLK_SRC的APLL_SEL位为0),分频比为1:2:4(12:6:3MHz)。
3、 DIV112模式:从1:2:4模式转变成1:1:2模式(12:12:6MHz)
4、 SYNC667低频率模式:将SYNC667相应的位置位,将分频比调整为2:5:10(6:2.4:1.2MHz)
5、 SYNC667模式:当APLL的FOUT=1.33GHz时,就工作在SYNC667模式了。
退出667模式时,步骤与上述相反。
上述五步看上去好麻烦,有时间一定要弄一下,不知道提供的程序中有没有使用到667模式。
同步667模式的一些限制:
1、 不可以使用其它的时钟分频比ARM_RATIO、HCLKx2_RATIO、HCLK_RATIO必须是0,0和1.
2、 在SYNC667模式下,如果上述三者的比不是0,0,1,则应使用异步接口模式。
3、 不允许使用DVFS(Dnamic Voltage Frequency Scale),如果使用动态的比例调整,必须在异步接口模式下。
4、 在SYNC667模式下不支持停止、深度停止、睡眠模式,如果想进入这三种模式,必须先退出SYNC667模式。
6、低功耗模式
支持正常模式、保持模式、电源选通模式和电源关闭4种模式。
所有的内部逻辑包括F/Fs(触发器)和内存运行在正常模式;保持模式是在停止或深度停止模式时用来减少不必要的功耗,但保留了预先状态和快速唤醒。注意:domain-V、I、P、F、S、G,不支持这种保持模式。它们可以通过内部的电源选择开关来控制是否选通来降低功耗。在睡眠模式下,外部的调节器将被关闭以降低功耗,这时S3C6410将最大限度的减小功耗,并将失去所有的信息除了ALIVE和RTC模块。
二、电源管理多种电源管理方案以降低功耗,有6个可控的电源域(范围):domain-G, domain-V, domain-I, domain-P, domain-F, domain-S.
S3C6410的电源管理分为四部分:
1、 general模式(通常模式、正常模式)
用于控制内总总线设备时钟的开、关。可利用这种模式来优化S3C6410的功耗,例如:如果你不需要使用定时器,你可以断开定时器的时钟。
2、 空闲模式(掉电模式)
该模式是断开了ARMCLK对CPU的供电。
3、 停止模式
通过禁止PLL来断开所有时钟信号(CPU和所有外设)。此时的功耗只剩下了漏电流的损耗。
4、 睡眠模式
该模式断开了内部(除了唤醒逻辑)电源。使用这种模式需要两个独立的电源,一个电源用于供给唤醒电路;另一个用于供给内部逻辑电路(包括CPU),这个电源必须可以被控制开、关。在睡眠模式中,第二个电源将会被关闭。
1、电源域在正常和空闲模式下,通过NORMAL_CFG控制它们,如果控制位被清0,就会改变相应部分的选通模式和先前的状态。因此,用户程序必须保存先前的状态在清0前。当S3C6410改变成停止或深度停止模式时,子电源域会自动改变选通模式。
2、正常、空闲模式
3、停止模式
4、深度停止模式
5、睡眠模式
6、唤醒
7、重启(复位)RST_STAT寄存器来读状态
三种方式:
1、硬件复位
通过给XnRESET引脚置低电平,完全初始化系统(寄存器和引脚)。所有信息将丢失(除了RTC)。
当XnRESET被拉低后,XnRESETOUT也被拉低.
XnRESET是不可屏蔽,始终有效的。
2、看门狗复位
是一个硬件的block
3、唤醒复位
是从睡眠模式中唤醒,S3C6410睡眠后,内部的硬件都是不可用的状态,唤醒后需重新的初始化。
三、寄存器介绍1、0x7E00 F0xx用来配置PLL和时钟发生器。
2、0x7E00 F1xx用来配置总线和内存
3、0x7E00 F8xx用来配置电源管理
4、0x7E00 F9xx用来显示内部状态
5、0x7E00 FA0x用来保存信息
四、备忘
相关推荐
介绍了S3C6410在linux下通过调用系统层函数来控制GPIO口
如S3C6410处理器,DRAM和SROM控制器、ONENAND控制器及NAND FLASH控制器的功能和划分等等。希望读者通过这章的学习能对S3C6410嵌入式系统能有很好的理解,并对各个部件的功能和操作有很好的掌握 。
本文利用S3C6410主控板、STM32、wifi模块、GSM模块及多种移动终端设计一个智能家居系统,使分立的设备通过无线和有线网络组成一
S3C6410手册学习记录------系统控制器 S3C6410手册学习记录------系统控制器 S3C6410手册学习记录------系统控制器
S3C6410 处理器概述 S3C6410 是一个16/32 位RISC 微处理器,旨在提供一个具有成本...存储器设备、系统外设以及它的系统管理等方面来详细的介绍S3C6410 处理器的特性: 1.1. S3C6410体系结构 S3C6410为学嵌入式提供方便
基于S3C6410及Android平台的视频监控系统的设计,高宇,马福昌,视频监控技术正朝着现代化方向不断发展,本文介绍了一种嵌入式网络视频监控系统的设计方案,总体上分为视频采集端和监控终端两部
03_系统控制器(S3C6410数据手册中文版) 如果你需要,其实你懂得
基于S3C6410的智能家居控制系统的设计.pdf
当CPU上电复位之后,系统必须通过软件初始化DRAM内存控制器和连接到内存控制器的各个SDRAM内存芯片。 根据SDRAM芯片的数据手册内容进行启动过程代码的编写,下面给出了一些例子。
系统包括手持终端和飞行器,采用 ARM11架构的S3C6410微处理器,移植Linux操作系统。飞行器携带摄像头采集图像并压缩,通过wifi传输到手持终端,在本地的TFT液晶屏显示;同时手持终端向飞行器发送控制命令,飞行器根据...
01 S3C6410整体概述.pdf 02 存储器映射.pdf 03系统控制器.pdf 04存储器子系统.pdf 05 DRAM 控制器.pdf 06 SROM 控制器.pdf 07 ONENANE 控制器.pdf 08 NAND FLASH控制器.pdf 09 CF控制器.pdf 10 GPIO.pdf ...
UT-S3C6410开发板是性能稳定、功能强大、高性价比的ARM11处理器开发板;专为消费类电子、工业控制、车载导航、人机界面、多媒体终端、POS机、行业PDA等电子产品的开发而设计,主要供广大企业用户进行产品前期软硬件...
基于linux3.0.1和S3C6410的智能家居控制系统的嵌入式web服务器的移植和应用.pdf
摘要:本文利用S3C6410主控板、STM32、wifi模块、GSM模块及多种移动终端设计一个智能家居系统,使分立的设备通过无线和有线网络组成一个相互联系、协同操作的整体,实现家居环境监视、防盗自动报警、灯具自动控制、...
针对智能家居视频监控的实际需求,设计了一种基于ARM11+Linux系统组成的无线视频监控系统,系统选用S3C6410为主控制器,以USB摄像头为视频采集设备,采用基于IEEE802.11g协议的无线局域网进行视频传输。详细阐述了...
win7系统下keil4.7开发的S3C2440裸机的按键控制小灯亮灭的工程
基于s3c2440的智能家居控制系统,包含手势控制和语音控制(外接语音芯片),温湿度,光照烟雾,OLED显示等.
为了降低整体系统成本,S3C2440A还提供了以下丰富的内部设备。S3C2440A基于ARM920T核心,0.13μm的CMOS标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的...
本文利用S3C6410主控板、STM32、wifi模块、GSM模块及多种移动终端设计一个智能家居系统,使分立的设备通过无线和有线网络组成一个相互联系、协同操作的整体,实现家居环境监视、防盗自动报警、灯具自动控制、燃气...