ymodem协议

Ymodem 协议详解

白昼怎懂夜的黑 提交于 2019-12-19 12:56:43
Ymodem 协议详解 1. Ymodem 帧格式 Ymodem 有两种帧格式,主要区别是信息块长度不一样。 1.1 帧头 帧头表示两种数据帧长度,主要是信息块长度不同。 1.2 包序号 数据包序号只有1字节,因此计算范围是0~255;对于数据包大于255的,序号归零重复计算。 1.3 帧长度 【1】以SOH(0x01)开始的数据包,信息块是128字节,该类型帧总长度为133字节。 【2】以STX(0x02)开始的数据包,信息块是1024字节,该类型帧总长度为1029字节。 1.4 校验 Ymodem采用的是CRC16校验算法,校验值为2字节,传输时CRC高八位在前,低八位在后;CRC计算数据为信息块数据,不包含帧头、包号、包号反码。 2.Ymodem握手信号 握手信号由接收方发起,在发送方开始传输文件前,接收方需发送YMODEM_C (字符C,ASII码为0x43)命令,发送方收到后,开始传输起始帧。 3.Ymodem起始帧 Ymodem起始帧并不直接传输文件内容,而是先将文件名和文件大小置于数据帧中传输;起始帧是以SOH 133字节长度帧传输,格式如下。   其中包号为固定为0;Filename为文件名称,文件名称后必须加0x00作为结束;Filesize为文件大小值,文件大小值后必须加0x00作为结束;余下未满128字节数据区域,则以0x00填充。 4.Ymodem数据帧

Ymodem协议详解

ⅰ亾dé卋堺 提交于 2019-12-15 22:27:30
Xmodem、Ymodem和Zmodem协议是最常用的三种通信协议。 Xmodem协议是最早的,传输128字节信息块。 Ymodem是Xmodem的改进版协议,具有传输快速稳定的优点。它可以一次传输1024字节的信息块,同时还支持传输多个文件。 平常所说的Ymodem协议是指的Ymodem-1K,除此还有Ymodem-g(没有CRC校验,不常用)。 YModem-1K用1024字节信息块传输取代标准的128字节传输,数据的发送回使用CRC校验,保证数据传输的正确性。它每传输一个信息块数据时,就会等待接收端回应ACK信号,接收到回应后,才会继续传输下一个信息块,保证数据已经全部接收。 1.起始帧的数据格式 YModem的起始帧并不直接传输文件的数据,而是将文件名与文件的大小放在数据帧中传输,它的帧长=3字节数据首部+128字节数据+2字节CRC16校验码=33字节。它的数据结构如下: SOH 00 FF filename filezise NUL CRCH CRCL 其中SOH=0x01,表示这个数据帧中包含着128个字节的数据(STX表示1024字节,初始帧只有128个),00表示数据帧序号,初始是0,依次向下排,FF是帧序号的取反,filename是要传输的文件名,如USTB_V3_1.0.1.26_NMEA.Bin,它在数据帧中的格式为:55 53 54 42 5F 56 33

开源串口 Ymodem 上位机软件

旧街凉风 提交于 2019-11-28 18:48:32
概述 上位机使用Qt开发,计划整合多个工具为一体,用作以后的调试工具。 当前完成功能: 1、串口调试 支持hex和ascii 码发送,接受. 支持自动添加回车换行. 支持定时发送,最短间隔100ms,最大2000ms。 2、Ymodem-IAP升级 选择文件,启动升级之后会间隔100ms 向下位机发送S,等待下位机应答'C',开始通过Ymodem 发送bin文件。 3、和校验计算 4、快速打开计算器 计划中的功能 1、网络调试功能,支持TCP和UDP调试。 2、支持MQTT订阅发布协议。 3、GPRS,NB模块AT指令调试。 4、蓝牙AT指令调试。 5、GPS地图解析功能。 6、Ymodem 多路下载功能. 7、常用小工具,CRC校验,和校验,base64编码,数据格式化等。 8、计划增加软件自动更新功能,通过mqtt链接服务器自动检查更新。 软件预览 串口调试部分 Ymodem升级 更新记录 【2019-8-19】 1、增加和校验小工具。 2、增加计算机直达窗口。 3、增加ASCII 码表查询。 4、增加hex 文本格式化工具。 代码托管地址 https://gitee.com/zyzp/qt_suptoolbox 原文地址 https://www.memory6181.com/archives/53/ 来源: https://www.cnblogs.com/memorypro