找回密码
 注册
关于网站域名变更的通知
查看: 117|回复: 2
打印 上一主题 下一主题

基于PCF8563的数字钟FPGA设计与实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-18 09:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 dragongfly 于 2022-8-18 09:27 编辑
/ |2 g, K% {% ~9 c( B7 p: i( j+ ~9 B1 s; x0 @2 r  Q* }# X
摘要:针对基于时钟芯片的数字钟系统进行了研究,采用FPGA作为主控芯片通过TC总线实现对实时时钟芯片 PCF8563 的读写控制,实现了时钟/日历切换显示,对时钟/日历手动调校;在调校状态下,实现了数据移位时数码管闪烁指示功能;给出了系统设计以及 FPGA各模块详细设计,通过SignalTap 逻辑分析仪。验证了系统功能实现的技术可行性,并在开发板 上完成调试,对FPGA开发人员有一定的借鉴意义。
/ B! s  f9 K9 I% C现场可编程门阵列(field一 programmable gate array,FPGA)的飞速发展,在工业控制、电子计量、便携仪器、数字通信、人工智能等各个领域得到广泛应用。Verilog HDL(Verilog hard design language)作为目前主流的硬件描述语言得到了 FPGA 工程师的青睐。目前数字钟多应用于仪器仪表、电子计量、实时控制系统中。实时时钟芯片PCF8563在数字钟设计中应用也非常广泛,实质是一个对标准频率计数的计数电路,通常由晶体振荡电路、分频电路、时间计数电路、译码驱动电路等组成。本文提出了一种基于实时时钟芯片 PCF8563 的数字钟的 FPGA设计实现思路,采用 Altera 公司的Cyclone IVE系列 FPGA芯片EP4CE10F17C8作为主控芯片,通过 Inter一Integrated Circuit(I'C)总线实现对实时时钟芯片 PCF8563的读写控制,通过4个按键分别完成时钟/日历切换、实时显示和手动调校切换、数据移位设置和数据累加设置功能,完成实时和调校模式下的六位数码管显示,并在调校模式下实现数码管闪烁指示功能。通过SignalTap 逻辑分析仪,验证了系统功能实现的技术可 行性,并在 正点原子开 拓者EP4CE10开发板上完成调试。2 L& }% E1 f* Q9 q9 _6 x; W5 `4 [

1 P! K: @' q$ [1、时钟芯片 PCF8563简介* N" A& z8 N7 f& y. w
PCF8563是飞利浦公司的一款具有极低功耗的工业级多功能CMOS实时时钟/日历芯片,工作电流为0.25 μA,具有时钟输出、报警、定时器以及中断输出功能,能完成各种复杂的定时服务,其内部功能如图1所示。4 ^. t4 e; g! c2 w+ t, x' k1 _
4 a2 ^1 l3 U$ }& Q' K
PCF8563内部包括 16个8 位寄存器、内置32.768 Hz 的振荡器、时钟监控、电源复位、分频器、可编程时钟输出、中断输出、看门狗电路以及IC总线接口。分频器给实时时钟 RTC提供源时钟,内存地址 00 H、01 H用作控制和状态寄存器,地址 02 H~08 H用作 TIME计时器,地址09 H~0 CH用于报警寄存器,地址0DH控制CLKOUT管脚的输出频率,地址 OEH和 0FH分别用于定时器控制寄存器和定时器寄存器,其中年月日时分秒寄存器均为 BCD 编码51。
& S7 {8 `6 }2 U5 O& m% `当一个 RTC寄存器被写入或读取时,所有时间计数器的内容将被冻结,可避免在进位条件下错误地写或读时钟和日历,因此所有访问必须在 1 s 内完成。开 机复位(POR)覆盖,POR 持续时间与晶体振荡器的启动时间直接相关,在上电复位后,应持续大于8 ms,再进行总线操作。PCF8563 的所有数据和地址均通过 TC总线接口串行传递,最大总线速度为 400 kbits/s,每次读写数据后,内嵌的地址寄存器会自动产生增量。5 X7 V" Z% j# ?8 R& A, G  S  W
PCF8563寄存器写时序过程如下∶先发送器件地址+写操作0,随后发8位寄存器地址,最后发8位寄存器值,S为起始信号,A为应答信号,P为停止信号。读时序过程如下∶先发7位地址+写操作0,然后发送寄存器地址,重新发送起始信号 Sr,再次发送7位地址十读操作1,读取寄存器值。
4 }2 e" m; A2 P* L
( M6 ?% v5 b7 h- q( t- Q) d2、数字钟系统设计# K) w9 i0 k# V/ x2 w
数字钟系统由晶振、电源模块、实时时钟芯片PCF8563、FPGA电路模块、按键模块以及数码管显示模块6部分组成。系统采用3.3V供电,晶振选择32.768kHz和50MHz两种,分别用于实时时钟芯片PCF8563工作的外部晶振和FPGA工作的基准时钟,FPGA采用Cyclone IVE系列EP4CE10F17C8芯片,时钟芯片PCF8563与FPGA通过TC总线实现双向通信,系统框图如图 2所示。
) {. ~  Y% z7 |" k 1 V0 j# ]4 `6 f7 @3 F; E
数字钟系统具体实现功能如下∶
3 v4 o+ p" j6 x1)实时时钟功能,能够完成常规时钟/日历的实时计数;
& t; L4 G" s, d$ L- J2)手动调校功能,能够手动设置年月日时分秒,数据按照相应约束条件进行循环累加和移位操作,完成时钟/日历的手动调校;3)数码管动态显示功能,能够在实时和调校模式下完成时钟/日历的数码管切换显示,并在调校模式下实现数码管在当前调整位置的闪烁指示功能。
2 m% N( V! L. K+ w+ Y$ \8 J2 B9 F0 Y
- f3 L7 V/ N* d: d3、FPGA 设计实现" ?2 c6 s. Z, b- Q8 o3 b6 p/ U
FPGA作为本设计的核心部件,按照自顶向下的设计流程,各模块功能通过Verilog 硬件描述语言实现,主要电路由按键消抖模块、键控时钟设置模块、实时时钟模块、TC驱动模块、数码管驱动模块5部分构成。7 U, h9 U" ?. U- k# R
3.1 按键消抖模块设计
- U/ O" C( c5 ?: P1 ^设计采用4个机械弹性按键,按下为低电平,弹起为高电平。由于机械按键开关在闭合和断开时均不会马上稳定,存在瞬间抖动,为解决不利影响,故采用按键消抖的方法,即当检测到按键状态改变且按键状态稳定后,计数器从 20 ms 开始倒计时,当计数器递减到1时,说明按键稳定状态维持了20 ms,此时按键消抖过程结束,通过寄存器寄存4个按键的状态值 key_ value 【3∶0】,分别表示按键0、1、2、3状态,并送入键控时钟设置模块。: g. c6 s" _: x9 G7 h5 C" j

1 e& C3 P4 M  [/ D

基于PCF8563的数字钟FPGA设计与实现.pdf

1.44 MB, 下载次数: 0, 下载积分: 威望 -5

该用户从未签到

2#
发表于 2022-8-18 10:11 | 只看该作者
不错啊受教了,看一看

该用户从未签到

3#
发表于 2022-8-18 14:09 | 只看该作者
看一看,学习学习。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 03:35 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表