アートワークで部品登録は危険がいっぱい

基板のアートワークをするときはいろいろ注意点が有りますが、見逃しがちな点、「部品登録」について書きたいと思います。

 

部品登録というのは、基板に配置する部品のサイズ・シルク・パッド形状などを登録することです。

 

「ん?なんでそんなところ気をつけないといけないの?」

 

と思うでしょうが、実際今それでトラブル出てます。

 

部品登録というのはどうやるかというと、メーカーが出している資料に沿って登録します。

データシートや別資料に部品サイズや推奨パッドの記載があるので、それにそって登録していきます。

 

「寸法を入れ間違えるとか?」

 

いやいや、そういうわけじゃありません。

アートワーク業者で作成した部品登録を自分でダブルチェックしていますが、寸法の入力ミスというのはめったにありません。

ICなども、レイアウトが決まっているのでめったに間違えるものじゃありません。

 

問題は……ICや抵抗以外の特殊部品です。

 

例えばコネクタです。

今回問題になっているのはDCジャックです。

DCジャックというのは「プラス極」「マイナス極」「挿入検出ピン」の3つの端子が出ているのですが、図の記載がわかりにくかったのです。

絵にピン番号など書いてあるのですが、部品の裏面の絵なのか基板上のレイアウトなのかわからずそれを間違えてしまいました。

つまり、見ている絵の解釈が逆になってしまって、ピンがひっくり返ってしまったのです。

 

さらに、どちらが差込口かも図から読み取れない状況でした。

ということで、差込口が基板の内側を向いています。

 

さらに、DIP部品なのに図では穴ではなくパッドに見えたため、穴が空いていないなんてこともありました。

 

つまり、この部品に関してボロボロです。

使い物になりません。

 

このアートワーク業者さんは経験豊富で他の部分は問題なかったのですが、このDCジャックだけが問題でした。

つまり、コネクタ類のようにバリエーションが有りすぎる部品は図がわかりにくいと、経験があってもミスをしてしまいます。

こういう紛らわしい部品は現物を入手するなどして事前に確認を取らないと、酷いことになります。

 

以上、小田切でした。

ハイパワーLEDの寿命は熱次第

ネタ切れに付き、ちょっと閑話休題的な話。

 

最近は照明などにハイパワーLEDが使用されて、LED照明なんて普通です。

車のライトもLEDですし。

 

LEDは低発熱で、長寿命!

エコ!

 

……と言われますが、実は結構扱いが面倒なんです。

それは発熱です。

 

蛍光灯や電球は長い間使用されてきただけあって、常識的な使い方であれば発熱はそれほど問題ないのですが、LEDは違います。

LEDは自分の発熱で寿命が縮みます!

(知っている人にとっては当たり前のことですが)

 

寿命が4万時間だとか5万時間とかいっても所詮それは理想状態の話。

熱がこもる環境や、放熱に不備があれば1万時間もしないうちに暗くなってしまいます。

とにかく熱に弱いです。

 

「熱くなったらおしまい」なのがLEDです。

 

ということで、寿命を保証するには温度を下げないといけないのですが、「温度vs寿命」がデータシートに乗っていないことが多いです。

つまり、メーカーに問い合わせをしないとそういう信頼性の情報が出てきません。

(おそらく個人には出してくれないでしょう。企業でないと情報開示してくれないでしょう)

 

ということで、

1,パワーLEDを使う場合には発熱に注意する

2,温度VS寿命の情報をメーカーに問い合わせる

ということを頭においておきましょう。

 

以上、小田切でした。

電源ICのソフトスタート機能は何者か?

DCDCコンバータなど、電源ICには時に「ソフトスタート機能」というものが付いています。

そして、どの程度ソフトかをコンデンサや抵抗で調整できるようになっています。

 

「ところで、ソフトスタートってなに?」

 

という話をしたいと思います。

 

ソフトスタートがない場合で説明します。

 

ソフトスタートというものがないと、電源ICは設定された電圧まで最高速度で立ち上げます。

例えば、0V→5Vを一瞬で立ち上げてしまうわけです。

しかし、そうするとどうなるでしょうか。

いくら電源ICが電圧を監視しているとは言え、あまりに速い動きだとオーバーシュートします。

つまり、0V→6V→4V→5V・・・のようにフラフラしながら5Vに収束していきます。

たとえば、部品の耐圧がぎりぎりだと、オーバーシュートした時に部品が壊れます。

 

そしてもう一つの大きな問題は「電流を引きすぎる」という点です。

電源の先には大量のコンデンサが付いていますので、その電圧を瞬時にあげようとすると必然的に導通状態になります。

DCDCコンバータだと、瞬間的にFETに大電流が流れて焼ける可能性があります。

そして、それだけの電流を引くということは、大元の電源が一時的に電圧低下して、大元の電源で駆動している部品が動作不良を起こします。

 

このように、電圧を一気に立ち上げると問題が出てしまうのです。

 

ということであるのが「ソフトスタート機能」です。

これは設定した速度で電圧を上げていくので、オーバーシュートや電流引きすぎる問題が解決されます。

 

「なるほど、ソフトスタート機能を使えば良いんだ」

 

ということなのですが、問題はパラメータです。

デフォルト値で問題ない場合も多いですが、

大元の電源が弱かったり、先につながっているコンデンサの容量が大きいともっと遅くしないといけない場合もあります。

大元の電源の波形を確認するなどして、実機で判断しないといけないので、少々面倒です。

 

以上、小田切でした。

ソフトウェアのライセンスって面倒・・・

ちょっと変わって組み込みソフトウェアの話題。

今の御時世、1からプログラムを組むこともあると言えばあるけど、かなりレアケース。

だいたい、メーカーから提供されているフレームワークやインターネットに転がっているライブラリなどを使用して、差分だけを開発するのが普通です

しかし、その時に問題になるのがライセンスです。

 

もし、使用しているフレームワークやライブラリがGPLライセンスだと、開発しているプログラムもGPLライセンスになってしまいます。

GPLライセンスだとソースコードを公開しないといけません。

つまり、「特別な機能を作った。これを目玉にして売るぞ!」なんていうときに、中身でGPLライセンスのライブラリなどをつかっていると、そのソースコードを開示しないといけなくなります。

組込みソフトウェアは大体特定メーカ用の開発が多いので、ソースコードを公開しないといけないのは大きな問題です。

ということで、大抵の場合GPLライセンスのソフトウェアは使用できません。

 

組込みソフトウェア開発ではBSDライセンスのほうが安全です。

BSDライセンスでは公開の義務が発生しないので、ソースコードを秘匿したまま使用することが出来ます。

 

ということで、もし「ソフトウェアのライセンスとかなにも考えずに開発していた」というときは、

一度使用しているライブラリ・フレームワークのライセンスを列挙してみましょう。

GPLがあったら要注意です。

 

以上、小田切でした。

NANDフラッシュを扱うのは結構面倒

一言で言うと、

「きちんと扱えるという確証がない限り、NANDフラッシュではなくeMMCを使え!」

ということなんですが、

ちょっと詳細を説明しようと思います。

 

昔、ある製品でNANDフラッシュメモリーにプログラムを書いていました。

しかし、NANDフラッシュはどんどん劣化していくだけでなく、最初からエラービットがあるというある意味とんでもない部品です。

つまり、買ったときから不良品(こういう言い方するをマズいかもしれないけど)なわけです。

しかもどの程度のエラーがあるかとか、エラーの詳細とかそういうことをメーカーが教えてくれませんでした。

それが原因で製品が正しく動かないとかでトラブルがあったのです。

 

じゃあ、そんなメモリをどうやって扱うのかというと、「誤り訂正符号」という技術を使います。

簡単に言うと100bitのデータを110bitで表現するといったように、データを水増しさせます。

水増しすることにより1bitぐらいの間違いなら「これはおかしい」と検出して訂正することが出来ます。

水増しする量を増やすほど多くの間違いを検出できるようになりますが、当然メモリが無駄になりますので、訂正能力とメモリの使用量のバランスを取ります。

この誤り訂正符号の力でNANDメモリーが実用的に使用できるようになります。

 

しかし、実際に開発するとなると非常に面倒でした。

CPU側に「誤り訂正符号」のファームウェアを組み込まないといけない上に、そのファームウェアにバグが有ってですね・・・

要は、NANDを扱うためだけに四苦八苦しないといけなかったのです。

 

ということで、使うならeMMCです。

これはSDカードとほとんど同じものです。

SDカードは中身にNANDフラッシュが入っていますが、誤り訂正などを行うコントローラが内蔵されており、外からは普通の読み書きすればいいだけになっています。

eMMCも同じようにNANDフラッシュとコントローラが内蔵されており、これまでに書いたような誤り訂正などで苦しむ必要がありません。

また、実装部品なのでSDカードより堅牢です。

(SDカードだと接触不良が起こりうるので、OSイメージを入れるのは少し怖い)

 

なので、大容量のストレージが必要な時にNANDフラッシュを選択していいかよく考えるようにしましょう。

誤り訂正符号の処理などが確立されており問題ないならいいですが、ライブラリなどを活用して自前で作り上げるとなると大仕事です。

そういうときはeMMCなどを活用しましょう。

 

以上、小田切でした。

DCDCのインダクタには閉磁路タイプを!

DCDCコンバータには当然のようにコイル(インダクタ)を使用します。

これの選定にはそれなりに気を使います。

 

1,(当然ですが)必要な電流を流せること

2,内部抵抗ができるだけ小さいこと

3,基板に収まるサイズを選定すること

4,価格

 

お値段とサイズが反比例したりして、「小型高性能にしたら高い」となり、なかなかスペックだけで判断できません。

しかし、これだけでなくもう一つ考えて貰いたい点があります。

 

5、「開磁路」か「閉磁路」か?

 

これはインダクタの構造のことです。

インダクタは当然磁力を発生するわけですが、その磁力をどのように処理しているかということです。

「開磁路」は磁力が外に漏れ出しています。

「閉磁路」は磁力が部品から外に漏れ出さないようになっています。

 

DCDCコンバータのインダクタには激しい電流の変化があるため、激しい磁力の変化が起きます。

ということは、「開磁路」タイプのインダクタだと磁力のノイズが空中に放出されてしまうのです。

これはよくないです。

 

ということで、ノイズをできるだけ抑えるために、(価格やサイズの点で厳しい場合もありますが)可能な限り「閉磁路」タイプのインダクタを選定しましょう。

 

以上、小田切でした。

USB2.0から引ける電流は本当に500mA?

今はUSB 3.0なんて新しい規格もありますが、組み込み用途ではそんな5Gbpsなんて速度は必要とされないことが多く、今でも一つ前のUSB2.0相当で設計されることは多いです。

さて、通信部分については今回触りません。

 

今回のテーマはUSB2.0の電源です。

 

民生用機器だけでなく産業用機器でも

「通信はUSBなら、電源もUSBで取ってよ。別にACアダプタが必要とか面倒でやだ!」

と言われる時代です。

USBから電源を取る機器も多いです。

 

ですが、この時に安易に「5V 500mAだろ」と考えてしまう設計者が多いのですが、実は違います。

 

まず電圧は500mA対応のハイパワーポートを想定しても4.75-5.25Vのバラ付きがあります。

さらに、ケーブルでの電圧降下がVBUS側125mV,GND側125mV認められています。

つまり、機器に入ってくる電圧は4.75-0.125-0.125=4.5Vです。

つまり、4.5-5.25Vを想定しないといけません。

なお、これはハブを使わない場合です。

ハブを使うとさらに最大350mVの電圧降下が発生するので、さらに下がります。

 

次に電流ですが、たしかにハイパワーポート(PCなどホスト機器でローパワーポートなんて実際にないので)は500mA引けます。

しかし、「500mA要求します」とホストとネゴシエーションしないと500mA引けません。

ネゴシエーションする前はローパワーデバイスとして振る舞わなければならないので、100mAしか引くことが出来ません。

 

さらに最大負荷は「10uFのコンデンサと44Ωの抵抗の並列」を超えてはいけないという規定があります。

つまり、電源のパスコンに47uFとか使ったらアウトなわけです。

 

……とまぁ、USB対応を謳うとこういったこと全てにきちんと対応する必要があります。

が、ぶっちゃけ大変です。

民生用ならとにかく、産業向けだと「無駄にお金をかけて規格を取るより、法律的に問題なくきちんと動けばいい」という判断をすることが多いです。

その場合、「USB2.0 準拠」という書き方にして、「実質的にはUSB2.0が使えますが、すべての規格を完全には守っているわけではありません」ということにします。

ま、これで実際困らないんですけどね・・・。

(実際はネゴシエーションなんか関係なく500mA供給できますしね)

 

以上、小田切でした。

POLってなんだろう?

最近、POLと言う言葉をよく聞きます。

POLというのは「Point of Load」(負荷の点)のことです。

 

POLという単語から、そういう部品があるのか想像してしまいますが、そういうわけではありません。

ちなみに「負荷」という言葉があるので、電源用語です。

 

簡単な回路や旧来の回路では、デジタル回路が使う電源は5Vや3.3Vの単一で、電流もあまり多くありません。

現在でも小規模な組み込み回路ではこれが当てはまります。

こういう回路では、普通にLDOだとかDCDCで5Vや3.3Vを作って基板全体に供給すれば問題ありません。

 

しかし、今のデジタル回路というのは電源も多ければ、電流も多いのです。

・5V

・3.3V

・2.8V

・1.5V

・1.2V

etc…

と場合によっては10電源以上あったりします。

しかも、それぞれの電圧の正確性も必要で電流も多いです。

例えば「1.2V±0.05V、1A」の電源が必要としましょう。

すると、もし電源回路とICの間に0.1Ωの抵抗があると、1A×0.1Ω=0.1Vの電圧降下が発生して範囲を外れてしまいます。

こういう厳しい条件になると0.1Ω程度の僅かな抵抗でも問題になってしまうのです。

 

とまぁ、こんな状況から生まれたのがPOLという考え方です。

POLという部品があるわけではなく、「負荷の近くで電源を作ろう」という考えです。

POLを実際に作るには普通のLDOやDCDCを使用します。

これまでの考えでは、1.2Vが必要な部品が二つあったら、一つの電源で1.2Vを生成して分配して供給していました。

しかし、先程のように僅かな抵抗でも問題になってしまうので、長い配線になってしまうと破綻してしまいます。

POLの考え方では、1.2Vが必要な部品が二つあったら、電源を二つ使います。

まず、それぞれの部品の近くに高い電圧(1.8Vとか3.3Vとか)を供給し、部品の隣で1.2Vを生成します。

こうすると電源生成部と部品の距離が限りなくゼロになり、配線抵抗もゼロに近くなります。

これにより、大電流でも高精度な電源が供給できるわけです。

 

このように、電源が増えて大電流になってくると発送の転換も必要になります。

 

以上、小田切でした。

似たような部品がたくさんある時、どうやって選べばいいのか?

回路設計する際に、「今回はこのCPUで行くからね」「このICで作って」と言われればある意味楽です。

意外と厄介なのが、縛りがほとんどない場合です。

 

例えば、電源です。

「DC15Vから5V,250mA以上作って」

と言われれば、レギュレータでもDCDCコンバータでも山のように該当品が見つかります。

 

「DC5Vラインに使う静電気対策の保護部品を選んで」

と言われれば、これも山のようにあります。

 

まず要求スペックがあってそれに該当する部品を選びます。

しかし、それに該当するものが3つ程度なら話は簡単ですが、数百個と出てきてしまうと……なんというか頭を抱えます。

設計者としては「最も適切だと判断した部品」を選ばないといけません。

「いいやこれで」とはなかなかいきません。

 

ということで、自分なりの基準をちょっと紹介したいと思います。

 

1,メーカー

聞いたこともなくて取引のないメーカー、中国メーカーなどはサポートが非常に心配です。

電子部品はトラブルがつきものですので、サポート・保証が信頼できない部品は出来る限り避けます。

「そのメーカーにしかない」などのやむを得ない理由がない限り、怪しいメーカーは選考外です。

 

2,部品サイズ

設計を開始する頃には「サイズに余裕がある基板」か「サイズに余裕がない基板」かが検討が付いています。サイズに余裕が無いときは、大きなパッケージの部品は選考外にします。

 

3,DIP品

DIP品とSMD品がある場合、DIP品は裏面に部品が搭載できず実装も面倒なことから、DIP品は除きます。

※強度が必要なコネクタのみDIP品を選定することもある

 

4,価格

ここまできたら価格です。

しかし、該当部品が多いと一つ一つ商社に見積もりを出しているとキリがありません。

DigikeyやChip1STOPでリールで買ったときの価格で相場を調べて判断します。

コスパが上位の部品のみ、正式に商社に見積もりをさせます。

 

5,納期

商社に実際に見積もりを出してみて、納期が異様に長い部品は避けるようにします。

 

こんなところでしょうか。

 

なにかのときの参考にどうぞ!

 

以上、小田切でした。

高周波測定はケーブルも大事!

無線通信で使うような、400MHzや900MHz、2.4GHzなどの高周波になるとちょっとしたことが大きく影響するようになってきます。

例えば、数十kHzのUART波形を測定する際に、太い線で引き出そうがエナメル線で引き出そうが、波形はほとんどかわりません。

というか、違いがわかりません。

 

ところが、高周波になってくるとそういったことが大きく影響してきます。

実は最近そういうことがありました。

900MHzを使う無線機器で、電波の出力レベルの確認のため基板から配線を引き出しました。

測定器側は同軸で入力するので、同軸ケーブルを使用します。

ですが、同軸ケーブルは硬いので基板の細かなパターンに直接はんだ付けすると、ケーブルのしなりでパターンが剥がれてしまいそうになります。

ということで、まず、基板上のパターンから3-4cmほどエナメル線で引き出し、そこから同軸ケーブルにつなげました。

しかし、この後数値が違うという問題になり・・・

結局のところ、そのエナメル線が問題だとわかりました。

同軸ケーブルの中に3-4cmのエナメル線部分があるだけで、なんと出力が3分の1以下になっていました。

 

「高周波を通すときは同軸ケーブルを使用して、高周波の出力部分から測定器まで特性インピーダンス50Ωで通す」

のが基本ですから、もちろんエナメル線は問題です。

私は基本的にはよくないと分かっていながらも、基板を壊すわけには行かなかったので「そこまで影響ないだろう」と甘く見ていました。

ところが想像以上に大きく変化していました。

 

ということで、みなさんも高周波を扱うときは気をつけましょう。

ケーブルを接続する際にも50Ωの線路から直接同軸ケーブルに繋がるように、上手くはんだ付けしましょう。

 

以上、小田切でした。