海外半導体メーカの部品を使う際は、英語版データシートで最終確認するようにしましょう。日本語版データシートはあくまでも【参考資料】です。
日本語版データシートだけを読んで設計するとどんな事があるのでしょうか?
私が日本語版しか読んでないかった為に経験した失敗事例と、問題箇所の発見までにやったことを詳細に記載しました。試作が正しく動かない開発者の参考になればと思います。
日本語データシートは参考資料
日本語データシートは参考資料です。
資料のどこかに【これは参考資料】という但し書きがあるはずです。
こんな事書いてあるけど間違ってるわけないでしょ、と思ってしまいがちですが、全然そんな事無いです。結構普通に誤植しています。
仮に誤植が無かったとしても、日本語版は一度翻訳されたらそのままで、後に英語版が改版されても反映されないことが多いです。改版前の古い電気的特性を参照して設計することになってしまいます。
”日本語版データシートを読んではいけない”とまでは言いませんが、最終確認は必ず英語版最新データシートで行うようにしましょう。
私の失敗事例
それでは、私が経験した失敗事例を紹介します。
その時、私は日本語版データシートのみを確認して設計を進めた為に回路設計ミスをしてしまい、その後のソフト開発工程において多大な工数を浪費してしまいました。
失敗内容
問題のデータシートでは、英語版と日本語版で下のような差異がありました。
ここまで拡大しても油断してると見落としてしまいそうですが、19/20ピンのSCL/SDAが逆になっています。
その時の私は日本語版データシートしか確認していなかったので、気が付く訳もありません。ピン割り付けが逆のまま、試作の製造を行ってしまいました。
このミスの厄介な点
このようなデータシートの違いによる設計ミスの最大の問題点は、とにかく見つけ難いという事につきます。
データシートは回路設計の拠りどころなので、通常はその記載を疑うという事はありません。最悪の場合、解明できないまま迷宮入りしてしまうかもしれません。
参考までに、次の項で私がこのミスに気付いたまでの調査手順/流れを説明します。設計した基板が正しく動かずに困っている方のヒントになればと思います。
ミス発見までの調査手順
最初の認識はプログラムのバグ
初めて使うマイコン + デバイス制御ファームウェアを自作していたので、”そりゃ一発で動かないよね” という感じでした。
半田付け不良やデバイスの破損もあり得るし、ハード設計ミスかもしれませんが、まあ通常はプログラムのバグと考える状況かと思います。
オシロで波形確認
とりあえず、まずはオシロでSCL/SDA(I2C)の波形測定をしました。
結果として、波形形状/周波数/デバイスアドレスの指定など、データシートと見比べても問題無さそうでした。ただ、デバイスからAckが返って来ていません。
この段階で、マイコン側のハードウェアは問題無し、半田付けなどの製造不良も無いと判断しました。残る不安はデバイスの破損か、回路設計ミス、もしくはデータシートを誤解して問題無いと判断していることになります。
別の基板で確認してみる
試作基板は数台作ってあるので、別の基板2,3台でオシロで波形確認してみました。結果は最初の基板と同じ症状でした。
これで、デバイス破損の可能性は無くなりました。作った試作品のすべてが同じ壊れ方している可能性もゼロでは無いですが、普通の確率では無いです。私は遭遇したこと無いです。
残る不安はデバイスの破損か、もしくはデータシートを誤解して問題無いと判断していることになります。
データシートを再チェック
ここで改めてデータシートを確認して、回路設計を見直しました。しかし、おかしなところはありません。I2C通信仕様の項目もチェックしましたが、プログラムにも問題はありませんでした。(まだ日本語版で確認していましたからね。)
ここで、結構行き詰まりを感じました。
デバイスの評価ボードで動作確認
何が悪いのか判らなくなってきたので、デバイスの評価ボードを入手して現状のプログラムで動作確認してみました。結果として、問題無く動作することが確認できました。
ここで、何かしらの回路設計ミスがあるのだろうと検討がつきました。
評価ボードと試作の回路図を比較
評価ボードの回路図が問題無い事は確実なので、評価ボードと試作の回路図を詳細に比較しました。
ここでようやく、19/20ピンのSCL/SDAが逆になっていることに気が付きました。
まさかと思って英語版データシートを確認したらようやく根本原因に到達しました。英語版と日本語版データシートに差異があったのです。ここまで、3日ほどかかりました。
まとめ
海外半導体メーカのデータシートは、英語版が正式資料。日本語版はあくまでも【参考資料】です。
日本語版データシートの落とし穴にはまると、抜け出すのも大変です。信じ切っているものに裏切られるわけですからね。日本語版データシートで設計している方で、原因不明の不良で困っているならば、念のため英語版データシートを確認してみてはいかがでしょうか。
その他のハード設計トラブル
ここで紹介したトラブル以外にも、私の経験したハード設計トラブルを紹介した記事があります。
これらの記事も、今後のハード設計に生かしてもらえたらうれしいです。
コメント