呼吸灯设计

AI summary
呼吸灯设计涉及LED亮度调节,通过物理方法和PWM(脉冲宽度调制)实现。设计需求为使用ZX-1板卡实现4秒周期的呼吸灯功能,测试结果符合设计要求。文中还讨论了设计过程、测试方法及后续练习,包括闪光灯和呼吸灯功能的实现分析。
Last edited time
Sep 24, 2024 01:29 PM
Last edited by
Tags
Led Control
Pwm Technology
Circuit Design

一:呼吸灯背景

在电子设备中,比如手机未知消息/未接来电,往往会采用呼吸灯作为提醒作用。

二:呼吸灯过程分析

  1. 呼吸灯过程
    1. notion image
      吸过程:LED不亮到最亮 呼过程:LED最亮到不亮
      呼吸过程:其实就是调节LED亮度
  1. 调节LED亮度方式分析
      • 物理上采用给LED串联一个滑动变阻器,调节电阻器的阻值,从而来改变经过LED的电流,控制LED的亮度(电流在LED可承受范围内)。
      • PWM(脉冲宽度调制)
        • 主要对模拟信号进行数字化编码。
          电流信号属于模拟量,故PWM可以使用。
          notion image
      改变LED的亮度实则使用PWM控制时就是调整方波占空比(占空比:高电平持续时间占整个周期比值)。
      PWM调制频率:LED调节(500HZ~10KHZ)。
      PWM实现:采用多个高精度计数器实现。

三:ZX-1板卡原理图

notion image
notion image
LED低电平点亮,高电平熄灭
独立按键作为复位信号,低电平代表闭合,的高电平代表断开

四:设计需求

使用ZX-1板卡上的一个LED实现呼吸灯功能,呼吸整个周期时间为4s,呼2s,吸2s。

五:设计分析

notion image
吸持续时间2s:假设LED从不亮到最亮分为1000次,每一次持续时间2s/1000=2ms;
那么每一小段(图中红色递增时间)持续时间为2ms/1000=2us
notion image
PWM调试频率:500HZ
根据板卡实际情况出发:板载晶振时钟50MHZ(T=20ns)。
PWM实现:采用多个高精度计数器实现。
通过分析:需要设置3个计数器来实现(2us/2ms/2s)
cnt_100 : 2us/20ns=100
cnt_2us : 2ms/2us=1000
cnt_2ms : 2s/2ms=1000
notion image
PWM产生:采用cnt_2ms和cnt_2us计数器来进行比较,如果cnt_2ms大于cnt_2us计数器,PWM输出为高电平,反之为低电平。
在第一个2ms中,PWM全部为低,在第二个2ms中,PWM只有一个2us高电平,
在第三个2ms中,PWM只有2个2us高电平,在第四个2ms中,PWM只有3个2us高电平…依次类推,在最后一个2ms中,PWM持续2ms-2us的高电平。
在可以实现呼/吸基础之上,讨论呼吸灯整个功能。
notion image

六:设计测试

notion image
呼吸灯功能测试结果和设计一致。

七:下板验证

  1. 安装USB-Blaster驱动
    1. D:\altera\quartus\drivers\usb-blaster
  1. 分配管脚
    1. 查看EP4CE10F17C8N.tcl
      notion image
  1. 全编译(CTRL+L)
    1. 为了生成下载配置文件.sof文件
  1. 下载程序到板卡
    1. notion image
拓展:下载.sof文件到FPGA芯片上,断电程序会丢失。
可以选择将.sof文件下载在片外Flash(非易失性存储器:掉电数据不丢失,上电数据自读取)上;这种方式称为程序固化。
notion image
固化文件类型一般为.jic文件

八:练习

  1. 完成上课内容(理论+实现)
  1. 利用4个LED完成闪光和呼吸功能。
    1. notion image
要求:
  1. 1和3LED完成闪光灯功能,闪光灯间隔时间为2s(2s全亮,2s全灭,周期4s)
  1. 2和4LED完成呼吸灯功能,呼吸周期4s(2s呼,2s吸)
练习2分享:
  1. 闪光灯实现分析
    1. 要求亮2s,灭2s,闪光周期4s。
      T=2s, F=1/T=1/2s=0.5HZ
      分频器:50MHZ~0.5HZ
      CNT_MAX=Fclk/Fout(DUTY:50%)
      notion image
  1. 闪光灯架构
    1. notion image
  1. 整体设计架构
    1. notion image
  1. 仿真测试结果
    1. notion image
  1. 运行脚本文件使其管脚自动分配
    1. EP4CE10F17C8N.tcl文件
      适用于管脚比较多(一般10个以上)。
  1. 在线逻辑分析仪使用(板级调试工具)
    1. Quartus II:SignalTap II Vivado:ila
      • 采样定理(奈奎斯特定理)
        • F采 >= 2Fmax
      • 采样深度
        • 其实也就是采样点个数。
          notion image
          可以设置采样点少/多,取决于片内存储器资源。一般合适即可。
      • 触发条件
        • 电平触发(高电平/低电平),上升沿/下降沿触发,双边沿触发…
          一般来说,简单的设计可以不用设置触发条件,如需设置,具体设计具体对待。
      notion image
Loading...