どのマザーボードでもフロッピー ドライブ ピンを GPIO ピンとして使用できますか?

どのマザーボードでもフロッピー ドライブ ピンを GPIO ピンとして使用できますか?

最近、ラズベリーパイの機能をいくつか見ましたが、最も興味を引かれたのは GPIO (汎用入出力) ピンでした。それから、フロッピー ドライブ ピンが付いている古いマザーボードがあることに気付き、それを差し込んで起動し、Ubuntu をインストールしました。うまくいきました!

さて、私の質問は次のとおりです。

  1. フロッピードライブのピンを GPIO ピンとして使用できますか?
  2. そうでない場合は、どのピンを GPIO として使用できるのか、それともそのための手配は何もないのか教えてください。

答え1

一般的に、フロッピー ディスクの接続は GPIO ピンとして使用できません。フロッピーを駆動するチップの正確な仕様がわかれば、それを使って何かできる場合もありますが、決して簡単ではなく、動作が保証されているわけでもありません。したがって、答えはおそらく「いいえ」です。

お使いのマザーボードに GPIO ピンがあるかどうかは、当社では知ることができません。一部の Gigabyte マザーボードには GPIO ピンがあるようです。また、マザーボードが非常に古く、パラレル プリンター ポートがある場合、それが重要な選択肢になります。

直接制御したい場合は、GPIO-USB アダプターを使用するのが最善の選択肢のようです。これらは、約 15 ユーロまたは現地通貨の同等額で入手できるはずです。もう 1 つの選択肢は、Arduino を検討することです。もちろん、その価格で Pi zero W も入手できます。

答え2

古いマザーボード...Ubuntuをインストールしました

Ubuntu がそのまま実行されている場合、フロッピー コントローラはかなり「最新」である可能性があります。最近の Ubuntu は、非常に古い PC ではうまく動作しません。

フロッピードライブのピンを GPIO ピンとして使用できますか?

いくつか使ってみてください。フロッピーコネクタこれをデータシートと比較すると、出力ピンとして簡単に使用できるのはMotor A Enable、、、Motor B Enableおよびのみであることがわかります。Drive Select

また、すべてを使用できるとは限りません。私が所有する古いマザーボードの 1 つに搭載されている Super-I/O チップは、1 つのドライブ (したがって、1 つのモーター信号) しかサポートしていません。

残りは、フロッピー コントローラである複雑なステート マシンによって制御されます。適切なコマンドを送信することで、コントローラをだまして他のピンのいくつかを使用させることができるかもしれませんが、そのためにはフロッピー信号で何が起こっているかについての十分な知識が必要です。

したがって、まず、マザーボードに搭載されているフロッピー コントローラー (または Super-I/O チップ) を正確に調べて、マニュアルまたはデータシートを Google で検索する必要があります。

第二に、Linux はリアルタイム OS ではないため、タイミングが重要なときにピンを駆動するのは困難です。

3 番目に、最近の Linux では、「デバイスに値を入力するだけ」がますます困難になっており、単純なカーネル ドライバーを作成する必要があるかもしれません。

古いマザーボードにシリアル ポートまたはパラレル ポートもある場合: これらを GPIO として使用する方がはるかに簡単です。

また、他の回答に書かれているように、最も簡単な方法は、数ユーロを費やして GPIO USB デバイスを購入することです。そうすれば、すべてをいじる必要はありません (もちろん、いじること自体にも魅力はあります)。

関連情報