過 去 ロ グ

目次ページへ戻る。

USB & MCU


[945]PIC16F877 + USB のお勉強は凍結 - 投稿者:ryosuke 2004年11月28日(日) 12時6分

PIC16F877 + USB のお勉強をしかけていましたが・・・、
これについては、やる必然性が無くなったので凍結します m(_ _)m


[590]PIC16F877 で USB の勉強 - 投稿者:ryosuke 2004年8月18日(水) 23時24分

すみません(ってこともないのでしょうけど)PIC の話題が続いています。

USBインターフェースの計測ロガーユニット
http://www.picfun.com/usbframe.html
を参考にして PIC16F876 (28pin) ではなく PIC16F877 (40pin) で実験を
しています。

すでに書籍に付属の CD-ROM にある *.HEX ファイルをパラレル式の
PIC プログラマで 16F877 に書き込み、それをターゲットボードに挿して
動かすところまでは動作確認ができています。

次に
> PIC16F876 のプログラムが MPLAB ICD を使うようにはできていないので
> 少し変更してなんとか MPLAB ICD を使いながら開発〜デバッグをやって
> いこうと思います。

と考えて下記の変更を行いました。

ハード的な変更
●MCLR/VPP 端子を +13V 対応にする。具体的には 47kΩで +5V に
 プルアップするだけにした。
●LCD の4ビットデータ線を RB4-7 から RD4-7 に移動して、RB6,7 を
 MPLAB-ICD のために開放した。RB3 はもともと不使用なのでそのまま。
●ターゲットボードに6極の ICSP 用コネクタを新設した。
●MPLAB-ICD モジュールに6芯の ICSP 用ケーブルをハンダ付けした。
●MPLAB-ICD モジュールのファームウェアを更新した。(2.04.00 から
 2.31.00 に変更した。)これで正常に動作するようになった。

ソフト的な変更
●プログラムの0番地に NOP を置いた。
●MPLAB の Project の設定はもともと 16F877 にしてあったのでそのまま。
●ソースファイル usblog1.asm の 18, 19 行目 876 を 877 に変更。
●同じく 82 行目に MOVLF 0x0F, TRISD ;RD4-7 = OUT を追加。
●ソースファイル lcd_lib6.asm の 13, 14 行目をそれぞれ PORTD と
 TRISD に変更。なお 11 行目は PORTB のままで良い。

以上で MPLAB-ICD をターゲットボードに直結(ICSP) して開発〜書き込み
〜デバッグできるようになりました。

しかし! もっと早く気付けば良かった・・・
プログラムサイズが約2Kワードもあります。ということは、1Kワードの
制限がある「PICC Lite Compiler」無料版が使えないじゃないですか!
せっかく 16F84 だけではなく 16F877 も使えると思って喜んだのに。
あ〜、仕方がないのでアセンブラで引き続きお勉強します。
アセンブラのプログラムを勉強するというより、USBデバイスの使い方を
勉強するので、まぁいいか、と思っています。
私にとって大変なのはむしろパソコン側のソフトです・・・。


[583]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月16日(月) 20時27分

お盆休みが終わりました。

> 次はパソコン側のプログラムをなんとかしなくてはならないので、しばし
> 中断します。

後閑さんの本で紹介されているパソコン側のプログラムは Visual Basic 6 で
書かれていますが、私が個人で持っているのは Visual Basic 2.0 なので
しばらく中断していました。

今日の昼休みから早速、会社のパソコンに入っているVB6で実験を再開して
います。本の通りに付録CDのソースのままで動かそうとしたら認識して
くれなかったのですが、VBのソースを追いかけてみてプロダクトIDを
0x40 から 0x42 に変更したらちゃんと動いてくれたので一安心です。

PIC16F876 のプログラムが MPLAB ICD を使うようにはできていないので
少し変更してなんとか MPLAB ICD を使いながら開発〜デバッグをやって
いこうと思います。


[530]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 14時46分

> 「デバイス」はキーボードやマウス側、「コントローラ」はパソコン側
> のことですよね。

あれあれ、すみません。パソコン側は「ホスト」でした。

だからホストコントローラ、デバイスコントローラという呼び方は問題
ありませんでした。

まだ全然身に付いていません。

次はパソコン側のプログラムをなんとかしなくてはならないので、しばし
中断します。


[529]Re: USBを使えるようになりたくて - 投稿者:大西 2004年8月7日(土) 14時35分

川野さん、こんにちは。

> USBを使えるようになりたくて、何日か前から勉強し始めました。

下のフラッシュROMライタもUSBかなと思ってます。UVEPROMならシリアルでしたが。
(オマエにそんな容量は不要というつっこみは無しね。)
http://homepage2.nifty.com/~maid/usbwriter.html
ここでもUSBです。ただし、沖製なんて手に入らないから
USBN9603 か4になるのでしょうね。無謀な野望です。

●リンクURL : http://www.page.sannet.ne.jp/je3nqy/


[527]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 11時54分

ああ、しまった。「USBデバイスコントローラ」という表記は少し
紛らわしかったです。

「デバイス」はキーボードやマウス側、「コントローラ」はパソコン側
のことですよね。

私が取り組もうとしているのは「デバイス」の方です。


[526]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 9時29分

そうそう、HC908JB8 は USB1.1 対応です。
決して新しい製品ではなくて、米国ではかなり流通していると想像
しています。

HC908JB16 という製品がそれより新しくて USB2.0 対応です。

入手性の面と私の求めているレベルから考えて HC908JB8 を使って
みたいと考えています。


[525]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 8時24分

> そのうち 68HC908JB8 の 20ピンDIP版を使ってみたいなぁ。
> (USBデバイスコントローラ内蔵)

私が使ってみたいと思っている HC908JB8 の日本語紹介がこちらに
ありました。

http://www.mot.co.jp/SPS/html/lit/pdf/68HC908JB8PBJ.pdf

いいなぁ、うん! 使えるようになりたいなぁ!!

気になるお値段は、Digi-Key で1個から買えて \626 です。
USBデバイスコントローラ+マイコンだから安いですよね。
しかも DIP 20pin がそそられます! ピン数やパッケージの
バリエーションもいくつか用意されています。

開発ツールがどうなのか、ちょっと心配。M68ICS08JB-ND が絶対に
必要なのか?? \37,863 は少し高い。でもエミュレータと書いて
あるから安いのかも。これ使わなくても書き込みできるのがベスト
なんだけどなぁ。


[524]Re: USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 4時15分

> 本と違うところは、PIC16F876(28pin) ではなく PIC16F877(40pin) を
> 使ったことだけ。あとは丸写しです。USBデバイスコントローラは
> 有名な USBN9603 です。

他にも違いがありました。アナログ入力の回路を簡素化しています。


[523]USBを使えるようになりたくて - 投稿者:ryosuke 2004年8月7日(土) 4時11分

USBを使えるようになりたくて、何日か前から勉強し始めました。
こういうときは何も解らなくてもとにかく動かしてから考えると
近道になる・・・場合もありますよね。

資料が揃っているという理由で、後閑さんの著書「PIC応用ガイド
ブック」を参考にして、とにかく作ってみました。
作ったもの自体が動いていることと、パソコンに組み込んだUSB
デバイスドライバがブツを認識できていることを確認しました。

電子工作のページの表紙に置いてあります。

本と違うところは、PIC16F876(28pin) ではなく PIC16F877(40pin) を
使ったことだけ。あとは丸写しです。USBデバイスコントローラは
有名な USBN9603 です。

慣れてきたら他のマイコンも使ってみたいですね。

そのうち 68HC908JB8 の 20ピンDIP版を使ってみたいなぁ。
(USBデバイスコントローラ内蔵)


目次ページへ戻る。