This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28377D芯片EMIF总线数据位12与BOOT1脚复用



28377D芯片的BOOT1脚与EMIF数据12位EMIFD12复用了,如果程序在执行的过程中跑飞了,需要复位,需将BOOT0和BOOT1脚拉高,程序重新从flash中加载,但是EMIFD12是数据位,收到的数据可能是高也可能是低,若刚好在DSP复位时,数据位收到的数据为0,那么就会复位不成功。程序跑飞就没有办法在重新从flash中加载,存在这样的问题吗?

 

  • 一般来说,如果boot引脚被复用的话,只需要保证上电或者复位瞬间,引脚的电平满足boot电平要求就行。但是你的应用中被占用的boot脚会有不间断的数据信号接收,确实有可能会出现boot失败的情况。有没有可能在硬件上处理,在上电或者复位瞬间截断数据传输并给予一个固定的boot电平呢
  • 在上电瞬间,还没有进行通信,BOOT脚可以拉成固定的电位值。但是在运行过程中,若程序跑飞了,看门狗要进行复位,CPU能知道要复位并将BOOT脚拉成固定的电位值吗,通信是双向的,CPU既能发送数据也能接收数据,是不是说明这个引脚CPU是可以控制的,在看门狗复位时,CPU能控制这个引脚拉成固定的电平?
  • 我认为是不可以的,程序跑飞芯片复位的时候CPU没办法执行内部程序,也就没办法对引脚进行控制。只能通过外部硬件上操作来控制boot脚的电平
  • 28377D有两组EMIF总线 一组EMIF总线就会与BOOT1脚复用 别的别的引脚可以替代 那这样不可以 使用要用EMIF1总线怎么解决这个问题
  • 28377D有两组EMIF总线 一组EMIF总线就会与BOOT1脚复用 没有别的引脚可以替代 那这样不可以 要使用EMIF1总线怎么解决这个问题
  • 28377D有两组EMIF总线 一组EMIF总线会与BOOT1脚复用 没有别的引脚可以替代 那这样不可以 使用要用EMIF1总线怎么解决这个问题 芯片设计将BOOT1脚与EMIFD12引脚复用 实际应用中怎么避免这个问题
  • 如果一定要两组都用的话,可以更改默认BOOT引脚,参考TRM中的BOOTCTRL 寄存器。
    这个寄存器是用来自定义引导模式选择引脚的,也就是说你可以更换其他引脚作为boot启动的配置引脚。如果你硬件上有空闲的拉高的引脚的话可以配置为这两个引脚作为boot引脚。就是这么做的话后期使用起来会比较麻烦,因为这个寄存器是需要写入OTP的,也就是说只能更改一次,后期没办法再改成其他引脚了。
  • 今天我做了一下实验,用的28075芯片,BOOT1脚与EMIFD12复用了, DSP与FPGA之间用EMIF总线通信,FPGA一直发送低电平给DSP,DSP一直读FPGA给的数据,DSP跑15S后看门狗进行复位,这样测试没有问题,看门狗可以正常复位,程序可以重新跑。
  • 程序跑飞芯片复位CPU没办法执行内部程序 那还会接收数据吗 这时候BOOT脚电位不是外部上拉的固定电平吗?
  • user6335106 说:
    FPGA一直发送低电平给DSP,DSP一直读FPGA给的数据

    你的意思是boot mode pin 1一直处于低电平状态下程序可以正常启动?有没有用示波器测试过复位的时候pin1上的电平是高还是低?

    程序跑飞的情况下是没办法接收数据的,但是emif引脚上是否还有数据传输过来,即emif引脚的电平是怎么样的我确实没有做过这种测试。如果引脚上有外部上下拉,那肯定是跟随上下拉的电位,但如果没有上下拉,那么是否会受emif上的数据流电位的影响,这点建议你测试确认一下。

  • 刚才示波器看了一下 看门狗进行复位时将boot1拉高了 所以程序正常启动 外部接有上拉电阻 DSP与FPGA之间通过emif总线相连 DSP发送读使能信号和地址 FPGA才会把数据返回给DSP 如果DSP跑飞了 应该也不会给FPGA发读信号 boot1脚外部接有上拉 boot1脚电位为高 若没有上拉我在测一下
  • DSP的程序是15秒看门狗复位一次 将boot1脚的上拉电阻拆掉 DSP正常代码控制了一个灯 程序正常跑LED灯会闪 跑飞或者复位时LED灯是灭的 将上拉电阻拆了 看门狗15S复位时emif总线FPGA给0和1 看到的LED灯都会闪 看门狗能正常复位 程序能重新跑 但是接示波器看波形探头接到boot1脚 程序跑到15S复位就不能在重新跑了 探头看到复位前的波形是毛刺信号 探头拿开也不能在跑 重新上下电就又可以 但是再接探头就又不能再跑了 探头是有干扰吗
  • 示波器探头本身是有输入阻抗的,但是都非常大,一般不会有影响,当然也是要看具体什么样的探头。
    这个不好确定是探头还是环境干扰导致的毛刺信号,但如果不接探头能正常使用的话我觉得不需要纠结这个,因为平时使用也是不接探头的
  • 客气了,祝你后期调试顺利