0

STM32F43XX に外部 SRAM があり、それを使用できます。メモリ領域にアクセスしてテストできます (memtest)。

ただし、FMC の設定が正しいかどうかはわかりません。SRAM のデータシートと STM32F4 FMC インターフェースの関係を理解するのは難しいです。

SRAM CY7C1051DV33でSTM32F4XX リファレンス マニュアルを使用します。

タイミングから始めましょう (参照ページ 1591、表 256 | SRAM データシート 6 ページ):

  • アドレス設定 <------- アドレス設定~書き込み終了?
  • アドレスホールド <------- アドレス変化によるデータホールド?
  • データ設定 <------- データ設定~書き込み終了?
  • バスターン <-------- ?
  • クロック分周比 <-------- ?
  • データ遅延 <----------- ?
  • アクセスモード <------------- ?

頻度?SRAM のクロック分周比で除算された HCLK によって定義されますか? したがって、HCLK が 100 MHz でクロック分周が 2 の場合、50 Mhz (20 ns) になります。したがって、私の STM32F4 レイテンシは常に SRAM のレイテンシ (最大 10 ns) よりも大きくなります。では、許容される最小値で問題ないのはどこでしょうか?

よろしくお願いします。

ちなみに私のNORRAM INITは次のようになります。

init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE;
init.MemoryType = FMC_MEMORY_TYPE_SRAM;
init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16;
init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE;
init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW;
init.WrapMode = FMC_WRAP_MODE_DISABLE;
init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS;
init.WriteOperation = FMC_WRITE_OPERATION_ENABLE;
init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE;
init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE;
init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE;
init.WriteBurst = FMC_WRITE_BURST_DISABLE;
init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ASYNC;
4

1 に答える 1

1

アドレス セットアップはアドレス バス上にあります。RAMがアドレスが安定した(変更されなくなった)こと、および/または前のクロックから表示されるまでの時間。hold は、クロックが安定してからの時間です。

データセットアップは、クロックがデータ安定になるまでの時間です。

RAM とマイクロコントローラーのデータシートには、タイミング図が必要です。選択したクロック速度について、タイミングを満たしていますか、および/またはタイミングを満たすためにいくつかのパラメーターを設定する必要がありますか?

于 2016-03-04T20:05:18.833 に答える