• このエントリーをはてなブックマークに追加

PICPICの一年生

 PICマイコンいじりを始めました。ちっちゃなちっちゃなCPUですが、これで結構いろんなことができるようです。いわゆる電子工作っていうやつですね。とりあえずの目的は、自動車のサブバッテリの過放電アラーム、過放電ストップ(実は過放電でバッテリが満充電できなくなってしまいました)、電圧計と、LEDライトコントロールとかしてみようかと思ってます。もっともっといろんなことができそうですけど、とりあえずはそんなところ。


 いろんなページを見てみると、まずはPICマイコンのライターが必要ということ。PICプログラマというらしいですけど、PICマイコンのプログラムをPICマイコンに内蔵されているフラッシュROMなどに書き込むためのツールですね。キットなども販売されていますがそこそこのお値段。で、自作されている方も結構いるらしいので、せっかくなので作ってみようかと思いました。

 多いのが、パソコンのパラレルポートやシリアルポートに接続するタイプ。そんなもの、最近のパソコンについていないので、USB接続でいきたいと思います。USBをシリアルポートに変換するアダプタを使っている方も多くいらっしゃいますが、そんなまどろっこしいのもなんかいやだ。USBなら5V供給できるし、LOW VOLTAGE PROGRAM/VERIFY MODEなら5Vをそのまま使える。13Vを生成する必要はないようです。

 あと、PICプログラマにPICマイコンが必要だったりするプログラマも公開されていましたけど、そのPICマイコンを書くのにPICプログラマが必要なわけで・・・そりゃちょっと困りますよね。なので、手元にあるFT232BMというUSBシリアル変換のICを直接PICマイコンに接続してプログラムを書いてやろうという構想です。

 そのプログラマ回路にプログラムを流し込むためのPC用プログラムっていうのも必要なのですが、回路がオリジナルになるとここも作らないといけないかなぁ・・・という感じがしてきました。とりあえずデータを読み書きできるようにはなりました。

 書き込むモード(ICSPモード)には、電源をかけて2本の制御線を順番に入れていくと入ることができます。そして、データ線・クロック線の2線シリアルでデータを読み書きしていくわけです。しかし、コマンド6bit、データ16bitなので、これまた自分でぱたぱたさせてあげないといけないようです。

 考えた結果、他のライターもそういうのがあるようですが、シリアルポートのDTR・CTSをデータの送受信に、RTSをクロック線に使用します。もちろんUSB接続なので、FT232BMをコントロールして、信号をパタパタと変化させていくわけですね。

 ICSPモードに入るための信号は、適当な遅延回路を使って順番に入れていきます。でもリセットをかけることができません。そのための制御線もありません。仕方がないので、300ボー程度でTXから00データを送って、そのLOW区間をリセットとし、その区間の電源をオフすることにしました。これでデータが読み書きできちゃったんだから驚きですね。

 あとは、プログラムをコンパイル・アセンブルした結果に出てくるHEXファイルを解釈して、その制御線のパタパタに変換するプログラムを作ってやればとりあえず書き込むことができます。USBとの接続も制御線のパタパタも殆どFT232BMがやってくれるので、わりと楽です。ただ、書き込む速度は遅そうですね。まぁいいですね。自分しか使わないので。

 さて、流し込むプログラムを作るわけですが、これにはコンパイラとアセンブラが必要になります。いろいろ探してみたのですが、なんと、mikroCというやつは驚くほどカンタンに作れるみたいなので、これを試してみることにしました。なんというやつ!もうとりあえずのhexファイルができた!これで、作成したPICプログラマの動作もすぐに確認することができそうです。

 少々興奮気味につらつらと書いたのでわけわかりませんが、そのうち整理していこうかと思います。回路やソフトは公開できるほどにはならないかもしれませんけど、自己満足第一主義でいろいろ勉強していこうと思います。いや~結構楽しいかも。


 PIC関係はこのブログから引っ越すことにしました。→PICのページ

  • このエントリーをはてなブックマークに追加

コメント

  1. fusai より:

    アップ内容を読みながら4段落辺りで迷子になってしまいました。難しい~(T^T)クゥー

  2. けんと(^。^)y-。oO より:

    全然わかりませ~ん(^^;
    でもサブバッテリーはすご~く気になります!
    電圧計とか付けたほうが良いのかな~なんて考えてたりして…。
    でもね~電圧計がどういうふうに配線されて計測されてるのかは…全くわからない(笑)
    そのときが来たらゆっくり教えてくださ~いm(__)m

  3. quickturn. より:

    fusaiさん

    人間相手のお仕事に比べたら、何億倍もカンタンですよ!
    だって自分のやったとおりにしか動かないんですから・・・。

  4. quickturn. より:

    けんとさん

    電圧計は市販のものはシガーライターソケットにぶち刺すだけの
    ものもありますからカンタンなもんですよ~
    とりあえずNEWカヤッCARのボンネット開けて空のバッテリースペースが
    ある車が楽ですよ~

WordPress/Twitter/Facebookのアカウントも使えるようになりました。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください