2011-10-18 9 views
2

私は8237A-5 DMAコントローラの機能を学習しようとしています。私はそれについて読んできましたが、今ではソフトウェアのゲートレベルで設計を開始しました。 CSピンはアクティブローです。ここで高い信号が得られたら、何が起こるのですか?他のピンはすべて高Zになるのですか?信号が低くなったらどうなりますか?DMAコントローラが選択されるとどうなりますか?

+0

http://electronics.stackexchange.comを試してみませんか? –

+0

このプロジェクトをお寄せいただきありがとうございます! 8237はとてもクールなマシンです。私はあなたがdatasheetを見ましたか?データシートがあなたに何を伝えていないと思いますか? –

+0

データシートは、CSがハイまたはローのとき、CSを駆動するものと、ピンの状態を教えてくれません。 –

答えて

5

データ出力は、他のチップがデータバスを使用できるようにハイインピーダンスになります。バス上で発生する動作は無視されます。 CSピンでロー信号を受信すると、データシートに従ったバストランザクションが処理されます。次に、データバスからのデータをラッチし、またはリードサイクルまたはライトサイクルのためにデータバスにデータをラッチする。

通常のハードウェア設計では、CSピンはアドレスデコーダの出力によって駆動されます。アドレスがターゲットデバイスの範囲内にあることがわかると、アドレスデコーダはそのデバイスのチップセレクトピンをアクティブに駆動します。これにより、ターゲット・デバイスのみが各バス操作に応答します。

+0

CS信号を送信する信号はいつ送信されますか?同時にそれに送られる他の信号はありますか? –

+0

私は既にあなたの質問に答えるように更新したと思います。通常はアドレスデコーダが行います。通常、必要な信号はプロセッサ自体から発生しますが、他の信号が必要な場合もあります。 (例えば、プロセッサが 'リード・ライト'と '選択'信号を使用しているときに、チップが 'リード・セレクト'と 'ライト・セレクト'を必要とする場合、またはバスを多重化または逆多重化する必要がある場合、コントローラが使用するものにプロセッサが使用するもの) –

+0

したがって、特定のアドレス範囲では、DMAが自動的に選択されますか? –

関連する問題