デバッグ

その測定器、「校正」できてますか?

回路設計では様々な測定器を使います。

・テスター

・安定化電源

・オシロスコープ

・スペクトラムアナライザー

・信号発生器

etc

 

会社ごとに機材の充実度は違えど、テスターやオシロスコープは必ずあると思います。

ですが、それ……「校正」出してます?

 

なんとなく「測定器」というと「精度が良くて絶対的なもの」と思ってしまいますが、そうではありません。

所詮ただの電子機器ですので、ズレもあれば経年劣化もあります。

つまり、そんなに信用できるものではないのです。

 

なので、測定器というのは本来、1年ないし2年ごとに「校正」ということをしないといけないのです。

これは、基準器(めちゃくちゃ高精度で厳格に管理されている機材)と照らし合わせて、値のズレがないか確認する作業です。

テスターであれば、電圧・抵抗値などですね。

 

通販サイトで適当に買ってきたテスターを校正せずにずっと使っている……

アマチュアならいいですが、仕事で使うのはアウトです。

3.3Vだと思ったら本当は3.4Vかもしれません。

そんな状態では正しいデバッグができません。

 

また、出荷する製品の検査で校正されていない測定器を使うとそれだけでアウトです。

最低でも出荷する製品の検査で使用する測定器は校正しましょう。

 

校正は構成を実施している試験機関は依頼することになります。

 

以上、小田切でした。

ハードウェアのデバッグはソフトウェアが必要!

電子回路ののった基板を開発したら、まずハードウェア開発者がデバッグという動作検証を行います。

そして、問題なければソフトウェアの開発者の手に渡って開発が進みます。

 

……が、実際はそう簡単に行かないのです。

 

電源などはハードウェア開発者だけで確認ができます。

CPUにつながっているLEDの制御も、CPU用の開発環境からGPIOの制御ができればハードウェア開発者だけでもまぁ、みれないことはないです。(めんどいけど)

 

しかし、通信となるとお手上げです。

たとえば、UART通信。

SPI通信

I2C通信

etc

 

これらはCPUないのソフトウェアが出来ていないと動きません。

この通信バスにつながっているEEPROMなどもCPUからの通信がなければうんともすんともいいません。

つまり、動作確認が全く出来ないのです。

 

・ピン設定が間違っているかもしれない

・波形の品質が悪いかもしれない

 

そういったことは、通信ができる状態にならないと確認もできないのです。

 

ということで、結局の所、ソフトウェア開発者とハードウェア開発者の間で基板をやりとりしながら進めないといけません。

一箇所にいればまだいいですが、それぞれ違う場所にいるとまぁ大変。

 

と、こんなことであります。

 

以上、小田切でした。

ノイズ対策のめどの付け方

基板を作ったけど、VCCIが通らない!

と、なったらだいたいパニックになってやたらめったら対策部品をつけたり、いろんな手をうつとおもいます。

ですが、それ、泥沼になります。

 

大事なこと:すべての対策部品を施してから、部品を減らしていく

 

これが大事です。

何も考えずにやっていると、ありとあらゆる対策の組み合わせが発生してしまい手に負えなくなります。

 

1,考えうるすべての対策部品を施す(シールド追加やノイズ除去フィルター追加、フェライトコア追加など)

2,その状態でVCCIに通っていることを確認する

(それでも通らなかったら解析をもっとしないと駄目です)

3,対策部品を一つずつ外していく。

4,VCCIをクリアできなくなったらやめる。

 

一つずつ追加しているといつまで経っても「VCCIをクリアできる正解」にたどり着けない可能性があります。

そこでまずどれだけコストがかかるかを度外視で、全部のせで「正解」を作ってしまうのです。

そして、そこから部品を取っていって、できるだけコストがかからない「正解」を見つけるのです。

 

これはVCCIだけでなくノイズ系のトラブルでは全般で使えるので、是非とも覚えておきましょう。

 

以上、小田切でした。

オシロスコープのプローブのトリマーはきちんと調整しよう

オシロスコープにはだいたい1kHzの出力がでている端子があります。

それをプローブで触ってみましょう。

そうすると、綺麗な1kHzの方形波が表示されます!

 

以上!!

 

・・・で終わればいいんですが、案外綺麗な方形波が出ない例が多いんです。

方形波なので平らに表示されるべきところが、斜めになっているんです。

これは出力している波形がおかしいんじゃありません。

波形を観測しているプローブに問題があるんです。

 

「え? このプローブ壊れてるの? 買ったばかりだけど? っていうか、使えてるよ」

 

壊れては居ませんが、調整ができてないんです。

 

「え、調整?」

 

そう、調整です。

けっこう無頓着な人も居ますし、そもそもそれを知らない人が居ます。

 

オシロスコープというのは高周波を扱うので、プローブ内部のコンデンサ容量とオシロスコープ内のコンデンサ容量の影響で波形が歪むのです。

そして、オシロスコープの機種や個体差によってコンデンサ容量が変わるので、プローブの容量もそれにあわせて調整しないと正しい波形になりません。

 

それを調整するにはどうするか。

プローブの何処かにトリマーコンデンサという、ドライバで回せる小さな部品があります。

1,プローブの持ち手に小さな穴があって、その奥にトリマーコンデンサがある場合

2,オシロスコープにつなげるコネクタ部の側面にトリマーコンデンサがある場合

の両方があります。

 

1,1kHz出力端子をプローブで触る

2,波形がおかしければ、トリマーコンデンサを回す

3,もう一度1kHz出力端子に触る

 

を繰り返していい感じに調整します。

これはプローブとオシロスコープの組み合わせで決まるので、一度調整しても別のオシロスコープに繋いだら崩れてしまいます。

なので、プローブを複数のオシロスコープで使いまわすのは止めたほうがいいです。

毎回トリマーの調整が必要ですし、トリマーはそもそも頻繁に回す想定でないので、何度もやっているとトリマーはすぐ壊れます。

だからといってトリマーを調整しないとただしい波形が取れません。

それじゃ意味がありません。

 

ということで、

・プローブをオシロスコープにつなげる際にはトリマーを調整する

・複数のオシロスコープでプローブを使いまわさない

ということに注意しましょう!

 

以上、小田切でした。

ショートって何Ω以下?

基板の各部をテスターで当たって「ショートをチェックする」というときがあると思います。

しかし、思いませんか?

 

「ショートっていうけど、何Ωならショートなんだ?」

 

0Ωならもちろんショートですが、実際はそんなことはありません。

どんなに小さくても0.7Ωなど、少しの抵抗値はあります。

1Ωはショート?

10Ωはショート?

100Ωはショート?

 

実は絶対値がありません。

その回路によります。

 

例えば、意図的なショートがあります。

「ショートが正解」のケースです。

ある電源と別の電源を1Ω抵抗で接続しているなど。

そのときは、その1Ω+測定誤差の範囲内がショートになります。

 

不具合によるショートもあります。

「ショートが不正解」のケースです。

このときは逆に「正解」を決めてから、ショートの意味を決めます。

例えば、正常状態で抜き取り検査をして抵抗値が1kΩ±50Ωの回路があるとしましょう。

すると、ショートとは明らかにこれより小さい場合になります。

もしココが具体的な抵抗などで決まっているのであれば、この値からずれるわけがありません。

なので、「950Ω以下はショート」と決めてしまっても良いわけです。

しかし、電源回路の+とーの場合はコンデンサの特性のばらつきなどで大きく変化してしまうので、あまり厳しくしてしまうと今後正常品が不良になってしまうかもしれません。

ということで、十分余裕をもたせます。

ここはその会社によると思いますが、500Ω,100Ω,50Ωなど1kΩより十分に小さな値にします。

つまり、「想定している値より小さければショート」ということにしてしまうのです。

 

こんな風に、場合によってショートが示している抵抗値はかなり変わります。

 

以上、小田切でした。

ダンピング抵抗とは?

ダンピング抵抗とは信号配線に入れる抵抗のことです。

たとえばICとICをつなぐ信号線、直接繋いでもいいのに、製品の回路を見ていると抵抗が入っていたりしませんか?

そういうのがダンピング抵抗です。

 

ダンピング抵抗の役割は大きく2つあります。

 

◯波形の成形

配線にはインダクタ成分があるので、電流が流れ続けようとすることにより、

オーバーシュートなどの意図しない電圧が発生します。

配線に抵抗成分があると電流が流れにくくなるのでオーバーシュートなどが小さくなります。

ということで、オーバーシュート・アンダーシュートを減らすためにダンピング抵抗を使います。

でも、大きくすると駆動力が小さくなるので今度は波形がなまります。

 

◯静電気・活線挿抜からの保護

コネクタからICに配線される場合にその配線にダンピング抵抗を入れます。

基本的に普通のコネクタは活線挿抜(電源入れたままの抜き差し)は禁止ですが、実際にはやられることがあります。

そのときにやはり配線のインダクタ成分により、大きな電圧が瞬間的に発生します。

その電圧から保護するために抵抗を入れているわけです。

また、静電気にもきも~ち効くかも?ということで入れてあります。

(静電気に対処するには当然ちゃんとした対策部品と組み合わせます)

 

ということで、ダンピング抵抗は非常に大事です。

ダンピング抵抗が全然入っていない回路図を自分が見ると「素人かよ」と毒舌を吐きますのでご注意下さい。

とはいえ、あまり大きな抵抗を入れると波形がなまりますので、加減が大事です。

だいたい10~100Ωくらいが普通です。

実際の波形を見て問題がないことを確認しましょう。

 

以上、小田切でした。

デバッグで波形の評価はどこまでやればいいのか?

デバッグで当然のことながら、オシロスコープで各部の波形を見ます。

そして見るからにおかしければ当然対処します。

それはまぁ、あんま問題ありません。

 

問題は、「パット見問題ない」時に「厳密に何を合格とするか」です。

 

波形の評価というのは、細かく見出したら本当にキリがありません。

 

1,Highの電圧

2,Lowの電圧

3,立ち上がり速度

4,立ち下がり速度

5,オーバーシュート

6,アンダーシュート

7,他の信号(クロックなど)との時間関係

8,USBやEthernetなどオシロスコープでまともに取れない信号に対して、専用試験機による波形評価

 

◯簡単評価

例えば、とにかく動けば良いもの(一台だけの間に合わせの品)なら「1-2」だけかもしれません。

ここだけは必須です。

もし、3.1V以上必要な相手に対してHighが2.9Vにしかなってなければ問題です。

 

◯基本評価

この場合、「1-6」まででしょうか。

立ち上がり速度やアンダーシュートまで見ます。

でもこれも微妙なんですよね。

I2Cなどは遅いので問題ありませんが、PUSHPULLで動いている波形はかなり速いので、プローブとの相性や接続方法でオーバーシュートやアンダーシュートが大きく変わります。

立ち上がり速度ぐらいは正確に測定できなくても「◯us以下」ぐらいいえますが、アンダーシュートやオーバーシュートは正確に測定するの難しいです。

本当はICの定格が「VCC+0.3V」であれば、オーバーシュートは0.3V以下でないといけないんですが、それやりだすと結構大変です。

(だって全部のダンピング抵抗を集合抵抗含めて付け替えるの?って話です)

オーバーシュートは「ごにょごにょ」なときもあります・・・

 

◯真面目に評価

この場合、「1-7」まででしょうか。

他の信号とのタイミングを見出すと本当に大変です。

例えばSD信号なら、「CLK」「CMD」「DATA0」「DATA1」「DATA2」「DATA3」の6つの信号の関係を全部見ることになるんです。

もちろんやるべきなんですが、実務的にはかなり大変・・・。

実際には(本当はいけませんが)スクリーンショットだけ取って「ほら問題ないでしょ?」と見た目だけで済ましてしまうこともあったりして・・・。

本当はすべての信号の間のタイミングを全部測定して規定以内か調べないといけません。

 

◯くそ真面目に評価

この場合「1-8」までやります。

もうここまで来ると、担当者の判断ではなく、お客さんが「こういう試験をやってくれ」と依頼してきた場合だけですね。

EthernetやUSBなどは専用の試験機などがあったりしますが、当然それなりな費用がかかります。

ここまでやると測定だけでおお仕事です。

 

とまぁ、こんなイメージでございます。

 

以上、小田切でした。

基板のデバッグ、まずやるのはショートチェック

回路を設計し、アートワークも終わり、部品実装も行い、部品が乗った完成基板が上がってきました。

さて、ここでなにから始めるでしょうか?

 

いきなり通電!

NG! 駄目です。

 

考えてみて下さい。

初めての基板なんて、何がどうなっているかわかりません。

もしかしたら、電源のプラスとマイナスが間違ってショートしているかもしれないのです。

そこに仮に高電圧をかけたら大電流が流れて火事になってしまいます。

 

ですから、

一番最初にやることは電源のショートチェック

です。

ここがクリアできていれば、火事になることはそうそうありません。

逆に言うと、ここでミスすると普通に危険です。

 

1,電源入力のショートチェック

電池やACアダプタからの供給が普通です。

そこに接続される端子間の抵抗を測りましょう。

ここがショートしているのが一番危ないです。

 

2,内部電源のショートチェック

基板の中で3.3Vや5Vなどを生成していると思います。

その3.3VとGNDの間の抵抗を測定しましょう。

ここがショートしている場合、燃えることはめったにありませんが、当然動きません。

 

3,初めて通電

ここまできてから初めて通電です。

 

火傷したり電源を壊したりしないように、上記の順番を守りましょう。

 

以上、小田切でした。