以太网工程生成-定时电路设计

最近工作

  1. Verilog Ethernet

    • 按照网上给出的简易教程恢复出来了作者给出的例程。

    • 作者的例程都是在Linux下编辑的,Example 文件夹下只有一些与开发板相关的源代码和make文件,无法直接导入到vivado中使用。因此先安装了 CygwinGNU,使电脑能够模拟Linux运行环境。后续更换电脑后由于安装Git,采用自带的 Git-Bash 结合 GNU,运行给出的make文件后生成了系统工程,可以导入到vivado中运行。

    • 目前手头只有Artix7型号的板卡,Example 中有两个同型号芯片的工程,分别基于 Arty-A7Nexys-A7,不同在于以太网方案不同。

      • Arty-A7 采用 DP83438 PHY,基于 MII100M 以太网。
      • Nexys-A7 采用 RTL8211E-VB PHY,基于 RGMII1G 以太网。
    • 手头板卡的以太网方案是 RTL8211FD PHY,基于RGMII1G 以太网。之前用的 Arty-A7 工程,更改 xdc 文件时看原理图发现两者方案不同,后面已经更改成 Nexys-A7 工程。但是不同的时手头板卡的 Nexys 板卡的 PHY 接线不同,预计要先更改引脚然后烧录进板卡看一下是否可行。

  2. 电源定时设计

    • 电源定时要求定时关机 15min,启动运行 5s,其中关机时间由硬件控制,启动时间由软件控制。软件控制由 ESP32 核心计数控制,与硬件无关;15min 定时则与硬件相关,且要求误差不能太大。

    • 设计目标:

      • 定时关机 15min,误差小于 5%,最大不超 10%

      • 需要考虑硬件运行环境,主要考虑工作温度,预计 -25°C ~ 85°C 运行温度区间。

    • 原理图设计

      • 给出原始原理图,如下。主要分别为四个部分,Q1 PMOS构成的主电源开关,R2-C1 构成的定时电路,PMOS Q2 构成的主电源开关控制,以及Q3 NMOS 构成的充电电路。 Original Design

      • 主要原理为:开始上电时 C1 没有电荷,为0V,而Q1 Q2 栅极均被 R1 拉高至电源电压,使得 PMOS Q2 导通,连带 PMOS Q1 导通,向后输出电压。需要关机时通过发送一个 GPIO Switch 高电平信号使 NMOS Q3 导通,C1 被充到高电压使得 PMOS Q2 关断,连带 PMOS Q1 关断,断电。定时功能主要由 R2-C1 放电实现。

      • 该电路主要考虑以下几个问题:

      1. MOS 导通电压的分散性。主要针对 Q2 Q3。理想状态下 Q2 工作于数字状态,即 C1 电压高于某个值,导通,反之关断。但是对于常见的分立 MOSFET ,导通电压并不固定,如 PMOS IRLML6401,导通电压在 -0.5V ~ -0.95V 间变化,无法做到理想状态。

      2. C1 电容的容值变化问题。主要是常见的电容基本都有容值随电压变化而变化的曲线,电压不同导致容值不同,严重影响定时精确性。可用于精确定时场合的电容有 C0G 材质电容,聚丙烯薄膜电容,电解电容也可以考虑使用

      3. 各个器件的温漂问题。主要是电阻、电容的器件值会随着温度变化,产生一定的误差。如果采用模拟IC,相关至指标也会随着温度变化,产生额外的误差。

      • 给出改进原理图,如下。主要修改的部分是 PMOS Q2 开关电路,采用一个迟滞比较器代替。初始时 C1 电压为0,而比较器同相输入端电压大于0,因此输出高电平,PMOS Q1关断;随着 C1 电压不断升高,超过同相端电压时,比较器输出低电平,PMOS Q1导通,开机;GPIO Switch 发送高电平信号,NMOS Q2导通,C1 放电,关机。 Modified Design

      • 主要需要设计的参数为电阻 R2、R3比值、时间常数 R1*C1 以及参考电压Vref。时间关系这里暂时不写设计流程,给出关键值:R3/(R2+R3)=0.2R1*C1=300Vref=2.5V,整个电路工作电压设定为3.3V,最后计算出定时关机时间约为 907.848s,相对误差为 0.88%

      • 注意比较器需要考虑其 输入偏置电流输入失调电流,因为其输入端的 RC 电路工作电流很小,较大的输入电流会引起 C1 电压变化,从而影响定时时间。因此比较器就不采用高速比较器,这种IC为了达到快速响应目的,输入激励要求较高,即输入电流较大。需要采用低输入电流的运放芯片,降低对RC 定时电路的影响。这里不需要考虑运放的压摆率,因为输出高电平或低电平的时间都很长,电压翻转时间基本可以忽略不计。


本文章使用limfx的vscode插件快速发布