找回密码
 立即注册
查看: 1436|回复: 0

[VF-P22K176]紫光同创PGL22G开发板LED驱动显示实验

[复制链接]

6

主题

2

回帖

58

积分

管理员

积分
58
发表于 2024-3-9 23:15:52 | 显示全部楼层 |阅读模式
首先第一个工程,为99.9%FPGA板卡的LED驱动程序

常规的多颗LED灯控制采用多个IO口直接驱动,如上图所示,比较占用IO资源,在FPGA IO 资源有限的情况下,可采用 74HC595 作为串转并的
电路实现。通过74HC595串转并IC的驱动,实现了3线驱动8个LED的电路。电路如下图所示

74HC595 内部为串转并的电路,查看手册,可以得到内部的逻辑电路图,如下所示:

如上图所示,74HC595 的内部结构图。这是一个纯数字电路,类似的电路
我们完全可以用 FPGA 设计出来,使用 FPGA 来做 IC 设计与此类似,总之自从有了FPGA,现场可编程逻辑电路,我们的设计开始变得更加灵活。结构图中所有输入输出信号都通过反相器进行信号的驱动能力增强,当然 FPGA没啥必要了。反相器 2 次反相可以直接忽略,信号电平最终不变。其实最要包括以下 7个信号:


当 74HC595 的寄存器复位后,移位输入 8 个数据,并且数据输入在时钟上升沿有效;而数据的输出通过锁存信号锁存输出。这里我们需要特别关心的是74HC595 的串行时钟最快能过达到多少速率。不然FPGA主时钟为 50MHz,如果输出时钟过高,会导致数据接受失败,或者错位等。查看手册 Page 3,74HC595给出了如下表格:


74HC595 支持我们系统 2-6V 的宽电压供电,FPGA系统在采用了3.3V 电源供电,这与手册 3.0V 较近。74HC595 的移位时钟当温度越高时,额定速率越慢。而我们一般在室温下操作,因此根据手册,这个时候最大时钟在15MHz 左右,了解这一参数,对于 74HC595 的驱动至关重要。
基于Verilog的74HC595驱动LED灯的工程如下
`timescale 1ns/1ns

module LED_Display_Design
(
        //global clock
        input                                clk,
        input                                rst_n,
//74595 led interface
        output                                led595_dout,        //74hc595 serial data input        
        output                                led595_clk,                //74hc595 shift clock (rising edge)
        output                                led595_latch        //74hc595 latch clock (rising edge)
);
基于clk产生LED灯的8bit数据,74HC595实现多灯驱动显示视频请在微信公众号和视频号查看





本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|CrazyFPGA ( 粤ICP备2023025753号 )

GMT+8, 2024-5-13 07:09 , Processed in 0.053729 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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