您的位置 首页 主动

GNU ARM汇编–(六)s3c2440的时钟操控

前面几篇利用GNUARM汇编控制LED以及ARM的中断处理的设计,对ARM汇编以及体系结构有了一定的认识后面的汇编学习会结合具体的芯片

前面几篇运用GNU ARM汇编操控LED以及ARM的中止处理的规划,对ARM汇编以及体系结构有了必定的知道.后边的汇编学习会结合详细的芯片进行,一个为了更灵敏娴熟的运用汇编,二也是为了经过学习一款详细芯片来提炼出一些有价值的经历.此次挑选的芯片是三星的s3c2440,arm920t的核,整个板子是TQ2440的板子,这个板子放了两年多了,零星的玩过一些,可是为了树立更有体系的知识结构,仍是值得把它玩过个遍.或许这个芯片很过期了,应该许多人在玩6410,在工作中触摸的也是arm11Cortex-A9或许ppc,可是许多东西并不会过期的.虽然工作中触摸的东西比较新,可是作为做运用的公司,许多底层的东西IC规划厂商都帮你做好了,你只需依照它给的东西去做就行.个人是对底层很感兴趣的,而工作中很少有人对底层有完好的知道,所以只能自己运用点个人时刻渐渐玩咯.

不再发慨叹了,下面就对s3c2440的时钟做一个阐明,然后给出汇编对时钟的操控代码,最终比较一下有时钟操控和没时钟操控下的流水灯的差异.

s3c2440的时钟操控逻辑能够发生3个时钟信号:用于CPU核(ARM920T)的FCLK,用于AHB总线外设(存储操控器中止操控器LCD操控器DMAUSB的主机端)的HCLK和用于APB总线外设(比方WDT IIS I2C PWM timer MMC ADC UART GPIO RTC SPI)的PCLK.s3c2440有两个锁相环,一个是用于FCLK HCLK PCLK的MPLL,一个专用与USB的UPLL.

首要看一下下面的表格:

时钟源能够来自于外部晶振(XTlpll)或许外部时钟(EXTCLK).datasheet中的图7-1显现了时钟的体系框图,这儿就不给出了,截出一小部分与上图做个照应:

这个图就反映了OM[3:2]在XTlpll和EXTCLK之间的挑选.

接下来看看TQ2440的原理图是怎么处理的:

从原理图能够看出:OM[3:2]为00b,意味着运用晶振来发生MPLL CLK和UPLL CLK.咱们的XTIpll接的便是12M的晶振,这时分EXTCLK依照规定是要接高的,对应图如下:

值得留意的是:虽然MPLL在reset后就开端工作了,可是MPLL output只要在软件写有用的设置值到MPLLCON寄存器后才作为体系时钟的.在有用设置之前,外部晶振或许EXTCLK直接用于体系时钟.哪怕是你不想改动MPLLCON寄存器的初始值,你也得将该值写入MPLLCON.

上面的话意味着:假如不进行时钟的设置,那么我的板子就运行在晶振为12M的体系时钟下,这个和s3c2440的400M相去甚远,做流水灯的延时必定也差数量级的,这个等会就能够看到.

Mpll = (2*m * Fin) / (p * 2^s)
m = M (the value for divider M)+ 8, p = P (the value for divider P) + 2

s3c2440支撑FCLK HCLK和PCLK之间的分频比的挑选.份额由CLKDIVN寄存器的HDIVN和PDIVN决议.可拜见下表:

留意:CLKDIVN要当心设置,不要超出了HCLK和PCLK的约束.假如HDIVN不为0,要用下面的指令,CPU总线形式从Fast Bus Mode变为异步总线形式:

MMU_SetAsyncBusMode
mrc p15,0,r0,c1,c0,0
orr r0,r0,#R1_nF:OR:R1_iA
mcr p15,0,r0,c1,c0,0

下面开端看看寄存器的设置:

LOCK TIME COUNT REGISTER (LOCKTIME)

这个时刻是要确保PLL输出频率安稳的,时序图如下:

这个计数器的设置便是时序图中的lock time,而在寄存器阐明中规定要大于300us,那么这个时分依据12M的晶振频率,核算如下:

(1/12M)*N>300us 所以N>3600 所以能够用寄存器的默认值0xffff.

PLL CONTROL REGISTER (MPLLCON & UPLLCON)

MPLL Control Register
Mpll = (2 * m * Fin) / (p * 2S)
m = (MDIV + 8), p = (PDIV + 2), s = SDIV

UPLL Control Register
Upll = (m * Fin) / (p * 2S)
m = (MDIV + 8), p = (PDIV + 2), s = SDIV

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/258118.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部