AVRによるシリアル通信の基本(3)
昨日の記事の続き。
■ PCとの接続
USB接続でFT232RLを用いるならFT232RLのTXD,RXD,GNDをAVRのRXD,TXD,GNDに結線すれば双方向で通信できる。AVR側は一方的に受信したいだけなら、TXD-RXD , GND-GND の2本だけ結線すれば良い。ただ、echo back出来たほうがデバッグの時に役立つのでRXD-TXDも結線されることをお勧めする。
USB接続ではなくシリアルケーブル(D-SUB9pinオス-D-SUB9pinオス)で接続する場合、間にレベル変換をするMAX232という石が必要になる。
この互換チップはADM3202で、これは秋月(http://akizukidenshi.com/catalog/)でICソケットと0.5uFのコンデンサ5つ付きで200円という良心的な価格で売られている。
ADM3202は、謎電の高橋さんもお勧め。
RS232C I/F IC(State of the Analog Electronics [最先端計量電子工(作)学])
http://professionalhearts.seesaa.net/article/71705352.html#more
■ USB接続で使うときにFT232RLを用いずにAVRだけで何とかならないのか
「USB接続で使うときにFT232RLを用いずにAVRだけで何とかならないのか」については、なんとかならないこともないが、大変な苦労を伴うし、AVRがUSBの処理にかかりっきりになるので素人にはお勧めできないとお答えしておく。
私も実際にやったことはないので、いくつかのリンクを紹介するのに留める。
・以前紹介したForCy-AVR(http://d.hatena.ne.jp/yaneurao/20051216)では、AVRだけでUSB接続を実現している。
Low Speed CDC による USB 接続
http://www.recursion.jp/avrcdc/indexj.html
・AVRによるlow-speed USBデバイスのソフトウェア実装としてはAVR-USBが有名。
AVR-USB
http://www.obdev.at/products/avrusb/index.html
・ATmega88を使ったGainer互換のオープンソースハードウェア
ginger
http://web.mac.com/kuwatay/morecat_lab./ginger.html
ATmega88は秋月で250円だから、500円ぐらいでGainer(http://gainer.cc/About/About)互換のハードが作れてしまう。
■ 関連記事
DSUBコネクタをユニバーサル基板に取り付ける
http://d.hatena.ne.jp/yaneurao/20080701
FT232RLの周辺
http://d.hatena.ne.jp/yaneurao/20080630