無線電子工学および電気工学の百科事典 マイクロコントローラ上のUSB-COM-LPTコンバータ この記事では、LPTインターフェースを備えた周辺機器を、USBインターフェースしかないコンピューターに接続できるようにする簡単なコンバーターについて説明しています。 変換は 232 段階で実行されます。特殊なマイクロ回路が USB を COM (RS-XNUMX) に変換し、次にマイクロコントローラが COM を LPT に変換します。 この場合、コンピューターは仮想 COM ポートを介して情報を交換するため、この機能を念頭に置いて開発または変更されたプログラムのみが、提案されたコンバーターを介して外部 LPT デバイスと対話できます。 それ以外の場合は、まだ開発されていないオペレーティング システムに特別なソフトウェア ドライバーを接続する必要があります。 かつて、多くの電子機器やパソコンのLPTポートに接続する機器が開発・製造されました。 それらは今日でも存在しています。 同時に、コンピューターのLPTポート(ちなみにCOMポートも)が徐々にUSBインターフェースに取って代わりつつあります。 このプロセスは、ポータブル コンピュータ (ノートブック) では特に高速です。 しかし、そのコンパクトさと自律性により、LPTインターフェースを備えたものを含むさまざまな電子機器をセットアップするためのポータブルツールとしてそのようなコンピューターを使用することは非常に便利です。 コンピュータのLPTポートをなくすと、そのような機器での作業が困難になります。 この問題を解決するために、安価で手頃な価格の電子部品を使用し、独自のプログラムを開発するためのオープン アーキテクチャを備えたコンバータが提案されています。 その中にマイクロコントローラーが存在することで、必要に応じて、コンピューターとコンバーターを介して接続されたデバイスとの間の情報交換に必要なプロトコルを開発できます。 図はコンバータ回路を示しています。 X1 コネクタから USB インターフェイス経由で送信される情報は、CP2103-GM チップ [1] を使用して RS-232 シリアル インターフェイス形式に変換されます。 また、逆変換も実行します。 このマイクロ回路のRS-232インターフェースの制御線の出力は、情報交換の絶え間ない準備に対応するジャンパーによって接続されています。 TXD ピンと RXD ピンは、内蔵 UART マイクロコントローラ ATmega8515-8AC の情報入力と出力にそれぞれ接続されています [2]。 コネクタ X2 は、マイクロコントローラのインサーキット プログラミング用です。 ブートコードが表に示されているプログラムに従って動作するマイクロコントローラは、内蔵UARTの入力で受信したコンピュータコマンドを処理します。 それらを実行すると、その出力でLPTポートの出力信号を生成し、それらに接続されたXXNUMXコネクタの接点を生成し、このポートの入力信号を受信します。 プログラムはCodeVision開発環境でC言語で書かれています。 著者が開発し、マイクロコントローラ プログラムに埋め込まれた情報交換プロトコルに従って、コンピュータは 1 バイトまたは 0 バイトのコマンドをコンバータに送信する必要があります。 コマンドの最初のバイトの最下位ビットは、情報転送の方向を指定します。O - コンピュータからコンバータ (レコード) へ。 1 - 反対方向 (読み取り)。 次のビットは、アドレス空間を定義します。0 - LPT ポート レジスタ。 255 - マイクロコントローラの不揮発性データメモリ。 最初のバイトの上位 XNUMX ビットはまだ使用されていません。 コマンドの XNUMX 番目のバイトには、XNUMX ~ XNUMX の範囲のレジスタまたはメモリ ロケーションのアドレスが含まれます。 XNUMX 番目のバイトは、書き込みコマンドにのみ存在し、レジスタまたはメモリ セルに入力するためのコードを含んでいます。 XNUMX バイトの読み取りコマンドに応答して、コンバータは XNUMX バイト (要求されたレジスタまたはメモリ セルの内容) をコンピュータに送信します。 あらゆる方向への情報転送の開始者は常にコンピュータです。 マイクロコントローラの EEPROM から情報を読み書きする機能は、問題のアプリケーションには必要ありませんが、コンバータによって実行される機能の開発と改善に役立ちます。 たとえば、アドレス 0x01 にあるマイクロコントローラの EEPROM にバイト 0x5F を書き込むには、コンピュータは仮想 COM ポートを介して 0x03、0x01、0x5F の 0 バイトのシーケンスを送信する必要があります。 同じアドレスのデータを読み取るには、02x0、01xXNUMX の XNUMX バイトのコマンドで十分です。 これに応答して、コンバータは指定された EEPROM セルから読み取ったバイトを送信します。 ご存知のように、プログラマーの観点から見ると、通常の (EPP または ECP ではない) 動作モードの LPT ポートは、データ (DR)、ステータス (SR)、および制御 (CR) の XNUMX つのレジスタで構成されます。 DR レジスタのアドレスはポートのベース アドレスと同じで、SR レジスタと CR レジスタのアドレスはそれぞれ XNUMX 単位と XNUMX 単位大きくなります。 LPTポートのこの構造は、提案されたデバイスにも実装されています。 すべてのレジスタのビットの割り当ても完全に保存されます。 これにより、以前に作成されたコンピューター プログラムを処理して、説明したコンバーターと最小限のコストで動作させることができます。 このプログラムには、マイクロコントローラーのレジスターの名前と、変数やその他の操作の初期化に使用される数値のバイナリー値のエントリーを記述したヘッダー・ファイルが含まれています。 このプログラムは、115200 つの情報 (パリティなし) と XNUMX つのストップ ビットを使用して XNUMX ボーの速度で非同期モードで動作するように、マイクロコントローラーの UART を構成します。 コンピュータの仮想 COM ポートも同じ方法で構成する必要があります。 UART を介してバイトを受信 (UART_RXD) および送信 (UART_TXD) するためのルーチンと、LPT ポート レジスタおよび不揮発性メモリ セル (WR_EEPROM および RD_EEPROM) の RD_LPT を書き込み (WRLPT) および読み取るためのルーチンがあります。 LPT との互換性を最大限に高めるために、レジスタ マスク MaskSR および MaskCR が提供されています。 XXNUMX コネクタに接続されたマイクロコントローラのポート ラインに情報が出力されるか、これらのラインから情報が入力されると、SR レジスタと CR レジスタの特定のビットが、上記のマスクと XOR 論理演算 (排他的論理和) を使用して自動的に反転されます。 プログラムのソーステキストには詳細な解説が付いているので、難なく理解することができます。 コンバータを確実に動作させるには、コンピュータに仮想 COM ポート用のソフトウェア ドライバをインストールする必要があります。これにより、CP2103 マイクロ回路との情報交換が保証されます。 このドライバーは、これらのチップの製造元の Web サイト (silabs.com/public/documents/software_doc/drivers/Microcontrollers/linterface/en/CP210x_VCP_Win2K_XP_S2K3.exe) から無料で入手できます。 コンバーターをチェックするには、DOS や Windows9X/Me で通常行われていたように、COM ポートのレジスターに直接アクセスしない場合に、COM ポートを操作できるさまざまなテストおよびデバッグ プログラムを使用できます。 このような呼び出しは、オペレーティング システムによって提供されるポート関数 (CreateFile、Get-CommConfig、SetCommConfig、Read-Corn、WriteFile など) に置き換える必要があります。 コンバータの電源を入れると、HL3 LED が点灯します。 コマンドの最初のバイトを受信すると、コマンドは消去されます。 コマンドを完全に受信して実行すると、再び LED が点灯し、次のコマンドを受信できる状態になります。 このようなアルゴリズムは、コマンドの通過とコンバータの通常の動作を監視するのに便利です。 マイクロコントローラがフリーズした場合、プログラムは、そのような状況が発生したときにマイクロコントローラを再起動するウォッチドッグ タイマーを使用します。 これにより、強い干渉環境で動作している場合でも、インバーターの安定性が向上します。 マイコンプログラムのプロジェクトファイル一式をダウンロード可能 ここで. 文学
著者: O.Valpa、ミアス、チェリャビンスク地方。 出版物: radioradar.net 他の記事も見る セクション コンピューター. 読み書き 有用な この記事へのコメント. 科学技術の最新ニュース、新しい電子機器: タッチエミュレーション用人工皮革
15.04.2024 Petgugu グローバル猫砂
15.04.2024 思いやりのある男性の魅力
14.04.2024
その他の興味深いニュース: ▪ Marvell 88EM8189 LED ドライバ IC ▪ 響きの壁
無料の技術ライブラリの興味深い資料: ▪ アマチュア無線デザイナー向けのサイトのセクション。 記事の選択 ▪ 記事 微生物が生存できる温度の上限は何度ですか? 詳細な回答 ▪ 記事 ワックスがけ機で作業します。 労働保護に関する標準的な指示 ▪ 記事 KR1182PM1 チップ上の電源レギュレータ。 無線エレクトロニクスと電気工学の百科事典 ▪ 記事 通信システムにおけるミリ波。 無線エレクトロニクスと電気工学の百科事典 このページのすべての言語 ホームページ | 図書館 | 物品 | サイトマップ | サイトレビュー www.diagram.com.ua |