« Raspberry Pi Pico リセット起動後のポートはプルダウン抵抗が有効に | トップページ | 緊急指令! 「ダイソーの観覧車」を回せ! »

2022年5月 2日 (月)

マイコン出力ポートのプルアップ、プルダウン問題 誤パルス出力を避けるために

トランジスタ技術2004年1月号に
  『マイコン内蔵I/Oポートによる各種ドライブ回路』
という題で、入出力ポートに対する注意点を載せてもらい
ました。
Tt1_20220502131301
「定番エレクトロニクス回路140」という特集記事で、
小さな記事がいくつもならんでいます。
Tt2_20220502131301

その中の一つで、掲載記事は1ページにまとまっています。
Tt31

出力が不定な、プログラムが走る前のリセット期間に
要注意という内容です。
インターフェースするデバイスにより、プルダウン抵抗
を付けたり、プルアップ抵抗を使ったりということで、
あれこれ解説しています。
あらためて図示しておきます。

まず「Hアクティブ」で使う信号考えます。
Pp01
ポートを直で使うのではなく、
  ・駆動電流を増やしたい
  ・異電圧でドライブしたい
など、インターフェース素子を間にはさむ場合が出てきます。
  ※例では LEDを負荷にしました。

これはアカンぞ! という例。
Pp02
ベースやゲートなどの入力インピーダンスを下げておかないと
誘導や隣の信号のパルスを拾ってしまって
「誤作動するかも」です。

「勝手な出力が出てもOKだよ」という回路じゃ限り
面倒でも抵抗を入れておきましょう。
Pp03
これで、まっとうな「Hアクティブ出力」になります。
バイポーラトランジスタだと「抵抗内蔵トランジシタ=デジトラ」が
使えます。

多信号なら、トランジスタアレイを使いましょう。
Pp04
入力を安定させる抵抗が入っています。

問題は「Lアクティブ」信号。
昔からある「TTL」は
  入力オープンだとHと認識。
  Lに引っ張って(GNDに電流を流して)オン。
  入力を安定させるにはプルアップ抵抗を。
  ストローブ信号など、Lアクティブが多い。
という特徴があります。
Pp11
TTLでインターフェースするなど、Lアクティブで使う時は
プルアップ抵抗を入れるのが定石になります。
しかし、マイコンのポートを初期化する時にこつが必要です。
 ・ポートの出力レジスタを先にHに。
 ・その後からポートを出力モードに。
「先にH」を処置せず、出力モードにしてからHを出力すると、
一瞬のLパルスが出てしまいます。
  ※このパルスが無視できる回路なら良いのですが

この処置、昔のI/Oチップ「8255」などは
  「出力に初期化したらポートはLからスタート」
となっていて、Lアクティブで使うには、不要なLパルスが出ても
大丈夫な回路を構築しておかなくてはなりませんでした。

LEDの点灯回路ならこんな具合です。
Pp13

間違って「Hアクティブ」で使う回路にプルアップ抵抗を
入れてしまうと、
  電源オン→リセット解除→プログラムが走り始める
この間、不要なパルスが出てしまいます。

TTLだから入力をプルアップしたのにHアクティブで使う、
というのはちょっとなぁです。
出てくる余計な信号が悪さをしなければ良いのですが。
Pp12
LEDだと「一瞬光る」だけで済むのですが、メカを駆動する
ような回路だと、問題が生じるかもしれません。

Raspberry Pi PicoのマイコンRP2040、
「リセットで内蔵プルダウン抵抗が有効になる」は、
  ・入力がオープンのまま放置されるのを防止
  ・Hアクティブ出力での不要パルスの防止
この二つの役目があります。

Pp05  
しかし、RP2040を「Lアクティブ出力」で使う時は要注意になります。
内蔵プルダウン抵抗に負けない(抵抗値の小さな)プルアップ抵抗を
使っておかないと、リセットで不要なパルス(L出力)が出てしまいます。

|

« Raspberry Pi Pico リセット起動後のポートはプルダウン抵抗が有効に | トップページ | 緊急指令! 「ダイソーの観覧車」を回せ! »

ラズパイ・ピコ」カテゴリの記事

コメント

Raspberry Pi Pico、電源電圧がどのくらいまで上がったら(リセットが続いている間)「内蔵プルダウン抵抗」が有効になるのか、調べておく必要があるでしょうね。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年5月 2日 (月) 14時42分

コメントを書く



(ウェブ上には掲載しません)




« Raspberry Pi Pico リセット起動後のポートはプルダウン抵抗が有効に | トップページ | 緊急指令! 「ダイソーの観覧車」を回せ! »