合金电阻,赛普欢迎您!

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

首页 > 资讯

嵌入式设备大部分工作在实时环境中,因此需要一个时钟系统来记录事件的时间,并及时将所收集的数据和事件的时间通知主机,以便可以采取相应的应急措施。

由于要及时处理,因此时钟芯片对于嵌入式设备非常重要,必不可少。

本文分析了串行时钟芯片DS1302与数字信号处理器之间的硬件接口,并介绍了TMS320F2812通过模拟定时的方法来实现DS1302的读写。

该方法可以应用于其他串行设备和DSP的接口程序设计。

1. DS1302简介DS1302是具有RAM的高性能,低功耗,串行实时时钟芯片。

它具有连接的El线数量少,尺寸小,断电保护功能和紧凑的优点。

由于该界面简单易用,因此易于连接至微控制器和DSP,并且还可以存储一些重要参数。

1.1主要功能介绍1.2内部功能框图DS1302的内部功能框图如图1所示:图1 DS1302内部功能框图1.3引脚功能DSI302的SO1C封装引脚排列如图2所示。

引脚功能如下:如下:X1,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位。

0,被写入。

2. DSI302和F2812的接线2.1硬件接线图3显示了DS1302和F2812的硬件接线。

图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线接口,并用于嵌入式系统。

灵活方便,它是一种更好的实时时钟解决方案。

cache
打开客服菜单