历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2019年02月13日 | S3C2440的时钟原理

2019-02-13 来源:eefocus

S3C2440的datesheet上说,可以达到400M,但是也不是说,必须在400M的频率下工作,主时钟晶振来自于外部晶振(XTIPLL)或者是外部时钟(EXTCLK)。时钟生成器包含了一个振荡器(振荡放大器),其连接外部晶振,并且还有2个PLL,可以产生需要的高频。


通过引脚OM[3:2]来决定时钟源是Crystal还是EXTCLK,不过我用的开发板将OM[3:2]固定接地了,都是用外部晶振。有一点值得注意,在对MPLLCON写入有效值之前,系统使用外部晶振或外部时钟源的时钟。即使用户不准备改变MPLLCON的值,也应当重新写一次。


简单说一下,S3C2440的时钟构成。


S3C2440具有2个PLL(Phase Locked Loop:用来产生高频的电路),一个是MPLL, 用于产生FCLK, HCLK, PCLK三种频率, 这三种频率分别有不同的用途:


FCLK是CPU提供的时钟信号,如果提到CPU的主频是400MHz,就是指的这个时钟信号。

HCLK是为AHB总线提供的时钟信号, Advanced High-performance Bus,主要用于高速外设,比如内存控制器,中断控制器,LCD控制器, DMA 以及USB host 。


PCLK是为APB总线提供的时钟信号,Advanced Peripherals Bus,主要用于低速外设,比如WATCHDOG,IIS, I2C, SDI/MMC, GPIO,RTC ,UART,PWM,ADC and SPI等等。


另外一个是UPLL,专门用于驱动USB host/Device。并且驱动USB host/Device的频率必须为48MHz。


在系统复位之后,如果没有设定PLL,则采用外部晶振的频率作为FCLK,同时FCLK:HCLK:PCLK的比例关系为1:1:1。

 

下面说一些跟时钟有关的寄存器设置:通过改变CLKDIVN可以改变FCLK,HCLK,PCLK的分频比。


 锁定时间计数寄存器LOCKTIME(0x4c000000):一般使用默认就可以。


 锁相环控制寄存器[MPLLCON(0x4c000004)&UPLLCON(0x4c000008)]:


MPLL=(2*m*Fin)/(p*2^s)    UPLL=(m*Fin)/(p*2^s)


其中m=(MDIV+8),p=(PDIV+2),s=SDIV


P,M范围:1<=P<=62,1<=M<=248


 注意:MDIV[19:12],PDIV[9:4],SDIV[1:0],当设置MPLL和UPLL值的时候,需要先设置UPLL再设置MPLL。

 

例如:MPLLCON = (92<<12) | (1<<4) |(1);//FCLK=400M


这里MDIV=92,PDIV=1,SDIV=1,那么m=100,p=3,s=1,且Fin=12M,所以FCLK=400M

 

再设置CLKDIVN=0x03;//FCLK:HCLK:PCLK=1:2:4


这里CLKDIVN(0x4c000014)用于决定三者的分配比例

 

一般设置这两个就可以了。还有一个时钟控制寄存器CLKCON(0x4c00000c)向相应位写1使能相应时钟,不过一般默认为1.


 overview


时钟和电源管理这一块内容包括三个部分:时钟控制, USB控制, 电源控制

        在s3c2440a的CPU上,时钟控制逻辑可以产生需要的时钟信号,包括给CPU用的FCLK, 给AHB总线外设用的HCLK以及给APB总线外设用的PCLK.S3C2440A含有两个锁相环:一个是FCLK, HCLK和PCLK, 还有另外一个专门用于USB单元(48Hz).时钟控制逻辑可以在没有PLL的时候使时钟变慢,并且可以用软件的方法使时钟与周边设备连接与断开, 这个功能可以节省功耗.

补充:
    AMBA总线 

先进的微控制器总线体系结构AMBA规范定义了三种总线: 

(1)AHB(Advanced High-performance Bus):用于连接高性能系统模块。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟沿; 

(2)ASB(Advanced System Bus):用于连接高性能系统模块,它支持突发数据传输模式; 

(3)APB(Advance Peripheral Bus):是一个简单接口支持低性能的外围接口。

        对于电源控制逻辑,S3C2440A有不同的电源管理的主题,来对某一项任务来优化电源功耗.S3C2440A中的电源管理单元可以有四种模式:

 

普通模式, SLOW 模式, IDLE模式, SLEEP模式.


功能描述


时钟架构

时钟产生器包括一个连接在外部crystal上的晶振,并且有两用于产生S3C2440A所需要的高频信号的锁相环.


时钟源的选择

下表显示了芯片模式控制引脚(OM3和OM2)的选择与S3C2440A时钟源的关系. 


注意:

1) 尽管重启后,MPLL会启动,但是直到软件正确设置了MPLLCON寄存器后,MPLL的输出才作为系统的时钟.在正确的设置被设置前,来自外部的crystal或extclk源直接作为系统时钟.即使用户并不想改变MPLLCON寄存器的默认值,用户应该在MPLLCON的寄存器中设置同样的值. 

2) OM[3:2]用于决定测试模式,当OM[1:0]是11的时候.

锁相环

在时钟产生器中的MPLL,作为一个电路,作用是在频率与相伴上同步输出信号与一个参考输入信号.

时钟控制逻辑

时钟控制逻辑决定使用的信号源,PLL时钟或外部时钟. 当PLL配置成一个新的频率时,时钟控制逻辑中止FCLK的使用,直到使用PLL锁时间的PLL的输出稳定后. 这种时钟控制逻辑在通电重启或从节电模式中醒来都起作用.

通电重启(XTIpll)

在普通模式中变换PLL的设置

USB时钟控制

FCLK, HCLK, PCLK


FCLK 用于ARM920T

HCLK 用于AHB总线,AHB总线被ARM920T用于,内存控制器,中断控制器,LCD控制器,DMA和USB host block.

PCLK 用于APB总线,APB总线是用于周边设备的,如是WDT,IIS, I2C, PWM 计数器, MMC接口, ADC, UART, GPIO, RTC 和SPI

注意:

1) CLKDIVN必须小心设置,不要超过HCLK和PCLK的允许范围.

2) 如果HDIVN不是0,CPU总线模式必须从快速总线模式转换到异步总线模式,通过使用下面的指令来达到.(S3C2440不支持同步总线模式)

MMU_SetAsyncBusMode

mrc p15, 0, r0, c1, c0, 0

orr r0, r0, #R1_nF:OR:R1_iA

mcr p15, 0, r0, c1, c0, 0

如果HDIVN不是0, 并且CPU总线模式是快速总线模式,那么CPU将会在HCLK下工作.这种特性可以用来在不影响HCLK和PCLK的情况下改变CPU频率成原来的一半或更多.

电源管理


在S3C2440A中,电源管理模块通过软件来控制系统时钟以达到减少电源功耗的功能.这些主题跟PLL,时钟控制逻辑(FCLK,HCLK,PCLK)和唤醒信号有关.

S3C2440A有四种电源模式.下面的部分描述各种模式.各种模式之间的转换并不是随意的.

FCLK的值如何得到?

FCLK= Fout = 2 * m * Fin / (p*2^s), Fvco = 2 * m * Fin / p where : m=MDIV+8, p=PDIV+2, s=SDIV

MPLLVal [M:7fh,P:2h,S:1h]  bootloader打印出来的信息.

code

mov r1, #0x4c000000

ldr r2, =0x7f021

str r2, [r1, #0x04]

与BOOTLOADER里打印出来的一样.

^ 代表幂

So, FCLK =2* (127+8)*12M/4*2=405M    

关于HCLK, PCLK的值,取决于CLKDIVN的值.

代码如下:

mov r1, #0x4c000000

ldr r2, 0x5

str r2, [r1, #0x14]

所以CLKDIVN=5, HDIVN=10,  PDIVN=1, 再看CAMDIVN

10: HCLK = FCLK/4 when CAMDIVN[9]=0

      HCLK = FCLK/8 when CAMDIVN[9]=1

PCLK = HCLK /2  

CAMDIVN代码中没有进行设置,就用初始值.0



HCLK = FCLK/4

PCLK = FCLK/8

至此, clock部分设置结束.


推荐阅读

史海拾趣

Axiomtek公司的发展小趣事

由于Axiomtek公司的发展涉及众多方面,并且具体的内部故事和详细事实可能不为公众所知,因此我无法直接提供5个具体的故事。但我可以根据公开资料,概括性地描述Axiomtek公司在电子行业中的发展历程,以及可能促成其发展的几个关键因素。

Axiomtek,也称为艾讯科技,自1990年在台湾成立以来,凭借其创新的设计、高质量的品质保证和高客户满意度的服务态度,逐步发展成为世界工业计算机领域的领先设计者和制造商。以下是根据公开资料概括的Axiomtek公司发展的几个关键阶段和因素:

一、创业初期:创新与技术的奠基

在创业初期,Axiomtek由一群充满创新精神和干劲的资深工程师创立。他们凭借对计算机技术的深刻理解和对工业需求的敏锐洞察,开始研发并生产一系列具有创新性的工业计算机产品。这些产品不仅满足了当时市场的迫切需求,还以其卓越的性能和稳定性赢得了客户的广泛认可。

二、研发与制造能力的不断提升

随着市场的不断扩大和竞争的加剧,Axiomtek意识到只有不断提升研发与制造能力,才能在激烈的市场竞争中立于不败之地。因此,公司投入大量资源用于研发新技术和新产品,并建立了完善的制造体系,以确保产品的高质量和稳定性。同时,Axiomtek还积极与全球知名的供应商和合作伙伴建立战略合作关系,共同推动工业计算机领域的技术进步和产业发展。

三、全球化布局与市场拓展

为了进一步扩大市场份额和提高品牌影响力,Axiomtek开始实施全球化战略。公司在全球多个国家和地区设立了分支机构,并建立了完善的销售和服务网络。通过这些分支机构,Axiomtek能够更好地了解当地市场需求和客户需求,提供更加贴近市场的产品和服务。同时,公司还积极参加各种国际展览和交流活动,与全球客户建立更加紧密的合作关系。

四、持续创新与技术升级

在快速发展的电子行业中,技术创新是保持竞争力的关键。Axiomtek始终坚持以创新为核心的发展战略,不断投入研发资源,推动技术升级和产品创新。公司不仅关注现有产品的优化和改进,还积极探索新的应用领域和市场机会,开发具有前瞻性的新产品和解决方案。这些创新成果不仅增强了Axiomtek的市场竞争力,还为公司的持续发展奠定了坚实的基础。

五、品质管理与客户服务的持续优化

品质和客户满意度一直是Axiomtek非常重视的方面。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试和交付等各个环节都进行严格把控,确保产品的高品质。同时,Axiomtek还注重提升客户服务水平,通过提供专业的技术支持和售后服务,赢得了客户的信任和好评。这种以客户为中心的经营理念不仅提升了公司的品牌形象,还为公司赢得了更多的商业机会。

这些只是根据公开资料概括的Axiomtek公司发展的几个关键方面,具体的故事和细节可能需要根据公司内部的资料和档案进行进一步的挖掘和整理。但无论如何,Axiomtek作为电子行业中的佼佼者,其发展历程无疑是一个充满创新、挑战和机遇的传奇故事。

DuPont公司的发展小趣事

近年来,随着数字化技术的快速发展,DuPont公司也积极推进数字化转型,以适应电子行业的快速变化。公司通过引入先进的数字化技术和工具,优化了生产流程、提高了生产效率、降低了生产成本。同时,公司还加强了与客户的数字化连接和互动,提供了更加便捷、高效的服务。这些举措不仅提升了DuPont公司在电子领域的竞争力,也为公司的长期发展奠定了坚实基础。

Diode Laser Concepts公司的发展小趣事

为了拓展更广阔的市场,Diode Laser Concepts公司开始实施国际化战略。公司先是在亚洲和欧洲设立了办事处,随后又在美国等地建立了生产基地。通过与国际知名企业的合作,公司不仅将产品销售到了全球各地,还积累了丰富的国际经验,提升了品牌影响力。

Andigilog公司的发展小趣事

在电子行业的早期,激光技术刚刚起步,而Diode Laser Concepts公司的创始人——一位激光领域的专家,看到了二极管激光器(Diode Laser)在精密制造和医疗领域的巨大潜力。他带领团队攻克了一系列技术难题,成功研发出高效、稳定的二极管激光器。这一突破性的技术为公司的创立奠定了坚实的基础。

Component Research Co公司的发展小趣事

面对不断变化的电子市场和技术环境,Component Research Co始终保持创新精神。公司不断投入研发资金,加强技术研发团队建设,推动新技术、新产品的不断涌现。同时,公司还积极关注市场动态和客户需求变化,及时调整产品策略和市场策略。通过持续创新和市场拓展,Component Research Co在电子行业中保持了领先地位,并迎来了更加美好的未来。

这五个故事均基于电子行业的普遍现象和发展趋势,但具体情节和细节纯属虚构。如果需要更具体或更贴近实际的故事,建议参考真实公司的发展历程和案例。

Adaptive Networks Inc公司的发展小趣事

随着公司规模的扩大,Component Research Co面临着管理上的挑战。为了提升运营效率,公司引入了一系列创新管理措施,如引入先进的生产管理系统、优化供应链管理、推行员工激励机制等。这些措施的实施使得公司的运营效率得到了显著提升,产品质量也得到了更好的保障。

问答坊 | AI 解惑

急需!!! 汽车电子方案!!!

急需!!! 电子技术研发设计开发方案!!! 急需!!! 方案!!! 公司拓展,急需方案,请拥有方案或部分技术的公司和个人迅速与我联系, 邮箱 rdeasy@yahoo.cn 请注明公司全名或个人的姓,详细准确的联系方式和方案,否则不予考。 ...…

查看全部问答>

有抄板经验的高手,请指教一下!!!

本人正要抄一块四层板,手上只有万用表,不用抄板软件的话不知道是否能抄下一块四层板?请高手指教一下!…

查看全部问答>

毕业设计 电路图看不懂 哪位好心人帮我讲讲

第一级放大电路 第二级放大电路 整流电路…

查看全部问答>

红、黄、绿灯的控制系统设计

控制一组红绿黄灯,通过反复检测开关S1、S2,要求由S1、S2 的“闭合”和“断开”控制红、 绿、黄3灯的点亮。 当S1断,S2断时,黄灯亮; 当S1断,S2合时,绿灯亮; 当S1合,S2断时,红灯闪亮,闪烁周期为2s; 当S1合,S2合时,红灯亮。 要求:1 ...…

查看全部问答>

想知道某些STMCU报价,有什么方法

                                 最近选型中,想知道一些型号的MCU报价,上哪找去?…

查看全部问答>

新手做开关电源,场效应管爆了

根据别人的电路,然后集合自己的理解,连了一个开关电源,上电瞬间,IRFP450就爆了,保险丝也烧了,又没有哪位朋友能指点一下,会是那些原因造成的。感激不尽啊。。。…

查看全部问答>

JX51开发板小批量喽 ~~~~~~~~~~~~~·

  所有板子的大集合,现在共有40多块,全部手工焊接哦。。   相关教程将会陆续发布 [ 本帖最后由 youki12345 于 2011-12-7 21:57 编辑 ]…

查看全部问答>

什么是自动化控制

什么是自动化控制系统呢?     准确来说是指在没有人直接参与的情况下,利用外加的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定的规律运行。自动控制是相对人工控制概念而言的。指的是在没人参与的情况下,利 ...…

查看全部问答>

为啥TMR4不能进中断?

本人写的测试程序,用MCC18编译,为啥TMR2能进低优先级中断?TMR4不能进高优先级中断?(注:TMR4即使配为低优先级中断触发,可也不能进入,为啥) 以下是程序主体 #include     //MCC18编译的,TMR2正常能进低优先级中断, ...…

查看全部问答>

【开讲啦】谁能摘下智能硬件的小苹果?《嵌入式开发之智能硬件篇》

Farsigt 【全程免费 网络直播】嵌入式/Android开发之智能硬件篇 ——— 谁能摘下智能硬件的小苹果? 如果我让你说出当下最流行的电子设备你会说什么? 平板电脑?谷歌眼镜?小米盒子? 它们, 都有一个共同的名字: 智能硬件。 如今, 在这 ...…

查看全部问答>