MSY32
Xmodem
Xmodem:8 位CRC校验,很早期的,不用了。
Xmodem-CRC:16 位 CRC 校验。
Xmodem-1K:使用1024字节数据块,提高大文件传输效率。
帧格式
图片中的是补码,不是反码!

数据帧:
字节总数:
Xmodem-CRC:133 Byte
Xmodem-1K:1029 Byte
控制命令:
Xmodem 协议中无法传输文件的长度。
若数据不足一个完整的数据块(128字节或1024字节),使用填充字节来补全数据块,填充字节为 0x1A。
数据传输流程
Xmodem-CRC
Xmodem-1K
Ymodem
由 Xmodem 协议改进而来。
Ymodem-1K
Ymodem-G:仅适用于可靠的数据链路。
帧格式
控制命令:
起始帧

数据帧

结束帧

数据传输流程
发送端(上位机) 接收端(单片机)
------------------------------------<<<------------------------------ 【C字符】
|||||||||||||||||||| 数据传输部分开始 ||||||||||||||||||||
【起始帧】------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
------------------------------------<<<------------------------------ 【C字符】
【数据帧1】------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
【数据帧2】------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
【数据帧3】------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
【EOT】 ------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【NAK】
【EOT】------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
|||||||||||||||||||| 数据传输部分结束 ||||||||||||||||||||
接收端尝试接收第二个文件,若发送方没有则发送结束帧结束通信,若有则重复上面的数据传输过程
------------------------------------<<<------------------------------ 【C字符】
【结束帧】 ------------------------------------>>>------------------------------
------------------------------------<<<------------------------------ 【ACK】
Zmodem
不再是数据块传输,而是流式传输。