zvs吧 关注:23,785贴子:520,740

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

取消只看楼主收藏回复

诈尸更新。
快搞忘这贴了,忽然记起还有如何设置输出参数的部分没有写,在此补上。顺便最近在研究一个 1200W 的 DCDC 服务器电源,包括它与服务器通讯的 IIC 协议(不同于 R4850G2 使用的 CAN),到时候可能会开个贴。


IP属地:四川35楼2023-05-15 23:28
回复
    在谈及如何设置输出参数之前,先得介绍一下这个电源的两种操作模式(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
          收起回复