跳转至

安路启动慢影响和解决

1. 上电加载时间差异和影响

  • 测量方式:3.3V供电上升沿为起点,Done信号上升沿为终点,起点和终点时间差
  • 时间差异:L 上电到运行1ms-5ms,安路10ms-50ms

2. 多次初始化和解决方案

  • 通过VCC_1.2V信号来区分上电和在线升级两种情况

    1. 上电:检测到VCC_1.2V为低电平,则 初始化外围设备
    2. 在线升级:检测到VCC_1.2V为高电平, 则 不初始化外围设备
    3. L可以读到低电平,能实现上述功能
    4. 安路无法读到低电平,实现不了上述功能
  • 方案1:VCC_1.2V供电芯片可以调整下缓启动时间,让相对CPLD后面启动
    注:需要评估电源时序改动对系统的影响

  • 方案2:BMC增加一个IO来告诉CPLD是上电还是在线升级
    注意:此IO建议预留上拉和下拉电阻位置,根据需要贴上拉或者下拉电阻,
    避免上电过程中IO电平不确定导致问题。

  • 方案3:BMC在线升级后写一个寄存器值,CPLD通过寄存器值来决定是否初始化

3. 上电误保持IO和解决方案

  • 通过VCC_1.2V信号来区分上电和在线升级两种情况

    1. 上电:检测到VCC_1.2V为低电平,则 不保持IO
    2. 在线升级:检测到VCC_1.2V为高电平, 则 保持IO 5秒钟再释放
    3. Lattice可以读到低电平,能实现上述功能
    4. 安路无法读到低电平,实现不了上述功能
  • 方案1:VCC_1.2V供电芯片可以调整下缓启动时间,让相对CPLD后面启动
    注:需要评估电源时序改动对系统的影响

  • 方案2:BMC增加一个IO来告诉CPLD是上电还是在线升级
    注意:此IO建议预留上拉和下拉电阻位置,根据需要贴上拉或者下拉电阻,
    避免上电过程中IO电平不确定导致问题。

  • 方案3:只支持有硬核IIC的CPLD(EF3L50/70/A0 EF5)
    部分IO释放模块 替换为 全局IO释放开关
    差异:部分IO释放只保持用户指定IO,全局开关会保持所有输出IO,无法用户指定

非配置IO例化:EF5_LOGIC_FREEZEIO 配置IO例化:EF5_LOGIC_FREEZE_CFGIO

4. BMC先于CPLD启动和解决方案

  1. L 先启动,然后给BMC复位,BMC启动,此场景BMC只有 一次复位
  2. BMC先启动,安路再启动,给BMC复位,此场景BMC有 两次复位
  3. 客户需要评估两次复位的影响
  4. 目前解决思路就是让 --BMC在CPLD运行后再启动--
  5. 解决方案1和解决方案2可以都做,也可以选一种做

  6. 方案1:BMC供电芯片可以调整下缓启动时间,让BMC相对CPLD后面启动
    注:需要评估上电时序改动对系统的影响

  7. 方案2:CPLD输出给BMC的复位信号保留上下拉电阻位置

    1. BMC低电平复位,则贴下拉电阻1k, 这样CPLD运行前
      复位信号一直低电平,则BMC一直保持复位不会启动,
      CPLD运行后一段时间拉高IO,BMC开始启动。
  8. BMC高电平复位,则贴上拉电阻4.7k,这样CPLD运行前
    复位信号一直高电平,则BMC一直保持复位不会启动,
    CPLD运行后一段时间拉低IO,BMC开始启动。
  9. 注:一般客户都是BMC低电平复位,但是此复位信号同时给到
    好几个芯片,有的芯片必须有上拉电阻,导致加载阶段复位信号
    是高电平,加载完成后低电平然后高电平,
    整个流程即 低-高-低-高,导致BMC芯片两次复位
    客户需要评估上拉电阻和下拉电阻对相关芯片的影响。