部品屋根性(8) 困ったときのAnalog Discovery2

Joseph Halfmoon

最初に謝っておきます。今回も中華部品キットの部品を疑ってしまいましたが、やっぱり悪かったのは私でした。まあね、まさか7セグメントLEDにハマるとは思ってもみなかったです。しかし、良く分からない問題のときには、Digilent Analog Discovery 2 の出番です。繋げば分かる、一発で。

※「部品屋根性」投稿順Indexはこちら

前回、74HC595に火を入れたあと、当然、その横に刺さっている7セグメントLEDもやっておかねばなるまい、と思ったんであります。本命は、

4桁7セグのダイナミック駆動

であります。それもあり、別連載の方でダイナミック駆動に使うつもりの準備をばいたしました。これが後でトラブルのでありますが。。。

ぐだぐだ低レベルプログラミング(26)タイマ割り込みをかけながら

その前に、7セグ1桁のデバイスの方も片付けておこう。7セグの表示パタンも自分で用意してちゃんと表示されることを確かめておこう。「7セグ1桁の駆動で」トラぶるなど、思いもしません。配線多いから取り違えくらいはあるかも、程度。動かして表示を見ながら修正すればOKというようなノリです。

しかし、部品の素性くらいは分からないと配線できません。7セグの場合、

  • アノード・コモン
  • カソード・コモン

ありますで。例によって中華キット付属CDの中のデータシートを見ました。ちゃんと7セグ1桁用のデータシートが含まれております。ただ、ちょっと嫌な予感がしたのは、

データシートに会社名もロゴも無い

です。怪しい。でもLEDだし。データシートは結構ページ数があり、かなりな数の7セグLEDが掲載されています。サイズもいろいろ、色もいろいろ、アノード・コモン、カソード・コモンみんなありです。現物に印刷されている型番と思われるコードで検索しても見当たりません。見れば、モノにより端子配置違うのもあります。そこでちょっと残念な日本語の日本語ガイドを覗いてみました。回路としてはカソード・コモンで使っているようです。後は、現物のサイズを物差しで測り、カソード・コモンのタイプで大きさが一致するやつを見つけました。下から2番目の大きさのやつでした。さらに、念のため、

ダイオードのVf

を測定してみました。電圧からすると「赤色」のタイプのようでした。怪しいけれどピン配も電気的な仕様も分かったので先に進めます。

今回は、カソード・コモンということでスタティックな駆動であれば直接カソードをグランドに繋いでしまっても良いのですが、ここはドライバにNMOSトランジスタをかませました。後々ダイナミック駆動にするのでそのテストということで。使用したトランジスタはBS138であります。一応GD32VF103は、20mAまで流せるみたいなのですが、あまりギリギリで駆動するのも不安、というのもあります。アノードの方は、IO端子に220Ωの抵抗を介して接続と。本数8本で、GD32VF103からのジャンパ線と抵抗通った後のジャンパ線、合計16本が大変見苦しいですが、接続しました。プログラム的には、ただIO端子をON/OFFするだけです。一応0からFまで16進のパターンを作り送信できるような関数を準備しました。GD32VF103のポートCがちょうどジャンパ線を引き出しやすいところにかたまっているのでこれを使いました。

電源ON

はいLED点灯しました。何かパターン出ています。でもちょっと変かな?ソフトのパターンテーブル、ジャンパ線の配線など調べて、直すべきところは直したのですが(間違えているところは在りました、当然?)、依然、挙動不審です。いろいろ組みかえながら様子をみたのですが、ますます不審。ふとデバイスを疑ってしまいました。すみません。

手元に7セグの「在庫」が何個かあることに気付きました。上のアイキャッチ画像を御覧じろ。左、中華キットのもの、右、秋月電子通商どのから購入のものであります。秋月殿のものも中国製だと思いますが、会社名キッパリ、データシートもバッチリの逃げも隠れもできない一品。調べたら同じカソード・コモン、同じピン配。

差し替えてみました。

光りましたが、さっきと同じ「不審」な光り方です。ようやく、駆動している信号の方に注意が向きました。こういうときに

Analog Discovery 2 のロジアナモード

であります。16本までですが、デジタルな信号を見ることができます。今回は8本なので楽勝。信号のON/OFF時に意図的に大きな遅延を入れて、みやれば、こんな感じ。Analog Discovery 2 Logic Ana #1

ビット4のペコペコ動いている信号、何ですの?他の信号のようにもっとゆっくりした動きをするべきなのに。。。

ようやくこれで気付きました。別連載の方でしかけたタイマ割り込みが生きているのです。そして割り込み周期を外で確認できるように「ポートC」にハンドラ内でソフト出力してました。原因判明。トホホ。自分のバグでした。割り込みハンドラは別ファイルなので忘れていました。出力部分を削除して再ビルドしてGO!こんな感じ。Logic Ana capture

ペコペコ消えました。後は、挿入したソフト的遅延(上の波形は遅延のせいで重なりが生じている)を取り外し、回路を組みなおして再起動。配線の中で光っている数字の9が見えますか。左隣りの小さなBOB基板がBS138です。

Seven Segment LED DUT

7セグにこんなに時間かかるとは思わなんだです。それにしても配線が汚い。ダイナミック駆動用に配線治具作るか。

部品屋根性(7) 中華キット、74HC595の闇? に戻る

部品屋根性(9) 7セグLED、割り込みでダイナミック駆動 へ進む