基于LPC2131的实时时钟控制设计

发布者:TranquilVibes最新更新时间:2012-08-21 来源: 电子元器件应用 关键字:LPC2131  实时时钟  串口 手机看文章 扫描二维码
随时随地手机看文章
引言
    嵌入式技术是当前发展速度最快、应用最广、前景最好的信息技术领域之一。目前,社会上嵌入式系统人才短缺的现状给各大高校带来了契机,很多高校的电子信息工程专业都开设了相关的嵌入式课程。嵌入式系统主要由两部分组成:一是硬件,二是软件。本设计是基于32位ARM7TDMI-S核的LPC2131微控制器,内部带有独立电源和时钟源的实时时钟,在节电模式下极大地降低了功耗。通过硬件和软件的结合操作,实现了对内部各个时间寄存器的秒、分、小时、日、月、年和星期的控制,能够将采集到各个时间数据通过串口发送到上位机上,达到实时系统的显示功能。此设计便于形成专用的时钟控制的嵌入式装置,也能够嵌入到各种智能化应用系统中。

1 系统工作原理
    该系统主要基于LPC2131为核心的主控电路,由JTAG下载模块、外部时钟源模块、ARM7微控制器模块、串口通信模块(RS-232)等电路组成。LPC2131微控制器内部带有实时时钟模块,可以由外部独立的时钟振荡器来提供时钟源或由基于内部VPB时钟的可编程预分频器来提供时钟源,达到对时钟寄存器秒、分、小时、日、月、年和星期的控制。同时将控制的数据通过串口与PC机通信,来实现结果,将数据显示在PC机上。
1.1 实时时钟内部结构介绍
    LPC2131内部实时时钟结构框图如图1所示。实时时钟包含混合寄存器、时间寄存器、时间计数器、报警寄存器和预分频器等。其中,混合寄存器包括:中断位置寄存器(ILR)、时钟节拍计数器(CTC)、时钟控制寄存器(CCR)、计数器递增中断寄存器(CIIR)、报警屏蔽寄存器(A-MR);时间计数器包括:秒寄存器(SEC)、分寄存器(MIN)、小时寄存器(HOUR)、日期寄存器(DOM)、星期寄存器(DOW)、年寄存器(DOY)、月寄存器(MONTH)、年寄存器(YEAR);时间寄存器组包括:完整时间寄存器0(CTIME0)、完整时间寄存器1(CTIME1)、完整时间寄存器2(CTIME2);报警寄存器包括:秒报警值(ALSEC)、分报警值(ALMIN)、小时报警值(ALHOUR)、日期报警值(ALDOM)、星期报警值(ALDOW)、月报警值(ALM-ON)、年报警值(ALYEAR);预分频器包括:预分频值整数部分(PREINT)、预分频值小数部分(PREFRAC)。

a.jpg


1.2 实时时钟的基本操作
    首先,设置时钟控制寄存器(CCR)可以选择RTC的计数时钟,可以由外部振荡器32.768 kHz提供或内部Fpclk分频得到。当使用Fpclk作为时钟源时,它的基准时钟分频器允许调节任何频率高于65.536 kHz的外设时钟源产生一个32.768 kHz的基准时钟,实现准确计时操作。
    其次,如果CCR选择内部时钟源,则设置RTC基准时钟分频器(PREINT、PREFRAC),如果选择外部32.768kHz就不必设置预分频寄存器的值,预分频寄存器值的计数如下:
    b.jpg
    接着初始化实时时钟(RTC)的各个时钟值,如YEAR、MONTH、DOM等,报警中断设置,如CIIR、AMR等,然后启动RTC,即CCR的CLKEN位置位,读取完整的时间寄存器值。在此过程中时钟节拍计数器(CTC)是一个15位计数器,每秒计数32 768个时钟,当有CTC秒进位时,完整时间CTIME0~CTIME2、RTC时间寄存器(如SEC、MIN)将会更新。实时时钟中断有两种:一种增量中断,由CIIR控制;另一种为报警中断。本设计使用的是增量中断。
    最后将串口初始化,设置串口的波特率、数据位、停止位、校验位等,将串口与上位机连接,将串口采集到的时间寄存器变化的时间值发送到上位机上显示,得到对实时时钟的控制结果。[page]

1.3 寄存器的功能介绍
    时钟控制寄存器(CCR)是一个5位寄存器,控制时钟电路的分频操作。计数器增量中断寄存器(CIIR):可以使计数器每次增加时产生一次中断,在中断位置寄存器的位0(ILR[0])写入1之前,该中断一直保持有效。完整时间寄存器0(CTIME0)和完整时间寄存器1(CTIME1):
CTIME0包括秒、分、小时、和星期,CTIME1包括日期、月和年。具体寄存器描述略——编者注。
    预分频整数寄存器(PREINT):预分频的整数部分。预分频整数部分计算如下:
    c.jpg
    预分频小数寄存器(PREFRAC):预分频的小数部分。预分频小数部分计算如下:
    d.jpg

2 系统硬件设计
2.1 系统的硬件结构
    该系统对ARM7微控制器LPC2131的实时时钟模块的各个寄存器控制,来达到对时钟的精确控制。该系统的硬件结构图,如图2所示。包括复位电路模块、JTAG下载模块、通信模块(RS-232)、ARM7微控制器模块及外部振荡电路模块。


2.2 系统的硬件原理图
    复位电路如图3所示,采用复位芯片SP708S,可以大大提高MCU的复位性能。通过确定的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又防MCU在电源启动和关闭期间的误操作,保证数据安全。用阻容复位稳定性差,常常有按了复位键没反应,要按一段时间才能复位的经历,容易复位不成功。


    JTAG下载电路如图4所示,采用20引脚的JTAG口,使用下载工具J-LINK,由软件MDK将从PC机通过J-LINK,下载到LPC2131里。

g.jpg

[page]

    串口通信电路如图5所示,采用串口芯片MAX3232,将MAX3232与LPC2131连接起来,实现上位机与下位机数据通信。

h.jpg


    ARM7微控制器模块及外部振荡电路的系统时钟源晶振为11.059 2 MHz,实时时钟的晶振为32.768 kHz。电路图略——编者注。

3 系统软件设计
3.1 程序流程
    本系统采用了高级语言C编写LPC2131程序,本程序主要完成对实时时钟RTC的各个时间寄存器的设定、显示以及对串口0的初始化设定。然后通过CPU采集实时时钟的各个时间寄存器变化的数据,经串口连接到上位机,在上位机上显示出时间来。程序流程如图6所示。

i.jpg


3.2 控制程序
    根据程序流程,可将程序分为三大部分:第一部分,对串口的初始化及串口发送数据的函数初始化。第二部分,对实时时钟的初始化,来设置基准时钟、时、分、秒等各个寄存器,将采集到的数据通过终端显示出来。第三部分,主函数部分,将秒增量中断标志置位、清楚RTC中断,而后循环地将时间在串口调试助手上显示。
j.jpg

[page]

k.jpg

4 实验结果
    将以上程序在MDK中运行,下载到LPC2131中,将串口与PC机连接,设置好串口调试助手,波特率9 600bps,数据位8位,1个停止位,无校验位。得到时间结果。

结语
    本文介绍了基于ARM7TDMI-S核的芯片LPC2131和内部的实时时钟(RTC)的工作原理,设计了基于实时时钟与LPC2131的串行通信的采样系统,将时间显示在上位机上。这种时钟控制系统在现代生产、生活中应用广泛。在实际应用中,只需根据本文的基本思想进行适当的移植,即可设计成专用的时钟控制的嵌入式装置,并嵌入到各种智能化应用系统中。
关键字:LPC2131  实时时钟  串口 引用地址:基于LPC2131的实时时钟控制设计

上一篇:基于LPC2214和uC/OS-II的音频处理方案及电路说明
下一篇:基于LPC2220低压无功补偿控制器设计

推荐阅读最新更新时间:2024-03-16 13:06

ARM系统代码固化的串口实现方法
  早期的嵌入式程序采用“编程—烧写—修改—烧写”的开发模式,大量的时间消耗在重复烧写芯片上,增加了开发成本和研发周期。之后发展到仿真器阶段,虽然简化了开发模式,但是由于仿真器与ARM芯片的兼容性等因素,经常会发生程序在仿真器上能正确运行,但是固化之后运行却出现问题的情况。   程序的固化是软件开发过程中重要的一环,一般可通过JATG口、网口及串口等进行烧写。相比之下,串口实现更为便捷,更值得推广。笔者在开发1C1T小灵通中继站的过程中,通过编制烧写程序,利用串口将编译后的目标代码发送给ARM处理器;由ARM处理器内部的监控程序将目标代码写入片外Flash,实现程序的在线烧写。这样不仅简化了电路设计,而且降低了开发成本,缩短了开
[单片机]
ARM系统代码固化的<font color='red'>串口</font>实现方法
【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 知识概括: 通过本篇博客您将学到: DMA工作原理 STM32CubeMX创建DMA例程 HAL库定时器DMA函数库 注意:关于cubemx的DMA配置,在DMA原理介绍中全部都有所讲解,如果有哪里不懂,请仔细阅读原理详解部分。 DMA的基本介绍 什么是DMA (DM
[单片机]
【STM32】HAL库 STM32CubeMX教程十一---DMA (<font color='red'>串口</font>DMA发送接收)
单片机实现串口协议的网络化
   本文深入研究了使用单片机控制网卡,接入以太网Ethernet,即IEEE802.3协议网络,实现串口仪器的网络化。   1 硬件结构和电路设计   1.1 总体设计   整个系统设计采用ATMEL公司8位通用微控制器AT89C51作为主处理器,驱动REALTEK公司的10M以太网控制芯片RTL8019AS,实现串口数据和外部网络互连。   1.2 网卡接线设计   RTL8019AS为100管脚PQFP封装,工作电压5V。其接线原理图如图1所示。地址SA0-4接到单片机P2的低五位上;SA8和SA9接电源;其余SA5-7,SA10-19这13个管脚全部接地;IORB和IOWB分别接单片机的
[单片机]
单片机实现<font color='red'>串口</font>协议的网络化
第45节:主机的串口收发综合程序框架
开场白: 在大部分的项目中,串口都需要 一收一应答 的握手协议,主机先发一串数据,从机收到数据后进行校验判断,如果校验正确则返回正确应答指令,如果校验错误则返回错误应答指令,主机收到应答指令后,如果发现是正确应答指令则继续发送其它的新数据,如果发现是错误应答指令,或者超时没有接收到任何应答指令,则继续重发,如果连续重发三次都是错误应答或者无应答,主机就进行报错处理。 上一节已经讲了从机,这节就讲主机的收发端程序实例。要教会大家四个知识点: 第一个:为了保证串口中断接收的数据不丢失,在初始化时必须设置IP= 0x10,相当于把串口中断设置为最高优先级,这个时候,串口中断可以打断任何其他的中断服务函数,实现中断嵌套。 第二个:
[单片机]
MSP430单片机之RTC-实时时钟
  RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程的闹钟。RTC模块支持中断。相关寄存器请参阅430系列单片机user's guide(我用的是5438A)。   1.计数器模式   实时时钟控制器寄存器1 RTCMODE位被重置时,计数器模式被选择,通过软件设置可以得到一个32位的计数器。从时钟模式切换到计数器模式是通过重置计数值:RTCNT1、RTCNT2、RTCNT3、RTCNT4 和 预换算计数器:RT0PS、RT1PS。   计数器的增量计数器来
[单片机]
STM32-ucosii中的串口中断
C/OS中,中断服务子程序要用汇编语言来写。然而,如果用户使用的C语言编译器支持在线汇编语言的话,用户可以直接将中断服务子程序代码放在C语言的程序文件中。 再看《M3权威指南》2.11.2节与9.11节中讲到Cortex-M3在进入异常时自动压栈。。。。返回时自动出栈,再也不需要汇编语言编写了。也就是说我们可以使用C语言来编写中断服务程序。并且省去了上面程序清单的(1)(5)(6). 其实ucos中的终端和裸奔的中断写法基本一致,只是加了几条语句,如下为串口中断的写法: void USART1_IRQHandler(void) { uint8_t RxData; OS_CPU_SR cpu_sr;
[单片机]
labview串口数据解析
一、LabviewRS232串口通信数据格式问题解析 1)最近在开发一款Labview串口通信软件,功能是实现PC与sony摄像机云台的数据通信。主要是通过PC发送16进制指令控制云台的转动,方便做一些测试。 遇到的问题:一开始没注意格式问题,只是纯粹的将16进制数据放入VISAWRITE函数的写入缓冲区。但是忽略了一个问题,就是Labview软件中的程序无论是接收还是发送数据都是字符串的格式,所以遇到其他格式通信的时候需要做相关转换操作 如果这些数据是静态的,也就说在程序设计阶段要传输的数据就已经确定了,在这种情况下,首先设置VISAWrite的writebuffer的显示属性为HexDisplay,然后直接输入要发送的
[测试测量]
labview<font color='red'>串口</font>数据解析
利用单片机串口实现与PC机的并行通信
引 言 单片机作为嵌入式系统的一种,已在自动化控制以及家电产品等领域得到了广泛的应用。常见的单片机系统都具备一个串行口(如80C51系列),有的还具备了两个串行口(如DS80C320系列)甚至多个串行口。随着单片机技术的成熟,单片机异步串行通信已经广泛应用于点对点通信以及单片机对PC机的通信中。 串行通信虽然有其自身优点:如适合长距离通信,有一定的纠错能力等,但并行通信在短距离(数米范围内)传输过程中的优点是显而易见的。首先串行通信时要设置串口数据,如:串口号(Com1、Com2或者其他串口)、波特率、数据位数、停止位、校验位等等。而且单片机与PC机的串口数据必须一一对等,否则不能传输。而并行传输时,无需上述过程。其次,P
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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