历史上的今天
返回首页

历史上的今天

今天是:2026年01月09日(星期五)

正在发生

2023年01月09日 | s3c2440如何设置fclk

2023-01-09 来源:elecfans

  1设置LockTIme变频锁定时间

  2设置FCLK与晶振输入频率(Fin)的倍数

  3设置FCLK,HCLK,PCLK三者之间的比例


  LockTIme 变频锁定时间由LOCKTIME寄存器(见下表)来设置,由于变频后开发板所有依赖时钟工作的硬件都需要一小段调整时间,该时间计数通过设置 LOCKTIME寄存器[31:16]来设置UPLL(USB时钟锁相环)调整时间,通过设置LOCKTIME寄存器 [15:0]设置MPLL调整时间,这两个调整时间数值一般用其默认值即可。


  表2-8变频锁定时间寄存器(LOCKTIME)

  s3c2440如何设置fclk

  FCLK与Fin的倍数通过MPLLCON寄存器设置,三者之前有以下关系:

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

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

  当设置完MPLL之后,就会自动进入LockTime变频锁定期间,LockTime之后,MPLL输出稳定时钟频率。

  表2-9 MPLL配置寄存器(MPLLCON)

  s3c2440如何设置fclk

  通过上述算法比较难以找到合适的PLL值,下表给出了官方推荐的一些MPLL参考设置:

  表2-10 官方推荐MPLL

  s3c2440如何设置fclk

  MPLL(FCLK) = (2*(MDIV+8) * Fin) / ((PDIV+2) * 2^(SDIV))。

  确定时钟频率最关键的代码:

  ChangeMPllValue((mpll_val》》12)&0xff, (mpll_val》》4)&0x3f, mpll_val&3);

  上面调函数实现了MDIV=92 PDIV=1 SDIV=1从而计算MPLL和UPLL的值。

  m=(MDIV+8)=100, p=(PDIV+2)=3,s=SDIV=1.

  ChangeClockDivider(key, 12);

  再找出函数的原型分析下,

  //*************************[ MPLL ]*******************************

  下面这个函数就是确定MPLLCON寄存器的值也就是确定MDIV、PDIV、SDIV的值。

  void ChangeMPllValue(int mdiv,int pdiv,int sdiv)

  {

  rMPLLCON = (mdiv《《12) | (pdiv《《4) | sdiv;

  }

  上面已经计算出来m=(MDIV+8)=100, p=(PDIV+2)=3,s=SDIV=1.

  m p s 的值,从而可以得出 MPLL=(2*100*12)/(3*1)=400MHZ

  m=77+8=85,p=5,s=0

  UPLL=(85*12)/(5*1)=97/5=

  FCLK=400MHZ

  又因为FCLK:HCLK:PCLK的分频比为1:4:8,从而得到HCLK的值为100MHZ,PCLK的值为50MHZ。


推荐阅读

史海拾趣

Compound Photonics公司的发展小趣事

在公司发展初期,Compound Photonics曾专注于一款微投显示模组的研发。然而,这个项目并未如预期般顺利,最终宣告失败。面对挫折,公司并没有放弃,而是迅速调整战略,转向LCoS方向。这一决策不仅让公司避免了进一步的损失,还为其在LCoS领域的发展打开了新的大门。

Flambeau公司的发展小趣事

面对数字化时代的挑战和机遇,Flambeau公司积极推进数字化转型和智能化升级。公司引入先进的数字化管理系统和智能制造技术,实现了生产过程的自动化、智能化和可视化。通过大数据分析和人工智能技术,公司能够更准确地预测市场需求、优化生产计划、提高生产效率和质量。同时,Flambeau还积极探索物联网、区块链等新技术在电子包装领域的应用潜力,为客户提供更加智能、便捷的包装解决方案。

需要注意的是,以上五个故事是基于电子行业一般发展路径和Flambeau公司可能经历的发展阶段的构想。由于具体信息有限,这些故事可能与Flambeau公司的实际情况存在一定差异。

Dresden Elektronik公司的发展小趣事

随着技术的不断进步,Dresden Elektronik公司不断加大对研发的投入,致力于推动技术的创新和突破。一次偶然的实验中,公司的研发团队发现了一种新的材料,能够显著提高电子元件的性能和稳定性。这一发现被迅速转化为产品,并成功推向市场,使公司的产品在竞争中脱颖而出。

Datalinear公司的发展小趣事

在竞争激烈的电子行业中,Datalinear公司意识到单打独斗很难取得长远的发展。因此,公司积极寻求与其他企业的合作。通过与上下游企业的紧密合作,Datalinear公司不仅降低了生产成本,还提高了产品质量和交货速度。此外,公司还与一些科研机构建立了合作关系,共同研发新技术和新产品,实现了共赢的局面。

Dynastream公司的发展小趣事

Dynastream公司成立于1998年,当时正值科技飞速发展的年代。创始人凭借其敏锐的市场洞察力和对技术的深厚理解,决定专注于个人监视传感器和运动分析领域的研究与开发。在创业初期,公司面临资金短缺、人才匮乏等种种困难,但团队凭借着对技术的热情和不懈的努力,成功研发出了第一代产品,并在市场上引起了广泛关注。

DBS Microwave Inc公司的发展小趣事

DBS Microwave Inc公司起源于XXXX年,当时由几位志同道合的电子工程师创立。他们共同意识到,随着无线通信技术的飞速发展,微波器件的市场需求将会急剧增长。于是,他们凭借丰富的专业知识和对市场趋势的敏锐洞察,决定专注于研发和生产高质量的微波射频器件。起初,公司面临着资金紧张、市场竞争激烈等诸多挑战,但创始人团队凭借坚韧不拔的精神和对技术的执着追求,逐步在市场上崭露头角。

问答坊 | AI 解惑

请大家帮我分析一下我这个ULN2003为什么烧毁

应用很简单,2003输入接MCU的IO,输出接一个加热丝(加热丝电阻100欧姆左右),现在的现象是不管MCU的IO是什么信号,加热丝都一直进行加热。现在批量生产的10台机器中有一台出现了这个问题,是元件本身的问题,还是电路的问题呢,小弟很着急,请大 ...…

查看全部问答>

基于AT89C52控制的寻迹小车设计

基于AT89C52控制的寻迹小车设计…

查看全部问答>

WIFI连接的问题

将设备移出AP覆盖范围,重新再移入AP覆盖范围后,微软的连接程序(netui)如何做到自动重新连接的?是定时器吗?…

查看全部问答>

求救?我在PB定制WINCE内核的时候出现了一个错误

我在PB4.2下定制WINCE,build时出现1个错误,系统提示参考WINCE420目录下的build.err文件,文件的内容如下: Starting sysgen phase for project ( common ) Found localized resources for Languages ( 0404 0407 040C 0410 0411 0412 0413 041 ...…

查看全部问答>

u-boot引导linux,在出现如下问题后就不动了……请求帮助!

网上有两种解决方案: 一是串口的问题,即ttySAC0; 二是时钟频率的问题。 这两个我都排除了,但还是不行! 出现的问题如下: Starting kernel ... Uncompressing Linux................................................................... ...…

查看全部问答>

请问:如果某一个timer到时间而没有被关闭,将会有什么结果产生?

我是这样想: 设置并且启动timer后,timer开始计时,一旦指定的延时结束,函数立即被调用。 可是如果timer到时间没有被关闭,将会产生什么样的结果呢? 请高手们帮助解答一下…

查看全部问答>

串口不能进中断?但是查询模式正常

现象:使用查询模式能够实现正常收发,使用串口中断时,没有中断时,在主程序循环中正常运行,如果收到字符,不是跳到USART1_IRQHandler,而是跳到了 HardFaultException中断,可能是哪里的原因,如果说硬件有问题,可查询模式很正常。请高手 ...…

查看全部问答>

整了一天,USBmassstorage还是不行。

STM32F103VE 能从电脑上看到USB盘符,文件也能读出,速度也不慢。 可就是一往上写就不行,提示超时错误。 用USBlyer抓包,一大堆都是success,只有一个Remova Relation 显示Not surportted. 只要一写,就卡住。。。。。。N久后说设备超时 ...…

查看全部问答>

求替换HT1621

各位大神,大家好。        小弟初来乍到,有个问题想求大家帮忙想想办法。 我公司使用合泰HT1621型号的单片机开发了一款产品,由于控制液晶显示器,现在想用松翰的单片机替换掉HT1621,请问,那个型号可以替换? ...…

查看全部问答>

用STM32芯片的朋友,你们想在上面用labview开发吗?

LabVIEW——Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器集成环境)应该包含两种含义:其一,LabVIEW是一种图形化的编程语言,所以LabVIEW也被称为:G(graphical)语言;其二,LabVIEW也包含了支持图形化编程语言进行应 ...…

查看全部问答>