AVR_term

なんちゃってシリアル ←設計編


これは何ですか?

  • ATtiny2313で作るUSBtoシリアル変換器です

IgorPlugUSB ( AVR309 アプリケーションノート )とどこが違いますか?

根底の思想は似たり寄ったりですが大半をCで記述してあります

  • AVRUSBライブラリを使用しています。
  • AVR309では、Windows DDKで作成された独自ドライバーソフトを使用しているようですが、AVR_termはlibusb(-win32) を使用します。
  • お互いプロトコルの互換性はありません。

どうしてCDCクラスにしなかったのですか?

2つの理由があります

  • (1)メモリー容量の関係でATtiny2313には逆立ちしても入らない。
  • (2)LowSpeed Bulkが通る環境は限られている。(WindowsXP使用時のみで、デバイスとの間にHiSpeedハブを挟まないこと)

ダウンロード

とりあえず、エコーバックテストの範囲内ではうまくいっているようです。

新バージョン:ダウンロード

新バージョンでは、HIDaspxハードウェア(回路図)上でそのまま動作します。

また、V-USBライブラリとlibusb.dllも更新しています。


マニュアル

AVR_term の使い方

(1)ATtiny2313 を用意します。

(2)src/main.hex を焼きます。

(3)AVRUSBにある回路図通りに配線します。

(4)PCに接続するとデバイスドライバーを要求しますので、 win32/windows-driver にあるinfファイルを指定してインストールします。

(5)win32/term.exe を起動します。

(6)端末モードとして動作させる場合は、

   AVR> t

脱出は CTRL + A です。

端末モードとして動作させ、ファイルをアップロードしたい場合は、

   AVR> t filename

ファイルアップロード後も端末モードとして機能します。 脱出は CTRL + A です。

(7)端末モードの受信ログをファイルに保存したい場合は、 win32/term.exe の起動オプションに -l filename.log を与えます。

(8)ボーレートはデフォルトで9600ボーに設定されています。 設定を変える場合は

   AVR> b 19200 

などとします。

(9)AVR_Monitに含まれるモニターコマンドはそのまま使用できます。 ただし、メモリー節約の関係上、EEPROMに対するアクセスは省かれています。

(10)送受テスト

とりあえず以下のように操作してみます。

   AVR> test 1000 10

リターンパケットをダンプします。

ATtiny2313の pin 2(RxD)とpin 3(TxD) をショートさせると、エコーバック テストが出来ます。


使用例

AVR> ?
* AVR_Monit Ver 0.1
Command List
 d  <ADDRESS1> <ADDRESS2>    Dump Memory(RAM)
 dr <ADDRESS1> <ADDRESS2>    Dump Memory(EEPROM)
 dp <ADDRESS1> <ADDRESS2>    Dump Memory(PGMEM)
 e  <ADDRESS1> <DATA>        Edit Memory
 f  <ADDRESS1> <ADDRESS2> <DATA> Fill Memory
 p ?                         Print PortName-List
 p .                         Print All Port (column format)
 p *                         Print All Port (dump format)
 p <PortName>                Print PortAddress and data
 p <PortName> <DATA>         Write Data to PortName
 sleep <n>                   sleep <n> mSec
 bench <CNT> <PACKET_SIZE>   Bulk(or ctrl) Write Speed Test
 b baudrate                  set baudrate
 test count flag             RS232C send / recv test.
 t                           RS232C Terminal mode.
 t filename                  RS232C Upload file and Term mode.
 q                           Quit to DOS
AVR> b 19200
cmdBaud(19200):UsbSetBaudRate : ubrr=0x4d,ucsrc=0xe TrueBaudRate=19230
AVR> t
Entering TerminalMode: Escape=^A
・・・
^A
AVR> q
Bye.
C:>

起動オプション

Options
 -t          ...  モニターコマンドを経ずに直接ターミナルモードに入る。
 -t<baudrate>...  ボーレートを指定してターミナルモードに入る。
 -l<logfile> ...  ログファイルを保存する。
 -i<file>    ...  AVR_monitと互換のスクリプトファイルを読み込んで実行する。
 -v          ...  USB接続詳細を表示する。