こんにちは、
私はカスタム NXP RT1176 ボードを使用していますが、SDRAM の SEMC インターフェースでは、ハードウェアはアドレス ライン A0 ~ A11 のみを提供します。この構成では、最大 16MB の SDRAM にアクセスできます。
ただし、32MB を使用したいSO、64MB SDRAM 部品 (Alliance AS4C32M16SB) を選択し、A12 アドレス ラインをフローティングのままにしました。私の意図は、デバイスの下位 32MB を使用することです。
私は SEMC を 64MB に設定し、メモリ範囲を 0x80000000 から 0x80FFFFFF にマッピングしました。この領域では、特定のアドレスで 16 ビットの読み取り/書き込み障害が発生しています。
興味深いことに、0x81000000 から 0x81FFFFFF (上位 32MB) までのメモリにアクセスすると、正常に動作します。
設定に使用したコードを添付しました。これをCAN確認して、改善が必要かどうか、またはこの種のセットアップ (A12 フローティングを使用) が有効であり、SEMC でサポートされているかどうかをお知らせください。
よろしくお願いします、
パバナクマールAG
A12 は SDRAM 側で低く保持する必要があります (製造元に確認することをお勧めします)。
BR、
オマール
@Omar_Anguiano さん、返信ありがとうございます。
当社のボードでは、A12 はコントローラ側と SDRAM 側の両方でフローティングになっています。おっしゃるとおり、A12 は既知のロジック レベルに保持される必要があります。以下を明確にしていただけますか:
このCASE、A12 にはどのロジック レベル (HIGH または LOW) を使用すればよいですか?
両側で A12 を同じ既知のレベルに駆動する必要がありますか、それとも SDRAM 側でのみ設定すれば十分ですか?
フローティングラインを避けてください。理想的には、A12 を浮いたままにせず、既知のロジック レベルに接続して下位半分にアクセスできるようにします。
BR、
オマール