zvs吧 关注:23,792贴子:520,803

回复:【实验】关于 R4850G2 的 CAN 通讯协议

只看楼主收藏回复

在谈及如何设置输出参数之前,先得介绍一下这个电源的两种操作模式(operation mode):
在实际使用场景中,此类通信电源往往是多个安装在机柜中,多个电源并联均流(称为 current share 架构,猜测也是通过 CAN 实现的)。机柜中往往存在一个控制单元,对于 R4850G2 而言,最常用的是型号为 PMU11A 的控制单元。该控制单元与机柜中的所有电源通过通讯总线保持联系,监视它们的状态,并完成如充电管理等工作。
即是说,电源模块(其实应该叫整流模块)的输出参数受到控制单元的控制,这通过 CAN 总线来实现,我们称这种工作状态为 online 模式(在线模式)。
但总线通讯并不完全可靠,比如连线故障,EMI 干扰等(这有点极端了),甚至控制模块本身还可能出现故障,这时电源就失去了与控制单元的联系,我们称这种工作状态为 offline 模式(离线模式)。


IP属地:四川36楼2023-05-15 23:44
回复
    这两种模式分别对应两组输出参数,当电源能够正确地与控制模块通信时,工作于 online 模式,使用 online 模式下设定的输出参数;当电源与控制模块失去联系时,工作于 offline 模式,使用 offline 模式下的输出电压,前面板黄灯闪烁。


    IP属地:四川37楼2023-05-15 23:47
    回复
      实验 III. 设置 R4850G2 的输出参数
      要设置电源的输出参数,向 ID:108180FE 发送如下格式的报文:
      01 uu 00 00 vv ww xx yy
      其中,uu 可以取这些值:
      00: online 模式的输出电压
      01: offline 模式的输出电压
      02: 过压保护的值(尚不明确)
      03: online 模式的最大输出电流
      04: offline 模式的最大输出电流
      接下来,vv ww xx yy 是要设置的具体值。对于 uu=00,01,02 时,将要设置的电压(伏特)乘以 1024,截断小数,然后填入此区域即可;而 uu=03,04 时,将要设置的电流(安培)乘以 30,如法炮制。
      这里 vv ww xx yy 从左向右边读是 big endian 顺序,66 cc ff 00 是表示 0x66ccff00。用更为正式的语言表述就是,yy 这一位是 LSB(least significant bit,最低有效位)。


      IP属地:四川38楼2023-05-16 00:00
      回复
        接着,你便会收到电源以 ID:1081807E 给你的发来的回复,有两种情况:
        1. 如果你给的参数被成功设置,回复报文的内容和你发给电源的报文内容完全一致;
        2. 如果出现错误,例如设置的参数值超过了最大允许范围,或报文格式错误,则回复报文的第一字节是 0x21。


        IP属地:四川39楼2023-05-16 00:03
        收起回复
          楼主,请问槽位检测功能使能的CAN协议是多少呢?我手里面的电源现在是直接交流就有输出。我需要槽位检测脚接地才有输出


          40楼2023-06-25 16:31
          收起回复
            我自己做了一个调压板


            IP属地:浙江41楼2024-06-06 12:10
            收起回复
              大佬,能发一份can的协议参考一下吗? 感激不尽 377974865@qq.com


              IP属地:广东42楼2024-11-13 16:20
              回复