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
編集
差分
usbRS232 の編集
-- 雛形とするページ --
(no template pages)
*usbRS232 の紹介 [#m7401562] これは、ATtiny2313を使った、USBシリアル変換器です。 CDC(コミュニケーション・デバイス・クラス)で実装していますので Windows標準のCDC仮想COMポートドライバーにより、 "COMx:" (xは1〜9まで) ポートに見えるはずです。 *配線図 [#kd3050ef] - 回路図は、HIDasp(x)、HIDsphのものと共通です。 ATtiny2313 ___ ___ RESET(RESET)[1 |__| 20] Vcc PD0(RxD) [2 19] PB7(SCK) PD1(TxD) [3 18] PB6(MISO) XTAL2 [4 17] PB5(MOSI) XTAL1 [5 16] PB4 PD2 [6 15] PB3(BUSY LED) PD3(D+) [7 14] PB2 PD4(D-) [8 13] PB1 PD5(pullup) [9 12] PB0 GND [10 11] PD6 ~~~~~~~~~~~ -・括弧()の書かれているpinと、GNC,Vccに配線をしてください。 -・GND,Vcc間にはパスコン(10uF以上)を入れてください。 -・PB5,PB6,PB7は、ISP(イン・システム・プログラミング)端子で、 - 外部にあるAVRライターとの接続が出来るようにすると、いつでも - ファームウェアの更新が出来るので便利です。 -・USB D+,D-は、68Ω〜150Ω程度の抵抗を経由してUSBコネクタに配線します。 -・USB D- のUSBコネクタ側端子は1.5kΩで5Vもしくは3.3Vにpull upします。 --D-のpullupを直接電源に繋ぐのではなく,PD5端子に繋ぐことで、AVR再起動時にUSB再接続を自動で行うことも出来ます。(Optional) -・Vccを5V駆動させる場合はUSB D+,D-のコネクタ端子側にツェナーDiを入れて3.6V程度 - にクランプします。 -・RxD,TxDはいわゆるTTLレベルです。(通常はHiで、スタートビットがLoになります。) --------------------------------------- SPI: PB7-5 USB: PD4 ===> USB D- PD3 ===> USB D+ XTAL: XTAL1,2 => Crystal 12MHz --------------------------------------- * テスト [#i3b2e726] -・w32term.exeはWindowsのコマンドラインで動作する簡易ターミナルソフトです。 -・teraterm等でも試験は出来ます。 - ATtiny2313の pin 2(RxD)とpin 3(TxD) をショートさせると、エコーバック - テストが出来ます。 -・Windows Vistaでは、USBのLowSpeed Bulk 転送が許されていないため、そのままでは - 動作しません。 * 免責 [#s47d7008] - まだ、いろいろな評価を行っていませんので不具合等がある可能性が高いです。 - 送信バッファフルの処理がありません。 - フローコントロールがありません。 -Windowsに接続するとドライバーのinfファイルを要求されます。 --まだ用意できていませんので、AVR-Doperに付属のavrdoper.inf を使用してみてください。 * ビルド時の注意 [#hab914a1] -・ビルドには WinAVR-20060421 を使用します。最新のavr-gcc(gcc4ベースのもの全て) - ではコードサイズが大きくなり2kBに入りません。 -・hardware.h の HW_LED_PIN の値を変えると、BUSY LEDをPB0〜3のいずれかに変更できます. -同じく #define HWPIN_USB_IS_D_4_3 0 #define HWPIN_USB_IS_D_3_2 1 - の設定を変えると、USB D-,D+の接続を PORTD 3,2 に変更することができます。 *実用速度 [#h9227495] -ボーレート設定は600bpsから128000bpsの間の任意の整数(偶数)値を設定できますが、 -UCHIホスト(intel系)では38400bpsで文字落ちが確認されていますので、19200bpsが限界です。 -OHCIホスト(AMD,SiS,NEC系)では60000bpsで文字落ちが確認されていますので、57600bpsが限界です。 * 謝辞 [#b6cb0254] - LowSpeed AVR-USBでCDCクラスの実現は、Recursion Co., Ltd. - http://www.recursion.jp/avrcdc/indexj.html - の田村修氏の手により最初に行われました。 - このもとになったアイディアは2005年末の石川恭輔氏の実験に遡ります。 - また、AVR-USB( http://www.obdev.at/products/avrusb/index.html ) - のリファレンスプロジェクトのひとつである、 - AVR-Doper - an STK500 Compatible AVR Programmer - のソースを今回のフレームワークに使わせていたきました。 - 上記の先達の方々に深く敬意と感謝を述べたいと思います。 *DOWNLOAD [#u42972af] -[[ソースアーカイブ一式:usbRS232-1024.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1024.zip]] --こちらはusbRS232-1018.zipにWin2k不具合対策を施したものです // -[[kuga様の改良版アーカイブ一式:usbRS232-1025.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1025.zip]] -[[kuga様の改良版アーカイブ一式:usbRS232-1109.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1109.zip]] -[[victoriesさんの修正点を反映したものです。12/16MHz両対応:usbRS232-2009-0914.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-2009-0914.zip]] --いずれも千秋ゼミからのミラー版です。 *更新履歴 [#y9f67340] -2008.10.25: --kuga様のご指摘によりWindows2000での不具合を改善いたしました。 --どうもありがとうございました。 --AVR-USBドライバーを最新版に差し替えました。ファームウェアのサイズが小さくなっています。 --USBハブの記述を削除いたしました。 (手持ちハブで試しましたところ、バルク転送パケットが通らずに動作しません) ---- *その他 [#u8d1c3ff] ''普通にMAX232を実装するのであれば下記の簡易的な変換を考える必要はありません。'' -ELM CHaNさんのHPに、簡易的にRS232Cレベルに変換するノウハウが書かれています。 -http://elm-chan.org/docs/rs232c.html -昔はテレタイプ等いろいろな接続先の機器がありましたが、今はもうPCのマザーボードのシリアルか、 USBシリアル変換機のシリアル(たいていはMAX232のような変換IC)に繋ぐことしかない ので、 -RS232C規格を厳密に守る必要もなく、MAX232等の特性に合わせて繋がればそれで いいのかもしれません。 -上記HPの応用的になりますが、74HCの代わりに普通のLS−TTLのインバータータイプで代用 したり、トランジスタ1個の簡単な反転器を入れてやることもあります。 -LS−TTLを使う場合は、入力のGND−VCC以上にスイングしないよう電圧クランプのダイオードを 入れる必要があります。 -出力はTTLレベルのままでもMAX232ならセーフでしょう。 接続対象がTTL(CMOS)レベルのマイコンで、TxD,RxDとクロス接続する場合ならば、RxDの内部プルアップもおそらく不要です。 (main.cのソース中に記述があります) ----
タイムスタンプを変更しない
*usbRS232 の紹介 [#m7401562] これは、ATtiny2313を使った、USBシリアル変換器です。 CDC(コミュニケーション・デバイス・クラス)で実装していますので Windows標準のCDC仮想COMポートドライバーにより、 "COMx:" (xは1〜9まで) ポートに見えるはずです。 *配線図 [#kd3050ef] - 回路図は、HIDasp(x)、HIDsphのものと共通です。 ATtiny2313 ___ ___ RESET(RESET)[1 |__| 20] Vcc PD0(RxD) [2 19] PB7(SCK) PD1(TxD) [3 18] PB6(MISO) XTAL2 [4 17] PB5(MOSI) XTAL1 [5 16] PB4 PD2 [6 15] PB3(BUSY LED) PD3(D+) [7 14] PB2 PD4(D-) [8 13] PB1 PD5(pullup) [9 12] PB0 GND [10 11] PD6 ~~~~~~~~~~~ -・括弧()の書かれているpinと、GNC,Vccに配線をしてください。 -・GND,Vcc間にはパスコン(10uF以上)を入れてください。 -・PB5,PB6,PB7は、ISP(イン・システム・プログラミング)端子で、 - 外部にあるAVRライターとの接続が出来るようにすると、いつでも - ファームウェアの更新が出来るので便利です。 -・USB D+,D-は、68Ω〜150Ω程度の抵抗を経由してUSBコネクタに配線します。 -・USB D- のUSBコネクタ側端子は1.5kΩで5Vもしくは3.3Vにpull upします。 --D-のpullupを直接電源に繋ぐのではなく,PD5端子に繋ぐことで、AVR再起動時にUSB再接続を自動で行うことも出来ます。(Optional) -・Vccを5V駆動させる場合はUSB D+,D-のコネクタ端子側にツェナーDiを入れて3.6V程度 - にクランプします。 -・RxD,TxDはいわゆるTTLレベルです。(通常はHiで、スタートビットがLoになります。) --------------------------------------- SPI: PB7-5 USB: PD4 ===> USB D- PD3 ===> USB D+ XTAL: XTAL1,2 => Crystal 12MHz --------------------------------------- * テスト [#i3b2e726] -・w32term.exeはWindowsのコマンドラインで動作する簡易ターミナルソフトです。 -・teraterm等でも試験は出来ます。 - ATtiny2313の pin 2(RxD)とpin 3(TxD) をショートさせると、エコーバック - テストが出来ます。 -・Windows Vistaでは、USBのLowSpeed Bulk 転送が許されていないため、そのままでは - 動作しません。 * 免責 [#s47d7008] - まだ、いろいろな評価を行っていませんので不具合等がある可能性が高いです。 - 送信バッファフルの処理がありません。 - フローコントロールがありません。 -Windowsに接続するとドライバーのinfファイルを要求されます。 --まだ用意できていませんので、AVR-Doperに付属のavrdoper.inf を使用してみてください。 * ビルド時の注意 [#hab914a1] -・ビルドには WinAVR-20060421 を使用します。最新のavr-gcc(gcc4ベースのもの全て) - ではコードサイズが大きくなり2kBに入りません。 -・hardware.h の HW_LED_PIN の値を変えると、BUSY LEDをPB0〜3のいずれかに変更できます. -同じく #define HWPIN_USB_IS_D_4_3 0 #define HWPIN_USB_IS_D_3_2 1 - の設定を変えると、USB D-,D+の接続を PORTD 3,2 に変更することができます。 *実用速度 [#h9227495] -ボーレート設定は600bpsから128000bpsの間の任意の整数(偶数)値を設定できますが、 -UCHIホスト(intel系)では38400bpsで文字落ちが確認されていますので、19200bpsが限界です。 -OHCIホスト(AMD,SiS,NEC系)では60000bpsで文字落ちが確認されていますので、57600bpsが限界です。 * 謝辞 [#b6cb0254] - LowSpeed AVR-USBでCDCクラスの実現は、Recursion Co., Ltd. - http://www.recursion.jp/avrcdc/indexj.html - の田村修氏の手により最初に行われました。 - このもとになったアイディアは2005年末の石川恭輔氏の実験に遡ります。 - また、AVR-USB( http://www.obdev.at/products/avrusb/index.html ) - のリファレンスプロジェクトのひとつである、 - AVR-Doper - an STK500 Compatible AVR Programmer - のソースを今回のフレームワークに使わせていたきました。 - 上記の先達の方々に深く敬意と感謝を述べたいと思います。 *DOWNLOAD [#u42972af] -[[ソースアーカイブ一式:usbRS232-1024.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1024.zip]] --こちらはusbRS232-1018.zipにWin2k不具合対策を施したものです // -[[kuga様の改良版アーカイブ一式:usbRS232-1025.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1025.zip]] -[[kuga様の改良版アーカイブ一式:usbRS232-1109.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-1109.zip]] -[[victoriesさんの修正点を反映したものです。12/16MHz両対応:usbRS232-2009-0914.zip:http://psp.dip.jp/web/upload.cgi/usbRS232-2009-0914.zip]] --いずれも千秋ゼミからのミラー版です。 *更新履歴 [#y9f67340] -2008.10.25: --kuga様のご指摘によりWindows2000での不具合を改善いたしました。 --どうもありがとうございました。 --AVR-USBドライバーを最新版に差し替えました。ファームウェアのサイズが小さくなっています。 --USBハブの記述を削除いたしました。 (手持ちハブで試しましたところ、バルク転送パケットが通らずに動作しません) ---- *その他 [#u8d1c3ff] ''普通にMAX232を実装するのであれば下記の簡易的な変換を考える必要はありません。'' -ELM CHaNさんのHPに、簡易的にRS232Cレベルに変換するノウハウが書かれています。 -http://elm-chan.org/docs/rs232c.html -昔はテレタイプ等いろいろな接続先の機器がありましたが、今はもうPCのマザーボードのシリアルか、 USBシリアル変換機のシリアル(たいていはMAX232のような変換IC)に繋ぐことしかない ので、 -RS232C規格を厳密に守る必要もなく、MAX232等の特性に合わせて繋がればそれで いいのかもしれません。 -上記HPの応用的になりますが、74HCの代わりに普通のLS−TTLのインバータータイプで代用 したり、トランジスタ1個の簡単な反転器を入れてやることもあります。 -LS−TTLを使う場合は、入力のGND−VCC以上にスイングしないよう電圧クランプのダイオードを 入れる必要があります。 -出力はTTLレベルのままでもMAX232ならセーフでしょう。 接続対象がTTL(CMOS)レベルのマイコンで、TxD,RxDとクロス接続する場合ならば、RxDの内部プルアップもおそらく不要です。 (main.cのソース中に記述があります) ----
テキスト整形のルールを表示する
ログインまたはアカウント作成