S3C6410 时钟初始化

cs188Inference in Bayes Nets(贝叶斯网络的推理) cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti 阅读详情


++++++++++++++++++++++++++++++++++++++++++

本文系本站原创,欢迎转载! 转载请注明出处:

http://blog.youkuaiyun.com/mr_raptor/article/details/6442914

++++++++++++++++++++++++++++++++++++++++++

 

1.      PHASE LOCKED LOOP(PLL)

S3C6410里包含三个PLL(锁相环),APLL, MPLL, EPLL,通过设置它们将输入时钟同步输出达到操作CPU的工作频率的目的。如图1-1所示。

Voltage Controlled Oscillator (VCO)P[5:0]位来设置FIN进行分频。通过设置Main-Divider分频数,分频压控振荡器产生的输出时钟频率,分频之后的低频进入鉴相器ScalerS[2:0]位设置PLL的输出时钟频率都可以通过

PLL的时钟选择和输入参照时钟

图1-2描述了时钟产生逻辑。S3C6410有三个PLL锁相环,工作时钟也分为三组,APLL用来为ARM芯片提供工作时钟,MPLL为AXI,AHB,APB总线上设备提供工作时钟,EPLL为特殊外设,如:视频解码器,图片编码器等,提供工作时钟。

图1-2时钟产生逻辑单元

 

CLK_SRC寄存器的低三位CLK_SRC[2:0]分别控制三种工作时钟。当对应位被置位,则产生对应PLL的工作时钟。否则,不会产生对应的PLL工作时钟。

3.      三种工作时钟的产生

ARM1176最高产生667Mhz的工作频率。用户可以通过设置内部时钟分频器的值来控制输出工作时钟,而不用修改PLL的工作频率。分频器可以选择1~16的分频数。ARM内核可以通过修改分频器的值来减少系统电源的损耗。

S3C6410内部含有AXI,AHB和APB总线,通过不同的总线控制不同的外设,关闭总线上的时钟频率可以达到系统节能的目的。AXI,AHB总线最高工作在133MHz频率下,APB总线最高工作在66MHz频率下。由于APB和AXI,AHB总线上二者工作频率不一致,在这两种总线上进行数据同步传输时会采用特殊逻辑单元,如图1-3所示。

 

图1-3系统总线工作频率设置

HCLKX2时钟由DDR0,DDR1两个DDR控制器产生,其最高可以以266MHz频率发送和接收数据。每个HCLKX2时钟可以根据用户需要分别被关闭掉来减少系统损耗。AHB总线上的时钟由DIV(HCLK)分频器分频后输出,同样AHB总线上的外设也可以被关闭掉以节省电源消耗。HCLK_GATE寄存器用来关闭工作在HCLKX2和HCLK时钟上的外设。

慢速设备连接在APB总线上。APB时钟最高工作在66MHz,通过DIV(PCLk)分频器来进行分频设置,通过设置PCLK_GATE寄存器来关闭对应的APB总线上的外设。根据S3C6410硬件手册说明,AHB总线和APB总线上的频率必须是偶数,例如,如果DIV(HCLK)对应控制位CLK_DIV[8]设置为1,则DIV(PCLK)对应位CLK_DIV0[15:12]必须设置为1,3,5,…等奇数。否则,APB总线上的外设不能正解的进行数据传输。

AHB总线上的JPEG和安全相关子系统不能工作在133MHz,AHB总线专门为这样低频子系统提供低频工作时钟,通过设置DIV(CLKJPEG)和DIV(CLKSECUR)分频位来设置其工作频率。因此,同样在APB总线上也有类似的这种限制设定,DIV(CLKJPEG)和DIV(CLKSECUR)对应的CLK_DIV0[27:24]分频位和CLK_DIV0[19:18]分频位必须是奇数,二者的和是偶数。如表1-1所示,官方给出了推荐的设置参数。

表1-1官方推荐参数

4.      MFC模块时钟的产生

MFC模块需要特殊的时钟,如图1-5所示。

图1-5 MFC时钟产生逻辑

MFC时钟源可以从HCLKX2和MOUT(EPLL)中选择。MFC的工作时钟使用HCLKX2来分频。默认HCLKX2时钟频率为266MHz。因此,CLK_DIV0[31:28]必须设置为b0001来产生MFC工作的133MH时钟。当MFC模块不需要工作在高性能模式下时,有两种方式可以减少MFC模块工作频率来达到减少MFC模块的功耗。第一种方式是设置CLK_SRC[4]使用EPLL的输出时钟,另外一种方式是设置CLK_DIV0[31:28]的分频数,同时,设置CLK_SRC[4]位,这样低频工作时钟就可以提供给MFC模块。EPLL输出时钟是与HCLKX2和HCLK独立的。

5.      UART,SPI,MMC工作时钟的产生

如图1-6所示,是上述三种外设工作时钟逻辑。

图1-6 UART,SPI,MMC工作时钟逻辑模块

通过设置CLK_DIV2[19:16]位来设置UART的工作频率的分频数,通过SCLK_GATE[9]来开启关闭UART时钟源。

该模块中有一个额外的时钟源CLK27M,使用该时钟源可以提供更多的可选工作时钟。

6.      时钟的开启/关闭控制

HCLK_GATE,PCLK_GATE和SCLK_GATE用来控制三种时钟源的产生,如果对应的位被设置,对应时钟就会产生。

HCLK_GATE控制HCLK总线上的外设工作时钟的产生,PCLK_GATE控制PCLK总线上的外设工作时钟的产生,PCLK总线上的外设需要特定的时钟,它们通过SCLK_GATE来设置。

7.      同步667MH操作模式

根据S3C6410硬件手册,ARMCLK和HCLK的时钟比必须是整数,用来同步ARM内核和AXI总线接口二者的时钟。S3C6410没有对CPU工作在533MHz做限制,ARMCLK = 533MHz,HCLKX2=266MHz,HCLK=133MH,不过,对于工作在533MHz以上时,例如667Mhz时,只能支持1:2.5:5的时钟比(ARMCLK = 667MHz,HCLKX2=266MHz,HCLK=133MH)

8.      时钟分频

图1-7时钟分频模块

如图1-7所示,时钟分频模块产生三种时钟,ARMCLK,HCLKX2,HCLK。时钟分频器包含两部分,预分频器组和后分频器组,预分频器包含一个1/2预分频器和1/5预分频器,这两个分频器是固定的不能被软件配置,而后分频器可以通过配置CLK_DIV0寄存器方式进行配置。当MISC_CON的SYNC667MHz位被设置时,两个预分频器同时工作,产生APLL的分频经过预分频器分频的时钟,如果APLL的FOUT输出频率为1.33GHz,预分频器ARMCLK的输出为667Mhz,预分频器HCLK的输出为266MHz。这样经过分频的时钟可以通过CLK_DIV0寄存器进行配置。

 

我们打算将ARM内核时钟设置为官方推荐的稳定的533MHz,让APLL为AHB,APB输出工作频率。让MPLL为UART等外设提供工作频率,EPLL不工作。同时设置HCLKX2为266MHz,HCLK为133MHz,PCLK为66.5MHz,UART工作时钟为66.5MHz。

1.      选择HCLKX2, HCLK, PCLK的时钟源,由图1-2可知其时钟源可以通过OTHER[6]选择是由DOUT_APLL还是MOUT_MPLL,我们选择从DOUT_APLL。

 

ldr   r0, =CLOCK_BASE                                ;0x7e00f000

ldr   r1, [r0, #OTHERS_OFFSET]               ; 选择MPLL的时钟源

movr2, #0x40

orr   r1, r1, r2

        str    r1, [r0, #OTHERS_OFFSET]

    nop

          nop

          nop

          nop

   ; 选择CPU的同步工作模式

ldr   r2, =0x80

orr   r1, r1, r2

        str    r1, [r0, #OTHERS_OFFSET]

 

;测试是否已经工作在同步模式下

check_syncack

ldr   r1, [r0, #OTHERS_OFFSET]

ldr   r2, =0xf00

and r1, r1, r2

cmpr1, #0xf00

        bne  check_syncack                                     

 

 

2.      设置变频锁定时间,当系统时钟修改之后要经过段LOCK时间

 

; 设置变频锁定时间

movr1, #0xff00

orr   r1, r1, #0xff

str   r1, [r0, #APLL_LOCK_OFFSET]

str   r1, [r0, #MPLL_LOCK_OFFSET]

str   r1, [r0, #EPLL_LOCK_OFFSET]

 

3.      设置ARMCLK, HCLKX2, HCLK, PCLK的分频

各种频率的关系如图1-3所述:

APLL或MPLL产生的输出频率经过OTHER[6]选择之后再经过MISC_CON[19]选择是否被1/5分频,产生的输出频率进入DIV_HCLKx2,根据CLK_DIV0的不同位设置HCLKX2,HCLK,PCLK,CLKJPEG,CLKSECUR的输出频率。其值设置情况如CLK_DIV0寄存器描述内容所述。

 

l 我们将MPLL选择DOUT_APLL,MISC_ON[19]不进行分频,DOUT_APLL产生的时钟(533MHz)直接进入到DIV_HCLKX2分频器中。

l 根据硬件手册可知,HCLKX2的频率固定为266MHz,所以HCLKX2_RATIO设置为0b1

l HCLK上挂接有内存,Mobile DDR内存最高工作在133MHz,所以HCLK最高主频设置为HCLKX2的1/2,即:HCLK_RATIO = 0b1

l 设置PCLK上的工作频率为66.5MHz,即:PCLK_RATIO = 0b11

l 设置ARM内核工作频率为553MHz,即:ARM_RATIO = 0b0

l 设置DOUT_MPLL为266MHz,为后面UART提供时钟源,即:MPLL_RATIO = 0b0

l 其它时钟频率保持默认值

 

; MPLL_RATIO = 0<<4, ARM_RATIO = 0

; DOUT_MPLL = MOUT_MPLL/(MPLL_RATIO + 1)

; 即 ARMCLK = DOUT_APLL / (ARM_RATIO + 1)

; 即 ARMCLK = 533MHz, DOUT_MPLL = 266MHz

; HCLKX2_RATIO = 1<<9 , HCLK_RATIO = 1<<8, PCLK_RATIO = 3<<12, HCLKX2IN = 533

; 即 HCLKX2 = HCLKX2IN / (HCLKX2_RATIO + 1) = 266

; 即 HCLK = HCLKX2 / (HCLK_RATIO + 1) = 133

; 即 PCLK = HCLKX2 / (PCLK_RATIO + 1) = 66.5

ldr r1, [r0, #CLK_DIV0_OFFSET]

bic   r1, r1, #0xff00

bic   r1, r1, #0xff

ldr   r2, =0x3300

orr   r1, r1, r2

str   r1, [r0, #CLK_DIV0_OFFSET]

 

4.      设置UART工作时钟

由图1-6可知,通过设置CLK_SRC[1]选择DOUT_MPLL的工作时钟是否进行倍频,通过设置CLK_DIV0[4]对时钟进行分频,再通过CLK_SRC[13]选择UART的工作时钟源,设置CLK_DIV2[19:16]位用于分频UART工作时钟。由前面可知DOUT_MPLL = 266MHz,UART选择其作为自己工作时钟源,则对其进行1/4分频可以得到66.5MHz。

如下表可知:设置寄存器CLK_DIV2[19:16] = 0b11,同时还要设置CLK_SRC[13] = 0b1即可。

 

; 设置UART串口的分频数寄存器CLK_DIV2

ldr r1, [r0, #CLK_DIV2_OFFSET]

bic   r1, r1, #0x70000

orr   r1, r1, #0x30000                ; 设置其值为3,即CLKUART = CLKUARTIN / 4

str   r1, [r0, #CLK_DIV2_OFFSET]

 

5.      使能APLL,EPLL锁相环

根据硬件手册上的说明设置APLL, EPLL的M,D,S分频数。

APLL产生533MHz的FOUT_APLL

EPLL产生266MHz的MOUT_EPLL

;使能APLL锁相环,配置M,D,S分频数, according to Datasheet FOUT_APLL = 533 then

; APLL_EN = 1<<31, MDIV = 266<<16, PDIV = 3<<8, SDIV = 1

ldr   r1, = 0x810a0301

str   r1, [r0, #APLL_CON_OFFSET]

; 使能MPLL锁相环,配置M,D,S分频数

; MPLL_EN = 1<<31, MDIV = 266<<16, PDIV = 3<<8, SDIV = 2

ldr   r1, = 0x810a0302

str   r1, [r0, #MPLL_CON_OFFSET]

 

6.      设置对应时钟源寄存器,为各种外设提供时钟频率

 

; UART_SEL = 0b1

; MPLL_SEL = 0b1, APLL_SEL = 0b1

 

ldr   r1, [r0, #CLK_SRC_OFFSET]

ldr   r2, =0x2005                                                   ; 同时设置UART的时钟源来自MPLL

orr   r1, r1, r2

str   r1, [r0, #CLK_SRC_OFFSET]

 

++++++++++++++++++++++++++++++++++++++++++

本文系本站原创,欢迎转载! 转载请注明出处:

http://blog.youkuaiyun.com/mr_raptor/article/details/6442914

++++++++++++++++++++++++++++++++++++++++++

OpenClaw第2章:快速安装 本章将手把手教你安装 OpenClaw。 阅读详情

相关推荐

Tiff、jpg图片怎么样添加地理坐标信息

Tiff、jpg图片怎么样添加地理坐标信息 一般,外业调查只有地图资料,如专题图、或者地形图,如何把这些地图资料的扫描地图带上坐标信息,从而内业实现信息化处理?以上问题,可以解决,但根据不同情况有不同的处理方法。     第一种,上面有经纬度外框,图片是矩形,但是没有地理信息。 通过图框的两个角的坐标确定范围,分别是左上(140°E,30°N);右下(150°W,30°N) 解决方

树木_xzw的博客 2万+

(8)初始化系统时钟

一、系统时钟介绍 S5PV210 中包含 3 大类时钟: 1、MSYS:主系统时钟,用来给 cortex a8 处理器,dram 控制器,3D,IRAM,IROM,中断控制器等提供时钟; 2、DSYS:显示相关的时钟,用来给显示相关的部件提供时钟,包括 FIMC,FIMD,JPEG,and multimedile IPs; 3、PSYS:外围设备的时钟,用来给外围设备提供时钟,如 i2s, spi,i2c,uart 等。 Tiny 210外接的晶振频率(简称 Fin)为 24MHz,通过时钟控制逻辑 PLL

glass_love 2111

UG NX与PLC-1500的在环虚拟测试

TIA、PLCSIM、NetToPLCsim、KEPServerEX以及UG NX的在环虚拟测试

lvtlvtlvtlvt的博客 4220

时钟初始化

介绍了时钟相关的概念以及如何初始化时钟

一棵小草的空间 3445

康耐视 VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

zhihuishuxia__的博客 2064

小秋SLAM入门实战ubuntu所有文章汇总

ubuntu 终端如何停止快速打印的输出以及恢复命令 ubuntu 终端如何快速打开当前路径下的图形化窗口界面? killall -9用途用法 ps -xu | grep这个命令的用途 linux 下 top命令显示的是内存是堆内存吗? zip分割和合并 关闭除当前 GNOME 终端窗口以外的所有其他 GNOME 终端窗口 如何在安装系统后设置短密码 【如何使用getrusage获取消耗的CPU时间和进程使用的最大物理内存】 【webots安装使用教程】 Linux系统下查看当前运行的进程和线程的几种方法

小秋 AI SLAM 入门实战教程 1405

STM32学习日记——时钟初始化

自己学习stm32的一些小笔记

qq_54891115的博客 3575

AI自瞄原理剖析(四)从Yolo推理坐标到屏幕坐标:基于FOV视角与焦距的坐标变换与精准瞄准

从Yolo推理框架得到的坐标到屏幕坐标的转换是一个涉及到FOV视角、焦距以及分辨率的复杂过程。通过数学公式,我们可以将推理框坐标反推为游戏内的实际坐标,并最终映射到屏幕坐标系中。利用这些信息,AI自瞄系统能够精确计算出准星从当前位置移动到敌人位置的距离,实现精准的自动瞄准。通过这种方法,AI自瞄系统能够在不同的游戏环境下灵活应对,提供高度精确的操作体验。在AI自瞄系统中,目标检测仅仅是第一步,获取到预测框的坐标后,我们还需要将这些坐标转换为实际屏幕上的精确位置。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1334

s3c6410 时钟设置

S3C6410的时钟是挺复杂的。比51单片机的时钟要是要复杂多了去了。下面是时钟的框图。 S3C6410共有3个PLL。PLL是时钟倍频用的。我使用的OK6410外部晶振是12M的。但是CPU的时钟是可以跑600多M的,这怎么实现的了。就是靠PLL来实现的。PLL对输入的频率可以进行倍频,倍频的倍数可以通过软件配置,所以才可以用外部的12M晶振给CPU提供600M的时钟。 第一个APLL。

空山新雨后 851

17、扩展景深成像的瞳孔函数工程技术解析

本文详细解析了扩展景深成像的关键技术,包括基于焦距堆栈的数字处理方法、立方相位掩模的光学设计、对数非球面透镜的应用以及旋转点扩散函数的深度编码功能。通过实验验证和实际应用分析,展示了这些技术在显微镜成像、工业检测和医疗影像中的广泛用途及优势。同时探讨了未来发展方向,如智能算法优化、新型光学材料和多模态成像技术,为相关领域的技术创新提供了参考。

y2z3a4b5c的博客 168

移花接木,玩转CANoe的几种扩展接口应用(五)——串口设备

近期看到粉丝朋友在CANoe自动化测试方面的关注度很大,今天就围绕这个做一个专题,总结一下以往项目上用过的几种CANoe扩展接口,分享出来希望对相关领域的网友有所帮助。本文是该专题的第五篇文章,主要讲解了串口设备的功能配置、连接方法、配置方法、调用方法,最后分析了这种扩展借口应用的特点和适用场景。

Mr.Cssust的博客 2369

STM32时钟初始化函数SystemInit()详解

花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出): 使用的是3.5的库,用的是STM32F107VC,开发环境RVMDK4.23 我已经定义了STM32F10X_CL,SYSCLK_FREQ_72MHz 函数调用顺序: startup_stm32f10x_cl.s(启动文件) → SystemInit() → S...

戈扬的博客 1万+

SAP BTP ABAP environment 集成本地系统实践:Cloud Connector、Connectivity service 与隧道通信全解析

摘要: 随着ABAP开发者向云端扩展业务逻辑,如何安全访问企业内网SAP系统成为关键问题。本文基于SAP官方文档,解析通过Cloud Connector和Connectivity service实现云端ABAP环境与本地系统集成的方案。 架构上分为四个角色:ABAP环境、Connectivity服务、Cloud Connector和内网系统。Cloud Connector作为内网出口,通过TLS隧道主动连接云端,避免防火墙开放入站端口。Connectivity服务则作为子账户级“总机”,自动路由请求。 实施

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 312

s3c6410时钟初始化

今天自己写bootloader做时钟初始化时遇到的问题,特记录下来。为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手册。也希望看了本篇文章的同志多多参看数据手册才能理解的更加透彻,才能真正的锻炼自己的能力。下面程序部分我也拆分成了5个部分分别解释,最后也给出了整个程序。本文如果有什么错误的地方,欢迎各位批评指正,不甚感激。     6410有3个内部PLL(Phase Loc

xuan_h的专栏 1236

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

s3c6410_时钟初始化

参考: 1)《USER'S MANUAL-S3C6410X》第三章 SYSTEM CONTROLLER 2)u-boot/board/samsumg/smdk6410/lowlevel_init.S 1. PLL与CLK的关系: 详细关系图见用户手册122页Figure 3-2 The block diagram of clock generator。 三种PLL:APLL...

weixin_30788239的博客 182

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

初始化s3c6410时钟

关于时钟体系,以前其实我还真不清楚,或者说是没有注意到。 上了今天的课后知识注意到了几点,以后要注意到的 1晶振频率 2PLL 3PLL产生了多少时钟 4这些产生的时钟都拿去干嘛 我们采用的外部晶振频率都不够,不够CPU工作,所以可以用PLL锁相环来提高频率。 在6410里面有APLL,MPLL,EPLL,其中APLL能产生ARMCLK供核使用的时钟;MPLL能产生HCLK(AXI/AHB总线用

weixin_39162701的博客 356

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

S3C6410时钟初始化

个人原创,转载请注明出处: http://blog.youkuaiyun.com/hongkangwl/article/details/17070927 S3C6410有三个PLL,分别为APLL、MPLL和EPLL。 其中APLL产生ACLK,给arm core使用, MPLL产生HCLKX2、HCLK和PCLK, EPLL产生特殊的时钟,比如为USB提供48MHz时钟 可以看到,...

互联网 233

S3C6410系统时钟初始化

转载请注明出处: http://blog.youkuaiyun.com/mr_raptor/article/details/6442914 ++++++++++++++++++++++++++++++++++++++++++   1.      PHASE LOCKED LOOP(PLL) S3C6410里包含三个PLL(锁相环),APLL, MPLL, EPLL,通过设置它们将输入时钟同步输出

afvt1100的专栏 792

s3c6410的时钟初始化

一篇不可多得的有关时钟方面的博文: http://www.cnblogs.com/lp1129/articles/3008344.html

dgfdhkfjkkjl的专栏 839

s3c6410 初始化时钟1

s3c6410共有3个时钟APLL,MPLL,

shitouwoai的专栏 928
上一篇: linux工程师历来面试题大全
ONE_DAY_I
博客等级 码龄12年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值