|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 wwb2002 于 2022-8-12 16:14 编辑
2020年6月产的大1.5匹海信变频分体空调,想弄个单片机接外机设置压缩机频率,先得有内外机通讯协议(信号通过零线和si线半双工通信),网上找了几天都没找到。
拆开外机,找到电路板上sirx和sitx检测点(板子上有标记),用一个pl2303的usb转ttl板子,rx接到空调的sirx上,插电开空调,电脑串口通信软件用的stcisp,把波特率调到最低600bps捕获的16进制数据个数每次都不固定,用stm32f103核心板刷了一个示波器一看sirx波形,发现波特率是300bps。换用另一个串口通信软件,300bps,8,n,1设置用pl2303能接收解码空调sitx的数据,这是空调外机发给内机的状态报告,每次26字节。pl2303rx接空调sirx却没反应,还让空调外机不启动(应该是干扰通讯了,让外机收不到内机的开机指令),万用表量pl2303的rx(悬空) 有5v高电平,跟一般芯片0v不一样(这个pl2303后面还接有rs232电平转换芯片),奇怪的是sitx信号能接收解码。由于手头没有其他usbttl板子,只好把stm核心板刷了一个vcp虚拟串口固件(就是stm32单片机核心板当作usb转TTL,相关文档um0424),先把stmvcp的rx和tx短接,测试300bps能自发自收,最高的几百kbps也正常。接入空调外机板sirx却傻了眼,数据感觉不对,再接sitx,解码输出跟前面pl2303收到的规则数据包完全不一样,想了一下,认为是300bps不常见vcp固件实现没测试有bug。接着用声卡mic信号接上stmvcp的tx,串口发送连续单字节,声卡示波器一测,真的是300bps实为1700bps,再试110bps,也不对直到高至1200bps才正常。硬件软件问题真多,协议破解还得更多时间。
晚上上图 |
|