こんにちは、M1の中川です。
鍋パをゼミ合宿以来、久々にしました。
自分はもつ鍋が食べたかったので思い切って今回はもつ鍋にしました。
九州ではシメに餃子の皮を入れるというのが一般的だと聞いて今回からそれも入れてみました。皮で具材を巻いて食べると水餃子みたいで美味しかったです。大好評でした。
いつものシメ、ラーメンも美味しかったです。小学校の給食を思い出しました。
隣の研究室の森田くんも来てくれました。
楽しんでもらえたので企画した自分としても良かったと思います。またやりましょう。
こんにちは、M1の中川です。
鍋パをゼミ合宿以来、久々にしました。
自分はもつ鍋が食べたかったので思い切って今回はもつ鍋にしました。
九州ではシメに餃子の皮を入れるというのが一般的だと聞いて今回からそれも入れてみました。皮で具材を巻いて食べると水餃子みたいで美味しかったです。大好評でした。
いつものシメ、ラーメンも美味しかったです。小学校の給食を思い出しました。
隣の研究室の森田くんも来てくれました。
楽しんでもらえたので企画した自分としても良かったと思います。またやりましょう。
マイコンなどをPCにUSB経由でつなぐときに、USB-シリアル変換という機能のICチップがよく使われます。USB-シリアル変換のICには、よく使われる製品がいくつかあるのですが、その中に、比較的安価なものとして、Prolificという台湾の会社の製品でPL2303というものがあります。
この製品について、メーカーから「ニセモノに注意」という案内が出ています。どうもメーカーでもニセモノ対策を打っていて、ニセモノでは動作しないようにしているドライバを配布していて、チェックツールも配布している、ということのようです。その話を聞いて、ニセモノはホンモノとどう違うんだろう、どうしてニセモノを作ろうとするんだろう、ということに興味を持ち、いろいろと調べることにしました。
まずニセモノの入手からですが、知人から「純正ドライバで動かないニセモノがある」という情報をいただきまして、その方からそのニセモノを譲ってもらいました。
たしかにホンモノとは明らかに違う、なんだかとっても安っぽいマーキングで、確かにPCにつなぐと動作しない(デバイスマネージャで「?」のままでCOMポートとして認識されない)ようです。ホンモノのPL2303には、AからDまでの4種類のリビジョン(更新版)があって、外付け部品の有無など少しずつ機能が違うのですが、この怪しいニセモノが載っていたボードの外付け部品から判断するに、どうもRevision C (PL2303HXC)かRevision D (PL2303HXD)に似せた部品のようです。
そこで、Rev.CとRev.Dのホンモノを入手して、チップを比べてみることにしました。ICの中にある半導体チップは、ふだんなかなか見る機会はないのですが、少々荒っぽい方法ではありますが、どこのご家庭にもある道具を使って、チップを取り出すことができます。この方法で、ニセモノとホンモノ(Rev.C)のチップを取り出して比べてみます。
ぱっと見でわかるほど、明らかに違うチップです。もう少し内部を詳しく見ていきます。
純正Rev.Cのほうは、左上に渦巻きがあって、インダクタのようです。
インダクタの脇を拡大すると、”MOBIUS MICRO”の文字があります。いろいろなガジェットを(ガチで)分解している鈴木さんから、IDTという半導体メーカに2010年に買収された発振器の会社の名前ではないか、という情報をいただきました。たしかにPL2303 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の質がいいのか、論理合成・配置配線ツールが優秀なのかはわかりません。
ちなみに最新の純正PL2303HXD(Rev.D)のチップも見てみましたが、純正Rev.Cとそっくりで、ぱっと見でわかる違いは見つけられませんでした。
さて、これでニセモノの解析も一段落・・・と思っていたら、別の怪しいPL2303(自称)を見つけました。
商品紹介写真に写っているPL2303と思われるICに、マーキングがありません。しかも価格が、とんでもなく安価(約45円)です。ちなみにボードには水晶振動子が載っていますので、Prolific社の製品情報によれば、マーキングのないPL2303(自称)は、Rev.AかRev.Bと思われます。(Rev.CとRev.Dは内蔵発振回路が入っているので水晶振動子は不要)
これはアヤシイ・・・と、早速購入し、基板からICを取り外して、チップをみてみます。
その前に、このボードをPCに接続して純正チェックツールで調べてみると、まさかの「純正Rev.A」の判定でした。もしかして純正品で、型落ちなので投げ売りされているだけなのでしょうか。
マーキングなしRev.A(自称)のチップは、Rev.Cにあったインダクタはみあたりませんが、これは内蔵発振回路がないので順当です。
続いて、これの設計ルールを計測してみると、純正Rev.Cや先のニセモノと同じ0.8umのようです。
比較として、純正Rev.Aを入手してみました。すでに製造中止なのですが、aitendoを始め、いくつかで在庫がありました。
明らかに、先ほどのマーキングなしRev.A(自称)とは違うレイアウトです。
同様に設計ルールを計測してみると、約0.7umとなりました。この数値はあまり聞かないテクノロジノードなのと、後継のRev.Cが0 8umなので、それより細い0.6umとは考えにくいことから、0.8umが正しい値ではないかと思われます。
このように、新種のニセモノ(Rev.A)が見つかりました。これも、先のニセモノと同じく、設計にはそれなりの工数がかかるはずなのですが、それでもビジネスとして成り立つようで、そのあたりの詳細な分析を、ぜひしてみたいところです。
ちなみにAliExpressには、同じようなマーキングなしPL2303(自称)が載った激安USB-シリアル変換ボードがたくさん売っています。ほとんどが水晶振動子が載っているので、Rev.A(自称)と思われますが、これらが、すべて同じニセモノRev.A(自称)なのか、それともさらに新種のニセモノなのか、気になってしょうがありません。そこで商品紹介写真でマーキングなしPL2303が載っているのでボードを片っ端から15種類ほど購入してみました。これらの解析結果は、後日ご報告したいと思います。
(秋田)