USB-シリアル変換ICを題材に半導体チップのニセモノについて考えてみた

マイコンなどをPCにUSB経由でつなぐときに、USB-シリアル変換という機能のICチップがよく使われます。USB-シリアル変換のICには、よく使われる製品がいくつかあるのですが、その中に、比較的安価なものとして、Prolificという台湾の会社の製品でPL2303というものがあります。

PL2303 (HX Revision A)の純正品

この製品について、メーカーから「ニセモノに注意」という案内が出ています。どうもメーカーでもニセモノ対策を打っていて、ニセモノでは動作しないようにしているドライバを配布していて、チェックツールも配布している、ということのようです。その話を聞いて、ニセモノはホンモノとどう違うんだろう、どうしてニセモノを作ろうとするんだろう、ということに興味を持ち、いろいろと調べることにしました。

まずニセモノの入手からですが、知人から「純正ドライバで動かないニセモノがある」という情報をいただきまして、その方からそのニセモノを譲ってもらいました。

明らかに怪しいマーキングのPL2303のニセモノ

たしかにホンモノとは明らかに違う、なんだかとっても安っぽいマーキングで、確かにPCにつなぐと動作しない(デバイスマネージャで「?」のままでCOMポートとして認識されない)ようです。ホンモノのPL2303には、AからDまでの4種類のリビジョン(更新版)があって、外付け部品の有無など少しずつ機能が違うのですが、この怪しいニセモノが載っていたボードの外付け部品から判断するに、どうもRevision C (PL2303HXC)かRevision D (PL2303HXD)に似せた部品のようです。

そこで、Rev.CとRev.Dのホンモノを入手して、チップを比べてみることにしました。ICの中にある半導体チップは、ふだんなかなか見る機会はないのですが、少々荒っぽい方法ではありますが、どこのご家庭にもある道具を使って、チップを取り出すことができます。この方法で、ニセモノとホンモノ(Rev.C)のチップを取り出して比べてみます。

取り出した、ホンモノRev.C(左)と、ニセモノ(右)のチップ

ぱっと見でわかるほど、明らかに違うチップです。もう少し内部を詳しく見ていきます。

純正のPL2303 (Rev.C)。チップサイズは1.6×2.2mm

純正Rev.Cのほうは、左上に渦巻きがあって、インダクタのようです。

Rev.Cのインダクタの脇の拡大図

インダクタの脇を拡大すると、”MOBIUS MICRO”の文字があります。いろいろなガジェットを(ガチで)分解している鈴木さんから、IDTという半導体メーカに2010年に買収された発振器の会社の名前ではないか、という情報をいただきました。たしかにPL2303 Rev.Cは基準クロックの発振回路が内蔵されていて、水晶振動子を外付け不要なので、まさにその回路っぽいです。

ニセモノ。チップサイズは2.0×2.3mmと、Rev.Cよりやや大きい

ニセモノのほうは、インダクタはみあたりません。

ニセモノのチップ上のアナログ回路っぽいところ。クロック発振回路か?

ニセモノのほうを見渡してみると、いくつかアナログ回路っぽいところがあります。電源回路(LDO)もあるのですが、これがクロック発振回路でしょうか。MEMS発振回路か、RC発振回路か、と思われるのですが、断定までは至りませんでした。


ニセモノの論理回路と思われる領域(中央付近の階段状の領域)

さて、この2つのチップを見ていて、気づいたことがあります。USB-シリアル変換の機能のコアはディジタル回路なので、論理回路のかたまりです。両者ともに、論理回路部と思われる領域はあるのですが、いずれも、HDL記述から論理合成、配置配線を経て設計されたもの、と思われます。しかも明らかにレイアウトが異なるので、このニセモノは、純正品をリバースエンジニアリングして創られたコピー品ではなさそうです。ということは、もとになるHDLソースがあるはずで、ニセモノの方は、それをどうやって得たのだろう?という疑問がわきます。まさかOpenCoresなどでオープンソースで流通しているとはない思えませんし、ゼロから設計するにしても、検証まで含めればかなりの工数がかかります。もともとそれほど高価なチップではないので、チップあたりの利益はそれほど大きいとは思えないのですが、それでもこうしてニセモノを設計、製造して販売しているということは、商売的にも勝算があってのことでしょうから、そのあたりの見積もりは興味がわきます。もしかしたら、HDLソースが、GonKaiの設計図のように流通してる世界線があるのでしょうか。

ついでに、いつもの方法で、両者の設計ルールを調べてみました。


両者の設計ルールを計測してみた

意外にも、純正Rev.Cが1um、ニセモノが0.8umと、ニセモノの方が少し細かい製造プロセスのようです。ただ顕微鏡で見ているのは最上位層のメタル配線なので、そこは下層よりも少し配線の幅が広いルールも多いので、両者ともに0.8um、ということかもしれません。チップサイズは純正Rev.Cの方が小さいです。

ロジック部と思われるところの面積を求めてみたところ、ニセモノがチップ全体の30.4%で1.39mm2、Rev.Cが18.3%で0.64mm2と、ニセモノは純正Rev.Cの2倍近くあります。機能は(ほぼ)同じはずなので、HDLの質がいいのか、論理合成・配置配線ツールが優秀なのかはわかりません。

純正 Rev.Dのチップ写真

ちなみに最新の純正PL2303HXD(Rev.D)のチップも見てみましたが、純正Rev.Cとそっくりで、ぱっと見でわかる違いは見つけられませんでした。

さて、これでニセモノの解析も一段落・・・と思っていたら、別の怪しいPL2303(自称)を見つけました。


AliExpressで売っている、アヤシイPL2303(自称)ボード

商品紹介写真に写っているPL2303と思われるICに、マーキングがありません。しかも価格が、とんでもなく安価(約45円)です。ちなみにボードには水晶振動子が載っていますので、Prolific社の製品情報によれば、マーキングのないPL2303(自称)は、Rev.AかRev.Bと思われます。(Rev.CとRev.Dは内蔵発振回路が入っているので水晶振動子は不要)

これはアヤシイ・・・と、早速購入し、基板からICを取り外して、チップをみてみます。


Prolificのチェックツールの結果。まさかの「純正Rev.A」の判定

その前に、このボードをPCに接続して純正チェックツールで調べてみると、まさかの「純正Rev.A」の判定でした。もしかして純正品で、型落ちなので投げ売りされているだけなのでしょうか。


マーキングなしRev.A(自称)のチップ写真。チップサイズは1.85✕2.6mm

マーキングなしRev.A(自称)のチップは、Rev.Cにあったインダクタはみあたりませんが、これは内蔵発振回路がないので順当です。

続いて、これの設計ルールを計測してみると、純正Rev.Cや先のニセモノと同じ0.8umのようです。


純正Rev.A (PL2303HXA)

比較として、純正Rev.Aを入手してみました。すでに製造中止なのですが、aitendoを始め、いくつかで在庫がありました。


純正Rev.Aのチップ写真。チップサイズは1.5✕2.5mm

明らかに、先ほどのマーキングなしRev.A(自称)とは違うレイアウトです。


純正Rev.Aの設計ルール計測

同様に設計ルールを計測してみると、約0.7umとなりました。この数値はあまり聞かないテクノロジノードなのと、後継のRev.Cが0 8umなので、それより細い0.6umとは考えにくいことから、0.8umが正しい値ではないかと思われます。

このように、新種のニセモノ(Rev.A)が見つかりました。これも、先のニセモノと同じく、設計にはそれなりの工数がかかるはずなのですが、それでもビジネスとして成り立つようで、そのあたりの詳細な分析を、ぜひしてみたいところです。


AliExpressで売っている、激安PL2303(マーキングなし)ボードの一部

ちなみにAliExpressには、同じようなマーキングなしPL2303(自称)が載った激安USB-シリアル変換ボードがたくさん売っています。ほとんどが水晶振動子が載っているので、Rev.A(自称)と思われますが、これらが、すべて同じニセモノRev.A(自称)なのか、それともさらに新種のニセモノなのか、気になってしょうがありません。そこで商品紹介写真でマーキングなしPL2303が載っているのでボードを片っ端から15種類ほど購入してみました。これらの解析結果は、後日ご報告したいと思います。

(秋田)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です