2018年 1月 の投稿一覧

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Ωの線路から直接同軸ケーブルに繋がるように、上手くはんだ付けしましょう。

 

以上、小田切でした。

見落としがちな電源立ち上がり順序

大規模なSoCなどになると、電源を複数持っています。

例えば、コアに1.2V、メモリ用に1.8V、外部I/O用に3.3V・・・と3つぐらいの電源があるのは当たり前です。

こうなってくると面倒なのは、電源を用意すればいいだけではなく順番も重要になることです。

 

例えば、SoCのデータシートが

「1.2V、1.8V、3.3Vの順番に電源を入れてください」

と記載してあるとします。

(大体低い電圧から入れるのが普通です)

 

しかし、普通に電源回路を作るとどうなるでしょうか。

3.3V生成→3.3Vから1.8Vを生成→3.3Vから1.2Vを生成

みたいな構成になることが多いと思います。

すると、電源が入る順番は

「3.3V→1.8V→1.2V」または「3.3V→1.2V→1,8V」になってしまいます。

つまり、電源回路を普通に作って供給すると、高い電圧から供給されてしまうのです。

 

非常に面倒な点です。

 

解決策の一つは、そのSoC専用に設計された電源ICがあればそれを利用することです。

そういうものがあればそれを利用するのもいいでしょう。

もう一つは、電源を制御するための回路を組み込む方法です。

上記の電源回路であれば、1.8Vと3.3Vの電源ラインにFETを入れておき、電流を遮断します。

そして、1.2Vの電圧が入ったら1.8VのFETをON、1.8Vの電圧が入ったら3.3VのFETをONにする回路を入れるのです。

 

初めてやると結構面倒な部分です。

 

ということで、複数電源があるICの電源投入順序は十分に気をつけましょう。

 

以上、小田切でした。

電源入れたままケーブルの抜き差ししちゃだめ!

今はUSBやSDカードなど、電源を入れたまま抜き差しできるデジタルなものがたくさんあります。

だからなんとなく、どんなものでも電源を入れたままケーブルを抜き差しする人が居ます。

 

設計者として言わせてもらうと、絶対に止めてくれ!!!

 

電源を入れたまま抜き差しすることを「活線挿抜(かっせんそうばつ)」といいます。

 

ケーブルの抜き差しの際にはケーブルのインダクタ成分による起電力が発生します。

要は抜き差しの瞬間に変な高電圧が発生するんです。

 

そして、端子が繋がる順番が超大事です。

GNDからつながればなんということはありませんが、電源と信号線だけが繋がるとこれは大変!

普通は、電源→GNDとながれる電流が、電源→信号線と流れるので、信号線に大電流が流れてICが破損することもあります。

 

ということで、活線挿抜に対応するには

 

1,GNDが最初に接続されるコネクタであること

(SDやUSBはそういう設計になっています。普通のコネクタはそうではない)

2,高電圧(サージ)対策部品がついていること

 

の二つが必須です。

 

基本的にはコネクタは電源OFFのときにしか抜き差ししては駄目。

そして、活線挿抜対応するにはコネクタから見直しが必要ということです。

 

以上、小田切でした。

CPUやICでコンデンサを付けろと書いてある端子の正体

どんな部品も電源にはパスコンとしてコンデンサをつけますが、これはそのことではありません。

 

「この端子とGNDの間に0.47uFのコンデンサを接続する」とか書いてある端子のことです。

 

謎、ですよね。

 

CPUを含むどんなICも、ピン配置を見れば大体用途や意味がわかるものです。

「ああ、コレはJTAG用か」

「これはGPIOか」

「電源接続ね」

「USB通信用ね」

 

しかし、そうでないものがあります。

何の説明がなく「未接続」と書いてあるものや、今回話題にしている「コンデンサを接続しろ」という端子です。

こういうの、普通に不明です。

一体何でしょうか。

 

え、知らなくていい?

 

知らなくてもOKですが、ちょっと知識として知っておきましょう。

 

実はこんな例があります。

 

1,内部電源用

たとえば、外部給電は3.3Vであっても内部で1.2Vなどを生成しているICがあります。

要はレギュレータを内蔵しているICということです。

しかし、レギュレータそのものはIC内に内蔵できてもコンデンサは無理です。

そのため、コンデンサは外付けしないとレギュレータとして動作しません。

そのため「(レギュレータ用のコンデンサとして)この端子とGNDの間に0.47uFのコンデンサを接続する」と書いてあったりします。

 

2,ローパスフィルタとして

中でアナログ信号を平滑化する際にフィルタとしてコンデンサが必要です。

そのフィルタ用のコンデンサを外付けする場合があります。

 

一番多いのは「1」だと思います。

あやしいなと思ったらそのコンデンサの両端をテスタで触ってみましょう。

それっぽい電圧が出てたら「なるほど」と納得してにやにやしてみてください。

 

以上、小田切でした。

Ethernet(LAN)の実現方法

「基板にLANコネクタを付けて、Ethernetにつなげたい!」

 

というのはよくあるパターンです。

一応、方法は2つあります。

 

1,Ethernetの通信を全部処理してくれるモジュールを買って、UARTで通信する

例えばXPortのような製品です。

基板のメインCPUには全く普通のものを利用して、メインCPUからUARTなどでモジュールを制御します。

Ethernetのハードウェア・ソフトウェアを作らなくていいので非常に楽です。

ただ、コストが高いので、単価が高い製品にしか使えません。

 

2,メインCPUでEthernetを処理する

まずメインCPUの選定から違います。

「Ethernet対応」とうたっているCPUを選びます。

が、それを買って直結すれば実現できるかというとそんな簡単なものではありません。

CPUに載っているのはMAC層まで・・・

 

WikipediaのOSI参照モデルを見てもらいたいのですが↓

https://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB

 

こんな風にネットワークは層構造で実現しています。

そしてCPUにのっているのは下から2番めのデータリンク層(MAC)までです。

一番下の物理的に通信する層は搭載されていません。

つまり、「通信するデータは作れるけど、実際に電気的に通信するハードウェアを持っていない」ということです。

 

「だめじゃん!」

 

いや、そういうものなんです。

ほとんどすべてのEthernet対応CPUがそうなので諦めてください。

ということで、PHYというものが必要になります。

 

1,Ethernet対応CPU

2,PHY(CPUと接続されるLSI)

→実際に通信する電気信号を作る部品

3,パルストランス

→ショートや他の機器との電位差などから製品を保護するために通信を絶縁する部品

4,LANコネクタ(RJ-45)

→よく見る四角コネクタです

 

とまぁ、これだけ必要になります。

結構面倒なので、メーカが出している資料をじっくり見ながら作ることになります。

また、ソフトウェアの方もLinuxやTRONなど、TCP/IPがちゃんと扱えるOSが必要になるので、開発もそれなりに大変です。

 

以上、小田切でした。

 

P.S.

SoC(System on Chip)では、PHYがCPUと一緒に内蔵されている製品もある模様。

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

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

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

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

 

以上!!

 

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

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

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

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

 

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

 

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

 

「え、調整?」

 

そう、調整です。

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

 

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

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

 

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

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

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

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

の両方があります。

 

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

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

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

 

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

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

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

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

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

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

 

ということで、

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

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

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

 

以上、小田切でした。