串口文件传输协议 - X/Y MODEM

Modem控制字符:

  • NUL: 0x00
  • STX: 0x02
  • SOH: 0x04
  • ACK: 0x06
  • NAK: 0x15
  • CAN: 0x18
  • C: 0x43
  • G: 0x47

Modem帧格式:

head blk 255 - blk data check
1 byte 1byte 1byte 128/1024 byte 1byte sun / 2byte crc

Modem协议特点:

  • 文件传输由Receiver首先发送控制字符触发;
  • Sender数据包校验方式由收到的控制字符决定(NAK,sum校验;C,crc校验);
  • Sender数据包数据长度由包头决定(SOH,128 byte数据;STX,1024 byte数据);
  • 传输最后一包数据报文不足128/1024 byte时,需要使用NUL填充到128/1024 byte;
  • 文件数据传输包允许混用128 byte(SOH)和1024 byte(STX)数据长度;
  • Receiver收到正确数据包(帧格式、块号、校验均正确)回复ACK,否则回复NAK;
  • Sender收到ACK发送下包报文(数据或控制字符),收到NAK需重发本包报文(数据或控制字符);
  • YModem增加了文件名、文件大小信息传输,支持一次传输多个文件;
  • YModem-g允许Receiver端不发送ACK应答,以提高传输效率;

一、XModem时序

Receiver Sender 'NAK'(timers out after 3 seconds) 'NAK' SOH 01 FE Data[128] SUM 'ACK' SOH 02 FD Data[128] SUM 'ACK' ... SOH FF 00 Data[128] SUM 'ACK' loop SOH XX ~XX Data[n] NUL[128-n] SUM 'ACK' 'EOT' 'ACK' Receiver Sender

二、XModem-CRC时序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Loong7066

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值