历史上的今天
返回首页

历史上的今天

今天是:2025年10月13日(星期一)

正在发生

2022年10月13日 | MSP430单片机:时钟系统(UCS 模块)

2022-10-13 来源:csdn

UCS 模块最多含有 5 个时钟源:

XT1CLK :低频 / 高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入 4MHZ~32MHZ 时钟。

VLOCLK :内部低消耗,低频振荡器。典型值为 12KHZ 。

REFOCLK :内部低频振荡器,典型值为 32768HZ ,作为 FLL 基准源。

DCOCLK :内部数字控制振荡器 (DCO) 可以通过 FLL 来稳定。

XT2CLK :可选择的高频振荡器,可以使用标准晶振,振荡器或者外部时钟源输 4MHZ~40MHZ 。

外部:XT1CLK    XT2CLK

内部: VLOCLK     REFOCLK     DCOCLK

UCS 模块可以产生三个时钟信号供cpu和外设使用:

ACLK        辅助时钟

MCLK      主时钟

SMCLK    子系统时钟

对这张核心的图,做一些解释:

(1)内部超低功耗低频振荡器VLO

 

无须外部晶振,提供约10khz


(2)内部参考时钟REFO


在不要求或不允许使用外部晶振的应用中,REFO可以用作内部高精度时钟。经过内部调整,REFO的典型频率为32768Hz


(3)XT1振荡器      


XT1DRIVE控制驱动力,低了省电。


XCAP调整负载电容。


XT1OFF清零,XT1无论在任何模式下都可用。


XT1BYPASS的三角形,在数字电路中是驱动门,提升驱动能力。


XT1与通用I/O端口公用引脚,应注意上电复位的默认值,以我手中的这块板为例:



 crystal mode 和 bypass mode区别


(4)XT2振荡器(参考XT1)

 代码解析:


//配置时钟ACLK = SMCLK = MCLK = XT2=32768HZ

void clock(void)

{

    P7SEL |= BIT0 + BIT1; // 端口选择外部低频晶振XT1

    UCSCTL6 &= ~XT1OFF;  // 使能外部晶振

    UCSCTL6 |= XCAP_3;   // 设置内部负载电容

    do

    {

        UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除 XT2,XT1,DCO 错误标志

        SFRIFG1 &= ~OFIFG;

    } while (SFRIFG1 & OFIFG);            // 检测振荡器错误标志

    UCSCTL4 |= SELA_0 + SELS_0 + SELM_0; // ACLK = SMCLK = MCLK = XT2=32768HZ

}

1.P5SEL     |= 0x0C         //把某一位变成1           0x0C=1100

注意控制寄存器以及位


不同型号可能不太一样,MSP430 的 PxSEL1, PxSEL0 说明_宝山电子工作室-CSDN博客


2.UCSCTL6   &= ~XT2OFF  //把某一位变成0


XT2OFF上电默认1,即关闭


(5)FLL锁频环(em..电路老师提过,锁频环技术)

(6) 内部模块振荡器MODOSC


可产生约4.8MHZ的MODCLK时钟,flash控制器模块,ADC_12模块等片上外设都可以使用MODCLK作为内部参考时钟


有条件/无条件启用请求


例如:flash,adc无条件启用请求


时钟失效以及安全操作

 

如图:部件内的检测电路

当时钟刚打开或没有正常工作时,晶振故障失效标志位 XT1LFOFFG, XT1HFOFFG 或XT2OFFG 将置位,一旦被置位,即使晶振恢复到正常状态也将一直保持置位,直到手动用软件将故障失效标志位清零。清零之后,若晶振故障失效情况仍然存在,晶振故障失效标志位将自动再次被置位。


DCOFFG总的标志位


tips:断允许位重新置位,以接收新的晶振故障失效请求。注意,振荡器故障失效事件不受中断允许控制位(GIE)的控制。


 msp430内置函数总结 __bic_SR_register(),__delay_cycles(x)_u011123091的博客-CSDN博客  (内置函数)


例:

//***************************************************************************//

//                                                                           //

//                 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1)                  //

//                                                                           //

//***************************************************************************//

#ifdef   INTERNAL_HF_OSC

void Init_CLK(void)

{

  WDTCTL     = WDTPW + WDTHOLD                            ; // 关看门狗

  P7SEL     |= 0x03                                       ; // 端口选择外部低频晶振XT1

  UCSCTL6   &=~XT1OFF                                     ; // 使能外部晶振 

  UCSCTL6   |= XCAP_3                                     ; // 设置内部负载电容

  UCSCTL3   |= SELREF_2                                   ; // DCOref = REFO

  UCSCTL4   |= SELA_0                                     ; // ACLK   = XT1  

  __bis_SR_register(SCG0)                                 ; // 关闭FLL控制回路

  UCSCTL0    = 0x0000                                     ; // 设置DCOx, MODx

  UCSCTL1    = DCORSEL_7                                  ; // 设置DCO振荡范围

  UCSCTL2    = FLLD__1 + FLL_FACTOR                       ; // Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz

  __bic_SR_register(SCG0)                                 ; // 打开FLL控制回路                                                            

  __delay_cycles(1024000)                                 ; 

  do

  {

    UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除 XT2,XT1,DCO 错误标志                                                            

    SFRIFG1 &= ~OFIFG                                     ; 

  }while(SFRIFG1&OFIFG)                                   ; // 检测振荡器错误标志 

}

#endif


推荐阅读

史海拾趣

绿宝石(BERYL)公司的发展小趣事

随着国内市场的饱和,绿宝石公司开始积极拓展国际市场。公司加强了与国际知名企业的合作,共同开发新产品、新技术。同时,绿宝石公司还在海外设立了研发中心和生产基地,以便更好地服务全球客户。通过一系列的市场拓展和国际化战略,绿宝石公司的国际影响力不断提升。

Davicom公司的发展小趣事

随着产品技术的不断成熟和市场竞争的加剧,Davicom开始积极拓展市场,加强品牌建设。公司加大市场推广力度,积极参加国内外各类展会和论坛,与潜在客户建立联系。同时,Davicom还注重提高产品质量和服务水平,赢得了客户的信任和好评。

Grayhill公司的发展小趣事
根据测量结果调整电路参数,如电位器的阻值、限流电阻的阻值等,以优化电路性能。
HBH-Microwave公司的发展小趣事

随着技术的不断成熟,HBH-Microwave开始将目光投向更为广阔的航空航天市场。公司凭借其高质量的微波组件和子系统,成功参与了多个国际知名的航天项目,如卫星通信系统和运载火箭的微波子系统。这些项目的成功实施,不仅展示了HBH在极端环境下的产品可靠性,也进一步拓宽了公司的业务范围和市场影响力。

Engelking Elektronik GmbH公司的发展小趣事

作为一家有社会责任感的企业,Engelking Elektronik始终关注环保和可持续发展问题。公司积极采用环保材料和清洁能源,减少生产过程中的污染排放和资源浪费。此外,Engelking Elektronik还积极参与公益活动和慈善捐赠,回馈社会。公司坚信只有关注社会责任和可持续发展才能实现企业的长期繁荣和稳定。

复旦微电子(FM)公司的发展小趣事

随着国内市场的饱和,Engelking Elektronik开始寻求海外市场的发展。公司制定了详细的国际化战略,包括参加国际电子展会、拓展海外销售渠道以及建立海外生产基地等。通过不断努力,Engelking Elektronik成功进入了欧洲、北美和亚洲等多个国家和地区的市场。同时,公司还积极适应不同地区的文化和市场需求,提供定制化的产品和服务。

问答坊 | AI 解惑

频率变化时电源板上的变压器会发出响声是什么原因?

大侠,为什么很多IP整合电源在开关频率发生变化时变压器会发出较大的声音???…

查看全部问答>

学习型电脑,平民化配置

CPU:E2200 主板:技嘉GA-G31M(板载X3100显卡,intel G31芯片组)(因为技嘉,华硕价格较贵,可以微星,昂达等G31芯片组的二组主板代替) 内存:金士顿2G,DDR2/800(或金邦,建议不要用威刚,威刚兼容性较差) 显卡:(如有需要可另配,但学习 ...…

查看全部问答>

BIOS与引导区探究群,群号67286087,欢迎加入啊!

联络一切对BIOS与引导区技术感兴趣的人士,注重理论与实践的结合,交流技术资料与实践心得,对重要贡献者给予现金等奖励!当 前以80X86为主要探究方向!…

查看全部问答>

请教wince中加载自己的开机界面问题

  我想在我的开机界面上加载一幅自己的图片,打开开发板电源系统启动显示我的开机界面是是我自己设计的图片,谢谢!…

查看全部问答>

关于开放式数控系统

要做一个开放式数控铣床这么一个系统,PC上位机 单片机是下位机,要实现数控系统的基本的插补功能...那现在是这么个思路,在PC上建立人机交互界面,如果输入数控代码,自动实现译码,刀补,差补..进而与单片机通信 去控制步进电机的运动.那译码,刀补,差补 ...…

查看全部问答>

STM32F107的通用定时器频率是多少?

                                 STM32F107中,用TIM3的PWM模式,预分频数为0,重装载值为3600,按道理说TIM3的最大频率为36MHz,那么PWM的频率应该 ...…

查看全部问答>

STM8L操作DS18B20失败,求范例

                                 郁闷啊,今天弄了一天DS18B20,先是18B20的初始化都不通过,发送了低电平之后释放,等待DS18B20的低电平应答都检测 ...…

查看全部问答>

LPC810 ISP无法下载了

前两天我发了个帖子,说明LPC810如何用SWD方式(J-LINK)下载 于是我写了下程序,就是点亮那个LED的程序 #include \"lpc8xx.h\" int main(){          LPC_SYSCON->SYSAHBCLKCTRL |= (1DIR0|=1…

查看全部问答>

出一套 CY8CKIT-001 PSoC 开发套件

现出让一套CY8CKIT-001 PSoC 开发套件,该套件是集PSoC 1、PSoC 3、PSoC 5三个系列的学习开发的,共包括一块主板、三块MCU模块、还有一个MINI PROR 程序下载下载器。下面上个图: …

查看全部问答>