MSP430时钟系统三

eefocus · 电子工程世界·2021-06-10 00:00

1.3k

上一篇最后的部分我们用一个例程来对时钟系统的设置有了个正面的认识,只给出了程序没有仿真图示,原因是我所使用的仿真环境下对时钟系统的设置是无效的,选择时钟源没有效果,设置通过指定的引脚同步输出波形也没有效果,只有在通过外部时钟源输入时钟信号才可以设置,这个的使用我们将在定时器的说明时给出。其实还是用块板子比较踏实,仿真和实际有时候真是搞笑,那天他们用单片机做个东西,仿真可以过的在板子上就没反应。倒是仿真没反应的到了板子上竟然很随意的样子,搞不懂。


寄存器 符号 寄存器类型 地址 初始化状态 DCO控制寄存器 DCOCTL 读/写 056H 带PUC的060H 基础时钟系统控制寄存器1 BCSCTL1 读/写 057H 带POR的087H 基础时钟系统控制寄存器2 BCSCTL2 读/写 058H 带PUC的复位 基础时钟系统控制寄存器3 BCSCTL3 读/写 053H 带PUC的005H SFR中断使能寄存器1 IE1 读/写 000H 带PUC的复位 SFR中断标志寄存器 IFG1 读/写 002H 带PUC的复位


上表给出了设置时钟模块时需要操作到的寄存器,下面让我们去这些寄存器的内部去游览一番。

DCOx:DCO频率选择。这几位选择由RSELx设置位已经选定的REL基础上的8个离散的DCO频率。


MODx:调节器选择。这几位决定在32个DCOCLK周期内频率出现的次数。

XT2OFF7位关闭XT2。

XT2打开 XT2不用于SMCLK或MCLK则关闭

XTS 6位LFXT1模式选择

低频模式 高频模式

DIVAx 5-4位ACLK分频

/1 /2 /4 /8

XT5V 3位 未使用

RSELx 2-0位 范围选择。通过内部寄存器来8种频率阶次。


SELMxBits 7-6选择MCLK的时钟源

DCOCLK DCOCLK 当有XT2时选择XT2CLK,否则选择LFXT1CLK LFXT1CLK

DIVMxBits5-4 MCLK的分频系数

/1 /2 /4 /8

SELS Bit 3 选择SMCLK的时钟源

DCOCLK 当有XT2时选择XT2CLK,否则选择LFXT1CLK

DIVSxBit2-1 SMCLk分频系数

/1 /2 /4 /8

DCORBit0 DCO电阻选择

内部电阻 外部电阻

Bits7-2 这些位被其他模块使用。

IFIE Bit1 振荡器失效中断使能。此位使能OFIFG中断。

0 禁止中断

1 使能中断

Bit0 该位可用于其他模块。

Bits7-2这些位被其他模块使用。

OFIFGBit1 振荡器失效中断标志位。

0 没有未相应的中断

1 有未被相应的中断

Bit0 该位可用于其他模块。

当然这些寄存器、标志位不需要过分记忆。不用的话记住也没用,用的话自然而然的就能想起,大不了查找下手册看看而已。


下面我们来看一个比较特别的模块。作为一款优秀的MCU,MSP430可谓为用户使用考虑到了极致,对于基础时钟模块而言,不仅提供了灵感便捷色时钟模块,而且还提供了一个时钟模块自动放故障操作。


在基础时钟模块中整合了一个振荡器失效保护自动防故障模块。通过一个振荡器失效检测器的模拟电路来监视LFXT1CLK(in HF mode)和XT2CLK。当任意的这两个时钟源信号失效后50us内振荡器失效保护模块就会自动工作。如果这个时候MCLK的时钟源选自失效振荡器,那么就会自动转到DCO作为其时钟源,这样就可以在晶体振荡器失效的情况下仍然能够保证代码的执行。

上图是其运行的时序图。

当OFIFG和OFIE标志位被置位时将产生一个NMI请求。NMI中断服务程序将检测OFIFG标志位来决定是否有振荡器失效发生。OFIFG标志位必须由软件清除。


当产生振荡器失效信号时OFIFG被置位。当LFXT1(in HF mode)产生振荡器失效或者当XT2产生振荡器失效时,在POR中XT_OscFault将被置位。也就是当XT2或者LFXT1 在高频模式下因为软件原因停止后XT_OscFault信号将立即有效,并且持续有效直到振荡器重启。

关键字: MSP430 时钟系统 时钟模块 编辑:什么鱼 引用地址: //news.eeworld.com.cn/mcu/ic538253.html

广告

eefocus · 电子工程世界·2021-06-10 00:00

1.3k
  • MSP
  • 振荡器
  • 用户热评
    打开摩尔芯球APP,查看更多评论

    重大事件及时推送,更流畅的沉浸式阅读体验

    参与评论

    0/200字

    登录后即可发布评论

    发布评论

    请使用浏览器自带的分享按钮,
    将你这篇文章分享出去吧。
    +86
    获取验证码
    登 录

    邮箱登录

    未注册过的用户将直接为你创建摩尔账号