こちらをクリックして、このプロジェクトを閲覧するためのビューア埋め込みにジャンプします。
私が取り組んでいる製品群には、RS-232またはUART経由でのブートと設定が必要なものがあり、プロトタイプを私のラップトップに接続してブートすることを好みます。しかし、そのインターフェースにアクセスするためには、COMポートを介してデータを送受信する必要があります。残念ながら、私のラップトップにはUSBポートしかないので、USBポートとUARTインターフェースの間を変換する必要があります。通常、オンラインで購入できる小型のインターフェースコンバーターモジュールを使用しています。
オンラインで見つけたコンバーターは品質がかなり低く、衝撃や過電圧で簡単に壊れてしまう傾向があります。過電圧保護を提供するために、USB 2.0ライン用の人気インターフェースコンバーターコンポーネントであるCP2102を使用して、USBからUARTブリッジを設計する方法を紹介します。このプロジェクトの完全なチュートリアルは、以下のビデオでご覧いただけます。
プロトタイプに直接これらの回路の一つを配置し、USBケーブルでプロトタイプのUARTインターフェースにアクセスするのはなぜかと疑問に思うかもしれません。これは妥当な質問です。これには2つの理由があります:
そういうわけで、CP2102 USBからUARTコンバーターの小さなモジュールに取り組みましょう。
Silicon LabsのCP2102は、USBとUARTインターフェースを橋渡しするコンパクトなインターフェースコンバーターモジュールです。USBに接続する必要があるシステムにこのコンポーネントを好んで使用しています。なぜなら、チップに対応した既製のドライバーがあり、ターミナルアプリケーション(私はTeraTermを使用しています)を介してCOMポート経由でアクセスできるからです。このチップは、AmazonやAlibabaで見つかるUSBからシリアルへのコンバーターに使用されている多くのチップの一つです。
CP2102はQFN-28パッケージで提供され、いくつかの便利な機能が含まれています:
また、プロセッサ(例えばマイクロコントローラー)と同じボード上で使用される場合に指示器または制御ピンとして機能するオプションのピンバンクもあります。これらのピンはGPIOによって制御することができます。このモジュールにはこれらが必要ありません。なぜなら、このモジュールは任意のマイクロコントローラーから独立して動作するからです。
このプロジェクトの設計目標はシンプルです:設計はUARTデータ、電源、およびグラウンドをピンヘッダーに出力します。設計は標準のUSBポートバンクに収まる必要があります。最後に、CP2102およびホストデバイスに最大限の過電圧保護を提供するために、任意のデータラインおよび+5Vバスラインに追加の過電圧保護を追加するつもりです。
まず、CP2102のアプリケーション回路を簡単に見てみましょう(データシートの15ページ)。
回路図は一般的に、以下で議論されるいくつかの追加を伴って、このアプリケーション回路に従います。私たちはこのモジュールを他のデジタルコンポーネントなしでボード上でのみ使用しているため、アプリケーション図に指定されているディスクリートキャパシタ以外の追加のパワーバス容量について心配する必要はありません。このコンポーネントと類似のコンポーネントを使用する他のモジュールを見てみると、同じタイプと数のキャパシタが使用されていることがわかります。
このアプリケーション図では、USBライン上のTVSダイオードの配置についての典型的な推奨が示されています。推奨される部品はLittlefuse SP0503BAHTまたは同等品です。初めに、このコンポーネントには0402の一方向TVSダイオードを配置しました。以下で説明するように、これは当面のプレースホルダーに過ぎず、最終組み立てで交換されます。
今回の反復では、外部トランシーバ回路やリセットピンは使用しません。代わりに、画面の左側にある回路のみを使用します。また、UART RxおよびTxラインにTVSダイオードを追加します。このラインで予想される最大電圧レベルはVDD - 0.8 Vです。最大VDD = 3.6 Vの場合、最大UARTライン電圧は2.4 Vになります。
UARTラインに可能な限り最大の保護を提供するために、より小さいブレークダウン閾値を持つTVSダイオードを配置することができます。推奨されるTVSダイオードは5.5 Vまでしか保護しないため、CP2102のI/Oに対する過電圧定格のすぐ下です。より小さいTVSダイオードを使用するリスクは、より低いクランプ電圧を持ち、より高い電圧のESDパルスに耐えられない可能性があることです。
最終化された回路図を以下に示します。このデバイスはシンプルで、基本的にアプリケーション回路に従っています。USBコネクタ(VBUSネット)からモジュールに入る+5Vの電源を使用し、これをCP2102のレギュレータ入力に渡すアプローチを取りました。+5Vの電源と出力の+3V3の電源はどちらもピンヘッダーでアクセス可能で、USB 2.0標準の電力制限内で外部デバイスを駆動するために使用できます。
PCBレイアウトは2層で構築され、すべてのコンポーネントはトップレイヤーに配置されます。PCBレイアウトは十分に小さいため、USBラインの高速ルーティングは必ずしも必要ありませんが、このタイプのボードでどのように実装できるかを示す簡単な例としてここで実装します。このボードはシンプルなので、4層に配置する必要はなく、USBルーティング要件は共面差動ルーティングで満たすことができます。
初期配置は2つのセクションで説明されています。USBコネクタとUSBライン用のTVSダイオードは基板の左側に配置され、ピンヘッダーとダイオードD4およびD5は基板の右側に配置されます。PCBレイアウトの左側の配置は下記の通りです。
ピンヘッダー側の初期配置は下記の通りです。モジュールが低プロファイルになるように、基板の端からはみ出すように右角のピンヘッダーを使用しました。これにより、標準のフライングリードまたは100ミルピッチのケーブルを使用して他の基板に接続できます。初期には、+5 Vの電源(VBUSネット)が上側からピンヘッダーに入るように設定されていましたが、後にルーティングを簡素化するために下側に変更されました。
基板の両端に配置するのは簡単で、ここでの主要なポイントは、キャップ(C1-C4)をそれぞれの電源ピンに近づけておくことです。D4とD5の配置はU1とP1の間になりますが、ルーティングを開始してからこれらを配置することにします。そうすることで、近くのルーティングが乱雑にならないように確認できます。この配置により、USBルーティングはコネクタ(J1)に直接進むことができます。次のポイントは、この2層基板上でのUSBトレースの幅と間隔を計算することです。
コスト削減を基に、基板は標準厚さの62ミルに設定されるべきです。裏面はグラウンドプアとなり、表面は差動ペアのために共面ルーティングを使用します。L1の残りは銅プアとなります。スタックアップでデフォルトのDk設定4.8を使用しましたが、これは私が選んだ製造業者の2層PCBの標準値に非常に近いです。インピーダンス設定は以下の通りです。
ここでは、ペア間の間隔とL1の銅プールまでの距離を利用して、目標値に差動インピーダンスを設定しています。幅の値は、CP2102のパッドのサイズに基づいて設定されました。なぜなら、U1のフットプリントへのルーティングをネックダウンしたくないからです。これらの設定を使用して、差動ペアをコネクタにルーティングし、レイアウトを完成させることができます。
最終的なPCBレイアウトは下に示されています。モジュールを小型化したい場合は、ここに余分な長さがあり、削除できます。測定ツール(Ctrl + M)を使用するだけで、ボードの右半分のコンポーネントをUSBコネクタに近づけることで、約400-500ミルの長さをカットできると推定します。
現在、このモジュールのサイズは、オンラインで購入できる他のモジュールと似ているため、上記の点は重要ではありません。このプロジェクトには、他に3つの改善点が実装される可能性があります:
これらのバッチを生産にかけ、ボードが正しく動作するかを検証するためにいくつかのテストを行います。別のビデオとブログで概説するように、組み立てでダイオードをTPD1E10B06DPYRに置き換える可能性が高いです。これらの代替ダイオードは双方向の保護を提供し、SP0503BAHTの仕様により近いからです。
このリンクに従ってプロジェクトソースファイルのZIPアーカイブをダウンロードしてください。上記の埋め込みでダウンロードリンクを使用して、ソースファイルにアクセスすることもできます。
小規模なモジュールを迅速に作成し、製造の準備をする必要がある場合は、Altium Designer®の2Dおよび3D CADツールを使用してください。デザインが完成し、製造業者にファイルをリリースしたい場合、Altium 365™プラットフォームを使えば、プロジェクトの共有やコラボレーションが簡単になります。
私たちはAltium 365でAltium Designerで可能なことの表面を引っ掻いただけです。 Altium Designer + Altium 365 の無料トライアルを今すぐ開始します。