ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:90.93KB ,
资源ID:6184304      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6184304.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MSP430系列微控制器的时钟模块3A0629142407.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MSP430系列微控制器的时钟模块3A0629142407.docx

1、MSP430系列微控制器的时钟模块3A0629142407第 3 章 MSP430 系列微控制器的时钟系统目标通过本章的学习,应掌握以下知识 时钟的概念时钟源的分类和特点 寄存器的概念MSP430 系列微控制器的时钟系统 位运算操作符 利用逻辑运算实现位寻址 自主工作的 MSP430 微控制器芯片 时钟信号的频率稳定度引言图 2.8 的程序示例 led_8.c 和图 2.28 中的程序示例 main.c 只能通过硬件开发工具进行单 步仿真来观察发光二极管的工作, 不能将完成编辑、 调试的程序下载到芯片使其自主运行, 这是因为程序运行的速度太快。如果每次向并行数字输入 /输出端口 P1 发送一次

2、数据,插入一段等待时间,例如 1s,这样将能够清楚地观察到发光二极管的显示情况。微控制器的工作是在一个被称为时钟的周期方波信号同步下进行的。每来一个这样的 方波信号,微控制器执行一条指令。指令执行速度,即程序的执行速度,是与时钟频率成 正比例的,因此如果希望利用编写程序,通过执行程序获得希望的时间延迟,那么需要首 先知道系统的时钟频率。执行程序需要的时钟周期数量乘上时钟周期的数值就获得时间延 迟的具体值。本节将介绍 MSP430 系列微控制器的时钟系统组成和工作过程。驱动时钟系统工作的振荡器具有多种类型, 它们具有各自的特点。 MSP430 系列微控制 器可以使用具有电路结构简单、 工作频率容

3、易调整的 RC可至10A-3振荡器,也可以使用具 有高频率稳定度的晶体振荡器。如图1.1所示,MSP430系列微控制器通过存储器地址总线 (MAB)和数据总线(MDB) 与程序存储模块、 数据存储模块以及各种外围设备模块连接起来, 并采用统一的 CPU 指令 和寻址模式。各种外围设备模块在这里被等效为“寄存器”这样的一种特殊存储器。向寄存器写入数据能够实现对外围设备模块工作的控制,从寄存器读取数据能够获得外围设备 模块的工作结果。MSP430系列微控制器的时钟系统MSP430x2xx系列芯片的时钟系统图3.1 MSP430系列芯片的时钟系统方框图MSP430x2xx系列微控制器的时钟系统具有

4、4种时钟信号源:内部数控振荡器(DCO)、内部低功耗振荡器(VLO )、低频振荡器(LFXT1 )和高频振荡器(XT2 )。这些时钟信 号源被用来产生芯片内部使用的 3种时钟信号:主时钟信号(MCLK )、子时钟信号(SMCLK)和辅助时钟信号(ACLK )。主时钟信号(MCLK )支持芯片 CPU的工作,子时钟信号(SMCLK )和辅助时钟信号(ACLK )支持芯片内部外围模块的工作。数控振荡器(DCO )的工作可以不需要外部器件的支持,因此降低了电路的复杂程度, 但是它的工作原理是基于 RC振荡器,工作频率的稳定度不高。内部低功耗振荡器( VLO ) 提供12kHz固定的时钟信号。低频振荡

5、器(LFXT1 )和高频振荡器(XT2 )都需要一个外 部晶体谐振电路,但是具有较高的工作频率稳定度。采用 2个晶体谐振电路的目的是能够 让一个工作在较高的工作频率,另一个则工作在较低的工作频率。使用较高的工作频率可 以获得高速度的信号处理;使用较低的工作频率可以降低芯片功耗。并不是每一种芯片都支持全部 4 种时钟信号源。 例如 MSP430G2231 芯片不支持高频振 荡器( XT2 ),也不支持低频振荡器( LFXT1 )的高频模式。时钟系统能够通过向一些被称作为寄存器的等效存储单元写入数据来选择时钟信号 源。时钟系统还具有一些能够改变时钟信号源频率的寄存器。时钟系统的相关寄存器MSP43

6、0 系列微控制器芯片的管脚具有多种功能, 通过对相关寄存器进行设置能够实现 需要的功能。时钟系统也具有多种信号源,如何使用其中的一种?数控振荡器( DCO )的 工作频率可以调整,如何进行调整?同样,这些问题也可以通过对相关寄存器进行设置就 能够实现。进一步讲,具有冯诺依曼结构计算机的工作可以理解为从某个地址读取指令,或者 将计算结果送往某个地址。 CPU 对 MSP430 系列微控制器内部功能模块的控制也可以理解 为向它写入数据,或者从其读取数据。为了区别通常的程序存储器和数据存储器的访问, 把对这些芯片内部功能模块的访问称作为对寄存器的访问。CPU 通过向相应的寄存器写入数据控制对应的芯片

7、内部功能模块的工作,从相应的寄 存器读出数据获得对应的芯片内部功能模块的工作结果。配置系统时钟涉及状态寄存器( SR)、中断使能寄存器 1 (IE1 )、中断标志寄存器 1 (IFG1)、数控振荡器(DCO)控制寄存器(DCOCTL )、系统时钟控制寄存器 1( BCSCTL1 )、 系统时钟控制寄存器 2(BCSCTL2 )和系统时钟控制寄存器 3( BCSCTL3) 。这里状态寄 存器(SR)、中断使能寄存器1( IE1 )和中断标志寄存器1 (IFG1 )不属于时钟系统模块, 但是它们的一些内容影响到时钟系统模块的工作。下面的 寄存器介绍内容包括寄存器中每一位的位地址、位名称、操作方式、

8、复位值以 及每一位的功用。操作方式表示对位可以进行读和写操作,或者仅能进行读操作,或者仅 能进行写操作。对仅能进行写操作的位进行读操作将获得一个随机数。对仅能进行读操作 的位进行写操作不起作用,也有可能产生不可预见的事情,因此应该尽量避免 。复位的目的是使得微控制器从一种约定的工作状态下开始工作。复位值就是复位动作 对寄存器初始状态的指定值,即对 MSP430 系列微控制器的各种外围模块初始工作状态的 指定。对寄存器的复位值应当给予足够地重视,这些数值对外围模块的工作设置具有很大 的影响。经常需要改变寄存器中某一位的状态,但是 MSP430 系列微控制器不支持位寻址,即 不能对位直接进行操作,

9、本节将介绍利用逻辑运算实现位寻址。状态寄存器(SR)位159876543210位名称Reserve dVSCG1SCG0OSCOFFCPUOFFGIENZC操作方 式rwrwrwrwrwrwrwrwrwrw复位值0000000000000000状态寄存器(SR)是属于CPU的一个寄存器,这个寄存器的一些数据位影响到 MSP430 微控制器系统时钟模块的工作状态。 状态寄存器中与时钟系统相关的位包括 SCG1、SCG0、 OSCOFF和CPUOFF。这里只讨论这些位的功能。SCG1 :系统时钟控制位 10 SMCLK开启1 SMCLK关闭SCG0:系统时钟控制位 00 DCO开启1 DCO关闭O

10、SCOFF :晶体振荡器工作控制位0 LFXT1晶体振荡器开启1 LFXT1晶体振荡器关闭CPUOFF : CPU工作控制位0 CPU开启1 CPU关闭中断使能寄存器1( IE1)位76543210位名 称UTXIE0URXIE0ACCVIENMIIEReservedOFIEWDTIE操作方式rwrwrwrwrwrwrw复位 值00000000中断使能寄存器1 (IE1 )的位OFIE影响到MSP430微控制器的系统时钟模块的工作状态。OFIE :晶体振荡器出错中断使能位0 不使能1 使能“使能”的功用相当于一个开关。当处于使能状态时,该使能对应的电路功用将被激活;当处于不使能状态时,该使能对

11、应的电路功用将被关闭,就像这个电路不存在一样。 中断标志寄存器1 ( IFG1)位76543 2110位名称UTXIFG0URXIFG0ACCVIFGNMIIFGReservedFGOFIWDTIEFG操作方式rwrwrwrwrwrwrw复位值00000010中断标志寄存器1 (IFG1 )位OFIFG表征MSP430微控制器的系统时钟模块的工作状 态。这个寄存器与前面 2个寄存器不同,它不是控制相关电路的工作,而仅是显示相关电 路的工作状态。OFIFG :晶体振荡器出错中断标志位0 无中断产生1 有中断产生MSP430微控制器加电时的复位信号会置位 OFIFG。在使能相应中断的情况下将引起中

12、断,因此必要时需要在用户程序中将位 OFIFG清零。数控振荡器(DCO )控制寄存器(DCOCTL)位76543210位DCDCDCMOMOMOMOMO名称O2O1O0D4D3D2D1D0操 作方式rwrwrwrwrwrwrwrw复01100000位值DCOx :这里的x可以取0、1或者2。这3位用来在系统时钟控制寄存器 1 ( BCSCTL1 )的位Rselx选定的频率范围内,选择数控振荡器( DCO )的8个工作频率之一。MODx :这里的x可以取0到4中的任意1个数。这5位用来微调数控振荡器(DCO) 的工作频率,但当 DCO=7时,即DCOx的3位全为1,该功能无效。MSP430微控制

13、器中的数控振荡器 (DCO)是该系列器件的特色之一。 使用这个振荡器作为时钟信号源将不需要添加任何外部器件,同时这个时钟信号源的工作频率还能够通过 用户程序进行调整。系统时钟控制寄存器 1( BCSCTL1)位76543210位名称XT2OFFXTSDIVA1DIVA0Rsel3Rsel2Rsel1Rsel0操 作方式rwrwrwrwrwrwrwrw复位值10000111XT2OFF :高频振荡器(XT2 )开关控制0 高频振荡器(XT2 )开1 高频振荡器(XT2 )关XTS :低频振荡器(LFXT1 )工作模式选择0 低频振荡器(LFXT1 )低频模式1 低频振荡器(LFXT1 )高频模式

14、DIVAx :辅助时钟(ACLK )分频系数Bit5 Bit4DIVA1 DIVA00 0 10 1 21 0 41 1 8这项功能的物理含义为在时钟信号传输的路径上插入了一个分频电路。改变位 DIVAx的数值将改变分频电路的分频系数,达到改变时钟信号频率的目的。Reslx:数控振荡器(DCO)内部电阻选择。这里的 x可以取0到3中的任意1个数,获得16种不同阻值的电阻。数控振荡器( DCO)属于RC振荡器,改变电阻的数值能够改 变振荡器的工作频率。系统时钟控制寄存器 2( BCSCTL2)位76543210位名称SELM1SELM0DIVM1DIVM0SELSDIVS1DIVS0DCOR操作

15、方式rwrwrwrwrwrwrwrw复位值00000000SELMx:主时钟(MCLK)的时钟源选择Bit7Bit6SELM1SELM000数控振荡器(DCO)01数控振荡器(DCO)10高频振荡器(XT2)/当XT2不支持,为 VLOCLK11低频振荡器(LFXT1)/ VLOCLKMSP430系列微控制器包括多个子系列, MSP430x2xx属于这其中的一个。MSP430G2231和MSP430F2619都属于MSP430x2xx子系列。本书里所有寄存器的说 明兼顾了 MSP430x2xx子系列中的所有芯片。DIVMx :主时钟(MCLK )分频系数Bit5 Bit4DIVM1 DIVM0

16、0 0 10 1 21 0 41 1 8SELS:子系统时钟(SMCLK )的时钟源选择0 数控振荡器(DCO)1 高频振荡器(XT2)DIVSx :子系统时钟(SMCLK )分频系数Bit2Bit1DIVS1DIVS0001012104118DCOR :数控振荡器(0 内部1 外部DCO )电阻选择数控振荡器(DCO )属于RC振荡器,改变电阻的数值能够改变振荡器的工作频率。 数控振荡器(DCO )既可以使用 MSP430微控制器芯片内部的电阻,通过用户程序配置系 统时钟控制寄存器 1( BCSCTL1 )中的位Reslx选择不同的内部电阻;也可以使用指定管 脚连接的外部电阻。如果外部电阻采

17、用电位器,调整电位器就能够连续地改变数控振荡器(DCO)的工作频率。系统时钟控制寄存器 3( BCSCTL3)位76543210位名 称XT2S1XT2S0LFXT1S1LFXT1S0XCAP1XCAP0XT2OFLFXT1OF操作方式rwrwrwrwrwrwrwrw复位值00000101Bit7 XT2S1 0011Bit6XT2S001010.41MHz晶体振荡器13MHz晶体振荡器316MHz晶体振荡器0.416MHz外部时钟源XT2Sx : XT2时钟范围选择高频振荡器(XT2 )需要一个外部晶体器件。这个晶体器件的最高谐振频率为16MHz。根据具体使用晶体的谐振频率需要完成 XT2S

18、x的设置。最后一种选择为采用一个完整的信号源,例如实验室的信号产生器,作为时钟源时的设置。LFXT1Sx :低频时钟源选择和 LFXT1 时钟范围选择(受 XTS/BCSCTL1 控制)Bit5 Bit4LFXT1S 1 LFXT1S 0XTS=00 00 132768Hz 晶体在 LFXT1 保留VLOCLK外部时钟源XTS=10 00.41MHz晶体振荡器13MHz晶体振荡器3 16MHz 晶体振荡器0.416MHz 外部时钟源XCAPx :LFXT1 晶体振荡器内部电容选择(仅适用于XTS=0 。当 XTS=1 时,应选择00)Bit3 Bit2XCAP1 XCAP00 0 1pF0 1

19、 6pF1 0 10pF1 1 12.5pFXT2OF :XT2 时钟失效标志LFXT1OF : LFXT1 时钟失效标志0 无1 有注意, MSP430G2231 芯片不支持高频振荡器( XT2 ),不支持低频振荡器( LFXT1 ) 的高频模式。数字控制振荡器(DCO)频率的测量MSP430 系列微控制器复位以后,主时钟信号( MCLK )和子时钟信号( SMCLK )的驱动信号都默认采用数字控制振荡器( DCO),分频系数默认 1因此这2个时钟信号的频率就是数字控制振荡器(DCO )的工作频率。图1.2所示的MSP430G2231芯片管脚排列图显示管脚 6,即并行输入/输出端口 P1的管

20、脚P1.4,也可以用做子时钟信号(SMCLK )的输出管脚,这样通过测量该管脚输出信号 的频率就能够获得数字控制振荡器( DCO)的工作频率。MSP430F2619芯片管脚16,同样为并行输入/输出端口 P1的管脚P1.4,也同样是可以用做子时钟信号( SMCLK )的输出管脚。数字控制振荡器(DCO )的工作频率可以调整以满足具体工作的需要。频率的调整通 过前面介绍的数控振荡器( DCO )控制寄存器(DCOCTL )和系统时钟控制寄存器 1(BCSCTL1 )的位Reslx来实现。数字控制振荡器(DCO )的工作频率与相关寄存器中控 制位的关系如图3.2所示。 CO=0 DC0=1 DC0

21、=2 DC0=3 DC0=4 DC0=5 DC0=6 DC0=7图3.2数字控制振荡器(DCO)的工作频率与相关寄存器中控制位的关系图图3.2显示系统时钟控制寄存器 1( BCSCTL1 )的位RSELx可以指定数字控制振荡器(DCO)工作于16个频率段的其中一个。数控振荡器( DCO )控制寄存器(DCOCTL ) 的位DCOx在指定频率段内的 8个频率子段中选择一个。图中没有显示的数控振荡器(DCO)控制寄存器(DCOCTL )的位MODx在指定频率子段中实现的进一步调整。MSP430系列微控制器中每一种芯片的数据手册都给出在一定工作电压和环境温度情 况下,一些寄存器内容对应的工作频率,但

22、是需要注意数控振荡器( DCO)属于RC振荡器,它的工作频率受工作电压、环境温度等很多因素的影响。数据手册中给出的数控振荡 器(DCO )的工作频率仅供参考。在完成应用系统的硬件电路设计以后,采用实际测量的数控振荡器( DCO )工作频率数值,再给予合适的调整将使得系统工作得更精确。程序示例 3.1用来实现数控振荡器(DCO)工作频率的调整。通过测量实际的工作频率就可以确定控制数控振荡器( DCO)工作频率的相关寄存器的具体取值。程序示例3.1/ 程序名称: sysclk_dco/ 程序功能: SMCLK 使用 DCO ,分频比 1,使用管脚 SMCLK 输出时钟信号#include void

23、 main(void)r/ 包含名称定义的对应地址或数据的头函数/ 主函数WDTCTL=WDTPW+WDTHOLD;/ 关闭看门狗/ P1.4 管脚配置P1SEL|=BIT4;/ 位 P1SEL.4 置位,设置 P1.4 管脚为外围功能管脚P1DIR|=BIT4;/ 位 P1DIR.4 置位,设置 P1.4 管脚为输出管脚/ DCO 频率调整BCSCTL1&=RSEL3;/ 位 RSEL3 清零BCSCTL1&=RSEL2;/ 位 RSEL2 清零BCSCTL1|=RSEL1;/ 位 RSEL1 置位BCSCTL1|=RSEL0;/ 位 RSEL0 置位DCOCTL&=DCO2;/ 位 DCO

24、2 清零DCOCTL|=DCO1;/ 位 DCO1 置位DCOCTL|=DCO0;/ 位 DCO0 置位while(1)/ 重复执行程序示例 3.1 中首先完成输出信号频率与数字控制振荡器( DCO )的工作频率一样的子时钟信号( SMCLK )输出管脚的配置,然后完成确定数字控制振荡器( DCO )的工作频 率相关寄存器的设置。MSP430 系列微控制器的时钟模块属于它的外围模块之一。外围模块的工作不需要CPU 进行全程控制,一旦完成对这些外围模块的配置,它们将独立工作。程序示例 3.1 中 在完成数字控制振荡器( DCO )工作频率相关寄存器的设置以后,程序就进入while(1) / 重复

25、执行在这个程序段中, CPU 什么都不做, 但是这时 MSP430 系列芯片的时钟模块一直工作,使得子时钟信号(SMCLK )输出管脚,P1.4, 直输出子时钟信号(SMCLK ),这个信 号的频率等于数字控制振荡器( DCO )的工作频率。修改数字控制振荡器 (DCO )的工作频率相关寄存器的内容将可以调整它的工作频率。 程序示例 3.1 没有涉及到利用位 MODx 对频率的进一步的调整。位寻址功能的实现msp430g2231.h图 2.12 的 Embedded Workbench for MSP430 开发软件工作窗口, 在工作区 “ Workspace ” 的文件“ Files”栏目中

26、将自动出现选择好目标芯片对应头文件“ msp430g2231.h”。图2.27Code Composer Studio 开发软件的工作窗口, 工程管理栏目 “ Project Explorer 的In eludes ” 中将包含 MSP430 系列微控制器的所有芯片对应的声明寄存器名称与地址对应关系、寄存 器位名称与数值关系的头文件,例如这里的“ msp430g2231.h”。头文件“ msp430g2231.h”的“ STANDARD BITS ”栏目的内容如下#define BIT0(0x0001u)#define BIT1#define BIT2#define BIT3#define B

27、IT4#define BIT5#define BIT6#define BIT7#define BIT8#define BIT9#define BITA#define BITB#define BITC#define BITD#define BITE#define BITF这里定义了 16个符号常量,(0x0002u)(0x0004u)(0x0008u)(0x0010u)(0x0020u)(0x0040u)(0x0080u)(0x0100u)(0x0200u)(0x0400u)(0x0800u)(0x1000u)(0x2000u)(0x4000u)(0x8000u)BIT0BITF 。这个部分内容

28、存在于 MSP430系列微控制器所有芯片对应的头文件。 上面每一个符号常量代表一个 16 位数据, 这个数据中只有 1 位为1 ,其余的全部为 0。程序示例3.1实现数控振荡器(DCO)工作频率调整部分,即对相关寄存器的配置部 分,也出现了一些符号常量。它们也在头文件“ msp430g2231.h ”中被定义,位于头文件的“Basic Clock Module ” 栏目。该栏目的部分内容如下#define DCOCTL_ DEFC( DCOCTL #define BCSCTL1_ DEFC( BCSCTL1 #define BCSCTL2_ DEFC( BCSCTL2 #define BCSCTL3_ DEFC( BCSCTL3(0x0056u) /* DCO Clock Frequency Control */ , DCOCTL_)(0x00

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1