市販製品でCH340Gを使用するのは恐ろしいアイデアですか?[閉まっている]


12

私はかなり少量(数百)で生産されるニッチ製品を開発しています。私はAtmega uCを使用していますが、要件の1つはユーザーがフィールドフラッシュ可能であることです。私の計画は、USB-to-UART ICでArduinoブートローダーを使用することです(怠lazですが、このボリュームではおそらく最良のオプションです)。

多くの選択肢があります。私の現在のプロトタイプボードはFTDI FT232RLを使用していますが、ボード全体の価格は約20ドルなので、生産するには高すぎます。

私が検討したICには以下が含まれます。

  • CH340G
    • 最も安いオプションですが、OSXの署名済みドライバーのステータスはどうですか?これが完全にプラグアンドプレイになるかどうかは判断できません。誰がこれのステータスを知っていますか?
  • CP2102
    • 堅牢で、署名されたドライバーなどの心配はありません。しかし、より高価です。
  • MCP2200
    • また、堅牢で、署名されたドライバーの心配もありません。CP2102と比較してこれを選択するにはどうすればよいですか?それらはほぼ同じ価格です。

署名されたドライバー以外に上記の選択肢を持つ他の「落とし穴」はありますか?ユーザーに無署名のドライバーのインストールを強制したり、再フラッシュ手順に潜在的に苦痛なプロセスを追加したりしたくはありませんが、ユーザーのフラッシュ可能性のためだけにBOMコストに2ドルを追加したくはありません。

一般的なガイダンス/アドバイスがあれば役立ちます。ありがとう。


3
ユーザーが実際に再フラッシュしたい場合に購入できる別のケーブルを提供していただけますか?または、製品の使用に再フラッシュが不可欠ですか?
DKNguyen

再フラッシュは多くの異なるシナリオで使用される可能性があるため、製品の使用に不可欠であり、異なるアプリケーションに対して将来的に顧客が完全に再構成可能でなければなりません。
-willem.hill

通常、1人の顧客が持っているデバイスは1つだけですか?顧客ごとに多くの決定がある場合、Chetan Bhargavaは良い選択肢かもしれません。プログラミングインターフェースをデバイス自体とは別にします。
jcaron

CH340を使用し、問題を解決するためにCP2104に切り替える必要があった製品の例:github.com/sqfmi/badgy#rev-2b
jcaron

より良い質問は、CH340チップを購入できますか?前回チェックしたとき、それを運ぶアメリカのサプライヤーはいませんでした。
クロスロード

回答:


26

ここでお勧めする最も簡単なオプションは、USBをネイティブでサポートし、USB DFU(デバイスファームウェアアップデート)ブートローダーでプログラムできるマイクロコントローラーを使用することです。そのようなマイクロコントローラーの一例は、Arduino Leonardoで見られるATmega32U4です。もう1つはST STM32F103です。これらのマイクロコントローラーが他のマイクロコントローラーよりも少し高い場合でも、コストの増加はおそらくディスクリートUSB UARTインターフェイスのコストよりも少ないでしょう。単一の部品を使用すると、デバイスの全体的なサイズと消費電力も削減されます。


16U2はArduino UnoおよびMegaで使用される一般的なオプションで、OS Xと互換性があります(古いバージョンでも)。
グリーンオンライン

1
@Greenonline先ほど触れた32U4と同じファミリーで、小さなバージョンです。
夕暮れ


2

一般的に、顧客にデバイスをフラッシュする機能を提供する場合、顧客にそれをブリックしないようにします。

したがって、提供する主な優先事項は、ホストデバイスへの堅牢で安全な接続です。私の経験では、すべてのチップは、あなたがターゲットにしていると思われる都市部や実験室の設定でかなりうまく機能します。

また、コンポーネントを正しく動作させるのに必要な時間も考慮してください。生産数は数百台で、それぞれに2ドルを追加します。その「損失」はあなたの(または開発者の)時間よりも価値があるのでしょうか?十分に文書化されたチップは、たとえそれがもっと高くても、実際にはより良い選択かもしれません。

CH340

はい、少なくともプラグアンドプレイが必要な場合は、本当に悪い考えです。Win 8.1の場合、ドライバーを手動でインストールする必要がありました(CH340SER.exe)当時)英語の翻訳がなかった(中国語)製造元のWebサイトからダウンロードありました。

これは中国で開催されましたが、これはセキュリティ志向の個人や組織的および/または政治的ルールに縛られている人々にとって問題になる可能性があります。また、多くの疑わしい「無料」ドライバーダウンロードサイトによる検索結果としても上位にランクされました。

これが深刻な機器である場合(「単なる」Arduinoとは対照的に)、それは私の眉毛を天井まで上げます。顧客がフラッシュ専用の機器を持っていない場合、手動インストールも非常に面倒な場合があります。

それ以外の場合、このチップは期待どおりに機能しました。

CP2102

言うまでもなく、箱から出して働いて、何の問題も持ち出しませんでした。たぶん、平均的なデザインには私の選択でしょう。

FTDI

私はこれをスタンドアロンのUSB-Serialコンバータボードに搭載しており、うまく機能しています。あなたが書いたように、それはかなり高価ですが、私はそれが荒い環境(例えば、コネクタの腐食したコンタクト、EMI)でより良い選択かもしれないと信じています。元の開発者をサポートしているので、温かいあいまいな気持ちになるかもしれません。

他のアイデア

ISP

@Chetan Bhargavaの回答によると、オプションはSPI用のコネクタを持ち、スタンドアロンUSB-シリアルコンバーターを使用することです。

これには、ISPが接続するための信頼性が高く安全なコネクタを使用する必要もあります。ここではピンヘッダーを使用して安上がりにすることができますが、それを正しく行いたい場合(および/または顧客を十分に信用しない場合))場合、このコネクタは追加のチップや標準のUSBコネクタよりも高価になる可能性があります。シリアル接続は、ユーザーが少なくともUSBデバイスが機能していないことを通知されるUSBとは対照的に、機能しない場合はデバッグが非常に困難です。

スタンドアロンコンバーターをボードにバンドルする場合、コンバーターボードの価格も支払う必要があります。これはチップを統合するよりも安くないと思います。これは、各顧客が多くのボードを所有しているためにコンバーターが再利用される場合、またはプログラマーを顧客側に獲得するためのコストを払うことができる場合に機能します。

このオプションが可能であれば、この時点で、Atmel独自のAVRISPもあります。これは、少し時代遅れではありますが、単純なUSB-to-Serialの代わりにここで良い選択です。最新のUSB-Serialコンバーターがメガビットの範囲に入る100または200 kbps程度で上限になると思います。しかし、(誤)使用に関しては非常に堅牢です。

別の良いオプションはTC2030コネクタです。動作するにはPCB上のパッドのみが必要ですが、ある程度の専門知識が必要です(プログラミングが終了するまでその場で保持する必要があります)。

通信インターフェース

最新のマイクロコントローラーには、他の多くの通信インターフェース(イーサネット、WiFi、Bluetooth)も付属しており、通常これらを使用してフラッシュできます。例としては、約6米ドルのコストがかかり、wifi接続に必要なすべてのコンポーネントを備えたSoCであるESP32があります。また、Arduino互換(IDEを使用することもできます)であり、WiFi OTAブートローダーを含む非常に徹底的なサンプルセットがあります。ブートローダーの初期展開にはISPのみが必要です。

あなたの質問にあるように-あなたのプロジェクトがほぼ終了した場合、これはおそらくもうオプションではありません。


-2

製品がフィールドプログラマブル/フラッシュここに画像の説明を入力してくださいケーブルであるためには、共通のヘッダーピン配列を使用します。Arduinoのピン配列はかなり一般的です。アップデートが毎週行われない場合は、USBからシリアルへのコンバーターを組み込む必要はありません。フィールド設定の場合、フィールドプログラミング能力よりもフィールドプログラミング機器のコストを増加させます


あまり頻繁にフラッシュする必要がない場合は、シリアルコンバーターを埋め込む必要はありません。

いくつかの一般的な(低コストの)USBシリアルコンバーターは、次のチップセットに基づいています。

FTDI-WindowsおよびLinuxドライバー、ただしドライバーはケーブルを
ブロックする可能性がある-CH340を避ける-WindowsおよびLinuxドライバー
PL2303-WindowsおよびLinuxドライバー

ドライバーは、WindowsおよびLinuxプラットフォームで簡単に利用できます。アップルのラップトップを買う余裕がないので、アップルについてはあまり言えません。

現場でプログラムする確率が50%未満の場合、USBシリアルをプロジェクトから除外します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.