Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
汎用USB-IO の編集
-- 雛形とするページ --
(no template pages)
*Morphy USB-IO の仕様 [#d73589d9] Fex広場 -http://f1.aaa.livedoor.jp/~fexx/usbio/index-ja.html -http://f1.aaa.livedoor.jp/~fexx/usbio/spec-ja.html -MorphyのUSB-IOはCypressのCY7C630001Aで構成されている。回路は単純そのもの。 -8bitのPort0と4bitのPort1が存在する。 -出力が、プルアップされたオープンコレクタなので、入出力方向の制御は特に不要。 -但し、入力に使う前には、そのポートに1を書き込んで、プルアップ状態にしなければならない。 -tiny2313で同様のことをやろうとするならば、出力値を書きこむと同時にDDRレジスタにその反転値を入れてやる必要がある(方向レジスタは0が入力なので) -現状のHIDaspやHIDmonでやっている方法は、HidD_SetFeatureでコマンドを実行させて、HidD_GetFeatureで結果を取り出すという方法なので、HIDパケットが1往復する。 -汎用USB-IOとして使用するには、それ専用のReportIDを割り当てて、HidD_GetFeatureで即座にポートを読んで値をPCに転送させたほうが良い。 -HIDでなく、普通にコントロール転送を使うのであれば、1回のコントロール転送でコマンド発行と結果の受け取りが完結する。 というわけで、HIDaspの汎用USB-IO化を行うよりも、専用のHIDデバイスを書いて、汎用USB-IOに似せたほうが良い。 -それ自体、適当な演習課題となるのではないだろうか。 -(そうでもしないと、いつまでたってもライターばかり作っていて進歩がないと言われる) -すでに、いしかわさんが、[[AT90S2313で汎用USB-IOを制作:http://www.asahi-net.or.jp/~qx5k-iskw/darkside/0510dark.html]]されているので、参考になるかもしれない。 -VBなどで書かれた汎用USB-IOをコントロールするアプリは、たいていReadFile(),WriteFile()が使われているようだ。 -VBの文法は良く知らないが、Cで書かれたものより複雑になっているものもある。 -8ビットのポートと4ビットのポートの使い分けだが、基本的にはパラレルポート、もしくはプリンターポートのような使い方を想定しているらしい。 -つまり、8ビットのデータをセットアップして、4ビットポートのどれかの信号をストローブ信号のようにアサートしてプリンター(もしくは何かのパラレルデバイス)に1バイトのデータを送る(あるいは受ける)のだ。 -今となっては、パラレルプリンターはもう見かけることもなくなったので、8ビットパラレルで送受するような機器はあまり思いつかない。(GPIB機器とか) ---- -とかいってたら、古い奴を思い出してしまった。 -PC/AT互換機のはしりのころ(i386が486になった瞬間くらい)安いHDDはIDE接続だけれど、SCSIのHDDをパラレルポート経由で接続するという怪しい技が流行った。(変換ケーブルを作ったことがある) -ホストアダプタのAHA−1542とかはかなり高価だった。2万円くらい?(Z80がコントローラになっていた) -X68000の外付けHDDはSASIという、SCSI以前のパラレル転送規格だったが、SASIポートにSCSIのHDDを繋ぐという技も流行った。SxSIというドライバーだった。 -IOmegaの外付けドライブがパラレル経由。 -SANDiskのCFカードアダプタがパラレル経由。 -パラレルの拡張規格にEPPとかECPとかもあった。(今もサポートされている。パラレルコネクタが運良く付いていれば) -もうどれもが絶滅済み。(ATAPI CDROMだけが辛うじて生き残っている) -パラレルはケーブルの太さ(取り回しの悪さとか信号のなまり具合)が問題? ---- *USB-IO用プラグイン for HSP [#nebdcc86] -ソース付きで、便利なプラグインを発見。 瓶詰堂さん作です。 -http://www.binzume.net/software/forhsp.html 先駆者ですね。
タイムスタンプを変更しない
*Morphy USB-IO の仕様 [#d73589d9] Fex広場 -http://f1.aaa.livedoor.jp/~fexx/usbio/index-ja.html -http://f1.aaa.livedoor.jp/~fexx/usbio/spec-ja.html -MorphyのUSB-IOはCypressのCY7C630001Aで構成されている。回路は単純そのもの。 -8bitのPort0と4bitのPort1が存在する。 -出力が、プルアップされたオープンコレクタなので、入出力方向の制御は特に不要。 -但し、入力に使う前には、そのポートに1を書き込んで、プルアップ状態にしなければならない。 -tiny2313で同様のことをやろうとするならば、出力値を書きこむと同時にDDRレジスタにその反転値を入れてやる必要がある(方向レジスタは0が入力なので) -現状のHIDaspやHIDmonでやっている方法は、HidD_SetFeatureでコマンドを実行させて、HidD_GetFeatureで結果を取り出すという方法なので、HIDパケットが1往復する。 -汎用USB-IOとして使用するには、それ専用のReportIDを割り当てて、HidD_GetFeatureで即座にポートを読んで値をPCに転送させたほうが良い。 -HIDでなく、普通にコントロール転送を使うのであれば、1回のコントロール転送でコマンド発行と結果の受け取りが完結する。 というわけで、HIDaspの汎用USB-IO化を行うよりも、専用のHIDデバイスを書いて、汎用USB-IOに似せたほうが良い。 -それ自体、適当な演習課題となるのではないだろうか。 -(そうでもしないと、いつまでたってもライターばかり作っていて進歩がないと言われる) -すでに、いしかわさんが、[[AT90S2313で汎用USB-IOを制作:http://www.asahi-net.or.jp/~qx5k-iskw/darkside/0510dark.html]]されているので、参考になるかもしれない。 -VBなどで書かれた汎用USB-IOをコントロールするアプリは、たいていReadFile(),WriteFile()が使われているようだ。 -VBの文法は良く知らないが、Cで書かれたものより複雑になっているものもある。 -8ビットのポートと4ビットのポートの使い分けだが、基本的にはパラレルポート、もしくはプリンターポートのような使い方を想定しているらしい。 -つまり、8ビットのデータをセットアップして、4ビットポートのどれかの信号をストローブ信号のようにアサートしてプリンター(もしくは何かのパラレルデバイス)に1バイトのデータを送る(あるいは受ける)のだ。 -今となっては、パラレルプリンターはもう見かけることもなくなったので、8ビットパラレルで送受するような機器はあまり思いつかない。(GPIB機器とか) ---- -とかいってたら、古い奴を思い出してしまった。 -PC/AT互換機のはしりのころ(i386が486になった瞬間くらい)安いHDDはIDE接続だけれど、SCSIのHDDをパラレルポート経由で接続するという怪しい技が流行った。(変換ケーブルを作ったことがある) -ホストアダプタのAHA−1542とかはかなり高価だった。2万円くらい?(Z80がコントローラになっていた) -X68000の外付けHDDはSASIという、SCSI以前のパラレル転送規格だったが、SASIポートにSCSIのHDDを繋ぐという技も流行った。SxSIというドライバーだった。 -IOmegaの外付けドライブがパラレル経由。 -SANDiskのCFカードアダプタがパラレル経由。 -パラレルの拡張規格にEPPとかECPとかもあった。(今もサポートされている。パラレルコネクタが運良く付いていれば) -もうどれもが絶滅済み。(ATAPI CDROMだけが辛うじて生き残っている) -パラレルはケーブルの太さ(取り回しの悪さとか信号のなまり具合)が問題? ---- *USB-IO用プラグイン for HSP [#nebdcc86] -ソース付きで、便利なプラグインを発見。 瓶詰堂さん作です。 -http://www.binzume.net/software/forhsp.html 先駆者ですね。
テキスト整形のルールを表示する
ログインまたはアカウント作成