基于DS1302与DSP的实时钟解决方案

电子说

1.2w人已加入

描述

嵌入式设备多工作于实时环境,所以需要时钟系统用以记录事件发生的时刻,并及时将采集的数据和事件发生时问通知上位机,以便于及时采取相应应急措施,所以时钟芯片对嵌入式设备是必不可少的。本文分析了串行时钟芯片DS1302与数字信号处理器的硬件接口,并介绍了TMS320F2812通过模拟时序的方法实现对DS1302的读写,该方法可应用于其它串行器件与DSP的接口程序设计中。

1.DS1302介绍

DS1302是一种高性能低功耗,带RAM的串行实时钟芯片。具有接El线数少、体积小、有掉电保护功能、结果紧凑等优点。由于接口简单操作方便所以容易与微控制、DSP接El,还可以存储一些重要参数。

1.1主要功能介绍

1)实时时钟,可对秒、分、时、日、月一级带润年补偿的年进行计数;2)内部有高速数据RAM3lx8;3)最少引脚数的串行I/O(3线接口):4)宽电压工作范围2.5—5.5V;5)可用于时钟或RAM数据读写的单字节或多字节数据传送;6)TIL兼容;7)可选的慢速充电能力,具有主电源和箭份电源的双电源引脚,备份电源引脚可用作电池或超容量的电容的输入端,附加有高速暂存存储器。

1.2内部功能框图

DS1302的内部功能框图如图1所示:

DS1302

图1 DS1302内部功能框图

1.3引脚功能

DSI302的SO1C封装引脚排列如图2所示。引脚功能如下:Xl,X2引脚接32.768KHz晶振;GEN地;I/O数据输入输出;RST复位;SCLK串行时钟输入引脚;Vccl,vCC2电源引脚。

DS1302

图2 DS1302引脚排列

DS1302

对DS1302的每次操作必须以命令字节开始,命令字节结果如表1所示。位7必须是逻辑1,若该位是0,则禁止操作DSI302,位6为0时选择实时时钟/日历数据,位6为1时选择RAM数据,位5—1选择操作的寄存器,位0为1时进行读操作,为0时进行写操作。

2.DSI302与F2812的接线

2.1硬件连线

DS1302与F2812的硬件连线如图3所示。

DS1302

图3 F2812与DS1302的接线图

由于F2812为3.3V器件,为了接口电平的匹配DS1302的供电电压也必须为3.3V。所以DS1302的VCC2接3.3V,VCC1接3V电池。这样需要开启DS1302的慢速充电功能在开机时可对电池进行充电。

2.2软件读写是序

写保护寄存器的位7是写保护位。开始7位(位0—6)置为零。在对时钟或RAM进行写操作之前,位7必须为零。当它为高电平时,写保护位防止对任何其它寄存器进行写操作。

通过把RESET引脚驱动至高电平来启动的数据传送。数据输入时,在时钟的上升沿数据必须有效,而数据位在时钟的下降沿输出。如果RST输入为低电平,那么所有的数据传送中止且I/O引脚变为高阻抗状态。上电时,在VCC≥2.5伏之前,RST必须为逻辑0。此外,当把RST驱动至逻辑1的状态时,SCLK必须为逻辑0。输入读命令字节8个时钟周期之后,在后面8个时钟周期的下降沿数据被送出,第一个数据位被送出发生在写命令字节最后一位的第一个下降沿;输入写命令字节8个时钟周期之后,在后面8个时钟周期的上升沿输入数据,若有额外的周期DS1302不予理睬。时序图如图4所示。

DS1302

图4 DS1302的时序图

3.TMS320F2812引脚的设置

由于使用的是模拟时序的方法读写DSI302,所以TMS320F2812的相应引脚要设置成通用数字I/O方式,在这种方式下TMS320F2812提供了寄存器GPxSET(x代表某个I/O口)来设置每个I/O引脚信号,用GPxCLEAR寄存器来清除每个I/O信号。通过GPxDAT寄存器读写每个I/O引脚信号。GPxMUX寄存器为外设和I/O引脚设置寄存器。当把相应位设置为1时为外设引脚。设置为0时为I/O引脚。在下面的读写示例中引脚设置如下:

DS1302

DS1302

DS1302

结束语

本文总结了串行时钟芯片DS1302与DSP的接口设计,总而言之串行时钟片DS1302价格低,体积小,采用3线接口,在嵌入式系统巾使用灵活方便,是一种比较好的实时钟解决方案。
责任编辑人:CC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分