Saya sedang mengerjakan desain produk baru dan mungkin akan ada perubahan / perbaikan perangkat keras kecil atau besar selama masa pakai produk. Untuk pembaruan firmware di masa depan, saya perlu cara untuk menentukan revisi perangkat keras. Apa strategi yang baik?
Saat ini saya menarik dua pin cadangan ke atas / ke bawah dengan resistor eksternal dan memeriksa polanya. Ini hanya memungkinkan untuk 4 revisi perangkat keras, tetapi itu mungkin cukup untuk tujuan praktis. Mungkin menjadi masalah jika saya memerlukan satu atau kedua pin tersebut di revisi perangkat keras di masa depan.
Saya kira cara yang lebih ekonomis mungkin untuk memiliki pembagi resistor yang terhubung ke pin ADC. Setiap revisi perangkat keras dapat memiliki nilai resistor yang berbeda. Sayangnya saya tidak memiliki ADC cadangan dalam desain saya saat ini.
Saya kira cara lain bisa dengan menyandikan nomor versi perangkat keras dalam EEPROM atau mcu flash selama produksi? (Kami tidak memiliki fasilitas itu saat ini.)
Saya kira saya sedang mencari saran untuk metode yang fleksibel dan kuat.
[EDIT]
Kembali. saran dari @ trav1s: Saya tidak memiliki bus alamat per se tetapi saya memiliki EEPROM 24LCxx pada bus I2C. Rendahnya 3 bit dari Alamat Slave sudah tertanam. Saya kira saya bisa mengubah bit alamat dan mencari EEPROM saat startup.