Saya bertanya-tanya bagaimana cara membuat protokol komunikasi UART / USB yang aman. Saya membutuhkannya untuk komunikasi antara mikrokontroler dan PC. Saya punya ~ 10 perintah dan saya pikir saya akan menggunakan 10 perintah pengakuan terpisah untuk masing-masing.
Pertukarannya harus seperti ini:
- PC mengirimkan perintah bangun melalui UART
- μC mengakui bahwa PC terhubung dan mengirimkan perintahnya ke PC, mis.
0x01 - PC melakukan apa yang diminta (beberapa perangkat keras) dan merespons
~0x01ketika selesai (saya meniadakan nomor untuk membuat "jarak" yang lebih besar antara dua angka) - μC tahu bahwa itu dikirim
0x01dan diharapkan~0x01dari PC. Jika sesuatu selain~0x01kembali, μC akan tahu bahwa ada yang tidak beres dan akan mengirim permintaan baru atau pesan kesalahan
Kasus yang dikirim μC 0x01, PC memahami 0x02dan mengirim ~0x02kembali tetapi μC membaca ~0x01karena beberapa kebisingan akan sangat buruk.
Seberapa aman itu dalam hal transmisi, atau bagaimana saya bisa membuatnya lebih aman?