1、即发送方发送一个数据包以后,都要等待接收方的确认。如果是ACK信号,则可以发送新的包。如果是NAK信号,则重发或者错误退出。2、文件传输过程文件传输过程的开启:(1)开启是由接收方开启传输,它发一个大写字母C开启传输。然后进入等待(SOH)状态,如果没有回应,就会超时退出。(2)发送方开始时处于等待过程中,等待C。收到C以后,发送(SOH)数据包开始信号,发送序号(00),补码(FF),“文件名”,“空字符”“文件大小”“除去序号外,补满128字节”,CRC校验两个字节。进入等待(ACK)状态。(3)接收方收到以后,CRC校验满足,则发送ACK。发送方接收到ACK,又进入等待“文件传输开启”信
2、号,即重新进入等待“C”的状态。(4)前面接收方只是收到了一个文件名,限制正式开启文件传输,Ymodem支持128字节和1024字节一个数据包。128字节以(SOH)开始,1024字节以(STX)开始。接收方又发出一个“C”信号,开始准备接收文件。进入等待“SOH”或者“STX”状态。(5)发送接收到“C”以后,发送数据包,(SOH)(01序号)(FE补码)(128位数据)(CRC校验),等待接收方“ACK”。(6)文件发送完以后,发送方发出一个“EOT”信号,接收方也以“ACK”回应。然后接收方会再次发出“C”开启另一次传输,若接着发送方会发出一个“全0数据包”,接收方“ACK”以后,本次通
3、信正式结束。(7)当然Ymodem相对于Xmodem改进的地方就在于传输再次开启以后,又可以发送另外一个文件,即一次传输允许发送多个文件,但这个特性我就不准备实现了。SOH 在ASCII码表中为01 数据包开始STX 在ASCII码表中为02 正文开始ETX 在ASCII码表中为03 正文结束EOT 在ASCII码表中为04 数据包结束ENQ在ASCII码表中为05 询问字符ACK在ASCII码表中为06 确认SOH 在ASCII码表中为01 数据包开始1、首先由接收方stm32单片机发送大写字母C开启传输,发送方PC机在超级终端中打开传送菜单里的发送文件命令(此时会有设置波特率,数据位,奇偶
4、检校位等的设置),收到大写字母C后,发送SOH (01)数据包开始信号,接着发送序号00和它的补码FF,然后发送文件名(Project.bin (50 72 6F 6A 65 63 74 为Project),(2E 62 69 6E 为.bin) ),再发送一个空字符NULL(00),然后是文件大小(4224 Bytes 34 32 32 34),最后用NULL来填补达到128字节(Ymodem 可以发送128字节或者1024字节的数据包,128字节以SOH开始,1024字节以STX开始)。10 45 为CRC校验的两个字节。01 00 FF 50 72 6F 6A 65 63 74 2E 6
5、2 69 6E 00 34 32 32 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0
6、0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 452、发送方PC机等待接收方STM32单片机发送ACK(06)信号,而接收方收到发送方的文件名和文件大小的信息,经过CRC检校满足后即发送ACK信号。发送方接收到ACK,又进入等待“文件传输开启”信号,即重新进入等待大写字母“C”(43)的状态。06 433、 发送方收到大写字母“C”以后进行文件内容的数据包的发送,发送1024字节大小的数据包,以STX(02)开始,紧接着是序号01 和它的补码FE,然后是1024字节的数据,最后两个字节是CRC检校用的。02 01 F
7、E 70 08 00 20 49 02 04 08 35 04 04 08 37 04 04 08 3B 04 04 08 3F 04 04 08 43 04 04 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 04 04 08 47 04 04 08 00 00 00 00 4B 04 04 08 4D 04 04 08 4F 04 04 08 51 04 04 08 53 04 04 08 55 04 04 08 57 04 04 08 59 04 04 08 5B 04 04 08 5D 04 04 08 5F 04 04 0
8、8 61 04 04 08 63 04 04 08 65 04 04 08 67 04 04 08 69 04 04 08 6B 04 04 08 6D 04 04 08 6F 04 04 08 71 04 04 08 73 04 04 08 75 04 04 08 77 04 04 08 79 04 04 08 7B 04 04 08 7D 04 04 08 7F 04 04 08 81 04 04 08 83 04 04 08 85 04 04 08 87 04 04 08 89 04 04 08 8B 04 04 08 8D 04 04 08 8F 04 04 08 91 04 04 0
9、8 93 04 04 08 95 04 04 08 97 04 04 08 99 04 04 08 9B 04 04 08 9D 04 04 08 9F 04 04 08 A1 04 04 08 A3 04 04 08 A5 04 04 08 A7 04 04 08 A9 04 04 08 AB 04 04 08 AD 04 04 08 AF 04 04 08 B1 04 04 08 B3 04 04 08 B5 04 04 08 B7 04 04 08 B9 04 04 08 BB 04 04 08 BD 04 04 08 BF 04 04 08 C1 04 04 08 C3 04 04 0
10、8 C5 04 04 08 00 F0 02 F8 00 F0 3A F8 0A A0 90 E8 00 0C 82 44 83 44 AA F1 01 07 DA 45 01 D1 00 F0 2F F8 AF F2 09 0E BA E8 0F 00 13 F0 01 0F 18 BF FB 1A 43 F0 01 03 18 47 EC 0E 00 00 0C 0F 00 00 10 3A 24 BF 78 C8 78 C1 FA D8 52 07 24 BF 30 C8 30 C1 44 BF 04 68 0C 60 70 47 00 00 00 23 00 24 00 25 00 2
11、6 10 3A 28 BF 78 C1 FB D8 52 07 28 BF 30 C1 48 BF 0B 60 70 47 1F B5 1F BD 10 B5 10 BD 00 F0 0F FF 11 46 FF F7 F7 FF 00 F0 A0 F8 00 F0 2D FF 03 B4 FF F7 F2 FF 03 BC 00 F0 31 FF 00 00 30 BF 70 47 20 BF 70 47 40 BF 70 47 BF F3 6F 8F 70 47 BF F3 4F 8F 70 47 BF F3 5F 8F 70 47 01 DF 70 47 EF F3 14 80 70 4
12、7 80 F3 14 88 BF F3 6F 8F 70 47 EF F3 09 80 70 47 80 F3 09 88 70 47 EF F3 08 80 70 47 80 F3 08 88 70 47 62 B6 70 47 72 B6 70 47 EF F3 10 80 70 47 71 B6 70 47 61 B6 70 47 EF F3 13 80 70 47 80 F3 11 88 70 47 EF F3 12 80 70 47 40 BA 70 47 00 BA 70 47 00 00 03 48 00 47 03 48 04 49 04 4A 05 4B 70 47 00 0
13、0 31 01 04 08 70 00 00 20 70 08 00 20 70 04 00 20 70 04 00 20 01 B5 02 E0 00 98 40 1E 00 90 00 98 00 28 F9 D1 08 BD 10 B5 00 21 4F F0 00 60 00 F0 D2 FB 10 BD 10 B5 00 F0 C3 FC 4F F4 80 30 00 F0 DE FC 00 F0 1B FD 5A 49 08 70 08 46 00 78 01 28 26 D1 10 20 00 F0 22 F9 02 20 00 F0 09 F9 00 20 00 F0 55 F
14、D 00 20 00 F0 64 FD 4F F4 80 60 00 F0 57 FD 4F F4 E0 11 4F F4 80 30 00 F0 2B FD 01 20 00 F0 34 FD 00 BF 39 20 00 F0 DC FC 00 28 FA D0 02 20 00 F0 2E FD 00 BF 00 F0 34 FD 08 28 FB D1 10 BD 4F F4 80 21 48 02 00 F0 95 FB FF F7 C2 FF FF F7 B9 FF 01 21 7C 20 00 F0 EE FD 4F F6 FF 70 3C 49 08 80 00 20 C8 7
15、0 3B 48 00 F0 5D F9 39 49 3A 48 00 F0 59 F9 37 49 39 48 00 F0 55 F9 35 49 38 48 00 F0 51 F9 33 49 37 48 00 F0 4D F9 00 21 7C 20 00 F0 D1 FD 01 21 4F F4 C0 70 00 F0 CC FD 2C 49 32 48 00 F0 40 F9 2A 49 31 48 00 F0 3C F9 00 21 4F F4 C0 70 00 F0 BF FD 01 21 80 20 00 F0 BB FD 4F F4 F8 60 23 49 08 80 10 2
16、0 C8 70 03 20 88 70 26 48 00 F0 28 F9 39 E0 40 21 23 48 00 F0 CD F9 24 48 FF F7 66 FF 4F F4 C0 71 1F 48 00 F0 C5 F9 40 21 1D 48 00 F0 C3 F9 1E 48 FF F7 5A FF 4F F4 00 71 19 48 00 F0 B9 F9 4F F4 C0 71 17 48 00 F0 B6 F9 17 48 FF F7 4D FF 4F F4 00 71 13 48 00 F0 AE F9 14 48 00 78 40 1C C0 B2 12 49 08 70 03 28 07 DD 00 20 08 70 4F F4 80 61 0B 48 00 F0 9F F9 04 E0 4F F4 80 61 88 034、4224 字节的文件就是如下这样传输的:5、文件发送完以后,发送方发出一个“EOT”信号,接收方也以“ACK”回应。6、最后STM32单片机发送文件接收成功的信息给PC机。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2