なんちゃってFDDインタフェース

  • 投稿日:
  • 更新日:2015/03/09
  • by
  • カテゴリ:

SDカードをFDD互換にするには、ソフトウェアでのエミュレーションもさることながら、ハードウェアの互換性も取る必要があります。

具体的には、ポート0xd0~0xd3をアクセス可能にします。 そのためには、現在の回路のアドレスデコードを変更する必要があります。 参考までに、以下が現在の回路図です。

20090503-2313.PNG

現在のアドレスデコードはCPLDで行っていますが、拡張するにはピン数が厳しいです。 回路が上記のようになっているためです。

利用している入出力は以下のとおりです。

  • アドレス(A15, A14, A7, A6, A5, A4)
  • PCデータバス(D7~D0)
  • AVRデータバス(D7~D0)
  • PC制御信号(MREQ, IORQ, RD, WR, RESET)
  • AVR制御信号(AVRWR, AVRRD, INT0, INT1)
  • メモリ制御信号(ROMEN, RAMEN)

合計33ピン。 PLCCパッケージのCPLDでは入出力ピン数が34本までしか取れません。

上 記ポートをサポートするには、最低でもA1, A0を入力し、AVRに対して識別信号を出さなければいけないので、3本追加となり、2本ピン数オーバーです。 CPLDを一つ追加すれば余裕でサポートでき、244の機能も包含できますが、回路的には複雑になります。 逆に、基本ロジックでデコードの一部を出すことでCPLD1個での実現も不可能ではないですが、デコードそのものが結構複雑なため、ICが2個程度追加さ れることになり、あまりうまみがありません。

回路の複雑さは基板設計の複雑さに跳ね返るので、なかなか微妙なところです。