解码专有 485 通信

逆向工程 串行通讯 十六进制
2021-06-13 10:58:14

我正在尝试解码逆循环分体式系统空调通信信号,以便我可以在不使用制造商的室内机的情况下控制室外空调压缩机组。该装置由美的制造,他们似乎不愿意分享他们的协议细节。

我用我的示波器查看数据并使用默认的串行解码设置来获取一些 HEX 数据字符串。

每 50 毫秒发送(或接收?)数据。4.8kbaud,无奇偶校验,1 个停止位和 LSB 位顺序。当室内机没有加热或冷却请求时,我会得到这样的 HEX 数据。室内机无要求

当室内机要求制冷时,我又采集了一些数据,但我不知道我的采集设置是否正确。这是在室内机请求制冷之前、制冷请求期间和之后每 40 秒左右记录的数据包的一些数据。在冷却请求之前和之后采取的一些随机数据包

我知道室内机正在接收温度测量值,以便系统可以决定以什么速度运行压缩机。不确定是否是与室外机通信的温度测量值,或者是 VSD 速度命令。如果是温度测量,那么在冷却呼叫数据块期间应该有数据在减少。

我正在寻找有关如何解码这些数据的任何建议。我应该购买串行解码器而不是使用我的示波器吗?我可能超出了我的深度,但我喜欢挑战。非常感谢任何建议。

4个回答

我几乎不会称之为答案,但我还不能发表评论..

您需要额外的数据。

  1. 您是否尝试打开室外机并检查您正在与之通信的电路板?您可能会发现它有一些调试接口(串行或其他)。它可能会提供额外的信息 - 例如,当收到命令时调试打印。
  2. 记录额外的参考数据 - 我会记录每一个可能的温度设置。然后尝试识别恒定值与变化值。这可能有助于确定命令格式。
  3. 作为第二个选项的持续努力 - 记录每个可能的命令并开始比较它们。尝试找到一种模式 - 消息类型、消息的子字段。
  4. 记录您的空调遥控器(相当简单 - 谷歌它),看看是否有任何相关性(这是一个远景,但值得一试)

至于串行解码器 - 至少它会使信号采样更简单。采样越容易,您可能采样的就越多。

希望这有帮助:)

我设法解码了 XYE 连接上的协议。我的发现在这里https://codeberg.org/xye/xye

XYE 连接是中央控制器和室内机之间的总线。从室内机到室外机的总线标有 PQE。我的设备没有连接,所以我无法测试它。

初始帖子中的数据看起来像是缺少字节。我使用便宜的 RS-485 转 USB 转换器来监控数据。工作得很好。

PQ(E) 总线上的通信类似于 XY(E),只是只有 10 字节的消息。您可以使用 RS-485 - USB 加密狗和一些串行监视器来嗅探 RS-485 流量,将加密狗的 AB 线连接到总线。一个简短的例子,用 ioninja 捕获:

12:36:56 +01:04.353 > 00c8 aa 00 02 00 00 00 00 00 fe 55 .........U
12:36:56 +01:04.420 > 00d2 aa 01 02 50 00 00 01 8d 55 ...
P..U 12:36:58 +01:06.676 > 00dc aa 00 02 1f 00 00 01 00 de 55 .........U
12:36:58 +01 :06.748 > 00e6 aa 01 02 50 1f 01 00 00 8d 55 ...P...U
12:37:01 +01:09.000 > 00f0 aa 00 02 1f 00 04 05 ..... 5. 00 ....U
12:37:01 +01:09.068 > 00fa aa 01 02 50 1f 01 00 00 8d 55 ...
P..U 12:37:03 +01:11.322 > 0104 aa 00 02 1f 00 04 01 00 da 55 .........U
12:37:03 +01:11.391 > 010e aa 01 02 50 1f 01 00 00 8d 55 ...P.....U
12: 37:05 +01:13.644 > 0118 aa 00 02 1f 00 04 01 00 da 55 .........U

是否也可以获得此PDF?