パスワードを忘れた? アカウント作成
507210 journal

witchの日記: (ROBO) X-14 昨日さんざん悩んだ結果 5

日記 by witch

昨日、色々と調べ物をする羽目になった元々の目的は

「3.3V系のマイコン(NEC VR)と5V系のマイコン(PIC)のI/Oを繋ぐのに一番楽をするには」

でした。

トラ技2002年8月号のVRシリーズ特集記事の製作例「ネットワーク電光掲示板の製作」(PDF)に、VRとTL16C552AFN(シリアルコントローラ)を繋ぐ回路例があって、データバス間に直列に抵抗(1kΩ)入れて、VR側データバスはダイオード(1S953)経由で3.3Vに繋ぐ(カソードが3.3V側)回路が出ているのだけど、どうしてこれで動作するのか理解できない。(知識不足で)

で、マイコンの入出力がどうなっているかから始まってズルズルと見直していたわけだけど…結局判らずじまい。

が、しかし、よくよく考えたら、今回やりたいのは「VRのGPIOでPICをつついて、PICに繋がったスピーカーを鳴らす」なので

「PICを3.3V駆動にすればいい」

のでした。
(圧電ブザーが3.3Vで鳴ればね)

---
今日は温泉行ってしまったので進捗ゼロ

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by espy (3615) on 2006年12月25日 4時35分 (#1081770) ホームページ 日記
    用は足りたようですが念のため...
                  3.3V
    ------+        ↑Di               +----
      VR  +--------+-----<1kΩ>------+ 16C552
          |                           |
    ------+                           +----
    該当のページは、こんな感じですかね。
    VR(CPUボード)が 3.3V系で動作していて、記事の回路が右の16C552(5V系)
    "Di"が3.3V電源に向かって流れるようになっているダイオード。

    これはデータバスで双方向なので、それぞれが駆動する場合を考える必要があります。
    まず、VRが Highレベル(約3.3V)/Lowレベル(約0V)を出力する場合は、
    Diも抵抗(1K)もほとんど影響せず、16C552のバス(入力)へ届く。

    次に、16C552が駆動側の場合、Low出力はまず問題ない。
    Highレベルが約5Vで出た場合ですが、High信号は、抵抗経由で、3.3Vに向かっている
    ダイオードを通って逃げるので、VRに5Vがかかる心配がない、という仕掛けですね。
    (3.3V電源は「電源」ではありますが「常に安定した3.3V」でもあります。)

    実際はダイオードのVFが約0.6Vあるので、(3.3+0.6=) 3.9VがVR側に行ってしまいますが、
    VR4181のデータシートによると、入力の絶対最大定格が ~+4.0V だそうなので、
    セーフ。となります。

    • by witch (3127) on 2006年12月26日 22時47分 (#1083003) 日記
      わかりやすい解説ありがとうです。

      > VR4181のデータシートによると、入力の絶対最大定格が ~+4.0V だそうなので、セーフ。

      んーーーー
      「VRだとOK」なんですね。Armadillo-210 (ARM9: Cirrus Logic EP9307) の場合はそっちのデータシート見なきゃだめか…

      素直にバススイッチIC買ってこようかな…
      親コメント
  • by Anonymous Coward on 2006年12月25日 22時58分 (#1082293)
    ぐ~たらパパのおかだです。 5Vと3.3VのI/O変換は、バススイッチというICを使えば1つのICで8chまでできますよ。 たとえば、ココ。 http://www.semicon.toshiba.co.jp/product/logic/selection/index.html#BU... [toshiba.co.jp]
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...