いいえ、実際には、PICをプログラムするためにSPI、UART、またはI 2 Cを使用する必要はありません。唯一、その目的のためにロードされた特別なコード(ブートローダ)を持っていないPICに新しいプログラムを取得する方法は、外部ハードウェアのプログラミング・インタフェースを使用することです。電気的には、これはVss、MCLR、PGC、およびPGDへの接続を意味します。プログラマーもVddに接続しておくと便利ですが、Vddレベルがわかっていてプログラマーがそれに応じて調整している限り、このチップには必要ありません。
低レベルのハードウェアインターフェイスは非常にシンプルです。PGDは、PGC(クロックライン)の立ち下がりエッジでPICによってサンプリングされるデータラインです。PICを最初にプログラミングモードにするには、MCLRの特定のエッジに関連して特別な32ビットキーを入力します(ただし、高電圧プログラミングについては下記の注を参照してください)。
より高いレベルのプロトコルはより複雑になります。ほとんどの処理は6ビットのコマンドで行われ、その一部には14ビットのデータワードが続きます。プログラミング仕様を注意深く読む必要があります。プログラミング仕様はデータシートとは別のドキュメントであることに注意してください。マイクロチップ社のWebサイトで特定のPICの製品ページにアクセスすると、ドキュメントセクションにプログラミング仕様へのリンクがあります。
高電圧プログラミングについて追加
これらの種類のPICには、プログラミングモードに入る方法が2つあります。高電圧(HVP)と低電圧(LVP)です。高電圧方式では、MCLRを8〜9ボルトに上げて、プログラミング中にそれを維持する必要があります。この方法は、PICにプログラムされた可能なデータに関係なく、常に機能します。
プログラミングモードに入る低電圧方法は、MCLRをハイに駆動してからローに駆動し、PGCとPGDを通常使用して、特別な32ビットのキーシーケンスでクロッキングします。デバイスは正しいキーシーケンスでプログラミングモードに入り、MCLRがローに保持されている限り、プログラミングモードを維持します。
低電圧方式は、構成ビットの1つで無効にできます。ただし、構成ビットの消去状態では低電圧プログラミングが可能であり、工場からその方法で出荷されます。この構成ビットは、プログラミングが高電圧方式で入力された場合にのみLVPを許可しないように設定できます。したがって、LVPを有効にしない場合は、以下のすべてが当てはまる必要があります。
- PICは最後にHVP対応のプログラマーでプログラムされ、HVPプログラム入力モードが使用されました。
- PICにプログラムされたHEXファイルは、構成ワード2のLVPビットを意図的に非消去状態に設定します。
LVPを無効にするには、慎重なアクションと適切なプログラマーがかなり必要になるため、おそらくまだ有効です。奇妙な理由で故意に無効にされた場合、PICを少なくとも一括消去を実行するのに十分な時間(LVPを再度有効にする)プログラミングモードにするには、MCLRに8〜9 Vを供給する必要があります。