#norelated
#contents
* USBシリアル通信サンプル [#h0f365ac]

USB-シリアル変換モジュールを使って、PCとAVRで通信ができるようにする。~
AVRの通信というと、UART(USART)やら、I2Cやら、SPIやらという単語が出てくるけど、それぞれの位置づけがよくわかっていない。~

今回使うUART(USART)は、送信と受信の2つのポートでデータのやり取りをする方式で、基本的には1対1の通信なのかな?~
I2Cってのは、同じ2本だけど、複数繋いで、それぞれを識別してデータを送れる、バス通信の方式なのかな?~
SPIは4本使って、複数繋いで、I2Cより速くデータを送れるバス通信の方式?~

AVRはこれらの方式をサポートしていて、それぞれ違うレジスタとポートを使って、機能を実現するっぽい。~
UART(USART)はRXD(PD0)とTXD(PD1)、I2CはSCL(PC5)とSDA(PC4)、SPIはSCK(PB5)とMISO(PB4)とMOSI(PB3)とSS(PB2)なので、使う機能によって繋げる場所を変えないといけないということか。~

[[秋月のUSB-シリアル変換モジュール:http://akizukidenshi.com/catalog/g/gK-01977/]]をPCのUSBに繋ぐと、まず、ドライバのインストールをする必要がある。~
FT232RのUSB UARTドライバと、USBシリアルポートドライバの2つ。~

ドライバは、以下のページからダウンロードできる。~
[[FTDI社のドライバダウンロードページ:http://www.ftdichip.com/FTDrivers.htm]]~

VCPとD2XXというのがあるけど、今はどちらも同じファイルが置いてあるらしい。~
昔は用途で分かれていたとかなんとか。~
どっちのページに行ってもいいので、OS(今回はXP用)に対応したドライバをダウンロード。~

ファイルを解凍しておいて、モジュールにPCからUSBを接続すると、ドライバのインストールウィザードが出るので、解凍したフォルダを指定してインストール。~
2回とも同じフォルダね。~

&ref(usb_uart.png,left,nowrap,80%,USB UARTドライバ);&ref(serealport.png,left,nowrap,80%,USBシリアルポートドライバ);~

インストールが終わると、デバイスマネージャのポートのところに、今インストールしたシリアルポートが出来ているはず。~
今回の例だと、COM8として認識されています。(AVRライタがCOM7)~

#ref(devicemng.png,left,nowrap,デバイスマネージャ)

とりあえずの動作確認を行うために、まず、[[TeraTerm:http://sourceforge.jp/projects/ttssh2/]]をダウンロードしてインストール。~
まぁ、標準のハイパーターミナルとかでもいいんだけど、使い慣れてないから……。~

で、モジュールのTXDとRXDのピンを、ジャンパで繋ぐ。~
送信ポートと受信ポートをつないで、ループバックで返すようにするってことね。~

繋いだら、[[TeraTerm:http://sourceforge.jp/projects/ttssh2/]]を立ち上げて、接続先をシリアルの、インストールしたポートを指定。(今回はCOM8)~
繋がったら、適当に文字を入力してみて、それが画面に表示されたら、動作確認OK。~
入力した文字が、USBを経由して、モジュールのTXD(送信側)からRXD(受信側)を通って、画面に表示されているってことね。~
デフォルトの9600bpsでつながるけど、今回はこの速度のままで動作は確認できた。~

#ref(serealtest.png,left,nowrap,シリアルポートテスト)

TXDとRXDのピンを繋いでるジャンパを抜いたら、文字を入力しても表示されなくなるから、表示される=ちゃんと繋がってるってことで。~

** 回路図 [#s3e509b8]

//#ref(Test.png,left,nowrap,USBシリアル通信サンプル)


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS