PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 |
2011.7.12 前へ 次へ 目次へ戻る ホームページトップへ戻る |
☆USB(HID)送信プログラム パソコンからPIC18F2550へデータを送信するプログラムの試験的なものはすでにできています。 そのプログラムをもとに実用的なプログラムに作り上げました。 実用になったHID送信プログラムの説明です。 |
[第64回]
●HID送信プログラムが出来ました
今回もPIC18F2550の簡単なプログラムについて説明をさせていただく予定でしたのですが、またまた予定変更です。
先日から作業をしておりましたZ80版TK80ボードのためのHIDプログラムが、とりあえず動くところまで出来てしまいました。
信号の波形ですとか、試作基板の写真ですとか、テスト中の画面ですとかをいろいろ撮りましたのですが、これをそのままにしておきますと、そのうち、この写真は何だっけ?ということになりかねません。
毎度のことでお話があっちへ行ったりこっちへ来たりしてまことにまとまりがなくて申し訳ありませんが、どうかご容赦願います。
いずれまた、詳細についてご説明をいたします。
今回は、ざっとかいつまんでのご説明ということになります。
PIC18F2550のテスト基板(蛇の目基板)をZ80版TK80ボード(ND80ZH)に接続して動作テスト中の写真です。
ND80ZHは特注品です(ワンボードマイコンをつくろう![第3回]〜同[第34回]参照)。
この写真のボードはND80ZHの試作品として作った基板です。
7セグメントLED表示器の右の2個が「むき出し」なのは、ワンボードマイコンをつくろう![第31回]で7セグメントLEDチェッカーに改造してしまったためです。
写真では左下の蛇の目基板のその下にUSBコネクタがあるのですが切れてしまって写っていません。
WindowsパソコンとPIC18F2550はUSBケーブルで接続されています。
Windowsパソコン上のHID送信プログラムによって、PIC18F2550を経由して、ND80ZHにマシン語のプログラムが送信されたところです。
ND80ZHの7セグメントLEDには、受信したプログラムの開始アドレス8000と終了アドレス8058が表示されています。
PIC18F2550部分を接近して撮りました。
今度は写真の下の方にUSBコネクタも写っています。
ミニクリップはPIC18F2550からND80ZHへデータを送出するところをオシロスコープでモニタするためのものです。
基板裏側の配線の様子です。
ND80ZHはデータ(プログラム)のSTORE、LOADを、PIC16F88を使ってRS232Cで行っています。
そのPIC16F88をICソケットから外してしまって、そこにPIC18F2550を接続しています。
回路図はまだメモ描きしかありませんから、今はお見せすることができません。
近日中にきちんとしたものを描いて、お見せすることにいたしますが、おおむねND80ZHのPIC16F88まわりの回路と同じです(ワンボードマイコンをつくろう![第3回]I/O回路図参照)。
こちらはHID送信をしている、DOS/Vパソコン(Windows98SE)の画面です。
MSDOSプロンプト画面が数字だらけです。
プログラムの動作チェックのために、ハードディスクのファイルから読み込んだデータと、それを加工して、WriteFile()送出バッファに書き込むデータを表示させているのです。
ND80ZH用の電子オルガンプログラムのファイルを読み込んで、それをHIDでND80ZHに送出したところです。
8080(Z80)のマシン語コードのファイルですが、もとはRS232Cでの送信を前提に作ったものですから、バイナリファイルではなくてメモ帳でも開けるASCIIコードで16進数コードを表記しています。
ファイル(sound4.htx)の中身です。
80008058CD47023CCA00803DCD0E80C30080F5E5D5C5214180856F 461E1A503EF7D3982A000021000015C21F80503EE7D3982A000021 000015C22E801DC21A80C1D1E1F1C97F77716A5F59544F47433F3B 35322F2C25272A4B38642321 |