名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

PICプログラマーで 16F188xx をサポート

PICプログラマー
プログラマー外観
PICプログラマーと呼んでいるが、シリアルEEPROMやAVRもサポートしている。
当初の製作記事は ここ
その後の改善記事は、「PICプログラマー」 でブログ内を検索。


【今回の改善事項】

16F188xxをサポートした。
それとバグ吸収 (内容はヒミツ) もやっている。


【サポートデバイス一覧】

10F200/204/220
10F202/206/222
10F320
10LF320
10F322
10LF322
12F508
12F509/510/16F506
16F54
16F57/59
12F609/615/16F610
12HV609/615/16HV610
12F617/16F616
16HV616
16F627/LF627
16F628/LF628
16F627A/LF627A
16F628A/LF628A
16F648A/LF648A
12F629/675/16F630/676
16F631
12F635
16F636/639
12F683/16F684/677/687
16F685/688/689/690
16C711
16F716
16F785
16HV785
16F818
16F819
16F84A
16F87/88
16F870/871/872
16F873/874
16F876/877
16F873A/874A
16F876A/877A
16F882
16F883/884
16F886/887
16F913/914
16F916/917/946
16F1454/1455/1459
16LF1454/1455/1459
12F1501
12LF1501
16F1503/7
16LF1503/7
16F1508
16LF1508
16F1509
16LF1509
16F1574/8
16LF1574/8
16F1575/9
16LF1575/9
12F1612/16F1613
12LF1612/16LF1613
16F1614/1618
16LF1614/1618
16F1615/1619
16LF1615/1619
16F1703/1707
16LF1703/1707
16F1704/1708/1713
16LF1704/1708/1713
16F1705/1709/1716/1717
16LF1705/1709/1716/1717
16F1718/1719
16LF1718/1719
16F1782
16LF1782
16F1783/1784
16LF1783/1784
16F1786/1787
16LF1786/1787
16F1788/1789
16LF1788/1789
12F1822/16F1823
12LF1822/16LF1823
12F1840/16F1824/1828
12LF1840/16LF1824/1828
16F1825/1829/1847
16LF1825/1829/1847
16F1826
16LF1826
16F1827
16LF1827
16F18313/18323
16LF18313/18323
16F18324/18344
16LF18324/18344
16F18325/18345
16LF18325/18345
16F18326/18346
16LF18326/18346
16F18854
16LF18854
16F18855/18875
16LF18855/18875
16F18856/18876
16LF18856/18876
16F18857/18877
16LF18857/18877
16LF1902
16LF1903/1904
16LF1906/1907
16F1933/1934
16LF1933/1934
16F1936/1937/1946
16LF1936/1937/1946
16F1938/1939/1947
16LF1938/1939/1947
18F1320/2320
18F22x1
18F23x1
18F24x0/24x3/44x0/44x3
18F24x5/24x8/44x5/44x8
18F25x0/25x3/45x0/45x3
18F25x5/45x5
18F26x0/46x0
18F26x2/46x2
18F26x5/46x5
18F13K22
18LF13K22
18F14K22
18LF14K22
18F13K50
18LF13K50
18F14K50
18LF14K50
18F23K20/43K20
18F23K22/43K22
18LF23K22/LF43K22
18F24K20/44K20
18F24K22/44K22
18LF24K22/LF44K22
18F25K20/45K20
18F25K22/45K22
18LF25K22/LF45K22
18F26K20/46K20
18F26K22/46K22
18LF26K22/LF46K22
18F24Jxx/44Jxx
18F25Jxx/45Jxx
18F26Jxx/46Jxx
18F27Jxx/47Jxx
24FJ16GA0xx
24FJ32GA0xx
24FJ64GA0xx
24FJ96GA0xx
24FJ128GA0xx
30F1010
30F2010
30F2011/2012
30F2020/2023
30F301x
30F401x
30F501x
30F6010/0A/2/2A/4/4A/5
30F6011/1A/3/3A
33FJ/24HJ12GP201/202
33FJ32GP/MC202/204
33FJ32GP/MC302/304
33FJ64GP/MCx02/x04
33FJ128GP/MCx02/x04
33FJ256GP/MCx06/x08/x10/A
32MX110/210
32MX120/220
32MX130/230
32MX150/250
24FC32A
24FC64
24FC128
24FC256
24FC512
24FC1025
24FC1026
CAT24M01
25AA320A
25AA640A
25AA128
25AA256
25AA512
25AA1024
90S1200
90S2313
90S2323
tiny13
tiny2313
mega48
mega88
mega168
mega328


【ダウンロード】

PICプログラマーの設計資料とソフトウェアは ここから ダウンロードできる。

PC側の制御ソフトはGUIとプログラマー制御の2つから成る。
GUIを担うVBプロジェクトは「ISP」、実行ファイルは「ISP\bin\ISP.exe」
プログラマー制御を担うVCプロジェクトは「ISPdll」、実行ファイルは「ISPdll\Release\ISPdll.dll」
ともに開発環境は VisualStudio2008 Express Edition

プログラマー側の制御ソフトは18F14K50のファームウェアでディレクトリは「ISPpic18F14K50」、実行ファイルは「ISPpic18F14K50\USB\ISPpic18F14K50\Firmware\ISPpic18F14K50.hex」
開発環境は MPLAB Ver8.92

今回のバージョンアップは上記の3つとも更新されているので、すべてを入れ替える必要がある。

PC側の制御ソフトは、OSへのインストールは必要なく、任意の1つのフォルダにISP.exeとISPdll.dllをコピーするだけで良い。
VisualStudio2008のランタイムが無いと言われたら、ビルゲイツの指示に従って別途インストールする。

PICプログラマーを始めて導入するときはUSBドライバーの登録が必要である。USBドライバー本体はWindows標準のものを使用するので、ダウンロードファイルには含まれていない。infファイルとcatファイルは「ISPpic2\USB\ISPpic18F14K50\inf」にある。

ハードウェアの設計書は「USB接続簡易共用プログラマー設計・回路図・配線図.xls」。
各デバイス毎のソケットアダプタ結線は、シート名「ソケット・・・」を参照。


【いつもの愚痴】

16F188xxのプログラミング仕様は今までにない新手のものだった。

PICは全般的にプログラミング仕様がデバイス毎に微妙に違っていて、プログラマーの制御ソフトの開発時に悩まされている。プログラミング仕様の共通部分と個別部分を見極めて制御ソフトを設計することが新デバイスのサポートが効率的に進められるかどうかのキーポイントになる。

16F188xxの通信インタフェースは、マイクロチップ社の言うには「SPI風のインタフェース」とのことだ。しかし、2本線なので全二重ではないし、データとクロックのタイミングがAVRで採用されているSPIとは異なっている。元々SPIは信号の極性やタイミングにバリエーションがあるので、個々に仕様を確認する必要がある。プログラミング仕様書を読み解くとICSPDATとICSPCLKのタイミングは従来と同じで、ビットの送受信順序が従来は下位から上位の順だったのが、上位から下位の順に逆になっていた。確かにSPIは上位から下位の順なので、それが「SPI風のインタフェース」なんだ。

18F2xJxxのデバイスではICSP開始時に「MCHP」の4バイトをデバイスへSPIで送信する必要があり、この通信インタフェースはAVRのSPIと同じで、16F188xxの「SPI風のインタフェース」ではない。行き当たりばったりに仕様が作られているようで、PICとしての統一性が感じられない。

この「SPI風のインタフェース」のために、プログラマー側の制御ソフトも機能追加を余儀なくされた。プログラマー側の制御ソフトはPICとの最下位レベルの通信を担っているので開発当初から変更が無かったのだが、今になってこんな変更が入るとは。改変内容としては、従来のICSP通信をベースにビット送受信順序を逆にするだけなのでコピペで済む内容だが、このファームウェアの開発時期は2010年で開発環境はMPLAB(Xではない)であり、もはやMPLABの開発環境は維持していなかった。MPLABXにマイグレーションするのは無用のトラブルを生みそうなので、MPLABの最終版(v8.92)をインストールして今回の改変を行った。

NVMに書込むだけなんだから、こんなにも雑多な仕様は必要ないと思う。アドレスとデータを送れば書いてくれる画一的な仕様にして欲しいものだ。
スポンサーサイト
  1. 2017/06/20(火) 21:12:21|
  2. PIC開発
  3. | コメント:0
<<ミミクリーペットの修理(ボイスレコーダー・チェンジャー換装)新バージョンの3V対応 | ホーム | 白い妖怪ウォッチの修理(SW接触不良)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

本ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。

最新記事

最新コメント

月別アーカイブ

カテゴリ

おもちゃ病院 (7)
技術情報 (9)
修理事例 (143)
製作記事 (77)
ドクター研修会 (2)
PIC開発 (9)
未分類 (9)

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR