Xmodem文件传输协议

上传人:小** 文档编号:27251368 上传时间:2021-08-17 格式:DOC 页数:10 大小:480KB
返回 下载 相关 举报
Xmodem文件传输协议_第1页
第1页 / 共10页
Xmodem文件传输协议_第2页
第2页 / 共10页
Xmodem文件传输协议_第3页
第3页 / 共10页
点击查看更多>>
资源描述
52IC.NET 我爱IC导航网邮絡:iepixieXmodem文件传输协议www.52ic. net152IC.NET 我爱IC导航网Xmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网Xmodem文件传输协议1.1 Xmodem 简介Xmodem协议足-种使用拨1 弓调制解调器的个人讣算机通信中广泛使用的异步文件运输协议。标准分 为Xmodem fll lk-Xmodem两种,前者以128 了节块的形式传输数据,厉考字节块为lk即1024字节,并 H支持一般校验和、CRC两种校验方式,在出现数据包错碾的情况卜支持多次电传(一般为10次)。 Xmodem协议传输由接收程序和发送程序完成。先由接收程序发送协商字符,协商校验方式,协商通过之 后发送阳$就开始发送数据包,接收世序接收到完整的 个数据包Z后按照协商的方式对数据包进行校验。 校验通过Z后发送确认7符,然后发送程序继续发送卜一包;如果校验失败,则发送否认字符,发送程序 咆传此数据包。由J* Xmodem需耍对每个块都进行认町,这将导致性能有所卜降,特别是延时比较长的场 合,这种协议显得效率更低。除 Xmodem,述-fj Ymodem, Zmodem协议。他们的协议内容和Xmodem类似,不同的是Ymodem 允许批处理文件传输,效率更高:Zmodem则是改进的了 Xmodem它只石要对损坏的块进彳j巫发,其它 正确的块不需要发送确认字节。减少了通信量。1.2 Xmodem 协议1.2.1相关定义说明01H02H04H06H15H18H1AH/ Xmodem数据头/ 1K-Xinodem 数据头/发送结束/认可响应/不认可响应/撤销传送/填允数据包1.2.2协议简介Xmodem协议的传输数据卩位为信息包,包金一个标题开始字符SOH或STX, 一个单字节包序 号,一个包序号的补码,128/1024个字节数据和一个双字节的CRC16校验。它把数据划分成128/1024个 字符的小包进行发送,毎发送一个小包都要检査是否正确,如果借息包正确接收方发送一个字节ACK的 应答:仃错巫发则发送-个字WNAK应答,耍求巫发。因此1K-Xmodem是一种发送等待协议,八仃流 灵控制功能.优点:简单通用,几乎所仃通信软件都支持该协议。缺点:慢。Xmodem包格式如卜我所示。表1 Xmodem包格式BytelByte2Byte3Byte4 131Byte132-133Start Of HearderPacket Nuinbei(Packet Numbei)Packet Data16-Bit CRC邮|g: iepixie(g)表2 1K-Xmodem包格式BytelByte2Byte3Byte4 -1027Bytel 028-1029Start Of HearderPacket Number(Packet Numbei)Packet Data16-Bit CRC1.2.3数据包说明対标准Xmodem协议来说,如果传送的文件不是128或者1024的整数倍,那么最后一个数据包的 何效内容挣定小帧长,不足的部分碍耍用CTRL-Z(OxlA)來填充。如果传送的是bootloader工程生成的.bin 文件,mcu收到后遇到OxlA字符会怎么处理?其实如果传送的是文本文件,那么接收方对接收的内容 是很容易识别的,因为CTRL-Z不是前128个ascH码,不是通用可见字符,如果是一进制文件,mcu K实 也不会把它半作代码来执行。哪怕是excel文件等,由贞内部会仃些结构表示各个字段长度等,所以不 会读収多余的填允字符。否则Xmodem A弱了。对J* lk-Xniodem,同上理。1.2.4如何启动传输传输由接收方心动,方法是向发送方发送”C”或者NAK(注意哦,这里提到的“C”是用來川动传输的。 以卜我们会看到”C”还可以用來对数据产牛币:传的机制)。接收方发送NAK信号表示接收方打算用累加和校 验;发送字符”C“则表示接收方想打算使用CRC校验。1.2.5传输过程为接收方发送的第一个”C”或者NAK到达发送方,发送方认为可以发送第一个数据包,传输已经泉动。 发送方接着应该将数据以毎次128字节的数据加上包头,包号,包号补码,末尾加上校验和,打包成帧格 式传送。发送方发了第一包后就等待接收方的确认字节ACK,收到接收方传來的ACK确认,就认为数据包被 接收方正确接收,并且接收方耍求发送方继续发送卜一个包;如果发送方收到接收方传來的NAK(这里, NAK用來告诉发送方亚传,不是用來启动传输)字节,则表示接收方请求直发刚才的数据包:如果发送方 收到接收方传来的CAN字节,则表示接收方请求无条件停止传输。1.2.6如何结束传输如果发送方止常传输完全部数据,需耍结束传输,正常结束带耍发送方发送EOT字节通知接收方。 接收方回以ACK进行确认。当然接收方也可强制停止传输,当接收方发送CAN字节给发送方,农示接收 方想无条件停止传输,发送方收到CAN后,不需耍再发送EOT确认。1.2.7特殊处理虽然数据包是以SOH來标志一个信息包的起始的,但在SOH位置上如果出现EOT则衷示数据传输 结束,再也没何数据传过來。接收方首先应确认数据包序号的完整性,通过对数据包序号取补,然后和数 据包序号的补码异或,结果为0表示正确,结果不为0则发送NAK请求車传。接收方桶认数据包序号正确后,然后检査是否期型的序号。如果不是期盥得到的数据包序号,说明发 生严巫错決,应该发送一个CAN來中止传输。如果接收到的数据包的包序号和询 包相同,那么m收方 会忽略这个重复包,向发送方发出ACK ,准备接收卜-一个包。接收方确认了倍息包序号的完整性和是正确期望的后,只対128宁节的数据区段进彳:算术和校验,结Xmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网 邮辎:iepixie果与帧中绘后一个字节(算术校验和)比较,相同发送ACK,不同发送NAKo1.2.8校验和的说明Xmodem协议支持2种校验和,它们是累加和与CRC校验。7W K”2.C(n当接收方一开始启动传输时发送的是NAK,表示它希里以累加和方式校验。 当接收方一开始启动传输时发送的是字符“C”,表示它希里以CRC方式校验。1.2.9传输逻辑1、收发双方拨号连通后,发送方等待接收方传來NAK信号。当第一个NAK到达,发送方解释为 开始发送第一个包。2、发送方一口收到第一个NAK ,启动了传输,发送方就将数据以每次128/1024字节打包成帧格式 传送.再等待接收方的确认信号。3、发送方收到接收方传來的ACK信号,解释为信息包被正确接收,并尙发送卜一个包的含义4、发送方收到接收方传來的NAK信号,解释为请求重发同数据包。5、发送方收到接收方传來的CAN信号,解释为请求无条件停止传输过程。6、发送方正常传输完全部数据,需要正常结束,发送EOT信号通知接收方。接收方用ACK进行 确认。7、接收方发送CAN无条件停止传输过程,发送方收到CAN后,不发送EOT确认。8、虽然信息包是以SOH來标,忐一个信息包的起始的,但在SOH位置上出现的EOT则表示数据 传输结束,再也没有数据传过来。9、接收方首先应确认信息包洋号的完整性,通过对信息包丿严;取补,然后和信息包序兮的补码异或, 结果为0表示正确,结果不为0则发送NAK请求重传。10、接收方确认信息包序号正确后,然后检査是否期望的序弓。如果不是期型得到的信息包序号,说 明发生严重错误,应该发送一个CAN来中止传输。11、对J - 10情况的唯-例外,是收到的包的信息包用号与前一个信息包序兮相同,此中情况,接收 方简单忽略这个重复的包,向发送方发出ACK ,准备接收下一个包。12、接收方确认了信息包序号的完整性和是正确期里的厉,对数据区段进行算术和校验,结果与帧中 最后一个字节(算术校验和)比较,相同发送ACK,不同发送NAK。1.2.10 超时处理1、接收方等待-个(3息包的到來所JI仃的超时时限为10秒,每个超时后发送NAK.2、当收到包时,接收过程中每个字符的超时间隔为1秒。3、为保持“接收方骡动”,发送方在等待一个启动字节时不应该采用超时处理。4、一口传输开始,发送方采用单独的1分钟超时时限,给接收方允足的时间做发送ACK, NAK, CAN之前的必须处理。5、所有的超时及错谋事件至少觅试10次。Xmodem文件传输协议352IC.NET 我爱IC导航网邮絡:iepixieXmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网Xmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网1.2.11 Xmodem协议发送流程图Xmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网Xmodem文件传输协议www.52ic. net#52IC.NET 我爱IC导航网图1 Xmodem服务器接收启动发送指令Xmodem文件传输协议www.52ic. net#我爱I c导航网邮絡:iepixie52IC,NET www-52icnetXmodem文件传输协议www.52ic. net5Xmodem文件传输协议www.52ic. net#1图2 Xmodem发送数据Xmodem文件传输协议www.52ic. net#邮絡:iepixieXmodem文件传输协议www.52ic. net7Xmodem文件传输协议www.52ic. net#图3 Xmodem发送结束处理1-2.12 CRC校验信息包1. CRC校验信息包其中: - 02 hex信息包序号,从01开始以发送一包将加1,加到FFhcx将循环。=信息包序号的补码。 = CRC16 高字节。Xmodem文件传输协议www.52ic. net#我爱I c导航网邮絡:iepixie52IC,NET www-52icnet = CRC16 低字节。2. CRC描述计算16-Bit CRC校验的除数筋项式为XT6 + XT2 + XT + 1,信息包中的1024数据字节将参加CRC 校验的计算c在发送端CRC16的高字节在先,低字节在后。3. CRC校验方式数据传输流程接收方要求发送方以CRC校验方式发送时以y,来请求,发送方将对此做出应答。如表3所示传输3 包数据的示意过程。表3 CRC校验传输过程SenderFlowReceiverCTime outCSTX0x01OxFE Datal-1024 CRC16Packet OKACKSTX 0x02 OxFD Data 1025-2048 CRC16Line lut during transmissionNAKSTX 0x02 OxFD | Data1025-2048 CRC16Packet OKACKSTX 0x03 OxFC Data2049-3072 CRC16Packet OKACKEOTPacket OKACK get garbaged0ACKEOTPacket OKFinishedACK1.3支持Xmodem服务器软件1.3.1超级终端超级终端是Wm 2000系统自带的调试工貝,支持串II,以太网等多种调试方式,支持的串II传输协 议也非常的丰富,可惜wmdows7默认已经不再提供“超级终端”组件。Xmodem文件传输协议www.52ic. net952IC.NET 我爱IC导航网邮絡:iepixie图4超级终端1.3.2 Ecom 串 口助手ecom串I I助手是-款出丨l(RS232)调试软件。由我爱IC导航网(http:/A)工作室开发。ecom 串II助手支持常用的1200 921600bps波特率,能设炭校验、数据位和停止位,能以ASCn码或十六进制 接收或发送任何数据或字符(包括屮文),能发送任意人小的文本文件,町以任意设定自动发送周期,并能 将接收数据保存成文木文件。文件传输协议支持Xmodem, 1K-Xiiiodem,同时支持命令挖制lK-Xmodem 自动发送文件。图5 ECOM串口助手Xmodem文件传输协议www.52ic. net#
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!