回首前面主要是以msp430x1xx为模板介绍的此款单片机的时钟模块,其他各系列的时钟模块主体相同,只是根据需要有了些小的差异,下面我们来简单的认识一下,然后结束时钟模块的旅程。
上图是msp430x2xx的基础时钟模块的方框图,我们可以看到它与msp430x1xx系列可见的主要区别在于增加了一个VLOCLK部分。
Internal Very Low Power, Low Frequency Oscillator
内部的超低功耗、低频率振荡器(VLO )在不需要晶振的情况下能够提供12KHz 时钟频率。在XTS=0时通过设置LFXT1Sx = 10来选择VLOCLK时钟源。我们可以通过设置OSCOFF位来关闭VLO进而是系统进入低功耗模式LPM4 工作状态。当VLO被选做低功耗时LFXT1被禁止。并且VLO在不使用时不消耗能量。
我们需要注意的是并不是所有的MSP430x2xx 系列器件都具有一样的时钟特性。例如在MSP430x20xx中LFXT1 不支持高频模式,也没有XT2,不支持晶体振荡器。在MSP430x21xx中没有内部低功耗/低频振荡器,没有XT2,不支持晶体振荡器。而MSP430x22xx中没有XT2。因此我们需要根据不同的单片机来具体选择ACLK、MCLK和SMCLK的时钟来源。
MSP430x4xx单片机功能比较强大,时钟系统也比较特别,还没有用过啊,就顺便说说吧。
在MSP430x4xx整个系列中都使用了一个全新的模块—FLL+clock module(锁频环时钟模块)。
上图是MSP430x4xx的时钟模块结构,需要注意MSP430F41/42x系列时钟模块没有XT2部分。
DCOCLK可以用作MCLK和SMCLK,由于RC振荡器DCO的频率会因温度和电压的不同而变化,FLL+通过频率积分器和调制器自动调使DCOCLK的频率趋于稳定。
数字倍频环是一种非常巧妙的电路。核心部件是数控振荡器和一个频率积分器。FLL+通过比较ACLK和DCOCLK/(N+1)的大小,在频率积分器产生一个10位的频率偏差,频率积分器的输出控制着DCOCLK以这个偏差来调整频率,形成一个调整反馈环。
负反馈的最终效果是fDCO/(N+1)=ACLK,也就是fDCO=(N+1)ACLK,从而实现倍频。DCO频率积分器的输出可以在SCFI0和SCFI1中读出。理论上通过环路分频系数N可以实现2~128倍频,再加上DCO额外分频系数FILDx,最大能实现1024倍频。复位后的默认N=31,DCOPLUS=0,相当于对ACLK进行32倍频。对于32.768KHz晶振,MCLK和SMCLK均为32*32.768KHZ=1.048MHz,在一般的应用中可以无需更改了。
设ACLK=LFXT1=32768Hz,令MCLK=SMCLK=DCOCLK=8MHz,将MCLK和ACLK分别通过P1.1和P1.5输出。
好了 时钟系统算是可以先告一段落了,然后下面要说什么呢,还需要想一下,我发现好像漏掉了上电复位那一点
关键字:MSP430 时钟系统 时钟模块
引用地址:
MSP430时钟系统四
推荐阅读最新更新时间:2024-11-03 07:16
msp430G2553时钟选择与分频程序
msp430G2553单片机的时钟选择和分频程序如下: #include "msp430G2553.h" #define unchar unsigned char #define uint unsigned int uint Fre; int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; BCSCTL2 |=SELM_1+DIVM_0; P1DIR &=~BIT3; P1REN |=BIT3; P1OUT |=BIT3; P1DIR |=BIT0; P1IE |=BIT3;
[单片机]
MSP430之DS18B20调试记录
前言 说实话,对于DS18B20这种烂大街的温度传感器,我一开始真的没把它当回事,直到碰壁碰的让我怀疑人生,才知道无论什么东西,只要还有你不理解的地方,那里就隐藏着坑,等着你往里面跳. 话不多少,直接上代码: #include dls.h #include GR_include.h UINT8 flag1 = 0; UINT8 DS18B20Init(void) { UINT8 i; UINT16 k; _DINT(); for (i = 0; i 1; i++) { U20_DQ_OUT;//设置为输出方向 U20_DQ_LOW;//拉低总线 Delayus(520); U2
[单片机]
用LabVIEW FPGA模块实现不同时钟域的数据连续传输
摘要:为了解决基于LabVIEWFPGA模块的DMAFIFO深度设定不当带来的数据不连续问题,结合LabVIEWFPGA的编程特点和DMA FIFO的工作原理,提出了一种设定FIFO深度的方法。对FIFO不同深度的实验表明,采用该方法设定的FIFO深度能够比较好地满足系统对数据连续传输的要求。研究结果对深入展开研究和工程设计具有一定的指导意义。 关键词:LabVIEW FPGA模块;FIFO数据连续传输;时钟域 0 引言 20世纪80年代中期,NI公司推出了一种图形化的编程语言LabVIEW,并于2003年推出FPGA模块。该模块用于对NI公司RIO设备中的FPGA进行编译,使得工程师无需了解VHDL或其他底层硬件设计工具
[嵌入式]
基于MSP430F449的新型智能流量计电路模块设计
流量计是在线测量管道内流体流量的先进仪表,在石油、化工、造纸、冶金等行业中有着普遍的应用,并不断向智能化的方向发展。本文介绍的就是用MSP430F449单片机开发的新型智能流量计。其基本原理是:依靠部件旋转,用光电编码器或磁敏传感器产生电脉冲信号,并送至由单片机构成的流量计算装置进行处理。本流量计采用了数据校正、数字滤波、多输出形式、自诊断、掉电保护等智能仪表新技术以及双电源供电系统与双传感器技术,使其能更适应各种复杂的工作环境。 嵌入式指纹锁的应用领域十分广泛,有保险箱、实验室、楼道的身份确认等。本文基于指纹识别模块设计和实现了嵌入式指纹锁,给出了一套比较完整的软、硬件设计方案。指纹识别门锁系统的硬件结构
[单片机]
MSP430F5438学习笔记 定时器TA1 比较匹配CCR0
// 时钟默认情况 // FLL时钟 FLL选择 XT1 // 辅助时钟 ACLK选择 XT1 32768Hz // 主系统时钟 MCLK选择 DCOCLKDIV 8000000Hz // 子系统时钟 SMCLK选择 DCOCLKDIV 8000000Hz // TA1选择ACLK,最大计数值为16384,中断频率为2HZ // 在TIMER1_A0_VECTOR中翻转P4.0 #include msp430.h #include stdio.h void clock_config(void); void select_xt1(void); void
[单片机]
MSP430定时/计数器TimerA的使用详解(一)
MSP430定时器A是一个16位的定时器,简图如下: 注意:从上图我们可以知道Timer_A有三个捕获/比较寄存器:CCR0,CCR1,CCR2,这一点是和51不同的。 有四个时钟源,并且支持分频。当选择好时钟源之后需要选择定时器的工作模式: 通过MCx的值可以确定工作模式,其中有Stop,Up,Continuous,Up/down 四种模式。 其实第一种就是定时器没有工作。 Up从0一直计数到到TACCR0寄存器的值。 这种模式就是上图所示,TACCR0 =0XFFFF。当定时器等于TACCR0时,标志位TACCR0 CCIFG interrupt flag会置1. Continuous模式更加容易理解,它是从0一直
[单片机]
MSP4301602显示Ⅰ
/******************************************************************** 1602液晶显示 ********************************************************************/ #include msp430x14x.h #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU
[单片机]
高性价比的MSP430应用系统结构设计
MSP430系列单片机作为一个性能优异的MCU在大陆已经得到了广泛的应用。MSP430在高整合性与高性能方面与其他MCU比较有较大优势。该系列芯片的价格也较为合理,目前整合性最好的MAP430F44X系列,整合了60K字节程序存储(可记录数据)、2K字节片内RAM、6个I/O端口(P1、P2能中断)、160段液晶驱动、两个串行端口、4个定时器(其中TB带有7个捕获/比较器、包括看门狗)、模拟比较器、硬件乘法器、8路12位A/D转换器、还有频率调整电路FLL+、系统复位SVS模块等。而较为基本型的MSP430F1101、MSP430C1101只有1K字节程序存储、128字节片内RAM、模拟比较器、两个定时器等。他们的性能比较可参考图一
[单片机]