回路設計

意外と大事なI2Cのプルアップ抵抗

I2Cバスをご存知でしょうか。

I2Cはデータ線:SDAとクロック線:SCLで双方向通信ができる、とても低コストな信号規格です。

(正確にはもともとのI2Cの規格をきっちり守ったわけではない「なんちゃってI2C」ばかりですが、まぁ、I2Cです)

 

信号線が少ないだけでなく、「バス」なので複数のデバイスをつなげます。

つまり、CPUから伸びる配線はSDA&SCLの二つだけですが、そこにEEPROM、RTC、センサー・・・といろいろなデバイスを複数個繋げられるのです。

ピン数が少ないCPUでは非常に心強い味方です。

(ICごとにアドレスが違うので、CPUがアドレスを指定して通信することで複数個つなげても通信が混信しない)

 

また、信号速度も最大400kHzと低速です。

 

・信号線が2本のみ

・速度も遅い

 

ということで、ハードウェア設計的には非常に簡単です。

よほど酷いパターンをひかない限り普通に動きます。

 

が、一つだけ注意するべきところが「プルアップ抵抗」です。

 

I2Cは信号線がプルアップされており、それぞれのデバイスがそれをLに落とすことで通信をしています。

理想状態ではプルアップ抵抗は何Ωでも大丈夫なのですが、実際にはそうはいきません。

I2Cバスに接続される信号線にはGNDとの間に寄生容量が発生します。

さらに、各デバイスのピンにも寄生容量があります。

 

つまり、I2CのバスをLやHに変化させるときにはその寄生しているコンデンサを充放電する必要があるわけです。

その事自体はどんな信号線も同じです。SPIだろうがMIIだろうが。

でも、他の通信規格はたいていプッシュプルで駆動するので、寄生容量の充放電は速いのです。

ところが、I2Cは・・・

H→Lのときは、問題ありません。

デバイスが信号線とGNDをショートさせるので速やかに電荷が抜けてLになります。

問題は、L→Hのときです。

このとき、デバイスはハイインピーダンスになるだけです。

プッシュプルのように電源と信号線をショートさせたりしません。

ただ単純にプルアップ抵抗から流れてくる電流で寄生容量に充電していくのです。

ということは、「物凄く遅い」のです。

 

対策としてはプルアップ抵抗を小さくすることですが、あまりに小さくするとデバイスのドライブ能力を超えてしまいますし、消費電流も大きくなります。

なので波形的に問題ない範囲でプルアップ抵抗は大きくしたいのです。

というところで、現実的には1~10kΩという範囲内で大体うまく行きます。

 

I2Cを使う際には波形をきちんと見てプルアップ抵抗を調整しましょう!

 

以上、小田切でした。

電子回路で一番最初に寿命が来る部品は?

電子回路というのは物理的に動くわけでもないし、なんとなく永遠に動きそうなイメージが有ります。

しかし、実際には寿命があります。

そのなかでも一番寿命が短いのはなんでしょうか?

特殊なセンサーとかごくごく一部のものではなく、一般的な回路の中で一番寿命が短いものです。

 

・・・

・・・

・・・

 

はい、答えは「電解コンデンサ」です。

殆どの部品はシリコンやセラミックで出来ているのですが、電解コンデンサだけ「液体」を使っています。

つまり、生物(なまもの)なわけです。

どんどん液体が蒸発していき、容量が小さくなっていき、最終的にコンデンサの役割をしなくなります。

 

しかも、高温では想像以上に寿命が短いです。

例えば「85℃ 1000時間」という電解コンデンサが標準ですが、これはわずか41日で寿命が来ます。

製品を使い始めて1月少しでダメになるわけです。

 

これでは話になりません。

ここにはからくりがあって、10℃下がるごとに寿命が2倍になります。

なので、25℃で使えば、64倍になって7年持ちます。

 

ということで、寿命を考えるときには電解コンデンサに注目しましょう。

オールセラミックコンデンサの基板はかなり長い間使えると想定できます。

 

以上、小田切でした。

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

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

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

 

例えば、電源です。

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

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

 

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

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

 

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

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

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

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

 

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

 

1,メーカー

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

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

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

 

2,部品サイズ

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

 

3,DIP品

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

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

 

4,価格

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

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

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

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

 

5,納期

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

 

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

 

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

 

以上、小田切でした。

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

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

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

 

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

 

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

 

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

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

 

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

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

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

 

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

 

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

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

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

 

の二つが必須です。

 

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

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

 

以上、小田切でした。

基板開発でよく使う測定機器

そういえば、測定機器について紹介していなかったので、軽く列挙してみようと思います。

 

◯テスター

ご存知のテスター。

電圧を測ったり抵抗値を測ったり、安くてもマルチに活躍する大事な商売道具です。

 

◯LCRメーター

コンデンサの容量やインダクタの値を測定することができる機器です。

テスターの高機能版。

 

◯安定化電源

自由に電圧・電流を設定して出力ができる電源です。

「この基板の入力電圧は5V±5%だ」というときに、4.75Vと5.25Vでテストをしないといけませんが、安定化電源ならそういった中途半端な電圧も出力できます。

 

◯オシロスコープ

信号の波形を見ることができる機材です。(横軸時間、縦軸電圧)

DCDCコンバータの出力波形や通信の信号波形をみるのに使います。

帯域100MHz程度のものなら数万円でもあるほど安いですが、それ以上の周波数になるといきなりお値段上がります。

 

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

信号の周波数分布を見ることができる機材です。(横軸周波数、縦軸パワー)

無線出力など数百MHz~数GHzなのでオシロスコープでは捉えられないので、スペクトラムアナライザーで確認します。

百万円以上するのが普通です。

 

◯シグナルジェネレータ

任意の波形を出力することができる機器です。

スペクトラムアナライザーとセットで使うことが多いです。

 

◯ネットワークアナライザー

アンテナやアンテナのマッチング回路でよく使用する機材です。

「この回路に100MHzの信号を入れた時、外から(x+yj)Ωに見えるか」といった回路の実際の複素インピーダンスを測ることができます。

百万とか一千万レベルの機材です。

 

◯恒温槽

指定した温度・湿度を保ってくれる冷蔵庫みたいな装置です。

高温・低温で動作試験をする際に使用します。

 

◯静電気試験機

静電気を出すガンで、製品に静電気を打って耐性を調べる時に使います。

 

メジャーなところだとこんなところでしょうか。

気になるものがあったらぐぐってみると知識が広がりますよー。

 

以上、小田切でした。

不揮発性メモリ、EEPROMとFLASHの使い分けは?

不揮発性メモリとして、EEPROMとFLASHメモリがあります。

最近ではソケットを設けてSDカードを使用したり、SDカードと電気的に互換があるeMMCというものを使う場合もあります。

まぁ、SDもeMMCもFLASHメモリなので、最終的には「EEPROMかFLASHメモリか」という問題に行き着きます。

電源を切っても保存しておきたいデータ、どっちに保存します?

 

答えは、データサイズと書き換え頻度によります。

 

まずEEPROM。

これは数kB~数十kB程度のラインナップが多いです。

EEPROMで数十Mなんて一般的ではありません。

容量は小さいのですが、1バイト単位または64バイト単位などで読み書きできます。

つかり、小回りがきくのです。

ちょっとしたデータ「MACアドレス」「設定値」みたいなものをEEPROMに入れる場合があります。

安くて、容量が小さくて、数バイト単位で書き換えができて便利だからです。

 

次、FLASHメモリ。

これはSDカードなどでわかるように、128GBみたいなどでかいサイズまであります。

容量は圧倒的ですが、小回りがききません。

基本的に読み書きは512バイト単位が一般的です。

1バイト書き換えるだけでも、

「512バイトをRAMに転送」→「CPUでRAM上のデータ編集」→「RAMからFLASHに512バイト転送」

という手順が必要になります。

しかも、実際にはFLASHメモリの中のブロック単位が512kBという場合もあるので、

外から書き込むのは512バイトでも、中ではメガ単位の読み書きが発生していることが有ります。

ということで、「書き込むとまれにすごく待たされる」ことがあったりします。

さらに、SDやeMMCではなくNANDFLASHをそのまま使うと、エラー訂正などをCPU側で処理する必要が出てきます。

ということで、大きなデータを保持するときにはFLASHを使用します。

 

こんな雰囲気でございます。

 

以上、小田切でした。

長距離通信でよく使用される伝送方式

長距離通信(数メートル以上)になると、基板内で使用している通信方式(SPIなど)は完全に使用できなくなります。

というのも配線が長くなると配線に寄生容量が付いてしまって、大きな寄生容量を考慮していないこういった方式はアウトなわけです。

さらにノイズとかも問題になります。

(十分に配慮すれば使えるかもしれませんが、普通にやると問題出ます)

 

ということで、長距離通信では違う方式が使用されます。

基本的に工業チックなところで使用されるものを3つ紹介します。

 

◯RS-232C

昔はPCにもついていたアレです。

じつは今でもよく使います。

シングルエンド方式です。

 

◯RS-422

RS-232Cと違って、差動信号を使用します。

これにより、同相ノイズにより強くなります。

ただし、RXDに2本、TXDに2本使うので4本以上の信号が必要です。

 

◯RS-485

これも差動信号で伝送しますが、信号線が送受信共通になっていますので、

DATA+とDATAーの二本だけで双方向通信できます。

長距離配線すると配線も大変なので、RS-422よりRS-485のほうが好まれます。

送信も受信も同じ線を使うので、原理的にRS-422より速度が半分になりますが、それが問題なることはほとんどありません。

 

とまぁ、この3つ辺りを紹介しておきます。

ぶっちゃけると、このキーワードと「雰囲気」だけ知っておけば大丈夫です。

「へぇ、そんなものがあるんだ」と。

あとは実際に使う時に調べると、メーカなどで詳細説明資料を配っているのでそれを読めばOKです。

 

以上、手抜きな小田切でした。

基板内で主に使用される通信方式

ICや機器同士の通信にはさまざまな通信が使用されますが、とりあえず今回は基板内の通信に使用されるものを紹介したいと思います。

要は長距離通信を想定していない通信方式たちです。

 

ちなみに、これも初心者にはわかりにくいんですがどれも厳密に仕様があってそれを守っているようなものではありません。

「I2C」と言っても、実際に使われているのは「I2Cっぽいもの」です。

(CPUによっては「実質I2C」なのに「I2C」とすら呼ばれていない場合もあります)

元々どこかのメーカが開発した方式を真似して他社も使うようになった方式ばかりなので、いろいろ権利関係が微妙なんです。

まぁ、「っぽいもの」でも実際動くので問題ないんですが。

 

◯I2C

DATA線である「SDA」、CLOCK線である「SCK」の2線で通信できる便利なやつ。

マスターとスレーブがSDA信号を互いに使うことで、これだけで双方向通信できます。

さらに、マルチスレーブ接続もできる。(スレーブはアドレスで指定して通信するので、別のCEピンが不要)

いい事だらけに見えますが、通信速度が遅いです。

最大400kbpsです。

 

◯SPI

CLOCK「SCK」、MASTER→SLAVE「MOSI」、SLAVE→MASTER「MISO」と、スレーブのイネーブルを制御する「CE」の4線で通信する方式。

I2Cと違ってとても速い。

ICによりますが、10Mbps以上で通信することもできます。

 

◯UART

「TXD」「RXD」の2線を使う通信方式。

クロックがないので、お互いに通信速度を設定してから通信する必要がある。

これはクロック同期がないのであまり速く出来ません。

普通は速めでも115kbpsぐらいです。(特殊な場合にそれ以上速いこともありますが)

 

◯SD I/F

SDカードで使用されている通信方式。

DATA0-3,CLOCK,CMDの6線を使います。

データ転送が4bit幅なので速いです。

ICの対応規格によりますが、50Mbpsとか出ます。

主に通信IC(WiFiとか)とCPUの通信で使用されます。

 

とまぁ、ざっくりこんなものが頻出します。

それぞれの規格の詳細はいつかそのうち・・・。

 

以上、小田切でした。

回路シミュレーションをしたい?なら無料のLTSpiceだ!

電子回路をシミュレーションできることを知っていますか?

そういうと、

 

「そんなの何十万とか何百万とかするんでしょ!? そもそもスパコンとかじゃないとできないのでは?」

 

と思う人もいるかもしれません。

電波などを対象とした電磁界シミュレーションとかになると実際その通りです。

普通に数百万円のソフトウェアをメモリ数十GB載せた高いワークステーション上で実行します。

 

しかし、電波ではなく単純に「回路のシミュレーション」ならそんなに大したことはありません。

普通のPCで実行できますし、しかも無料の物があります。

 

リニアテクノロジーが提供している

LTSpice

 

これを検索してDLして、簡単講座も探して試せば一発です。

(あなたが会社員なら商社が無料で会社に使い方を説明しに来てくれます。個人なら普通にネットで講座を探せばOK)

 

注意点として登録されているIC類が全てリニアテクノロジー製のものしか無いこと。

ですが、インダクタ・コンデンサ・スイッチ・トランジスタなどを使用したアナログ回路のシミュレーションではそんなこと関係ありません。

 

ということで一度触ってみることをおすすめします!

 

以上、小田切でした。

電子部品の納期について

電子部品を手配する場合、一体どれくらいかかるでしょうか。

じつは「一般的に」というのがありません。

めちゃくちゃ幅があるのが現実です。

 

まず、「正規代理店の商社を介した正規ルート」と「市場ルート」の二つがあります。

 

◯市場ルート

「市場」は要は「秋月」「チップワン」「RS」「Digikey」などの通販サイトなどです。

こう言ったサイトは在庫があれば最短で翌日配達されますし、在庫が海外にあっても1-2週で配達されることがほとんどです。

つまり、滅茶苦茶早いです。

ただし「商社」を介していないので、正規ルートではありません。

買った後のサポートがありません。

トラブルが合った時にそのトラブルについてメーカに問い合わせをする経路がありません。

なので、基本的にサポートが重要になる量産品では使いません。

試作品など、台数が限定的でとにかく早く作りたい場合のみ、市場ルートを使用します。

 

◯正規代理店の商社を介した正規ルート

こちらが本流です。

なにかがあった時に商社を介してサポートが期待できます。

なので、量産ではこちらのルートで調達した部品のみ使います。

(まぁ、何事も例外はありますが)

ただし、納期は相当に長いです。

短めの部品で1.5ヶ月はかかります。

本当に納期が長い部品(特にCPUなど)は半年もザラです。

このご時世、部品調達が半年もかかったらその間に商品が時代遅れになりかねません。

開発する時には結構この調達期間が問題になります。

(まぁ、だいたいどうにもならんのですよ……)

 

ということで、電子部品の納期は1日から半年以上と物凄く幅があるのが実際のところです。

 

以上、小田切でした。