查看文章 |
北方交通大学 电气工程学院 桓毅 汪至中 摘要:本文详细介绍了基于MSP430F11X单片机的低功耗低成本实时时钟的工作原理和软硬件的具体设计,同时还给出硬件电路图、源代码举例和精度及实现方面的详细说明。 关键词:MSP430;实时时钟 前言 实时时钟(RTC)可应用于多种领域--从钟表到时间标记事件,甚至到产生事件。对于通信工程、电力自动化、工业控制等自动化程度高的领域大多数情况下很多设备都处于无人值守的情况,都希望能把故障发生的时间和相关信息记录下来,以便具体分析。目前市面上有很多专用RTC器件,这些器件往往灵活性差,系统集成度低。而MSP430F11X系列单片机具有低成本、低电流损耗、使用灵活简单及扩展性好等优点,使之成为专用RTC器件在某些特殊场合的理想替代品。 本系统采用了TI公司超低功耗16位微处理器--MSP430F111,具有极低功耗特性、极强的抗干扰能力和极高的性价比。整个系统仅用两个普通电池(工作电压为3V)就可以长期工作,无需其他电源,大大拓宽了应用范围。 系统工作原理和实现 本系统的主要难点在于如何产生一个稳定的系统时钟。所有MSP430器件既包含一个数字控制的RC型振荡器,又包含一个晶体振荡器。一般RC型振荡器用于CPU时钟,而晶体振荡器则用于外围器件。在实时时钟的应用中,晶体振荡器可作为用作时基的定时器/计数器的时钟源。因此,不存在对RC型振荡器很普遍的不稳定问题。 将MSP430制作成RTC的过程很简单,包括一个定时器/计数器提供1s的中断以及一个小型CPU子程序来计算中断。在中断之间,CPU可以处于休眠状态或执行其他功能。实际操作过程中还应包括一个用于主机处理器从MSP430 RTC中抽取时间的接口子程序,以及其他系统功能,如电池监控、系统监控、通讯接口等。 MSP430F111是MSP430F11X系列中的一个很简单、价格也很便宜的器件,具有14个通用I/O引脚、2个16位定时器、2KB 闪速存储器、128B RAM和基本时钟模块。 时钟的产生 DCO产生CPU时钟MCLK。实际上CPU和外围器件定时器/计数器异步运行。只要CPU能在下一个中断到达之前计算每个来自定时器/计数器的中断,RTC的精度就不受影响。 定时器/计数器的选择 外部接口 电路描述 图1 RTC的电路图 电流损耗 晶体的精度和选择 晶体的精度主要受下面两个因素影响:晶体的频率容限和指定的负载电容。 晶体的容限是很显而易见的。晶体频率的容限越小,RTC的精度越高。 晶体的指定负载电容也影响RTC的精度,晶体的负载电容是晶体所需电容的总和,而不是晶体所提供电容的总和,晶体需要适当的负载电容以便在指定的频率起振。所有的MSP430器件所用的32768Hz振荡器已经集成了额定电容值为12pF的负载。这就为晶体提供了全部12pF的负载,它意味着为了获取最佳的RTC精度,必须指定所连接的32768Hz的晶体使用12pF的负载电容。 在RTC容限要求更高的应用领域,可以使用一个更易调整的电容,在制造时进行调节。 更高级别的陶瓷(即NP0型)电容和聚酯软片电容较适用于定时应用领域,因为它们和通用陶瓷电容相比具有更少的介质损耗和更佳的温度系数。 可扩展型 除此之外,定时器A模块能提供斜率A/D转换、PWM输出和工作速率高达115200波特率的UART。看门狗定时器也能作为一个简单的定时器,并且通用I/O口和所有外围设备具有可扩展的中断能力。 软件设计 RTC的应用程序代码相当简单,包括一个初始化子程序、一个主循环、一个计算时、分、秒的时钟计数子程序和一个处理来自定时器A的1s中断的中断服务子程序。 初始化子程序可初始化MSP430的的不同部分。看门狗定时器被禁止,定时器A模块被配置为可连续从0数到32768,每次到达32768时便给出一个中断。基本时钟模块也被设置。 主循环是一个无穷循环,每当定时器A发出一个中断时,它便调用时钟计数子程序,否则将CPU置于休眠方式。当CPU休眠时,定时器A继续计数。 定时器A中断服务程序(ISR)处理状态寄存器(SR)位,该位在进入ISR之前被压入堆栈。这可使CPU在刚从ISR返回时处于有效方式,而不是休眠方式。ISR也可清零定时器A中断标志。 时钟计数子程序将每一个定时器A中断计为1秒。 源程序
结语 整个系统结构简单,可扩展性强,成本低(一片'F111才10多元),另外系统在大多数时间都处于低功耗模式。因此,在无人值守的情况和恶劣环境下适合采用本系统实现实时时钟,而无须考虑供电问题。 参考文献 无锡江阴单片机开发仪表维修 联系人:张先生 联系电话:15995237317 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||