ファームウェアがボードレイアウトの使用を検出できるように、ボード上のバージョンまたは構成に関する情報を電気的にエンコードする必要があります。
可能なオプションとその賛否両論は何ですか?
ファームウェアがボードレイアウトの使用を検出できるように、ボード上のバージョンまたは構成に関する情報を電気的にエンコードする必要があります。
可能なオプションとその賛否両論は何ですか?
回答:
私の頭の上から、2つの簡単な解決策が思い浮かびます。
これらの提案はどちらも、エンドユーザーが「ロックされた」機能を開くなど、簡単に変更できるという弱点があります。これはあなたにとっては問題ではないかもしれませんが、心に留めておくべきことです。
私が考えることができるいくつかのオプション:-
SMD PADS / O OHM抵抗リンク。ハードウェア構成にバイナリシステムを使用して、プロセッサのピン数を減らします。
ジャンパー。ボードは2xNコネクタピンを使用して、右側のピンにジャンパーを追加すると、構成を選択できます。間違いは簡単に解決できます。これはおそらく少しコストがかかり、ジャンパーによってはより多くのボードスペースを使用します。
ボードにEEPROMがある場合は、構成をメモリに埋め込むことができる場合があります。
#defineなどを使用してファームウェア自体を変更することはできますか?そうすれば、バージョン検出のためにボードスペースや追加のピンは必要ありません。
1線式EEPROMは、1つのGPIOしか必要としないが、大量の構成情報を格納できるため、優れたソリューションです。また、マイクロコントローラがボードテスト中にその情報(たとえば、キャリブレーションデータ)を書き込むこともできます。多くの場合、それ以上の変更を防ぐために、書き込み保護ピンまたは1回限りのプログラム可能なビットがあります。
他の利点には、保証された一意のシリアル番号などの便利な機能が含まれます。
このオプションは、オシロスコープのプローブやバッテリーなど、単一のデータラインしか必要としないため、多くのシステムで使用されています。EEPROMは、データライン自体からも電力を供給できます。
主な欠点はコストです。コストは高くありませんが、大量生産された製品では数セントが問題になる場合があります。
そのようなEEPROMの例は、1kbを保存するDS2431です。