首页 > 其他分享 >基于FPGA的多功能数字钟设计

基于FPGA的多功能数字钟设计

时间:2025-01-14 23:33:15浏览次数:3  
标签:LED 模块 FPGA 数字钟 短按 多功能 数码管 闹钟 按键

基于FPGA的多功能数字钟设计

前言

本工程主要是数码管、按键、LED的应用开发。

注:本工程所有IP均使用源码开发。

基础知识

按键

按键作为基本的人机输入接口,在很多电子设计中都能见到。由于机械特性,在按键按下或松开的时候,按键输入值是有抖动的,无论按下去是多平稳,都难以消除抖动。
在这里插入图片描述

本设计通过 FPGA 计时来消抖。当按键输入有变化时,计时器清零,否则就累加,直到加到一个预定值(例如10ms),就认为按键稳定,输出按键值,这样就得到一个没有抖动的按键值。

由于在很多地方需要用到按键下降沿或上升沿的检测,所以按键模块也集成了上升沿和下降沿检测的功能。

数码管

分为共阳极数码管和共阴极数码管。

  • 共阳极数码管:将8个LED的正极连接在一起接入高电平,将需要点亮的LED的引脚给低电平即可

在这里插入图片描述

  • 共阴极数码管:将8个LED的负极连接在一起接入低电平,将需要点亮的LED的引脚给高电平即可

在这里插入图片描述

通过给 a,b,c,d,e,f,g,dp 各个脚加上不同的控制电压可以使不同的 LED 灯导通、发光,从而显示 0~9 各个数字和 A,B,C,D,E,F 各个字母,因此数码管可以用来显示二进制数、十进制数、十六进制数,如下图所示:

在这里插入图片描述

系统概述

系统框图如下图所示:

在这里插入图片描述

系统在 Xilinx XC7A35T-2FGG484I FPGA 上开发,使用共阳极数码管进行显示。多功能数字钟功能如下:

  1. 时钟功能
    • 显示时、分、秒,默认12:00:00
    • 可通过按键更改时间
    • 整点报时:整点报时音为缓慢的 “滴滴滴” 音,响声延续5s
  2. 闹钟功能
    • 可设定闹钟的时、分、秒
    • 闹钟提醒:闹铃音为急促的 “滴滴滴” 音,响声延续5s
    • 按键开启/禁用闹钟功能,并通过 LED 显示闹钟功能开启(LED亮)或禁用(LED灭)状态
  3. 秒表功能
    • 可实现一小时以内精确至百分之一秒的计时
    • 复位功能
    • 暂停功能
  4. 计时器功能
    • 可设定计时器的时、分、秒
    • 暂停、重新计时功能
    • 计时提醒:计时到0时,产生连续5s的 “滴滴滴”音

按键使用说明

button1

  • 显示模式下:短按切换功能显示,长按进入编辑模式
  • 编辑模式下:短按切换编辑项

button2

  • 显示模式下:

    • 闹钟显示下,短按开启/禁用闹钟功能
    • 计时器显示下,短按开始/暂停计时
    • 秒表显示下,短按开始/暂停计时
  • 编辑模式下:短按每次加1

button3

  • 显示模式下:

    • 秒表显示下,短按复位
  • 编辑模式下:短按每次加10

button4

  • 显示模式下:无操作
  • 编辑模式下:短按确认修改并退出编辑模式

模块描述

  • button_debounce:按键消抖模块, 支持消抖时间配置、支持按键上升沿和下降沿检测;

  • button_controller:按键控制模块, 生成短按/长按指示信号;

  • clock_controller:多功能时钟控制模块, 支持时钟、闹钟、秒表、计时器的功能.;

  • digital_tube:数码管驱动模块,支持刷新频率配置、支持共阴极/共阳极数码管类型选择、数码管个数配置。

模块设计

button_debounce

在这里插入图片描述

button_controller

在这里插入图片描述

clock_controller

在这里插入图片描述

digital_tube

在这里插入图片描述

整体资源用量

在这里插入图片描述

测试视频

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="ehJcYuOV-1736783601218" src="https://live.csdn.net/v/embed/443190"></iframe>

基于FPGA的多功能数字钟设计

标签:LED,模块,FPGA,数字钟,短按,多功能,数码管,闹钟,按键
From: https://blog.csdn.net/qq_38695100/article/details/145126510

相关文章

  • FPGA 通过 Verilog 读取图片
    FPGA通过Verilog读取图片介绍FPGA通常用于处理实时图像数据,如从摄像头或其他传感器获取视频流。然而,在某些应用场景中,需要从存储设备(如ROM、SD卡或外部存储)加载静态图片进行处理。使用Verilog在FPGA上实现这一过程,可以为后续的图像处理算法(如滤波、边缘检测等)奠......
  • 宇航用VIRTEX5系列FPGA的动态刷新方法及实现
    SRAM型FPGA在宇航领域有广泛的应用,为解决FPGA在空间环境中的单粒子翻转问题,增强设计的可靠性,本文介绍一种低成本的抗辐照解决方案。该方案从外置高可靠存储器中读取配置数据,通过定时刷新结合三模冗余的方式消除单粒子影响,提高系统的鲁棒性。    1.总体设计    ......
  • 【经典JESD204B ADC采集示例】基于FPGA的JESD204B ADC数据采集驱动源码(以AD9689为例)
    一、基础信息Ad9689是双通道ADC,分辨率14bit,最高采样率2Gsps/2.6Gsps;采用JESD204Bsubclass1协议,共8lanes串行接口输出;框图如下:在不同采样率下,不同输入频点的SFDR和SNR典型值:内部有可编程FIR滤波器,4个DDC:每个DDC包含一个48bitNCO实现混频,以及可编程的抽取速率;如此可......
  • FPGA的 基本结构(Xilinx 公司Virtex-II 系列FPGA )
    以Xilinx公司Virtex-II系列FPGA为例,其基本结构由下图所示。它是主要由两大部分组成:可编程输入/输出(ProgrammableI/Os)部分和内部可配置(ConfigurableLogic)部分。可编程输入/输出(I/Os)部分主要提供芯片与外界电路的交互接口,完成不同电气特性下对输入输出信号驱动与匹配的要......
  • 电机控制的数字化升级:基于DSP和FPGA的仿真与实现
    ​数字信号处理器(DSP,DigitalSignalProcessor)在工业自动化领域的应用日益广泛。DSP是一种专门用于将模拟信号转换成数字信号并进行处理的技术,能够实现信号的数字滤波、重构、调制和解调等多项功能,确保信号处理的精确性和稳定性。特别是在电机控制系统中,DSP的应用尤为关键,它能够精......
  • 【硬件测试】基于FPGA的16psk调制解调系统开发与硬件片内测试,包含信道模块,误码统计
    1.算法仿真效果本文是之前写的文章: <<基于FPGA的16PSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR-CSDN博客>> 的硬件测试版本。 在系统在仿真版本基础上增加了ila在线数据采集模块,vio在线SNR设置模块,数据源模块。硬件ila测试结果如下:(完......
  • 米尔安路DR1M90核心板重磅发布!国产FPGA SoC芯选择
    在边缘智能、物联网、5G通信和自动驾驶等技术的快速发展下,FPGA市场需求呈现爆发式增长。国产FPGA也在这场技术浪潮中崭露头角,吸引了广大行业人士的关注。今天,米尔电子基于安路科技最新一代国产工业级FPGAFPSoC——发布MYC-YM90X SOM模组及评估套件。该产品采用安路飞龙DR1M90,95......
  • CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA傻傻分不清楚?一文讲清它们的区别
    前言在电子领域中,我们经常提到CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA等,它们都是常见的芯片或处理器类型,但是却在结构、功能和应用场景上存在着显著的差异。有些朋友可能不太能区分,今天我们就来依次介绍一下。一、定义与功能1、CPU(CentralProcessingUnit,中央处理器)定义:是......
  • 基于FPGA的直接数字频率合成器verilog实现,包含testbench
    1.算法运行效果图预览(完整程序运行后无水印)  2.算法运行软件版本vivado2019.2 3.部分核心程序(完整版代码包含详细中文注释和操作步骤视频)//sin,cos相位累加器的控制always@(posedgei_clk)//时钟上边沿触发beginif(i_rst)//系统复位 begin o_sin_......
  • 基于FPGA的SVM支持向量机二分类系统实现之Verilog编程设计
    实现基于FPGA的SVM(支持向量机)二分类系统是一项复杂而有前景的任务,尤其是在需要快速决策和低功耗的场景中。以下是对此主题的详细介绍。1.简介支持向量机(SVM)是一种常用于分类和回归分析的监督学习模型。通过使用核函数,SVM可以有效地处理线性不可分问题。在FPGA上实现SVM二......