EDN首页   博客首页

日志档案

发表于 2007-3-14 21:53:16

1

标签: 无标签

一种简单的实时时钟解决方法

    系统设计中,我们需要实时时钟来完成项目时,往往会选择一个RTC芯片来完成,这样的RTC芯片,基本上都是一个4位的MCU,被固化程序进去,现在成本很低,人民币2、3毛钱就可以买到,在系统中使用时,考虑的是如何解决供电,对上位机的要求,主要是符合某种通信协议的串行通信口。

    但是,如果我们在一个系统中,上位机和实时时钟功能外,还需要一些简单的逻辑控制或者什么的,往往不得不再弄一个MCU上去,系统就复杂,对通信的要求也麻烦。

    这里我有一种解决方法,采用一个简单的、低功耗的4位或者8位MCU,利用简单的通信功能,同复杂的上位机沟通,同时完成系统中需要的一些简单逻辑,待机控制,电源管理,甚至加密等,采用32768Hz的工作频率,不在MCU中间进行分钟小时日月年历等的计算、也不传输日历信息,只是从通电开始,就对秒计数。

    如果我们用双字来计数,最大可以记录:FFFFFFFh秒=136年

    通过简单的接口(比如遥控中断类似的传输),在需要时钟时,将计数值传递给上位机。

    上位机在设定时间时,将设定的即时时间同当时的计数值进行配对锁定,然后,任何时候需要时钟,仅仅将即时计数值同锁定值比较,就能通过简单的计算,得到当时的时间,计算出星期、年、月、日、小时、分钟、秒等,或者通过简单的查表,计算出农历等信息。

    这样,我们就可以通过简单的方法,简单的结构,实现实时时钟,并且完成更加多的逻辑功能。

系统分类: 消费电子   |   用户分类: 我的文字   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(833)    回复(1)  

投一票您将和博主都有获奖机会!

最新评论

  • VK

    2007-3-14 23:06:43

    软件上,用32位的各种处理器来计算都是非常简洁的,如果仅仅计算公历,公式就可以完成;如果计算农历,采用一些简单的编码进行查表,做30年/50年/100年的日历,应该也不需要多少的资源,不要节气,就将每个月的起止建表,占用内存也不会多,运算量也是极小的。加上节气,表就复杂一些而已。