📘 电池化成 · 通信协议全栈
30 章 · 从物理到云端
01
通信协议概述
定义·作用·分类·协议栈分层模型
02
物理层基础
RS-485/232·CAN差分·以太网PHY
03
数据链路层 (CAN)
帧结构·仲裁·位填充·CRC·错误处理
04
数据链路层 (Modbus RTU)
帧格式·地址·功能码·CRC16
05
应用层协议设计 (SCPI)
命令树·*IDN?·参数格式化
06
应用层协议设计 (自定义)
私有协议·命令码·BCD/HEX/ASCII
07
会话层与多路复用
地址映射·广播·心跳机制
08
数据编码与解码
大/小端·IEEE754·BMS解析
09
错误检测与重传
CRC32/16·超时重传·滑动窗口
10
状态机设计
充放电状态·通信状态·异常处理
11
命令与响应模式
同步请求·异步通知·批量队列
12
实时性要求
CAN实时性·优先级反转·TTCAN
13
安全性设计
访问控制·AES-128·防重放·升级校验
14
固件升级协议
XMODEM·差分升级·断点续传·双备份
15
日志与诊断
Syslog·DTC·黑匣子·离线分析
16
多主站与冲突解决
多主CAN·CSMA/CR·令牌·优先级
17
协议转换网关
CAN转Modbus·Modbus转SCPI·适配器
18
测试与仿真工具
PCAN-View·Modbus Poll·CANoe·Python
19
性能优化
RLE压缩·批量传输·DMA与中断
20
协议一致性测试
ISO 16845·Modbus Conformance·SCPI
21
硬件接口调试
示波器抓波形·逻辑分析·眼图
22
嵌入式实现 (STM32)
HAL库CAN·FreeRTOS·DMA环形缓冲
23
嵌入式实现 (Linux)
SocketCAN·can-utils·RT-Preempt
24
上位机实现 (C#)
SerialPort·PCANBasic·MVVM·WPF
25
上位机实现 (Python)
pyserial·python-can·asyncio·PyQt5
26
云平台对接
MQTT·JSON/Protobuf·阿里云/华为云
27
数据持久化
SQLite·InfluxDB·压缩存储·曲线回放
28
故障排查实战
丢帧·错位·超时·接地环路·终端电阻
29
行业标准与规范
GB/T 27930·IEC 61851·CANopen
30
综合项目实战
从零搭建·硬件选型→协议→嵌入式→云