HOME  > 電子工作

Raspberry Piを用いてPICマイコンに書き込む

図1

はじめに

 PICkit3を使わずに、Raspberry Piを用いてPICマイコンにプログラムを書き込むシステムを制作しましたのでご紹介します。
 pickleという、Raspi(Linux)でPICマイコンにhexファイルの書き込みを行うソフトがあります。しかし、ハードウェアはどのようにしたらいいのか、情報がなかったので紹介します。

用意するもの

制作に必要なものは下記の通りです。

回路図

回路図
 PICマイコンに書き込みを行うための回路は上図のようになります。
 書き込みを行うのに「VDD」、「VSS(GND)」、「ISCPDAT」、「ISCPCLK」、「MCLR」という5つのピンを用います。 MCLRピンにPICマイコンの動作電圧より高い電圧(12V、9V、5V)の信号を与える必要があります。 また、ISCPDATピン、ISCPCLKピンとRaspberry Piの電圧が異なるため、レベル変換する必要があります。

1)Raspberry Piから出力される5Vを、12Vに昇圧する必要があります。そのために、MAX662 DIPモジュールを利用します。

2)12Vから9Vをつくるには、三端子レギュレーター LM78L09を利用します。

3)3.3V→12V,9V,5Vのレベル変換するのには、MOSFET 2N7000を利用します。

4)3.3V←→5Vのレベル変換するのには、I2Cバス用レベル変換モジュール FXMA2102を利用します。


レベル変換モジュールに何を選択するか、またプルアップ抵抗の抵抗値を何にするかによって、高周波数信号の波形がなまってきます。 色々なPICマイコンへの書き込みで試しましたが、FXMA2102でもいけます。プルアップ抵抗の抵抗値はRaspberry Piでは10kΩがいいようです。

ソフトウェア

pickleという、Raspi(Linux)でPICマイコンにhexファイルの書き込みを行うプログラムがあります。

pickle

このシステムで使用したGPIOを設定するconfigファイルを公開します。

configファイル

書き込み

 下記の方法で、PICマイコンにプログラムを書き込みます。

1)1x5ピン ピンソケットとPICマイコンを接続します。PIC書き込みアダプタを利用すると便利です。

2)sambaを導入してWindowsからRaspberry Piのフォルダが見えるようにして、プログラム(hexファイル)をmicroSDに書き込みます。

3)下図のように、PCとUSB接続して、PCよりssh経由で操作して、プログラム(hexファイル)をPICマイコンに書き込みます。


図3

終わりに

以上です。この他にも、M5Stackを利用してスタンドアロンで書き込むシステムを制作したり、Seeed XIAO RP2040を利用して書き込むシステムを制作したりしてます。

このページのトップへ