nobchaの電子回路日記WEB掲示板 84102


PICでUSB

1:nobcha :

2012/09/20 (Thu) 15:59:59

ラトルズの本は「素人でも本のとおりに修正すればできる」
という売り込みでした。しかし、ダウンロードしたフレー
ムワークはリビアップしていたりして、動かなかった。ま
た基板が2550ですが、フレームワークスは4550なので、そ
の書替えもわかりにくいものでした。ともかくなぜという
説明が無いため、ちょっと違ってもわからなくなりました。
更に癖のある持って回った文章のためわかりにくさに輪を
かけるという感じでした。

これではいかんと後閑本を買って再チャレンジしたいとい
うところです。
28:nobcha :

2013/04/10 (Wed) 22:18:52

こんばんは。そうか256kもあるんですね。
確かにすごい。わたしはADやって、後は
グラフィック液晶にx-yプロットを一度は
してみたいのです。
27:nori :

2013/04/10 (Wed) 19:51:57

dsPICは単に12bit a/dが有るので買って見ました。
秋月でMCP3208とpic16fを買うのとあまり値段が変わらないので、
フラッシュ256は凄いですね。昔トラ技の付録に付いてた基板を使って
a/d変換してpwmで出す様にして、RTC-8564の時間を読んでLCDに表示
5x5x5のLEDキューブの表示を7パターンほど埋め込んでフラッシュ使用率3%でした

バッテリーは外装が破裂しただけで臭いのは出てませんでした。
あんなの出たら掃除が大変だと思います。
26:nobcha :

2013/04/07 (Sun) 22:35:01

こんばんは、お久しぶりです。
dsPICですか・・・、デジタルオシロとか、信号のスペクトラム
取りたいとか言う要請があり、ちょっと気になってます。
でもデジタルオシロなら、JYETECH(秋月オシロキット)
がATMEGAで、DSO NANOがSTM32で共にオー
プンアーキテクチャなので、そっちの勉強したほうが早いのか
とか頭の中でぐるぐる廻ってます。一月ばかりぐるぐる回りで
進歩無しです。
バッテリーは注意してくださいよ。プシュウならまだいいんで
すが・・。
25:nori :

2013/04/07 (Sun) 20:45:21

ご無沙汰してます。
相変わらず脱線してdspic256GP506が有ったり、PC9801ns/aのバッテリが破裂したりしてます。
24:nobcha :

2013/04/06 (Sat) 18:08:30

自分ちの掲示板の昔の書き込みを見て、自分で書き込むのも
うらさびしいのですが、まあ大目に見てやってください。

というのはDSO QUADというメインランド製の携帯みたいな
デジタルオシロがあるんですが、これのカスタムソフトの中
にロジックアナライザと、USBプロトコルアナライザがある
んです。

DSO QUADは内部CPUはSTM32で、回路やFPGAがオープンソー
スなので、外部のてだれの人が作ったという事です。詳しく
は小生のホームページをごらんください。
http://chitose6thplant.web.fc2.com/
左側メニューの最下段DSO QUADの紹介をクリックしてください。


原作者様の了解得て、日本語ページをでっち上げました。
http://chitose6thplant.web.fc2.com/exp/dso_quad/index_ja.htm


23:nobcha :

2012/09/29 (Sat) 13:48:48

今日は、noriさん。

何かタバコのヤニでくっつくウィルス(笑)のようです。手ごわそうです。

kawanaさん、i2cが大体数百kHbpsでバイトオリエンテッドです。
USARTの延長のイメージで捉えています。信号もTTLです。

USBはマウスみたいなIOでも1.5Mbpsでパケット交換式です。
信号は電流駆動だと思いますので、素人にモニターは難しい。

USBは7レイヤモデルで言うところのフィジカルとかリンクは
専門家に任せ(フレームワークを使って)ます。


22:kawana :

2012/09/29 (Sat) 06:54:50

PICKIT2のLOGIC TOOL が4チャンネルロジアナとして使えるのでと記述が有りますが、
(私も面白いなと思いましたが、試していません。)
I2CのSD,SCLの波形取りも、USBのD+、D-の波形取りも出来ると良いなと思います。?
USBのD-,D+の波形取りは速度的に無理かなと思うのですが、この点はどうなのでしょうか?
21:nori :

2012/09/28 (Fri) 20:00:52

私の、脱線ウイルスに感染しました?(笑)
強烈で、駆除は難しいですよ。
20:nobcha :

2012/09/28 (Fri) 18:56:48

ごめんなさい。USBのスレッドだったのに、i2cに振ってしまいました。
別スレッドが良いようで・・・。
19:nobcha :

2012/09/28 (Fri) 18:46:58

こんばんは、i2cは無事動きました。情報ありがとうございます。
http://d.hatena.ne.jp/nobcha23/20120928/1348802347

WSNAKさんというと熊本の方の中尾さんですね。

小生はi2cではまずHI-TECHのサンプルを参考にして
ソフト(ポートを自分で上げ下げ、TRISを入れ切れして)で
マスター側を書きました。このとき、PICKIT2のLOGIC TOOL
が4チャンネルロジアナとして使えるので、プロトコルを勉強しました。

そのあと、PIC16F88のSSPを使うハード制御スレーブを作って、
その前に作ったソフトマスターと鳴き合わせしました。

その後チップはPIC12F1822になり、MSSPでマスター、スレーブ、やりました。

今回、そういう中で今まで作ったものの総集編みたいな感じでした。
デバッグ中にスニファ(プロトコルモニター→みえチャンみたいなヤツ)
があれば便利だと思いましたが、スニファを作ろうとするとソフトスレーブ
が必要なんです。(アドレスが何でも受けられないとだめなので)
ソフトスレーブができないかを考えましたが、REOPENはハードで無いと
対応できないと思い、断念しております。

バスにぶら下がっているヤツの点呼を取るアドレススキャンは作りました。

i2cは全部自前コードなので、マスターとスレーブにめたらやたら
パッチ掛けて、そしてロジアナで信号を見るというデバッグ
手法で力ずくでできました。
18:kawana :

2012/09/28 (Fri) 13:19:12

nobchaさん、今日は
PICは1年位前、2,3組み立てた程度で良くは、理解していないのですが、
senshuさんから、紹介されたWsNakさんのKitを購入しI2C等を勉強しました。
Kitの価格も安く、回路図有り、SampleProgramも有り、中尾さんが、丁寧に解説しています。
PICの私の理解は、これによりかなり深まり大変参考に成りました。ご参考まで

WsNakさん
http://www.wsnak.com/index2.html

千秋さん
senshu 掲示板 http://www-ice.yamagata-cit.ac.jp/forum/
senshu ゼミ http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR

私はPIC 24FJ64GA002の基板を2,3枚ユニバ-サルで製作しました。基板は、出てきましたが
解説本が出て来ません。これが見つかりしだいProgram作成再開したいと思います。
17:nobcha :

2012/09/23 (Sun) 22:09:55

ばんとさん、解説ありがとうございます。

小生はHI-TECHのCしか知らないので、ペリフェラルの制御関数は
自分で作るものかと思って、なれないもの作りに励んでいます。

割り込みは中身も知らずに便利に使ってます。どこまで退避して
くれるとか、そんなこと露知らずです。PIC10F200のときはさすが
にスタックの深さが浅くて、cでは大したコードはかけませんで
したし、割り込みも使ってません。

ここ2年で色々と勉強したので、積み重ねた基本部を応用してもう
少しアプリケーションを増やしたいと思っております。今苦戦中
のi2cキーも出来上がれば、DDSとかPLL発振回路の入力部に使える
かと思ってます。

16:ばんと :

2012/09/23 (Sun) 16:42:48

nobchaさん

ぱっと見た印象ですが、PICは売り物のCコンパイラが主流のよう
ですね。充実したライブラリィを売りにしてるものもあるようで
す。
そしてPICなら割り込みの設定の記述はCコンパイラで用意された
関数を呼びたしてます。かたやAVRのCはgccが主流で、割り込み
の設定などは直接レジスタを弄るコーディングが主流です。

AVRやPICのマイコンのC言語は独自に拡張されてて(例えば割り
込み処理の記述方法など)、それぞれ方言があります。どち
らが良いとか悪いとかはなく、こういうものです。C言語に関し
ては慣れてますのが、そういうのは覚えるしかないのですが、
まだ覚えきってないというところです。

何かを作れば否応なしに覚えるのですが、AVRである程度作れて
しまうので、PICで何を作ったらいいか浮かばない。これが最大
の問題かも知れません。あきませんね。f(^_^;;;
15:nori :

2012/09/23 (Sun) 14:02:46

私なりに判ったつもりの事
現在フレームワークは
Microchip Libraries of Applications をインストールして出来た
Microchip Solutions vバージョン のフォルダの中の
Microchipフォルダの中にあり、それを使ったデモボード用のサンプルが
USBフォルダの中の、各種のフォルダの中にあるFirmwareフォルダ、に入ってる

Solution->Microchip->Include->USB フレームワークヘッダ
Solution->Microchip->USB     各クラスのc
Solution->USB->XX->firmware サンプルコード

ボードの説明はSolution->Microchip->USB->Documentation->Board Information
に有る

14:nobcha :

2012/09/22 (Sat) 14:04:58

今日は、皆さんの投稿からミミ学問してますが、PIC
のフレームワークの枠組みがちょびっとずつ判って
来たような気がします。・・・そのイージーさがまずい
のか・・・。

ところでPICがどうかというお話ですが、こちらは
AVRを知らないので比較論もできません。マイコン
というと古代ノイマン型の8080とか6800とか8086
あたりの知識です。
RISCでハーバード型と聞いていますが、c経由で
しか実体にアクセスしないので、コアのくせは気
にならないです。

使うときにそう遭遇する癖というとペリフェラル
のロジック・設定とか、CONFIG(AVRではFUSE
でしたっけ?)なんかでしょうか。

PICチップのドキュメント最初の方にはI/Oピン機
能アサイン表が必ずついてます。
ちょっと前のチップだとその表の備考欄に該当機
能説明ページが書いてあり重宝しました。ドキュ
メント全部はとても印刷できないので、チップ毎
にこのあたりを印刷し、見ながらコード書いてお
ります。

ひとつかふたつか作ると良くわかるというのは賛
成です。でもひとつめの深みはかなりあるように
思われます。足をとられないようにしましょう。
13:ばんと :

2012/09/22 (Sat) 11:34:11

毎度ばんとです。

最新のフレームワークを持ってきたとしても、リンクでエラー
を吐いたりとトラブルが出てきます。ライブラリィのサイズが
違うとかでエラーを吐いたと思います。

こんな感じなので、USBのフレームワークのリビジョンに拘らず、
まずは構築できる環境を整えるのが先決で、PICのUSBフレーム
ワークをプロジェクトに取り込んで構築できる環境にした方がい
いような感じです。
こうすると何処に持っていってもエラーを吐かなくなります。
ただ、USBフレームワークを構築するのは難しいですね。

ところで、当方は、フレームワークには慣れててナントカなり
そうなんです。ひとつかふたつ何か作ってしまえば解決しそう
ですが、今のところ、picの根本的な知識がないため、これが
ネックになって自在には組めません。(爆)
そこで、暇を見つけては、LチカやってみたりLCDを駆動して
みたりしてます。
12:nori :

2012/09/21 (Fri) 14:10:56

後はmain.cの中のProcessIO()の中に処理を追加
サンプルがいろいろ有るので、比較すると判りやすいと思います

私は、おじさん工房のAPB-1がトラぶって、現在部品待ちです。
11:nobcha :

2012/09/21 (Fri) 13:10:23

今日は、noriさん。

pic usbですが、書き込み進むと悪夢(笑)がよみがえってき
ました。

まずはPORTが無いとか、引き込みライブラリーは当たり前と
して。その次にやっと自分のやりたいことになるんでしょう
か。

いくつかのお約束を頭に突っ込んでからでないとスタートが
できないように思っております。とりあえずパスです。

まだi2cスレーブでトラぶってます。
10:nori :

2012/09/21 (Fri) 11:45:35

プロジェクトは
Microchip Libraries of Applicationsをインストールしたディレクトリの中の
USBの中にある
Device-CDC-Basic Demo ディレクトリ
Device-HID-Custom Demo ディレクトリ
の中のFirmeareにあります
xx PICDEM FSUSBが4550用です(長いので前省略)
他のディレクトリにも4550用が有ります
9:nori :

2012/09/21 (Fri) 11:08:11

行き当たりばったりで、やってるのでミスってばかりです。すみません
4550から2550の変更は3ファイルを少し変更すれば、コンパイルOKになります
HardwareProfile.h
#if defined(__18CXX)
#if defined(__18F4550)
#include "HardwareProfile - PICDEM FSUSB.h"
#elif defined(__18F2550)
#include "HardwareProfile - PICDEM FSUSB.h"

2550用を追加

HardwareProfile-PICDEM FSUSB.h
// #define mInitAllLEDs() LATD &= 0xF0; TRISD &= 0xF0;

// #define mLED_1 LATDbits.LATD0
// #define mLED_2 LATDbits.LATD1
// #define mLED_3 LATDbits.LATD2
// #define mLED_4 LATDbits.LATD3
#define mInitAllLEDs() LATB &= 0xF0; TRISB &= 0xF0;

#define mLED_1 LATBbits.LATB0
#define mLED_2 LATBbits.LATB1
#define mLED_3 LATBbits.LATB2
#define mLED_4 LATBbits.LATB3
2550にはportdは無いので
およびリンカーです
//FILES p18F4550.lib
FILES p18F2550.lib
8:nori :

2012/09/21 (Fri) 08:58:56

08-22版にも残ってました
MPLAB IDE V8.85 で18f4550 HID CDCクラスコンパイルOKになりました
7:nori :

2012/09/21 (Fri) 08:34:01

18F4550も、残ってるけど??な感じ
18F4550(2550)は、07-18版以前の方が良いみたいです
この版から、ほとんどMPLAB Xのプロジェクトに成ってます
6:nori :

2012/09/20 (Thu) 20:21:43

またまた訂正、08-22版に18F4550用が無くなってるみたいです。
次はアルコールが抜けてから書き込みます。
5:nori :

2012/09/20 (Thu) 20:09:02

訂正、08-22版のインストール先を間違ってました。
4:nori :

2012/09/20 (Thu) 19:50:22

今見たら、08-22版は07-18版から相当変わってます。
07-18版も、ダウンロードしておいた方が良いかも
3:nori :

2012/09/20 (Thu) 17:56:45

思い出しました。関数やデーターが何処に在るのか判らないので、フリーの
TabTextFinder を使いました。
linuxのgrepの様なソフトです
2:nori :

2012/09/20 (Thu) 17:40:10

前スレで、YS電子工房さんはYS電子工作ラボさんの間違いでした
02/2009辺りからフレームワークの説明があります。
フレームワークも今は
Microchip Libraries of Applications v2012-08-22 Windows
に含まれている様ですね。サイズは235メガ有りました
私はこのソースに合わせて(04-03版)、電源とLED2個だけ配線しました(DS51526)
その後2550にしたので、あの形に成りました。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.