0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microbridgeを作ってみた

Last updated at Posted at 2022-08-12

オレンジピコさんの製品にPIC32のプログラマでThe Microbridgeを使ったものがあり、PIC16F1455のストックがあったので、作ってみました。

写真(2022-08-12 17.22).jpg

写真(2022-08-12 17.22) #3.jpg

基板はaitendoのもので、ミニUSBは5本ピンが出ているのですが、4本分しかパターンがないので、無理やり合わせています。

最初は秋月電子のCタイプ・ユニバーサル基板で作ろうかと考えたのですが、せっかくマイクロブリッジなので小さな基板で作ることにしました。

3.3Vのレギュレータは何かから外したHT7133です。

上の写真の時は付いてませんがLEDを付けました。ボタンSWを押すと点灯してISPモードになります。

ボタンSWはエポキシボンドで接着しました。

USBシリアルなモジュールはたくさんあるので、シリアルのピンは付けません。

このモジュールは通常はシリアルインターフェースとして機能しますが、ボタンSWを押すとプログラマになります。

CDCなデバイスで雪豹でもCDCのサポートはありchipKit DP32のbootは認識しますが、PIC16F1455やMCP2221AのCDCとは相性が悪いようで、Macは10.7以降になるようです。

PIC16F1455のfirmwareはオープンソースではなくhexでの提供で、ページには高電圧(VPP)を使った自力でのダウンロード方法がありましたが、PICKIT3があるのでWin7のMPLAB X IPE v5.45で書き込みました。このツールは重いのであまり使いたくはないですが、しかたありません。

pic32progのasciiプロトコルはArudinoを使った実装が初めにあって、それをPIC16F1455で使えるようにしたもののようです。

ボタンSWを押した後にpic32progを起動すると処理が行われます。

El Capitanのpic32prog(2.0.218)で試したら、認識はできるのですが、書き込みでエラーがでます。

Winのバイナリだと大丈夫でした。デバッグしてみたところserial.cをちょっといじったら、上手くいきました。

$ ./pic32prog -d ascii:/dev/tty.usbmodem264241 main32.hex 
Programmer for Microchip PIC32 microcontrollers, Version 2.0.258
    Copyright: (C) 2011-2015 Serge Vakulenko
       (ascii ICSP coded by Robert Rozee)

      Adapter: .......... OK1 OK2 - ascii ICSP v1N
    Processor: MX220F032B
 Flash memory: 32 kbytes
  Boot memory: 3 kbytes
         Data: 2404 bytes
        Erase: (100mS) done
   Loading PE: 1 2 3 4 (LDR) 5 6 7a (PE) 7b 8 v0301
Program flash: ######################## done
 Program boot: ## done      
target_program_devcfg: devcfg0-3 = 7fffffef ff60ce5b fff979d9 cfffffff
 Verify flash: ####################### done
  Verify boot: ## done       
 Program rate: 3138 bytes per second

total TDI/TMS pairs sent = 88048 pairs
total TDO bits received  = 17664 bits
total ascii codes sent   = 28546
total ascii codes recv   = 6099
maximum continuous write = 452 chars
O/S serial writes        = 2792
O/S serial reads (data)  = 561
O/S serial reads (sync)  = 10
XferFastData count       = 1330
10mS delays (E/X/R)      = 10/0/0
elapsed programming time = 0m 01s

パッチはpullreq出しました。

書き込み早くていいと思います。

pic32mx_usb_i2sを焼いてみましたが、問題ないです。

FaGgXJXakAE_iQG.jpg

PIC16Fに書き込みする方法が無い場合は、すなおにオレンジピコさんの製品を購入するのが良いです。

オリジナルのRobert Rozeeさんが作ったArduinoを使ったバージョンはpic32progにArduinoのfirmwareのバイナリが入っていて、それをダウンロードしてから、処理を行うようです。

Arudinoのfirmwareは-b3オプションでAruduinoをリセットすると書き込まれるようです。

PICライターの電源は以下の三つのパターンがあります。

  • ライターとターゲットで別々に電源を持っている
  • ライターがターゲットに電源を供給
  • ライターがターゲットから参照電源を貰っている

Microbridgeは一つ目のタイプで、Arduinoを使ったものは二つ目のタイプのようです。

MicrobridgeのサイトにあるWin用のEXEでは焼けないHEXがあるようです。

Programmer for Microchip PIC32 microcontrollers, Version 2.0.220
    Copyright: (C) 2011-2015 Serge Vakulenko
       (ascii ICSP coded by Robert Rozee)

      Adapter: . OK1 OK2 - ascii ICSP v1N
    Processor: MX220F032B
 Flash memory: 32 kbytes
  Boot memory: 3 kbytes
         Data: 11396 bytes
DEVCFG values are missing -- check your HEX file!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?