UART - ZMODEM
如眾所知, uart 比起 其他的介面傳輸 protocol, 並不穩定可靠.
所以很早以前, 就在上層有相關的 protocol 輔助.
最早是 XMODEM, 1977年發明.
XMODEM協議 :
- 以128字節塊的形式傳輸數據,每個塊都使用一個校驗和過程來進行錯誤檢測。
- 如果接收方關於一個塊的校驗和與它在發送方的校驗和相同時,
收方就向發送方發送一個認可字節。
- 但這種對每個塊都進行認可的策略將導致低性能,
特別是具有很長傳播延遲的衛星連接的情況時,問題更加嚴重。
而 XMODEM 經過改良後有 YMODEM, 到 1986年 有 ZMODEM.
90年代時, BBS 興起, ZMODEM 被廣泛使用在 BBS 上.
ZMODEM 協議 :
- 不需要對每個塊都進行認可。只是簡單地要求對損壞的塊進行重發。
不需要認可回送分組在很大程度上減少了通信量。
- Xmodem 文件傳輸協議的一種增強形式,不僅能傳輸更大的數據,而且錯誤率更小。
- 包含一種名為檢查點重啟的特性,如果通信連結在數據傳輸過程中中斷,
能從斷點處而不是從開始處恢復傳輸。
所以後來 XMODEM 幾乎都被 ZMODEM 取代.
像 Linux/Mac 中有 rz / sz 指令, protocol 用的就是 zmodem
ZModem source
Ref: https://read01.com/4APKy7.html
Ref: http://www.crifan.com/order_kermit_xmodem_xmodem-1k_ymodem_ymodem-g_ymodem-1k_zmodem/
Ref: http://www.cnblogs.com/pengdonglin137/p/3423691.html
留言
張貼留言