要約
USBは今や簡単に実装することができるようになりました。このアプリケーションノートでは、機器の設計者が、慣れ親しんだ、MAX3100 UARTのUARTフレームを使用して引き続きデータを送受信可能にすることで、設計者が容易にUSBを利用することができるようにしています。UART-USBコンバータICとオペレーティングシステムのドライバが、USBの複雑な部分のすべてを処理します。このアプリケーションノートでは、USB経由でMAX3100を使用してデータを送受信するために必要なすべてのソフトウェアとハードウェアについて説明します。
背景
UART (ユニバーサル非同期レシーバトランスミッタ)は、IBMの最初のPCマザーボードでIntelの8250 UARTが使用されて以来、シリアルポートの標準フレーマとなっています。数十年経った今も、確実で簡単なため、UARTは広く使用され続けています。
ユニバーサルシリアルバス(USB)は、より簡単で失敗もなく速いことから、PCにデバイスを接続する方法として標準シリアルポートに大きく取って代わっています。ただし、USBは、ユーザにとっては接続が簡単になりますが、設計者にとってはいくつかの課題が存在します。このため、多くの設計者は標準シリアルポートを備えたUARTを今も継続して使用していますが、簡単にUSBを実装することができる製品を待ち望んでいます。喜ばしいことにその日がやってきました。MAX3100とUART-USBコンバータを使用することによってUSBインタフェースを実現することが可能になりました。UARTフレーム設計者は、慣れ親しんだ、MAX3100 UARTのUARTフレームを操作するだけでよく、UART-USBコンバータICとオペレーティングシステムのドライバがUSBの複雑な部分を処理してくれます。
MAX3100は、明確にマイクロコントローラシステムを対象とした初のUARTです。SPI™/QSPI™互換インタフェースによって、MAX3100は、ほぼあらゆるマイクロコントローラで使用することができます。SPI/QSPIインタフェースは、オンチップのSPI/QSPI周辺機器あるいは4つのGPIOだけで簡単に実装することができるため、理想的なインタフェースとなっています。MAX3100は、最大4.2MHzのSPIデータレートをサポートし、そのUARTは最大230kBdのボーレートをサポートしています。
このアプリケーションノートでは、機器の設計者が、UARTの標準データフレームを使用して引き続きデータを送受信可能なようにすることで、設計者が容易にUSBを利用することができるようにしています。以下に記載した情報は、USB経由でMAX3100を使用してデータを送受信するために必要なすべてのソフトウェアとハードウェアについて説明しています。
UARTベースのUSB設計
図1に示すアプリケーションの回路は、MAX3100 UART、FT232BM UART-USBコンバータ、93C46シリアルEEPROM、およびPIC16F84マイクロコントローラで構成されています。PIC16F84には内部にUSBやUART周辺装置の機能が備わっていないため、MAX3100で、完全な外部UART周辺装置を構築しています。リスト1に示すプログラムは、SPI経由でPIC16F84とMAX3100の間をインタフェース接続しています。
画像の拡大
図1. MAX3100のアプリケーション回路図
リスト1は、SPI経由でPIC16F84をMAX3100にインタフェース接続するアセンブリプログラムの例です
アセンブリプログラムの例では、以下のメッセージを連続して送信しています。
「THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG」
MAX3100は、SPI経由でこのデータを受信し、UARTの標準フレームによる同一メッセージをFT232BMに対して230kBdで連続して送信します。FT232BMは、UARTフレームデータをUSB互換フォーマットに変換することで、PCがUSBの仮想COMポートを使用して簡単にデータを受信することができるようにしています。
アクティブなUSBシリアルケーブルを図1の回路に初めて接続するときは、USBの仮想COMポートドライバをPCにインストールする必要があります。回路全体はUSBポートから電力を供給されるため、電源をボードに追加する必要はありません。表1に挙げた圧縮ファイルをハードドライブにコピーしてください。この例では、Cドライブ上のサブディレクトリC:\3100appnoteに圧縮ファイルをコピーしています。仮想COMポートドライバを正常にインストールするには、下記の段階的な指示に従ってください。
以下の手順では、次のファイルのダウンロードが必要です。
表1. ハードドライブ上のサブディレクトリにR9012134.ZIPファイルを解凍Description | Filename |
Win98/2000 Virtual COM port driver | R9012134.ZIP |
ステップ1:アクティブなUSBシリアルケーブルにボードを接続すると、以下の画面が表示されます。Next > (次へ >)ボタンを押します。
ステップ2:2番目の画面が表示されたら、Next > (次へ >)ボタンを押して、デバイスに最適なドライバを検索します。
ステップ3:3番目の画面が表示されたら、Browse (参照)ボタンを押して、R9012134.ZIPファイルを解凍した位置をWindowsに通知します。たとえば、C:\3100appnoteを選択します。Next > (次へ >)ボタンを押して検索を開始します。
ステップ4:FTDIBUS.INFドライバファイルが見つかり、次の画面が表示されたら、Next > (次へ >)ボタンを押します。
ステップ5:最後の画面が表示されたら、Finish (終了)ボタンを押してインストール作業を終了します。
ステップ6:USBの仮想COMポートが正しくインストールされていることをDevice Manager (デバイスマネージャ)タブのポートのセクションを見て確認します(System Properties (システムプロパティ) Device Manager (デバイスマネージャ)のPorts (ポート))。
USB仮想COMポートのドライバがインストールされると、お気に入りの標準シリアルポートのPCアプリケーションはすべて、一般的なハードウェアCOMポートとは異なり、仮想COMポートを使用してUSB経由でデータを送受信することができるようになります。多くのハードウェアCOMポートは115kBdに制限されていますが、仮想COMポートはハードウェアCOMポートをソフトウェアでエミュレートするため、最大921kBdのボーレートをサポートしています。
この記事に関して
製品
製品カテゴリ
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}