今回は arduino のハードウェアについて理解してみたいと思います。
Arduino のホームページで歴代の arduino ボードを遡ってみました。
2005年にイタリアで始まった初期のモデルはArduino Single-Sided SerialシリーズのSeverino (S3V3)といい、片面のプリント基板上で RS232C 用のレベルコンバーターを介して ATMEGA8 を操作するという仕組みになっていました。(回路図を示します)
上図中左側の緑線で囲った部分が、 RS232C でホストコンピュータと接続する部分です。
ここでは RS232C でマイクロコンピュータ( ATMEGA8 )がホストコンピュータと交信をするため必要なレベル変換( RS232C-TTL )と極性の変換をしています。
注目すべきは、右側の ATMEGA8 とはTXD(ホストコンピュータから)、RXD(ホストコンピュータへ)、そしてRESET(ホストコンピュータから)の3本の線のみで接続されています。(TXD,RXDについては厳密ではありません)
このことは arduino ボードが進化した最新の
arduino UNO r3 でも同様です。
左側の回路は少し前の arduino duemilanove です。この時代になるとホストコンピュータとはUSBで接続するようになりましたが、 arduino ボード上に USB-RS232C 変換チップを載せるようになっただけです。
マイクロコンピュータ( ATMEGA328P ) へはやはり3本の線のみでつながっています。
arduino UNO r3 (右回路図)でも同様ですが、あの一世を風靡し現在なお健在な USB-RS232C 変換チップ TD232RL が、ATMEGA16U2 に置き換えられたことが大きな相違点です。でもやはり3本の線のみで、、、、
参考のために arduino duemilanove と arduino UNO r3 の比較写真を左に挙げておきます。
冒頭の Severino (S3V3)
arduino UNO r3 でも同様です。
マイクロコンピュータ( ATMEGA328P ) へはやはり3本の線のみでつながっています。
arduino UNO r3 (右回路図)でも同様ですが、あの一世を風靡し現在なお健在な USB-RS232C 変換チップ TD232RL が、ATMEGA16U2 に置き換えられたことが大きな相違点です。でもやはり3本の線のみで、、、、
参考のために arduino duemilanove と arduino UNO r3 の比較写真を左に挙げておきます。
冒頭の Severino (S3V3)
も念頭に入れて比較するとボードの大きさはみな同じであることがわかります。これはこのボードの上に小亀よろしくシールドと称する拡張応用ボードを載せるための標準化がしてあるからなのです。
ということで、 arduino ボードを自作するお話にそろそろ入って行きたいと思います。
いろいろ考えた結果として、左図のような回路を考えてみました。称して Skeleton arduino です。
私のホストコンピューターは windows 7 ですが、幸いなことに RS232C の端子を備えていますので、そこからストレートケーブルで Skeleton arduino に接続しますが、前述したように、ホストコンピュータと交信をするため必要なレベル変換( RS232C-TTL )と極性の変換をするために CMOS-IC (TC74HC04)のインバーター回路を通しています。
左写真中、中央左から来たグレイのコネクターの先についている黒いブロックがそれにあたります。3本の接続線は、ブルー:RESET 黄:RXD 白:TXD となっています(回路図とは色が違っています)。また赤と黒は電源線で3.8Vの NiH電池からとっています。
上方はブレッドボードに ATMEGA328P をはじめ16MHzのクリスタルなどが左上の回路図に従って配置されています。
早速動かしてみましたがうまく作動しました。もちろんこの ATMEGA328P にはあらかじめ bootloader (ブートローダー)が書き込まれている必要があります、、、、このあたりの詳細については次回ということで、、、、
ということで、 arduino ボードを自作するお話にそろそろ入って行きたいと思います。
いろいろ考えた結果として、左図のような回路を考えてみました。称して Skeleton arduino です。
私のホストコンピューターは windows 7 ですが、幸いなことに RS232C の端子を備えていますので、そこからストレートケーブルで Skeleton arduino に接続しますが、前述したように、ホストコンピュータと交信をするため必要なレベル変換( RS232C-TTL )と極性の変換をするために CMOS-IC (TC74HC04)のインバーター回路を通しています。
左写真中、中央左から来たグレイのコネクターの先についている黒いブロックがそれにあたります。3本の接続線は、ブルー:RESET 黄:RXD 白:TXD となっています(回路図とは色が違っています)。また赤と黒は電源線で3.8Vの NiH電池からとっています。
上方はブレッドボードに ATMEGA328P をはじめ16MHzのクリスタルなどが左上の回路図に従って配置されています。
早速動かしてみましたがうまく作動しました。もちろんこの ATMEGA328P にはあらかじめ bootloader (ブートローダー)が書き込まれている必要があります、、、、このあたりの詳細については次回ということで、、、、
0 件のコメント:
コメントを投稿