嵌入式设备多工作于实时环境,所以需要时钟系统用以记录事件发生的时刻,并及时将采集的数据和事件发生时问通知上位机,以便于及时采取相应应急措施,所以时钟芯片对嵌入式设备是必不可少的。本文分析了串行时钟芯片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所示:
图1 DS1302内部功能框图
1.3引脚功能
DSI302的SO1C封装引脚排列如图2所示。引脚功能如下:Xl,X2引脚接32.768KHz晶振;GEN地;I/O数据输入输出;RST复位;SCLK串行时钟输入引脚;Vccl,vCC2电源引脚。
图2 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所示。
图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所示。
图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与DSP的接口设计,总而言之串行时钟片DS1302价格低,体积小,采用3线接口,在嵌入式系统巾使用灵活方便,是一种比较好的实时钟解决方案。
责任编辑人:CC
-
dsp
+关注
关注
552文章
7961浏览量
348091 -
DS1302
+关注
关注
8文章
449浏览量
50593
发布评论请先 登录
相关推荐
评论