历史上的今天
返回首页

历史上的今天

今天是:2025年03月19日(星期三)

正在发生

2021年03月19日 | MSP430F149的时钟系统

2021-03-19 来源:eefocus

1、概述


上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LF。根据官方PDF说法默认状况下DCO模块配置为RSELX=4,DCO=3,因此DCO应为1M,但示波器实测MCLK/SMCLK为680K,测试温度约25摄氏度。


标注:MCLK主时钟、SMCLK子时钟、ACLK活动时钟。


P5.4,P5.5,P5.6的第二功能分别对应MCLK,SMCLK,ACLK时钟信号,可用示波器测量。测试时发现频率后两位一直在跳动,频率稳定度很差。


MSP430系列单片机选择晶振为时钟源时,时钟周期就是晶振周期。一个机器周期 =一个时钟周期,即430每个动作都能完成一个基本操作; 一个指令周期 = 1~6个机器周期,具体根据具体指令而定。 如果选择8M晶振,则一个机器周期为125ns。51单片机选择12M晶振,它的机器周期是时钟周期/12,一个机器周期为1us,可见 MSP430的的速度是51的8倍。


2、使用方法概述


2.1 程序架构


一般在系统初始化关闭看门狗后要配置系统时钟,配置步骤为:


1、打开晶振;


2、等待晶振起振。清除OFIFG,延时,判断OFIFG是否为0,为0则晶振正常起振,退出判断;


3、选择MCLK/SMCLK时钟源;


uchar iq0;


BCSCTL1&=~XT2OFF; //打开XT2振荡器


do


{


IFG1 &= ~OFIFG; // 清除振荡器失效标志


for (iq0 = 0xFF; iq0 > 0; iq0--); // 延时,等待XT2起振


}


while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振


BCSCTL2 =SELM_2+SELS; //选择MCLK、SMCLK为XT2


2.2 细节描述


对于DCO可以通过配置电阻和DCO得到不同的频率。电阻可配置片内或片外(DCOR一般片内),片内电阻有8中选择(RSELX),DCO有8中选择(DCOX)。


3、相关寄存器


1、DCOCTL


DCOx Bits


7-5


DCO frequency select. These bits select which of the eight discrete DCO


frequencies of the RSELx setting is selected.


2、BCSCTL0


XT2OFF Bit 7 XT2 off. This bit turns off the XT2 oscillator


0 XT2 is on


1 XT2 is off if it is not used for MCLK or SMCLK.


RSELx Bits


2-0


Resistor Select. The internal resistor is selected in eight different steps.


The value of the resistor defines the nominal frequency. The lowest


nominal frequency is selected by setting RSELx=0.


3、BCSCTL0


SELMx Bits


7-6


Select MCLK. These bits select the MCLK source.


00 DCOCLK


01 DCOCLK


10 XT2CLK when XT2 oscillator present on-chip. LFXT1CLK when XT2


oscillator not present on-chip.


11 LFXT1CLK


SELS Bit 3 Select SMCLK. This bit selects the SMCLK source.


0 DCOCLK


1 XT2CLK when XT2 oscillator present on-chip. LFXT1CLK when XT2


oscillator not present on-chip.


DCOR Bit 0 DCO resistor select


0 Internal resistor


1 External resistor


4、实例


4.1 配置MCLK/SMCLK


见本节2.1。


4.2配置DCO


void main(void)


{


WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer


DCOCTL = DCO0 + DCO1 + DCO2; // Max DCO


BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL


BCSCTL2 |= SELS; // SMCLK = XT2


P5DIR |= 0x70; // P5.6,5,4 outputs


P5SEL |= 0x70; // P5.6,5,5 options


while(1)


{


}


}


实测DCO最低128K,最高4.58M。


推荐阅读

史海拾趣

Elprotronic Inc.公司的发展小趣事

在Elprotronic Inc.公司创立的初期,面临着电子元器件市场竞争激烈、技术更新迅速的挑战。公司创始人凭借对电子元器件市场的深刻理解和敏锐的洞察力,决定专注于提供高质量和可靠的嵌入式MCU闪存编程解决方案。他们深知,在电子行业,产品质量和技术创新是企业生存和发展的关键。因此,Elprotronic Inc.从一开始就注重技术研发和产品质量控制,逐渐在市场上树立了良好的口碑。

CTC Coils Ltd公司的发展小趣事

CTC Coils Ltd公司早期以生产传统电感线圈为主,随着电子技术的飞速发展,公司意识到必须进行技术升级。于是,公司投入大量研发资源,成功开发出一种新型高效能电感线圈,该产品在性能上大幅提升,同时降低了能耗。这一技术突破使CTC Coils Ltd的产品在市场上脱颖而出,公司迅速赢得了大量客户,并扩大了生产规模。

Gespac Inc公司的发展小趣事

在快速发展的过程中,CTC Coils Ltd公司始终注重企业文化建设和团队建设。公司倡导创新、务实、高效的企业精神,鼓励员工勇于创新、追求卓越。同时,公司还注重员工的培训和成长,为员工提供广阔的发展空间和良好的职业晋升通道。这些举措使得公司凝聚力不断增强,为公司的长远发展奠定了坚实的基础。

请注意,这些故事是虚构的,旨在展示一个电子行业公司可能经历的发展路径和关键阶段。实际情况可能因公司具体情况和市场环境的不同而有所差异。

Aeroflex Metelics / Hi-Rel Components公司的发展小趣事

在快速发展的过程中,CTC Coils Ltd公司始终注重企业文化建设和团队建设。公司倡导创新、务实、高效的企业精神,鼓励员工勇于创新、追求卓越。同时,公司还注重员工的培训和成长,为员工提供广阔的发展空间和良好的职业晋升通道。这些举措使得公司凝聚力不断增强,为公司的长远发展奠定了坚实的基础。

请注意,这些故事是虚构的,旨在展示一个电子行业公司可能经历的发展路径和关键阶段。实际情况可能因公司具体情况和市场环境的不同而有所差异。

ASSMANN WSW components公司的发展小趣事

随着公司规模的扩大和产品质量的提升,ASSMANN WSW components公司开始积极拓展全球市场。通过与全球知名企业的合作,公司成功打入国际市场,产品远销海外。同时,公司还积极参加国际电子展会和交流活动,与全球同行建立了广泛的合作关系。这些举措不仅提升了ASSMANN WSW的品牌知名度和影响力,还为公司带来了更多的商业机会和发展空间。

APX Technologies公司的发展小趣事

面对日益激烈的市场竞争,APX Technologies积极寻求与其他企业的合作。公司与一家知名的电子设备制造商达成战略合作协议,共同开发一款具有创新功能的新型智能手机。这款手机的成功上市不仅提升了APX Technologies的品牌知名度,也为其带来了可观的利润。

问答坊 | AI 解惑

三星SHC-745P彩色摄像机效果评测(转)

YSST:三星SHC-745P彩色摄像机效果评测 摄像机型号:三星SHC-745P;搭配的产品型号为YSST阵列式红外灯DF588。 SHC-745P是一款内置了第四代DSP图像引擎SV Ⅳ芯片集的摄像机,这种芯片集使摄像机在任何时间、任何地点均可捕获得最佳质量的运动 ...…

查看全部问答>

ADC采样频率与波特率的关系

大家好,有个问题请教。 我用的是ADI公司的ADUC7060芯片,TDMI核,32位,内含24位ADC。 想在要把ADC转换后的24位数据传给UART,随后在超级终端显示。 现在我设置ADC的转换频率为8KHZ,那么要想从超级终端准确地实时显示数据。(不能遗漏) 波特 ...…

查看全部问答>

WINCE下电话与IE共存问题!

嘿 各位:    现在我想在WINCE6.0下面做一个电话与IE共存的软件,想要做到当如果在下载数据或是浏览网页的时候有电话打进来需要挂住数据通道,电话接完后可以很快的浏览网页或是下载数据,以前我采用的方式是RAS函数库+AT指令方式,当想 ...…

查看全部问答>

如何改写DMA硬盘读写数据长度

我们在开发硬盘驱动程序时,在Window XP下,内存和硬盘的数据交换方式是DMA,每次都是固定的4K字节,请问这个长度能够改变么?通过什么方式改变?…

查看全部问答>

还是晶振问题请教

我使用XT2IN,XT2OUT作为晶振输入,频率8Mhz.只有这一个晶振源,用示波器可以看到125nS震荡信号,通过设置,我可以使SMCLK得到125ns,但是无论怎样设置,MCLK却始终无法得到125ns,这是什么原因? WDTCTL = WDTPW + WDTHOLD; // Stop watchd ...…

查看全部问答>

请教各位大侠MSP430怎样通过串口升级程序?

各位大侠MSP430怎样通过串口升级程序?…

查看全部问答>

这个稍微有点档次了:解析 STM32 的启动过程

replyreload += \',\' + 1103046; 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题 ...…

查看全部问答>

招聘单片机硬件工程师兼职讲师(上海)

职位描述: 1、大专以上学历,电子或者自动化专业毕业。 2、至少5年以上单片机开发经验(有小家电,仪表,汽车电子类产品设计经验更佳); 3、熟悉电路原理,C语言编程,至少精通如下一种单片机(51,AVR,PIC,430)有一定的表达能力,愿意与人分享技 ...…

查看全部问答>

stm32控制电机电流采样问题

我用stm32F103vb控制同步电机进行电流采样,可以生成SVPWM波,也能采到A\\B两相的电流,但总感觉电流采样值不是在PWM波的有效期间采样的,也就是说TIM1触发AD的采样时刻不是在PWM波的有效期间,想问一下各位大侠,怎么通过软件设置TIM1定时器的上溢 ...…

查看全部问答>

以太网转串口模块 让串口设备轻松联网

串口服务器模块 以太网转RS232 TCPIP转串口 RJ45转TTL模块,让你的串口设备轻松联网,可提供linux上位机程序和方案,可以提供中间件。 说明书:www.usr.cn/Uploads/Download/201104/USR-TCP232-T.pdf 1、产品介绍1.1 产品简介   & ...…

查看全部问答>