ホストデバイスで、2つのピンを高ロジックレベル(電圧3.3V、5Vまたは12V-重要ではない)で駆動し、他の2つのピンが周辺デバイスによって高レベルに駆動されるのを待つ単純なプロジェクトがあります。
このようなホストデバイスを標準のPCで実装できますか?また、どのハードウェア(組み込みまたは追加)を使用する必要がありますか?
ホストデバイスで、2つのピンを高ロジックレベル(電圧3.3V、5Vまたは12V-重要ではない)で駆動し、他の2つのピンが周辺デバイスによって高レベルに駆動されるのを待つ単純なプロジェクトがあります。
このようなホストデバイスを標準のPCで実装できますか?また、どのハードウェア(組み込みまたは追加)を使用する必要がありますか?
回答:
PCに何をしてほしいのか、デバイスが何をするのか(「ホストデバイス」は意味がありません)は明確ではありませんが、PCからの基本的なデジタルI / Oが必要なようです。
PCは、実際には外部デバイスへの直接デジタルI / O用に設計されていません。しかし、USBを介してPCに接続するデジタルI / Oモジュールを購入すると、個々のデジタル信号の読み取りと書き込みが可能になります。マイクロコントローラーにCOMポート経由でPCと通信させることにより、これを最も簡単に自分で行うことができます。
しかし、これが本当に単純な制御問題である場合、なぜPCが必要なのでしょうか。小さなマイクロコントローラーにタスク全体を実行させます。それがまさにmicronctrollersの目的です。これらは、外部ハードウェアに直接接続することを目的とした、デジタルおよびその他のI / Oラインを備えた小型コンピューターです。
それでも見つけることができる場合は、真のパラレルポートが市販のPCで見つかるのと同じくらいGPIOに近いことを言及する価値があります。従来の実装では、ピンの多くが方向が固定されていたり、一部が逆になっているという点で柔軟性に欠けていますが、人々は何年にもわたってその問題に取り組んできました。
より大きな制限は、そのようなポートが絶滅しつつあることです。USBパラレルコンバーターなどのより抽象的な置換は、通常、実際のプリンターを制御するためにのみ使用でき、ピンの状態を設定または監視するために直接読み書きできるレジスターがありません。この機能を備えたものがあると噂されていますが、見つけるのが難しく、ドライバーに細心の注意を払う必要があります。
その時点で、USB接続のI / Oデバイスを使用する方がより実用的になる傾向があります。多くの場合、これは、製造元またはカスタムからの単純なファームウェアを実行するマイクロコントローラーです。
カスタム実装の主な利点の1つは、I / O操作の最も低いレベル、最も反復的なタイミングの重要な部分をデバイスのプロセッサにオフロードできることです。 USBパケット化、複数バスのトラバース、およびマルチタスクオペレーティングシステムは、ビットごとの操作を非常に遅くする傾向があります。
ソリューションがどのような形を取るかをまだ正確に理解していない場合、1つの可能性は、使いやすさのためにハードウェアとツールチェーンの両方の意味でパッケージ化されたArduinoのようなものを取得することです。接続されたPCからのコマンドの下で低レベルのタスクを実行するI / Oヘルパーとして。
ビットバンモードを有効にする特別なドライバーを使用してFTDI FT232RLを使用することをお勧めします。この方法は事実上すべてのPCで機能し、シンプルなGPIOへのまともな遅延アクセスを可能にします。
そこには多くのFTDIチップブレイクアウトボードがありますが、私はこれを個人的に使用しています。