系统时钟初始化需要注意的问题

发布者:温馨时光最新更新时间:2015-11-09 来源: eefocus关键字:系统时钟  初始化 手机看文章 扫描二维码
随时随地手机看文章
MSP430的基本时钟源有3个:  LFXT1CLK,  XT2CLK,   DCOCLK ; ­
 
其中: LFXT1CLK:可以用低频钟表晶体、标准晶体、陶瓷谐振器或外接时钟源工作。 ­
 
­    XT2CLK:可以用标准晶体、陶瓷谐振器或外接450khz~8mhz的时钟源工作。 ­
 
­    DCOCLK:它是内部数字控制RC振荡器,可以调节。
 
 
 
MSP430的3种时钟信号是:  ACLK,  MCLK,  SMCLK;
 
­
 
其中: ACLK(辅助系统时钟):可选时钟源LFXT1CLK(只能是外部时钟源),且一般为32768hz手表晶体)。
 
       ­MCLK(主时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于CPU和系统。 ­
 
­     SMCLK(子时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于外围器件.
 
      (Notice:­LFXT1CLK when XT2 oscillator not present on-chip.)
 
 
 
ACLK和MCLK的区别:ACLK一般用于低速外设 ­
 
         SMCLK主要用于高速外围模块
 
 
 
上电默认是内部800K的RC振荡器,
 
下面给出了切换LFXT和XT2作为系统时钟的例子:
 
切换为LFXT:
 
  do
  {
  IFG1 &= ~OFIFG;                          
  for (i = 0xFF; i > 0; i--);              
  }
  while ((IFG1 & OFIFG));                  
  BCSCTL2 |= SELM_3;//选择钟表时钟
 
 
 
切换为XT2:
 
  BCSCTL1&=~XT2OFF;//启动XT2时钟
  do
  {
    IFG1 &= ~OFIFG;                          
    for (i = 0xFF; i > 0; i--);              
  }
  while ((IFG1 & OFIFG));
  BCSCTL2 |= SELM_2;
  BCSCTL2 |= SELS;//选择XT2时钟 
 
 
 
 
 
 
 
430的时钟问题
2009年10月04日 星期日 20:59
系统时钟问题: 
系统默认使用DCO,使用外部高速晶振XT2时必须自己开启XT2,并延时50us等待XT2起振,然后手工清除IFG1中的OFIFG位 
 
!!!!一定要注意操作顺序:打开XT2->等待XT2稳定->切换系统时钟为XT2 
 
若后面两步操作反了,在通常情况下不会出现问题,但是在电压不稳MCU频繁复位的情况下,非常容易造成MCU死掉,只能掉电后重新上电才能可靠复位。
 
今天做了一下时钟的实验
 
对于MCLK若选择了XT2 的话,在外部晶振XT2的使用过程中,需要特别注意的是,一旦外部晶振失效的话带来什么样的效果?对于这个效果,经过测试发现,当使用XT2作为MCLK和SMCLK的时钟源时若XT2不稳定,丢失一些时钟信号时这时MCLK会自动转换DCO作为其时钟源,经过测试,而SMCLK确依然用的是XT2(XT2只是波动一下,并非不工作),但是用示波器怎么测不出8M的晶振呢,测其它的怎么能测呢?不过时钟这一点搞清楚了
 
振荡器失效时,msp430也会自动将DCO选作为MCLK的时钟源,用户可以在DCO维持下在中断中检测OFIFG标志位,设置使用另外一个晶体振荡器来临时替代问题时钟源俩继续工作或完成发生警报等应急处理工作。
 
MSP430的时钟周期(振荡周期)、机器周期、指令周期之间的关系
 
通用知识
时钟周期也称为振荡周期:定义为时钟脉冲的倒数(时钟周期就是直接供内部CPU使用的晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。 
 
机器周期:在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周期由6个S周期(状态周期)组成。一个S周期=2个时钟周期,所以8051单片机的一个机器周期=6个状态周期=12个时钟周期。 
 
指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。 
 
专用知识: 
 
在430中,一个时钟周期= MCLK晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8us即为125ns; 
 
一个机器周期 =一个时钟周期,即430每个动作都能完成一个基本操作; 
 
一个指令周期 = 1~6个机器周期,具体根据具体指令而定。 
 
   另:指令长度,只是一个存储单位与时间没有必然关系
 
 
 
MSP430的3种时钟信号:MCLK系统主时钟;SMCLK系统子时钟;ACLK辅助时钟。 
 
(1)MCLK系统主时钟。除了CPU运算使用此时钟以外,外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。 
 
(2)SMCLK系统子时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择DCO和XT2所产生的时钟信号并进行1、2、4、8分频作为其信号源。 
 
(3)ACLK辅助时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。
 
 
 
430的一个时钟周期=MCLK晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8微秒; 一个机器周期=一个时钟周期,即430每个动作都能完成一个基本操作; 一个指令周期=1~6个机器周期; 也就是说执行一条指令最多花6*1/8微秒。
_NOP()是单周期的指令,I/O口赋值是4周期的。
 
 
关键字:系统时钟  初始化 引用地址:系统时钟初始化需要注意的问题

上一篇:【IAR学习】学习笔记
下一篇:【UART】USCI:UART模式

推荐阅读最新更新时间:2024-03-16 14:38

看懂时钟树——掌握系统时钟配置
——基于STM32F107VCT6的理解 1、HIS(内部高速时钟:8MHZ) 内部高速时钟是芯片自带的时钟,芯片自带时钟有两个HIS和LSI(内部低速时钟:40kHZ),内部时钟是RC振荡器产生的,不够稳定。一般不长时间作为系统时钟使用,一般做备用,或在切换时使用。 2、HSE(外部高速时钟:3-25MHZ) STM32提供两组外部时钟接口,HSE和LSE(外部低速时钟)。外部时钟的大小由外部所接晶振确定(本文HSE=25MHZ,LSE=32.768kHZ),所以较为准确。 3、时钟树看图引导 从图中可知SYSCLK(系统时钟)的来源可以是SHE、SHI和PLLCLK(分频器1),这里通过SW(两位二进制数00、01
[单片机]
看懂<font color='red'>时钟</font>树——掌握<font color='red'>系统</font><font color='red'>时钟</font>配置
hi3531的时钟系统
时钟管理模块对芯片时钟输入、时钟生成和控制进行统一的管理,包括: 时钟管理模块有以下两部分输入:
[单片机]
hi3531的<font color='red'>时钟</font><font color='red'>系统</font>
基于MCS-51单片机的智能时钟控制系统设计的技巧
  随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃及家用电器定时开关机(可扩展功能)等控制系统。   本文采用进入市场时间早、总线开放、仿真开发设备多、芯片及其开发设备价格低廉、速度较快、电磁兼容性较好的MCS-51型单片机为核心实现智能时钟控制。   硬件系统设计   智能时钟控制系统以MCS-51MC3399T兼容单片机AT89C51微处理器为核心,由时钟显示模块、定时控制模块、电源模块等电路组成。   AT89C51微处理器   AT89C51是一款采用ATMEL高密度非易失存储器M
[单片机]
用虚拟I2C总线技术实现SAA7111的初始化
摘要:介绍了虚拟I2C总线技术的特点,描述了用单片机(C51)的普通I/O口以及对DSP(TMS320VC5402)的McBSP口和HPI-8口模拟I2C总线接口的设计方案,最后给出了对SAA7111进行初始化的方法。 关键词:虚拟I2C总线技术;SAA7111;DSP;I2C总线 SAA7111是Philips半导体公司生产的一种视频输入处理器(VIP),在视频采集系统中,通常需要诸如SAA7111之类的视频解码器作为模拟视频前端,而视频解码器的初始化主要通过I2C总线接口来完成。然而,目前的单片机和DSP器件大多都不带有I2C总线接口,为此,本文提出了用虚拟总线技术来模拟实现I2C总线功能,利用DSP的多功能I/O口和单
[传感技术]
德州仪器推出业界首款面向4K广播视频系统的12G UHD-SDI 时钟恢复器
日前,德州仪器 (TI) 宣布推出业界首款集成信号调节技术的 12G 超高清 (UHD) 串行数字接口 (SDI) 时钟恢复器。这款四通道 LMH1256 与 6G 同类竞争产品相比,可将传输速率提高 1 倍,帮助广播视频设备通过单个同轴线缆链路采集、录制并回放 60Hz 4K 视频信号。LMH1256 时钟恢复器可充分满足新一代系统要求,包括数字视频路由器、交换机、编码器/解码器、模块卡、多观察器及显示器监控器等。如欲了解更多详情或订购样片,敬请访问:www.ti.com.cn/lmh1256-pr-cn 。 TI 将于 9 月 13 至 17 日在阿姆斯特丹举行的 IBC 2013 上采用 Altera Strat
[嵌入式]
单片机stm32之时钟树以及修改系统时钟频率
  前言:在学51的时候我们知道单片机想要工作必须要有时钟,在stm32中,外部时钟源不是必须的,因为内部就有时钟源,因此我们需要了解stm32的时钟树以方便以后我们设置自己所需要的时钟频率   时钟树   解读   1.首先我们找到最重要的系统时钟:   他的最高频率为168MHZ,他可以由三个提供,一个是HSI(内部高速时钟源,h=high,i=internal),可以在主图中找到这个HSI RC,还有一个是HSE(外部高速时钟源,e=external),最后一个是PLLCLK(pll为锁相环提供,也可以在主图中找到)。。但系统时钟主要还是由PLLCLK提供   注意:   是指这个东西可以由三个其中之
[单片机]
单片机stm32之<font color='red'>时钟</font>树以及修改<font color='red'>系统</font><font color='red'>时钟</font>频率
bootloader中关于flash擦除写和ram初始化的有关问题
最近在做飞思卡尔16位单片机的在线升级bootloader程序。有2个问题不太清楚,请教下论坛里的高人。 1.bootloader程序中,对存放应用程序的flash空间进行擦除和写入新的应用程序以完成升级。比较特别的是,需要将flash操作代码拷贝到ram中执行,这是为什么?bootloader程序所在flash空间设置为被保护状态,不会误擦除,而且运行到哪个函数自然会把函数压栈到RAM里执行吧?为什么还要特地拷贝到RAM里呢? 2.单片机上电初始化后,RAM存储初始化全局变量,这些全局变量是从调试器烧进去的S19文件中获取的吗?每次程序都是从bootloader的main函数开始执行,确定不是升级状态后跳转到应用程序重映射的re
[单片机]
STM32F30X USART串口初始化顺序
void InitUart(void) { GPIO_InitTypeDef GPIO_InitStructure; #if 1// (USART_USED == USART1) RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA , ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); GPIO_PinAFConfig(GPIOA, GPIO_PinSource9,GPIO_AF_7); GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,GPIO_AF
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved