今回から福田昭氏より筆者(大原雄介)がこの連載を引き継ぐことになりました。よろしくお願いいたします。

さて、前回ではCloudTesting Labのライセンス認証が終わり、さらにCX1000Pとスタータキットが届いた状態まで説明が終わっているかと思います。今回はこれらを実際に繋ぐと共に、MCUのテストを実際に行ってみたいと思います。

テストの準備

まずはスタータキットを確認します。このスタータキットは、MCUの動作確認の練習用ということで、MicrochipのPIC12F1822のみが搭載されています(Photo01)。基板表面はこれにリレーが3つだけで、裏面(Photo02)にはコネクタが用意されています。

Photo01:後で回路図が出てきますが、リレーはCX1000Pから電源のOn/Offなどの制御を行うためのもので、リレー制御の信号線はCONTコネクタに繋がっています

Photo02:裏面。左のものがFUNCコネクタで、右の黒い50pinのものがCONTコネクタです

この基板とCX1000Pの間は2本のケーブルで接続する形になります(Photo03,04)。このケーブルをそれぞれ基板に装着し(Photo05)、付属のスタンドにねじ止めして完了です

Photo03:手前の2連コネクタがFUNCケーブル、奥のものがCONTケーブル

Photo04:これはCX1000Pに装着する側のコネクタ部。エッジコネクタが複数並ぶ形状で、それほど機械的強度が無いこともあり、コネクタケースがかなりしっかりしたものになっている

Photo05:誤挿入防止用の切り欠きがあるので、無理やり装着しない限り間違えることは無い

Photo06:奥の猫は付属しません

次いで本体側ですが、フロントはこのような形になっています(Photo07)。ここに基板から来たFUNCケーブルとCONTケーブルをそれぞれ接続し、さらにUSB 2.0ケーブルをCloudTesting Labが動作するPCと接続します(Photo08)。背面は電源コネクタと電源スイッチのみが用意されているので(Photo09)、これも付属の電源ケーブルを装着し、AC100Vに接続します。以上でハードウェアの準備は完了です。

Photo07:ちなみにPhoto05/06には出てきませんが、USB 2.0ケーブルも付属します

Photo08:FUNCケーブルはねじ止めになります。CONTケーブルはラチェット式なので、奥まで差し込めばカチっと留まります

Photo09:電源スイッチは、しっかり奥まで押し込まないとスイッチが入らない、やや抵抗のあるものが採用されているので、確実に押し込みましょう

次にソフトウェアの準備です。前回説明した手順で、CloudTesting Lab本体、それとライセンスはインストールされていると思いますが、同じようにテスト用のIPを入手してインストールしたいと思います。今回利用するのは、電流・電圧検証IPとなります。30日利用可能な試用版を注文し、ファイルをダウンロードしてインストールします(Photo10)。インストール(Photo11)の後でCloudTesting Labを起動すると、ライセンスが正常に発行された旨が表示されるので(Photo12)、これでテストの準備が整いました。

Photo10:電流・電圧検証IPの機能はこんな感じになっています

Photo11:正式名称は"DC Parametric Measure IP"となります

Photo12:場合によってはユーザー名/パスワードの入力が求められるので、その場合はCTSのログインのユーザー名/パスワードを入力してください

コンタクト試験の原理

今回やってみるのは、電流・電圧検証IPを利用したコンタクト試験です。コンタクト試験とは何か? というと、IC内部の回路とICのピンの電気的接続状態を確認するためのものです。一般にマイコンなどの場合、それぞれの信号ピンに保護回路として2つのダイオードが接続されており、正あるいは負の過電圧が掛かった場合に、これが直接内部回路に流れ込まないようになっています(Photo13)。これを利用して、逆にpinに電流を印加した際の電圧変動を見よう、というのが今回のテストの要目です(Photo14)。今回はPhoto14で言えば右側に相当するテストを行ってみます。

Photo13:今回利用するPIC12F1822のデータシートから、I/O pinの内部構造の図を抜粋しました。ご覧の通り、I/O pinにすぐ保護用のダイオードが入っているのが判ります

Photo14:左が負の過電圧、右が正の過電圧が掛かった場合の流れとなります

具体的に言えば、

  • VDD(電源)ピンと測定対象以外のピンはすべて0Vを印加する。
  • 測定対象ピンに-100μAを印加し、その際の電圧値を測定する。

という操作を行います。これを行った場合、内部が正常だった場合はPhoto14の右側の様に、保護ダイオードに-100μAが流れる分、電圧降下が発生するので、これを測定することで内部が正常かどうか確認できます。PIC12F1822の場合で言えば

  • -1.0V ≦ 測定値 ≦ -0.3Vであれば正常
  • 測定値 > -0.3Vであれば内部がショート状態(異常)
  • 測定値 < -1.0Vであれば内部がオープン状態(異常)

という判断ができるため、これを使ってすべての信号ピンが正常に内部と接続されているか判る、という訳です。ちなみにこの数字は、厳密にはダイオード方程式と呼ばれる式で計算できます。

このコンタクト試験、一般には後工程の一番最初に、パッケージングした製品が正しく接続されているか、のテストとして行われます。MCUなどはボンディングを使ってパッケージと内部のダイが接続されるわけですが、ここで正しくボンディングワイヤが接続されているかの確認と、ダイ内部の保護ダイオードが正常に動作するかの確認がここで行えるわけです。

コンタクト試験の実施

では具体的にCloudTesting Labを使ってこれを行ってみましょう。まずCloudTesting Labのスタート画面(Photo15)から「Start」を選びます。

Photo15:すでにあるワークプロジェクトの継続作業は"Continue"から行いますが、新規は"Start"からとなります

最初に、ピン配置の定義画面が出てきます。ここで言う「ピン」は、CX1000Pが内部的に使う名前の事で、FUNCケーブルのどのチャネルが、測定対象の何に繋がっているか、を定義するものです。今回はスタータキットの配線にしたがってピンの定義を打ち込みます(Photo17)。ちなみにピンの名前は、元々のPIC12F1822のピンの名前に準拠したものとなっています(Photo18)。また、Channel Typeはプルダウンメニューで選択できます(Photo19)。

Photo16:初期状態。測定IPの選択の前に、まずはピン定義を行います

Photo17:スタータキットのピン定義が完了した状態。"Pin Name"と"Channel Number"は手入力が必要です

Photo18:8pinのPIC12F1822の場合、ピンに複数の役割が当てられており、構成によってどれを使うかを決めますが、今回はRA0~RA5を全部汎用のI/Oピンとして扱っています。DGT1/AWS1/RVS1などの信号はCX1000Pのものですが、今回のテストではこれらは特に使わないので、全部VDDと同じピンとしています

Photo19:デフォルトでは"I/Oピン"になりますが、ここで変更できます

次が、Pin Groupの設定です。今回だとI/Oピンが6pinかそこらなのでそれほど問題がありませんが、ピン数が多くなると個別に指定するのが面倒です。そこで、複数のピンをまとめて1つの名前で扱えるようにしたのがPin Groupです。今回はPhoto20の様に、「ALL_PINS」と「IO_PINS」の2つのグループを作成します。ちなみに「Pin Group Name」は手入力ですが、「Pin Name」は入力枠右の「…」ボタンを押すとGUIで入力できます(Photo21)。

Photo20:今回は"ALL_PIN"の方だけを使います

Photo21:こんな具合に、必要なピンをGUIで簡単に選択できます

これが終わったら、次はIPの選択です。今回は「DCParametricMeasure_IP」を選び、「ItemName」にPinContactという名称を入力します。このItemNameは自分で付ける作業名なので、判れば何でも構いません(Photo22)。

Photo22:今回は複数の測定用IPをすでにインストールしているので、"Measure Algorithm"がにぎやかになっています

IPを選択すると、次にそれぞれのIPに応じた設定画面となります。まず最初がParametersタブで、これはIP全体としてのパラメータ設定です(Photo23)。

Photo23:この画面は特に変更する部分がないので、デフォルトのままで構いません

次がPower Supplyタブです(Photo24)が、ここでは

Photo24:ピン指定は、"SelectPins"ボタンをクリックすると指定画面が出てくるので、上のプルダウンメニューで"Power Supply"を選び、VDDを指定します。Bypass Capacitorはリレーの絵をクリックするとOn/Offが切り替わります

  • Select PinにVDDピンを指定
  • Bypass Capacitorを接続状態にする
  • Source Valueを0Vにする

という設定を行います(Photo25)。

Photo25:設定後。Source Rangeは"-1 to 4V"のままで構いません

その次は「Signal」タブで、ここは実際にピンに対する設定を行います。初期状態は空っぽなのですが、ここで「Pin Name」に先ほど設定した「ALL_PINS」を指定すると、Photo27の様に信号の与え方の設定画面となりますので、

  • 「Mode」に「Fix Level」を選びます。これを行うと、「Level[V]」以外の項目が入力できなくなります。
  • 「Level」に0を入力します。

これで、Signalピンには一定の電流を印加する準備が整いました(Photo27)。

Photo26:Modeの選択によって、続く項目の設定の可否が変わります

Photo27:ちなみに"Level[V]"はデフォルトが0のはずなので、もしすでに0になっていればそのままで構いません

次がPower Sequenceタブ(Photo28)です。これは対象とするピンに対して、どういうタイミングで信号を掛けるかの設定となります。

Photo28:2段目の"Pin Name"の右の"…"ボタンを押し、ALL_PINSグループを指定してください

Photo29:設定終了後はこんな感じになります

デフォルトだと、VDDが0m(0ms)で立ち上がり、6m(6ms)で全電源の投入が完了する設定のみとなっていますので、追加設定として、3ms後にALL_PINSに対してリファレンスオンとなるように設定します。これにより

  • (1)0msのタイミングでVDDに対して0Vを印加
  • (2)3msのタイミングで、各々の信号ピンに電流を印加
  • (3)6msのタイミングで電源の投入が完了する

というタイミングが設定されることになります。

最後に「DC parametric measurement」タブ(Photo30)に移ります。ここが、実際に測定と判定を行う設定となります。

Photo30:デフォルトではVSIM(電圧印加電流測定)モードです。MVMは電流を印加しない、電圧測定モードとなります

ここでは

  • Measure Pin : ALL_PINSを設定します。
  • Mode : ISVM(電流印加電圧測定)を選択します。
  • Positive Clamp[V] : 500mVを設定します。
  • Negative Clamp[V] : -1.8Vを設定します。
  • Filter : 160KHzを選択します。
  • Upper Limit[V] : チェックを入れ、-300m(-300mV)を入力します。
  • Lower Limit[V] : チェックを入れ、-1(-1V)を入力します。
  • Source Value[A] : -100μ(-100μA)を入力します。

これにより、「-100μAを印加した時の電圧降下を測定し、それが-300mV~-1Vの範囲内かどうか判別する。この際、500mV以上あるいは-1.8V以下に電圧降下が起こらない様にする。フィルタの周波数は160KHzに設定」というテストが実施されることになります(Photo31)。

Photo31:Upper LimitとLower Limitのチェックを入れないと入力できないので注意してください

以上で設定は完了なので、そのまま実施して見ましょう。画面左上の実行ボタンを押すと、CX1000Pがテストを行い、その結果が下のコンソールに表示されます(Photo32)。問題が無ければ、緑色に「Pass」と表示されることになります。これで、今回利用したPIC12F1822はコンタクト試験を無事通過した訳です。

Photo32:コンソールの方に、Pinごとの電圧降下の実測値も示されます。概ね-500mV未満ですが、RA3のみ-600mVほどの電圧降下が発生しているのがわかります

ではもし異常があるとどうなるか? ということで、先のDC Parametric mearurementタブ(Photo31)の設定をちょっと変え、Lower Limitを-500m(-500mV)に絞った場合がこちらです(Photo33)。今度は-300mV~-500mVの範囲でないと全部エラーと認識されます。実際RA2とRA3が範囲から外れていると判断され、結果も赤く「Fail」と表示されるようになります。これにより、異常があると直ちに判断できるわけです。

Photo33:何度かテストを行うと判りますが、電圧降下の値は多少のばらつきがあります。RA3以外のピンも、時々-500mVを超える電圧降下になる事があります

最後に、この測定環境と結果を保存することにしましょう。画面上の、左から4つ目のアイコンをクリックすると、新規の作業状態保存が行えますので、ディレクトリとプロジェクト名を指定してOKを押すことで保存できます(Photo34)。保存すると、こんな形で自動的に日時を付加した形でファイルが保存されます。CloudTesting Labでこのファイルを読み出すことで、測定の再開なども簡単に行えます。

Photo34:Root Folderというのは、プロジェクトを保存するルートディレクトリで、この下に新規フォルダが自動的に生成され、保存される形になります

ということで、今回はコンタクト試験の手順をご紹介しました。次はもう少し突っ込んだ、ファンクション試験についてご紹介します。

Photo35:今回はデスクトップの下にCTLというルートディレクトリを生成し、その下にContactTestというプロジェクト名のサブディレクトリが生成される形になります