实时时钟芯片DS1302在DSP嵌入式系统中的应用
信息化研究
InformatizationResearch
V01.35No.1lNov.2009
实时时钟芯片DSl302在DSP嵌入式系统中的应用
马红星1,姜
黎2,高志军2
(1.海军驻合肥地区军事代表室,安徽省合肥市230031;2.中国电子科技集团公司第28研究所,江苏省南京市210007)
摘要:在许多嵌入式应用场合需要实时时钟的功能,通常DSP(数字信号处理器)芯片并不具备此功能,因此在实际使用过程中需要外扩实时时钟芯片来解决该问题。文中介绍了串行时钟芯片DSl302的功能以及在DSP嵌入式实时处理系统中的应用,给出了基于CPLD(复杂可编程逻辑器件)的控制器逻辑设计和DSP底层软件驱动编写的方法,指出了逻辑设计中需要注意的问题。实现一种分层、高效和可移植的嵌入式系统。经过长期的试验,实时时钟运行稳定准确,取得了良好的效果。
关键词:DSP;实时时钟;DSl302;CPLD中图分类号:TN911.72
2.5V一5.5
O引言
目前大多数嵌入式没备中都需要一定的内部定时系统,这样不但町以实时记录数据,而且能够向外界提
V。另外,如果选择了涓流充电功能,在正
常情况下,主电源还可以对电池备份电源进行慢速充电,有效延长了备份电池的使用寿命。
供带有时间信息的数据,供日后数据分析和榆索。有
些CPU芯片中集成了RTC(实时时钟)控制器,使用比较方便。然而有些芯片诸如DSP(数字信号处理器)不具备内部RTC功能,这样就需要在外部扩展RTC控制芯片来实现RTC功能。
在我们开发的基于1'I公司C5000系列的DSP嵌
2硬件接口设计和CPLD逻辑设计
在DSP嵌入式实时处理系统中,硬件组成的基本
框架是由DSP+CPLD(复杂町编程逻辑器件)构成。DSP通过总线访问CPLD内部的RTC控制寄存器,而由CPLD来实现低层访问RTC芯片的时序。2.1硬件接口电路设计
人式实时处理系统中,使用Dallas公司的串行时钟芯
片DSl302。通常对DSl302的控制都是由CPU产生模拟串行控制协议。这样CPU的软件开销较大、效率较低,而且不能提供精确的控制时序。本文设计了基于CPLD(复杂町编程逻辑器件)产生访问DSl302的串行控制时序,实现DSP对DSl302的读写控制。
1
硬件接口电路设计比较简单,需要CPLD提供3
根串行lO线与DSl302的SCLK、RST和I/0进行相连。晶体采用32.768kHz,备份电池采用可充电镍镉电池。接口电路如图1所示。
DSl302的基本功能
DSl302是美国Dallas公司推出的一款高性能、低
图1接口电路
2.2
功耗、具有内部RAM的串行RTC芯片,它不但能够提
供年、月、日、星期、时、分、秒的计数功能,而且自身具
有闰年补偿。DSl302内部具备31字节的RAM供用户自定义使用。通过外部的电池供电,可以在系统断电的情况下,仍然保证RTC的正常工作和用户数据的
CPLD逻辑设计
CPLD逻辑框图如图2所示。
完整性。DSl302具有两路电源供电通道:主电源通道
以及电池备份电源通道。当主电源大于电池备份电源
0.2
V左右,由主电源对芯片提供工作电压,否则由电
图2
池备份电源供电。芯片的工作电压范围较宽,可达到
收稿日期:2009-07-28;修回日期:2009-09.11。
48
CPLD逻辑框图
万方数据
第35卷第11期马红星,等:实时时钟芯片DSl302在DSP嵌入式系统中的应用
技术应用
CPLD内部实现了RTC芯片的控制功能,它采用分层结构设计,由总线接口模块、分频模块、控制器状态机模块和串行时序产生模块组成。
1)总线接口模块
总线接口模块实现DSP总线访问RTC控制器的
2个寄存器(命令寄存器和数据寄存器),另外还产生
状态机翻转的触发信号;命令寄存器用于暂存写入
DSl302的命令字,数据寄存器用于暂存写入、读出DSl302的数据。
2)分频模块
分频模块用于对高频时钟进行分频,产生满足
DSl302串行时序要求的控制信号。
3)控制状态机模块
控制状态机模块是整个控制器的核心模块,用来
产生读、写移位操作的状态转换。状态机由空闲状态、
开始启动状态、写命令字状态、写数据状态和读数据状
态组成,如图3所示。当DSP通过总线访问RTC控制器时,状态机开始启动一次状态翻转。首先将命令字写入DSl302,然后通过判断命令寄存器的最低位来判断是一次写操作还是读操作,最后将数据写入或读出DSl302芯片。状态机最后回到空闲状态结束一次操作。
图3状态转换
4)串行时序产生模块
串行时序产生模块实现DSl302底层物理层通
信。这哩完成了单字书读操作和单字{了写操作。这2
种操作都足在状态机的控制下严格产生的,满足DSl302时序要求。特别要注意的是,写操作足时钟下降沿写人数据,而读操作是时钟上升沿读出数据,这里采用状态机控制可以很好地解决不同操作使用不同时钟沿的问题。
a)单字节读操作。一次单字节读操作由16个时
钟组成,前8个时钟向DSl302发送命令字节,后8个时钟从DSl302读取指定的数据。命令字节由读/写
位、地址位、时钟/命令位组成,作为写操作谢写位为
采样,CPLD读数据的时候足上升沿采样。移位的次
万
方数据序是从低位在前,高位在后的顺序。
SINGLEBYTEREAD
—RSTT广—————————————————]….J
L-
。cLK门门门门门门门凡RRRRRRR
I/O
q匝巫丑回区巫巫皿o℃K×>oo—Cn
图4单字节读操作时序
b)单字节写操作。一次单字节写操作也是由16个时钟组成,前8个时钟向DSl302发送命令字节,后8个时钟向DSl302指定的位置写人数据。命令字节由读/写位、地址位、时钟/命令位组成,作为写操作读/写位为1。从时序卜看,如图5所示,CPLD写命令和
写数据都在时钟下降沿采样。移位的次序是从低位在前,高位在后的顺序。
sINGLEByTEWR兀E
面j_————————————1
鲫K门门门们门门门月门门门门门门门门
1/19
图5单字节写操作时序
CPLD内部控制器逻辑为DSP控制DSl302提供
了一个非常方便的通用接口平台。访问DSl302内部年、月、日、星期、时、分、秒寄存器和内部RAM地址可以通过写人不同的命令字来实现。
命令字的格式如图6所示。每个位的定义如下:命令字节的最高位bit7必须是“1”,否则禁止对
DSl302进行操作。第6位是时钟/日历或者RAM选
择位,当它为“0”时表示对时钟/日历进行操作,反之
表示对RAM进行操作;第5位到第1位这5位表示操
示多字节突发式读、写方式。在本文没计的通用模式 …… 此处隐藏:3585字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度