2127|0

2781

帖子

419

TA的资源

五彩晶圆(中级)

楼主
 

MSP430时钟系统三 [复制链接]

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

寄存器
符号
寄存器类型
地址
初始化状态
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周期内频率出现的次数。
XT2OFF  7位  关闭XT2。
  • XT2打开
  • XT2不用于SMCLK或MCLK则关闭
XTS     6位  LFXT1模式选择
  • 低频模式
  • 高频模式
DIVAx   5-4位ACLK分频
  • /1
  • /2
  • /4
  • /8
XT5V    3位   未使用
RSELx    2-0位 范围选择。通过内部寄存器来8种频率阶次。

SELMx  Bits 7-6  选择MCLK的时钟源
  • DCOCLK
  • DCOCLK
  • 当有XT2时选择XT2CLK,否则选择LFXT1CLK
  • LFXT1CLK
DIVMx  Bits5-4    MCLK的分频系数
  • /1
  • /2
  • /4
  • /8
SELS   Bit 3     选择SMCLK的时钟源
  • DCOCLK
  • 当有XT2时选择XT2CLK,否则选择LFXT1CLK
DIVSx  Bit2-1   SMCLk分频系数
  • /1
  • /2
  • /4
  • /8
DCOR  Bit0     DCO电阻选择
  • 内部电阻
  • 外部电阻


      
          Bits7-2 这些位被其他模块使用。
IFIE   Bit1    振荡器失效中断使能。此位使能OFIFG中断。
                       0 禁止中断
                       1 使能中断
          Bit0    该位可用于其他模块。

              Bits7-2  这些位被其他模块使用。
OFIFG  Bit1    振荡器失效中断标志位。
                            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信号将立即有效,并且持续有效直到振荡器重启。


作者:aerkate
 
点赞 关注
个人签名

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表