系统设计中,我们需要实时时钟来完成项目时,往往会选择一个RTC芯片来完成,这样的RTC芯片,基本上都是一个4位的MCU,被固化程序进去,现在成本很低,人民币2、3毛钱就可以买到,在系统中使用时,考虑的是如何解决供电,对上位机的要求,主要是符合某种通信协议的串行通信口。
但是,如果我们在一个系统中,上位机和实时时钟功能外,还需要一些简单的逻辑控制或者什么的,往往不得不再弄一个MCU上去,系统就复杂,对通信的要求也麻烦。
这里我有一种解决方法,采用一个简单的、低功耗的4位或者8位MCU,利用简单的通信功能,同复杂的上位机沟通,同时完成系统中需要的一些简单逻辑,待机控制,电源管理,甚至加密等,采用32768Hz的工作频率,不在MCU中间进行分钟小时日月年历等的计算、也不传输日历信息,只是从通电开始,就对秒计数。
如果我们用双字来计数,最大可以记录:FFFFFFFh秒=136年
通过简单的接口(比如遥控中断类似的传输),在需要时钟时,将计数值传递给上位机。
上位机在设定时间时,将设定的即时时间同当时的计数值进行配对锁定,然后,任何时候需要时钟,仅仅将即时计数值同锁定值比较,就能通过简单的计算,得到当时的时间,计算出星期、年、月、日、小时、分钟、秒等,或者通过简单的查表,计算出农历等信息。
这样,我们就可以通过简单的方法,简单的结构,实现实时时钟,并且完成更加多的逻辑功能。
文章评论(0条评论)
登录后参与讨论