历史上的今天
返回首页

历史上的今天

今天是:2025年01月31日(星期五)

2020年01月31日 | 初学MSP430F5529时钟以及FLL配置

2020-01-31 来源:eefocus

一、基本

1.5529包含五个时钟源

XT1CLK:外部低频晶振,32.786KHz,可以用作FLL参考电源,也可以整4MHZ到32Mhz

XT2CLK:外部高频晶振,可用作fll参考源可以4MHZ到32MHZ

但是F5529的最高CPU频率好像是25MHZ?

VLO:内部低耗低频晶振,10kHZ

REF:内部低频参考源,32.786Khz,可用作FLL参考源,精度高

DCO:数控振荡器,通过FLL设置

三个信号源

ACLK:辅助时钟源

MCLK:主时钟源

SMCLK:

时钟源和信号源的关系是,信号源来自于时钟源的分频。这三个时钟源可以选择从哪个时钟源里面得到时钟信号,并且自身还可以分频。于是可以获得多种多样的分频时钟。时钟源和信号源都可以给其下几个同时使用。当然信号源具体都能从哪几个时钟源中获得好像每个芯片不太一样,还是要看下 user’s guide


2.其中,选择XT1的时候需要将对应的IO设置为SEL=1,这个时候XT1clk才能够使用,否则无法使用

在f5529中,5.4为XT1的输入,5.5位XT1的输出


3.当设定完成后,如果没有时钟的设定,FLL将把MCLK和SMLCK设置为1.048576,DCO为2.097152,说明这个时候DCODIV其实是2


4.锁频环的设定

fdcoclk=D*(N+1)(fref/n)

fdcoclkdiv=(N+1)(fref/n)


二、寄存器设定

f5529一共有9个相关的寄存器


1、UCSCTL0

用于DCO的设定,在不使用FLL的时候,需要首先设定DCO和MOD,这个在g2553里面有直接的函数设定成为1、2、4、8MHZ,但是f5529好像并没有。这个其实是一个大致的范围,搞不太懂。在使用FLL的时候,这个会自动调整,所以如果用FLL的话,就只需要整成0x00应该就行了。


2、UCSCTL1

DCORSEL:选择DCO的范围,在使用FLL的时候,需要先规定一个范围,这个范围必须将我们所要想达到的频率包括进去,否则应该会出错误。

DCOMOD:是否调制?这个PUC后是0,允许调制,是是否FLL调制还是?不管先

DCO的范围我在DATASHEET里面找到的


3、UCSCTL2

FLLD:D的确定,D其实是分频系数,可以选择12481632次分频

FLLN:就是公式里面N的值范围是0-9,共10位,最高1024


4、UCSCTL3

SELREF:FLL的参考时钟的选择,选择REFOCLK或者XT1CLK是比较常见的32.786kHZ

FLLREFDIV:FLL参考时钟分频,这样的话参考时钟也就能够改变来适应


5、UCSCTL4

SELA:选择ACLK的时钟源

SELS:选择SMCLK的时钟源

SELM:选择MCLK的时钟源


6、UCSCTL5

DIVPA:对于外部管脚的分频?把频率传输给外部管脚,我其实不太明白

DIVADIVSDIVM是对应的分频


7、UCSCTL6

XT2和XT1的相关的寄存器,先不看


8、UCSCTL7

相关时钟的错误标志,当各个时钟出错的时候会置位

看见例程中有这么一段

do

{

UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);

// Clear XT2,XT1,DCO fault flags

SFRIFG1 &= ~OFIFG; // Clear fault flags

}while (SFRIFG1&OFIFG); // Test oscillator fault flag

在设定锁频环之前,先让各个时钟稳定,然后在使用锁频环


9、UCSCTL8

信号请求使能

各种时钟的REQEN,之前看到的在不同的模式下,在不同的供电模式中有不同的选择,具体可以看user’s guide 166页


10、UCSCTL9

BYOASSLV:旁路模式输入摇摆电平范围

不太清楚有啥用,目前好像不太需要配置


三、用FLL配置DCO

目前来说还是DCO用的比较多,所以通过FLL来得到DCO还是比较重要的,g2553上没有FLL,就很迷

大致的步骤,来自例程MSP430F55xx_UCS_02


1、选择FLL参考源

UCSCTL3 = SELREF_2; // Set DCO FLL reference = REFO,选择REFO来作为参考


2、检测时钟源是否稳定

do

{

UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);

// Clear XT2,XT1,DCO fault flags

SFRIFG1 &= ~OFIFG; // Clear fault flags

}while (SFRIFG1&OFIFG); // Test oscillator fault flag

这个例程里面实际上只需要检测DCO的就行了,不过无所谓,以后直接粘上去就行了

这一步好像也不是必要的


3、关闭FLL控制,好像如果不关闭的话,FLL寄存器不会改变

__bis_SR_register(SCG0); // Disable the FLL control loop


4、选择DCO的范围,设定DCO的D、N

UCSCTL1 = DCORSEL_5; // Select DCO range 16MHz operation

UCSCTL2 |= 249; // Set DCO Multiplier for 8MHz

// (N + 1) * FLLRef = Fdco

// (249 + 1) * 32768 = 8MHz

计算公式就是这样

fdcoclk=D*(N+1)(fref/n)

fdcoclkdiv=(N+1)(fref/n)


5、开启FLL

__bic_SR_register(SCG0); // Enable the FLL control loop


6、等待DCO稳定

计算公式是

n x 32 x 32 x f_MCLK / f_FLL_reference

这个里面等待的时间是

32 x 32 x 8 MHz / 32,768 Hz = 250000

所以加一个句子

__delay_cycles(250000);

推荐阅读

史海拾趣

ADDtek公司的发展小趣事

对不起,我无法提供有关ADDtek公司发展的故事。

Antex公司的发展小趣事

随着业务的不断扩展,Antex在1980年决定将工厂从东京都大田区羽田迁至茨城县高萩市。这一搬迁不仅为公司提供了更广阔的发展空间,也标志着Antex开始向着全球化布局迈进。此后,公司积极寻求国际合作,与全球各地的供应商和客户建立了紧密的合作关系。

Advanced Fibreoptic Engineering Ltd公司的发展小趣事

在电子行业的早期,Advanced Fibreoptic Engineering Ltd(以下简称AFE公司)还是一个名不见经传的小企业。然而,随着技术的不断进步,AFE公司凭借其在光纤技术领域的深厚积累,成功研发出了一种具有划时代意义的新型光纤材料。这种材料不仅传输速度快,而且损耗极低,极大地提高了数据传输的效率和质量。这一技术突破迅速为AFE公司赢得了市场认可,公司的订单量激增,业绩逐年攀升。

随着技术的推广和应用,AFE公司的光纤产品逐渐在通信、医疗、工业等多个领域得到广泛应用。公司不仅在国内市场占据了一席之地,还积极拓展海外市场,与国际知名企业建立了稳定的合作关系。凭借卓越的产品性能和良好的市场口碑,AFE公司逐渐在电子行业中崭露头角,成为了光纤技术领域的佼佼者。

以上是第一个故事的示例,若您想要探索更多关于AFE公司的发展故事,请输入继续。

(注:由于我无法实时获取具体公司的实际发展故事,以上故事为虚构内容,仅用于展示故事编写风格和结构。如果您需要真实、具体的故事,请提供更多关于AFE公司的信息,以便我能为您编写更贴近实际的内容。)

南京绿芯(Grenergy)公司的发展小趣事

对于电子消毒柜电路,网友可能的问题涉及多个方面,包括故障排查、日常维护、使用注意事项等。以下是一些可能的问题及详细回答:

一、故障排查类问题

1. 消毒柜通电后跳闸怎么办?

回答
消毒柜通电后跳闸可能是由电路短路引起的。首先,检查电源插座的火线(L)、零线(N)、地线(E)是否接线正确。其次,按照消毒柜上的线路图检查柜内线路接线是否正确,以及线路绝缘层是否被破坏(如被螺丝钻破、被金属边角划破等)。如果以上检查均正常,可能是电源板或继电器等部件损坏,建议联系专业维修人员进行检查和更换。

2. 消毒柜插上电源后无法启动,指示灯不亮怎么办?

回答
消毒柜无法启动且指示灯不亮,可能是由以下原因造成:电源插座无电或接触不良、熔断器烧坏、电源线与机体接触不良或断路、变压器烧坏或断路、电路板烧坏、继电器失灵等。解决方法包括检查电源插座、更换熔断器、检查并修复线路、更换电路板或继电器等。如果问题依然存在,建议联系专业维修人员进行检查。

二、日常维护类问题

1. 消毒柜需要定期清洁哪些部位?

回答
消毒柜需要定期清洁的部位包括柜体内部、层架、门封条以及散热孔等。清洁时,应使用柔软的布或海绵,避免使用腐蚀性强的清洁剂。同时,要注意不要将水溅入电路板等电子元件区域,以免造成短路或损坏。

2. 消毒柜的电源线应该如何保养?

回答
消毒柜的电源线应定期检查是否老化或破损,如有发现应及时更换。在使用过程中,应避免电源线过度弯折或受到重物压迫,以免影响其使用寿命和安全性。此外,电源线应远离高温、潮湿和腐蚀性强的环境,以确保其绝缘性能不受影响。

三、使用注意事项类问题

1. 消毒柜在使用时需要注意哪些安全问题?

回答
消毒柜在使用时需要注意以下安全问题:

  • 确保电源插座接地良好,避免漏电危险。
  • 不要将易燃易爆物品放入消毒柜内,以免发生火灾或爆炸。
  • 在使用过程中,应避免频繁开关柜门,以免影响消毒效果和能耗。
  • 使用完毕后,应及时关闭电源并拔掉插头,以节约能源和延长设备使用寿命。

2. 消毒柜是否可以一直插电使用?

回答
消毒柜是否可以一直插电使用取决于用户的使用情况和需求。如果用户经常使用消毒柜且没有其他特殊需求,可以保持电源连接;如果用户不经常使用消毒柜或者有其他特殊需求(如节约能源、避免设备老化等),建议在使用前提前通电,并在非使用状态下拔掉电源。此外,为了确保安全,插座应具备防水、防漏电等功能。

综上所述,对于电子消毒柜电路的问题,网友可能关注故障排查、日常维护和使用注意事项等方面。通过了解这些问题的解决方法和注意事项,可以更好地使用和维护消毒柜,确保其正常运行和延长使用寿命。

Defense Logistics Agency公司的发展小趣事

随着军事现代化的推进,DLA意识到整合与优化供应链的重要性。于是,DLA开始着手整合各个军事部门的后勤系统,实现资源的集中管理和统一调配。通过引入先进的供应链管理技术,DLA大幅提高了物资采购、存储、运输和分发的效率,确保了美军在全球范围内的作战需求得到及时、准确的满足。

ANYSOLAR LTD.公司的发展小趣事

ANYSOLAR始终关注企业的社会责任和可持续发展。在生产过程中,公司严格遵守环保法规,采用先进的环保技术和设备,确保生产过程中的废弃物排放达到国家标准。同时,公司还积极参与社会公益活动,捐赠光伏产品支持贫困地区的能源建设。

此外,ANYSOLAR还致力于推动清洁能源的普及和应用,通过技术研发和市场推广等方式,降低清洁能源的使用成本,提高其在能源结构中的占比。这些举措不仅体现了ANYSOLAR的社会责任感,也为公司的可持续发展奠定了坚实的基础。

以上便是关于ANYSOLAR LTD.的五个发展故事。虽然这些故事是虚构的,但它们基于电子行业的常见趋势和企业发展的普遍规律,旨在展示一个企业在发展过程中可能面临的挑战和机遇。希望这些故事能够为您提供一些启发和参考。

问答坊 | AI 解惑

有在吴江华冠通讯工作的朋友吗?

请问这里有在吴江华冠工作的朋友吗? 有问题想请教, 谢谢!…

查看全部问答>

不同时钟域的数据传输问题

单片机读写CPLD的时钟、SDRAM的时钟、还有像素时钟都是不同的 ,这个问题怎么处理?…

查看全部问答>

硬件工程师面试试题

硬件工程师面试试题 看看你能回答几个 …

查看全部问答>

如何用51单片机(可扩展)设计一个计算器

想跟各位讨教一下如何用51单片机设计一个计算器,有高手请帮帮忙,附上程序,主要有+,-,*,/,还有删除,一些条件判别………

查看全部问答>

中九破解

1231111111111111111111111111111111…

查看全部问答>

C#在wince下的双缓冲如何实现?

用GDI绘图,非常闪砾,想用双缓冲实现,可发现网上搜到的双缓冲例子中用到的类,在wince下都没有,请问有人做过双缓冲绘图吗?如何实现,希望可以给出关键代码,谢谢…

查看全部问答>

51中间接寻址的寻址存储器空间范围包括内部数据存储器和外部数据存储器。而有些单片机的间接寻址的寻址范围也可能包括ROM。这2句话对嘛?

51中间接寻址的寻址存储器空间范围包括内部数据存储器和外部数据存储器。而有些单片机的间接寻址的寻址范围也可能包括ROM。这2句话对嘛? …

查看全部问答>

Altera的EPCS是否存在校验码

对于FPGA芯片,在上电的时候从EPCS内加载配置文件的信息,我想知道数据从EPCS传输到FPGA的过程中,是否存在冗余校验,就像422,485等通信过程中存在的校验。或者,我想为FPGA的*.pof文件内是否存有数据的冗余校验信息。谢谢…

查看全部问答>

FirmwareLib的应用及C++工程建立过程杂谈

Firmware Lib的应用及C++工程建立过程杂谈Firmware Lib下在地址:http://www.st.com/stonline/products/support/micro/files/um0427.zipFirmware Lib用户手册下载地址:http://www.st.com/stonline/products/literature/um/134 ...…

查看全部问答>