Saya perlu menyandikan informasi tentang versi atau konfigurasi di papan / elektrik, sehingga firmware dapat mendeteksi tata letak papan yang digunakan.
Opsi apa yang mungkin dan apa pro / kontra mereka?
pcb-design
firmware
Henrik Hansen
sumber
sumber
Jawaban:
Dari atas kepala saya, dua solusi mudah terlintas di benak saya.
Kedua saran ini memang memiliki kelemahan di mana pengguna akhir dapat dengan mudah mengubahnya, katakanlah untuk membuka fitur "terkunci". Ini mungkin bukan masalah bagi Anda, tetapi sesuatu yang perlu diingat.
sumber
Saya telah menggunakan register geser dengan pin yang diikat tinggi dan rendah untuk menyandikan revisi papan sebelum sekarang, jika Anda sudah menggunakan SPI untuk sesuatu di papan Anda itu sepele untuk membacanya.
Jika Anda harus dapat mengubah ID pada saat run time maka menggunakan jumper daripada mengikat input dengan jejak akan menjadi ide yang baik.
sumber
Beberapa opsi yang dapat saya pikirkan: -
Tautan Resistor SMD PADS / O OHM. Gunakan sistem biner untuk konfigurasi perangkat keras untuk mengurangi jumlah pin untuk prosesor Anda.
Jumper. Papan akan 2xN konektor pin menambahkan jumper ke pin kanan akan membiarkan Anda memilih konfigurasi Anda. Kesalahan lebih mudah diselesaikan. Ini mungkin sedikit mahal dan menggunakan lebih banyak ruang papan tergantung pada jumper.
Jika Anda memiliki EEPROM di papan tulis, maka dimungkinkan bagi Anda untuk menanamkan konfigurasi ke dalam memori.
Mungkinkah Anda mengubah firmware itu sendiri menggunakan #define atau serupa? Maka Anda tidak perlu ruang papan dan pin ekstra untuk deteksi versi.
sumber
EEPROM satu kawat adalah solusi yang bagus karena mereka hanya memerlukan satu GPIO tetapi dapat menyimpan sejumlah besar informasi konfigurasi. Mereka juga memungkinkan mikrokontroler untuk menulis informasi itu selama tes papan (misalnya data kalibrasi). Banyak yang memiliki pin proteksi atau bit terprogram satu kali untuk mencegah perubahan lebih lanjut.
Keuntungan lain termasuk fitur yang berguna seperti nomor seri yang dijamin unik.
Opsi ini digunakan di banyak sistem, seperti probe osiloskop dan baterai, karena hanya membutuhkan satu baris data. EEPROM bahkan dapat diberdayakan dari jalur data itu sendiri.
Kerugian utama adalah biaya. Biayanya tidak tinggi, tetapi pada produk-produk yang diproduksi secara massal, beberapa sen bisa menjadi masalah.
Contoh dari EEPROM tersebut adalah DS2431, yang menyimpan 1kb.
sumber