FC2ブログ

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

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

PICプログラマーで ATtiny13Aの高電圧シリアルプログラミング をサポート

プログラマー外観

【前振り】
おもちゃに使われているカスタムICが故障しているときは別のマイコンで換装することになるが、数あるマイコンの中で殆どの場合はPICを採用している。その理由はコスト面で、今のところPICが最も廉価だからだ。PIC16F1705のように100円(2018年秋月価格)で音声再生と音楽演奏が同時実行できる石はPIC以外には無い。ラジコンのデコーダのようにデジタルI/Oだけで済む場合はPIC12F509(2018年秋月価格50円)で換装が可能だ。このくらいのコストであればおもちゃ修理に使ってもよいと考えている。

しかし、PIC以外にもコストパフォーマンスの良い石があった。ATtiny13A(2018年秋月価格50円)だ。ADC付きで、RESETピンをデジタルI/Oやアナログ入力に割り当てることができる。同じ価格のPIC12F509にはADCは無いし、MCLRピンはデジタル入力にしか使えない。動作速度も内部オシレータ使用で、命令サイクルは9.6倍も速い。これがATtiny13Aのメリットだ。逆にデメリットは、一度RESETピンの機能を無効にすると、その後は一般のISPライターではプログラムできなくなることだ。書き直すためには高電圧シリアルプログラミングをサポートしたライターが必要になる。

そこで、 自作している 「USB接続PICプログラマー」 に高電圧シリアルプログラミングの機能を追加した。PICプログラマーと呼んでいるが、PIC以外にもシリアルEEPROMやAVRの低電圧シリアルプログラミングもサポートしている。今になって機能追加の意欲が湧いてきたのは、おもちゃ修理にATtiny13Aのメリットを活かせるのではないかと言う期待感が高まってきたからだ。しかし、そうすると読者の皆さんにも高電圧シリアルプログラミングの環境を持っていただかないと、このブログで公開するファームウェアの利用がし辛くなってしまう。高電圧シリアルプログラミングができるライターをお持ちでなければ、この 「USB接続PICプログラマー」 がお薦めだ。

【改造の要点】
「USB接続PICプログラマー」 は元々高電圧を生成する機能を持っているし、AVRの低定電圧シリアルプログラミングは既にやっているので、高電圧シリアルプログラミングをサポートすることは容易だ。AVRのメモリプログラミング仕様を確認したところ、「USB接続PICプログラマー」 の回路は変更不要で、ソケットアダプタを新規に製作するだけで実現可能なことが判った。プログラマーを制御するマイコンのファームウェアとPC側の制御ソフトは機能追加が必要だ。

今のところ、おもちゃ修理に使ってメリットがあるのはATtiny13Aのみなので、これをサポート対象としている。

AT90S2323とATtiny85も高電圧シリアルプログラミングが可能であるが、AT90S2323は内部オシレータが無いので使い勝手が悪いし、今ではコストメリットも無い。ATtiny85は今後サポートするかも知れない。

ファームウェアは高電圧シリアルプログラミングのデバイスインタフェースを取り込む。
ソケットアダプタは低電圧シリアルプログラミングに対して、SII信号の追加とピン接続の変更を行う。
PC側の制御ソフトは高電圧シリアルプログラミングのプロトコルを追加する。

ATtiny13A用のソケットアダプタの結線図
PICプログラマーでATtiny134A高電圧シリアルプログラミングをサポート結線図

【ダウンロード】
改造後のUSB接続PICプログラマーの設計資料とプログラマー制御マイコンのファームウェアの開発プロジェクト、PC側の制御ソフトの開発プロジェクトは ここから ダウンロードできる。

【使い方】
デバイス一覧の中から 「tiny13A-HV」 を選択する。HVのキーワードが高電圧シリアルプログラミングを表している。

実行機能は 「読込み」 「書込み」 「チップ消去」 「RUN」 が使える。

AVRSTUDIOで扱うHEXファイルはフラッシュメモリとEEPROMとで分かれていて、ファイル名の拡張子で区別される。フラッシュメモリは 「.hex」 、EEPROMは 「.eep」 だ。「USB接続PICプログラマー」でも、指定されたHEXファイル名が 「*.eep」 のときはEEPROMにアクセスする。それ以外のときはフラッシュメモリにアクセスする。

「USB接続PICプログラマー」 は FB(フューズビット) 、 LB(ロックビット) 、 SB(シグネイチャーバイト) 、 CB(キャリブレーションバイト) の情報をHEXファイルでやり取りする。FBはアドレス0x100000 、 LBはアドレス0x200000 、 SBはアドレス0x300000 、 CBはアドレス0x400000 に配置している。FBとLBの設定値をHEXファイルに埋め込んでおけばデバイスに書き込んでくれるので便利だし、設定ミスの防止になる。他のライターを使うときは、これらの情報が不正データだと見做されるかも知れない。

【関連調査】
秋月で販売されているAVRで高電圧シリアルプログラミングが使えるものを調べた。

AT90S2313 高電圧シリアル無し
AT90S2323 RESETピンの機能変更機能は無い、高電圧シリアルのコードが異なる
ATmega48/88/168/328 高電圧シリアル無し
ATmega88 高電圧シリアル無し
ATtiny85 RESETピンの機能を無効にできる、高電圧シリアルのコードが微妙に異なる
ATtiny2313 高電圧シリアル無し
ATmega8 高電圧シリアル無し

高電圧シリアルプログラミングは AT90S2323 と ATtiny85 で使えるのだが、プロトコルはATtiny13Aと違っている。HEXファイルを書き込むだけなのに何故デバイス毎に仕様を変えるのか、その設計思想が全く理解できない。
関連記事
スポンサーサイト
  1. 2018/01/15(月) 15:14:36|
  2. プログラマー
  3. | コメント:0
<<OSCキャリブレーションツール(ATtiny13A) | ホーム | アーロと少年の修理(マイコン換装)>>

コメント

コメントの投稿


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

プロフィール

大泉茂幸

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

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

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

当ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。なお、公開ファイルは最新版を載せているので、古い記事の内容から変わっている場合があります。

カテゴリ

おもちゃ修理技術 (87)
¦ ・電子オルゴール+音声 (32)
¦ ・音声再生・録音再生 (4)
¦ ・2.4GHzラジコン (29)
¦ ・レガシーラジコン (12)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (3)
ツール製作 (24)
¦ ・プログラマー (17)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (4)
修理事例 (150)
¦ ・マイコン換装 (70)
¦ ・電子・電気修理 (58)
¦ ・メカ修理 (22)
製作記事 (4)
PIC開発 (4)
おもちゃ病院 (9)
ドクター研修会 (2)
未分類 (0)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR