2015年2月4日水曜日

もう一度 Arduino (2)arduino のハードウェア

 今回は 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 ボードを自作するお話にそろそろ入って行きたいと思います。

 いろいろ考えた結果として、左図のような回路を考えてみました。称して Skeleton arduino です。

 私のホストコンピューターは windows 7 ですが、幸いなことに RS232C の端子を備えていますので、そこからストレートケーブルで Skeleton arduino に接続しますが、前述したように、ホストコンピュータと交信をするため必要なレベル変換( RS232C-TTL )と極性の変換をするために CMOS-IC (TC74HC04)のインバーター回路を通しています。

 左写真中、中央左から来たグレイのコネクターの先についている黒いブロックがそれにあたります。3本の接続線は、ブルー:RESET 黄:RXD 白:TXD となっています(回路図とは色が違っています)。また赤と黒は電源線で3.8Vの NiH電池からとっています。

 上方はブレッドボードに ATMEGA328P をはじめ16MHzのクリスタルなどが左上の回路図に従って配置されています。

 早速動かしてみましたがうまく作動しました。もちろんこの ATMEGA328P にはあらかじめ bootloader (ブートローダー)が書き込まれている必要があります、、、、このあたりの詳細については次回ということで、、、、

0 件のコメント: