MSP430时钟总结

2019-07-31 14:18发布

本帖最后由 小馍头 于 2015-1-12 11:51 编辑

学习笔记之MSP430时钟设置

天气慢慢变热了,大早上的起来就犯困,什么也不想搞了,关于430的时钟看了不少资料,各大网友的总结也给我了不少帮助,想想我也得做点什么贡献下社会吧。就把前两天总结出来的430的时钟给贴出来分享下,这仅仅是个人学习心得,肯定会有一些错误,第一次发帖子大家理解下,看到了就指出来吧!!!


时钟就像是单片机的脉搏,没有时钟单片机是无法工作的,还有其他一些模块也是需要时钟如Timer_A. 图片1.png 上边是430时钟模块的框图,从上面可以看出三个时钟输出:   辅助时钟ACLK(Auxillary Clock):由软件选择来自VLOCK、LFXT1CLK之一经过1,2,4,8分频之后得到,为外围模块提供时钟源。   主系统时钟MCLK(Main System Clock):由软件选择来自VLOCK、LFXT1CLK和DCOCLK之一经过1,2,4,8分频之后得到,为CPU和系统提供时钟。   子系统时钟SMCLK(Sub System Clock):和MCLK一样由软件选择来自VLOCK、LFXT1CLK和DCOCLK之一经过1,2,4,8分频之后得到,为外围各个模块提供时                                                                                                            钟。 四个时钟源:   VLOCLK:片内超低功耗12KHz的内部振荡器。   XT2CLK:G2553是没有XT2CLK这个模块的。   DCOCLK:片内可数字控制的振荡器DCOCLK,在软件的调节下该时钟的输出范围为0.6MHz到26MHz。   LFXT1CLK:由外部时钟源提供的LFXT1CLK时钟源,也即LanuchPad开发板上未焊接的时钟电路,在这里我们可以焊接一个32.768KHz的低频时钟晶体由G2553的  XIN引脚输入。他们几个的关系可以由下图表示: 图片2.png 在这三个时钟源的独立工作或是在三个时钟源相互协调配合(是可以通过软件配置的)下为2553系统提供了系统时钟ACLK、MCLK和SMCLK。ALCK、MCLK、SMCLK是和CPU或者外设连接起来的,而LFXT1CLK、XT2CLK、DCOCLK、VLOCLK这四个又是和ALCK、MCLK、SMCLK连接起来的,也就是说LFXT1CLK、XT2CLK、DCOCLK、VLOCLK是通过ALCK、MCLK、SMCLK和外设连接起来的。 图片3.png 上电后,系统默认使用的主系统时钟MCLK和子系统时钟SMCLK是同为DCOCLK产生的1MHz时钟,而辅助时钟ACLK则为内部VLOCLK产生的12KHz时钟。G2553上电后时钟的初始状态我们可以用Grace来查看: 图片4.png
可以看出MCLK和SMCLK都是DCOCLK产生的1MHz的时钟,ACLK则是VLOCLK产生的12KHz的时钟。
DCO时钟:DCO时钟源产生的频率可以通过DCOCTL寄存器来设置寄存器来设定,通过设定DCOCTL中的高三位(其名字为DCOx),BCSCTL1基本时钟控制寄存器低四位(其名字为RSELx)就可以控制DCO振荡器产生100K~20M不等的时钟频率。设定时应尽量居中,以保持稳定。 图片5.png 1. DCOCTL, DCO Control Register 图片6.png DCOx DCO频率选择寄存器,通过该位设置DCO的频率。 MODx 模式选择位。2. BCSCTL1, Basic Clock System Control Register 1 图片7.png XT2OFF         G2553该位无效,详细请参阅官方技术文档。 XTS                 LFXT1,模式选择位 0 低频模式。 1 高频模式。 DIVAx                 分频寄存器,分频后给ACLK提供时钟 00 /1。 01 /2。 10 /4。 11 /8。 RSELx                 DCO频率选择寄存器,通过该位设置DCO频率。3. BCSCTL2, Basic Clock System Control Register 2 图片8.png SELMx                 MCLK时钟源选择 00 DCOCLK。 01 DCOCLK,与00效果一样。 10 G系列单片机该位无效。 11 低频外部时钟。 DIVMx                 时钟源分频寄存器,选择时钟源后经过该位分频后提供给MCLK 00         /1。 01         /2。 10         /4。 11         /8。 SELS                 SMCLK时钟源选择寄存器 0 DCOCLK。 1 外部晶振。 DIVSx                 时钟源分频寄存器,选择时钟源后经过该位分频后提供给SMCLK 00 /1。 01         /2。 10         /4。 11         /8。 DCOR                 该位保留。 4. BCSCTL3, Basic Clock System Control Register 3 图片9.png XT2Sx                 G系列单片机该位无效 LFXT1Sx         对G系列单片机,当BCSCTL1寄存器中XTS = 0时,该位的设置才有效 00 外部接的是32768HZ的晶振。 01 保留位。 10 选择超低频外部时钟(VLOCLK) 11 数字外部时钟源。 XCAPx                 振荡器电容选择寄存器,当XTS=0时该位有效,假如XTS = 1 或者LFXT1Sx =11,                        XCAPx应该设置为00 00 ~1pF。 01 ~6pF。 10 ~10pF。 11 ~12.5pF。 XT2OF                 对G系列单片机该位无效 LFXT1OF         LGXT1晶体振荡器故障状态寄存器 0 没有故障。 1 有故障。 5. IE1, Interrupt Enable Register 1中断使能寄存器 图片10.png OFIE                 晶体振荡器故障使能寄存器 0 禁止中断 1 使能中断 MSP430G22x0不支持该位。 6. IFG1, Interrupt Flag Register 1 图片11.png OFIFG                 晶体振荡器故障标志寄存器 0 没有发生中断。 1 有中断事件发生。 MSP430G22x0不支持该位。 有一些模块的时钟是有自己特有的时钟源的,如Timer_A: 图片12.png Timer_A的时钟选择有四种:TACLK、ACLK、SMCLK和INCLK。Timer_A是不能选择MCLK作为时钟源的。而INCLK和TACLK是Timer_A特有的时钟源。Ps : 此文仅为个人学习心得,难免有错漏之处,敬请谅解。   

That’s all     By 蛐蛐2013 .5 .11 01:38
MSP430时钟设置.pdf (731.8 KB, 下载次数: 108) 2015-1-12 11:51 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。