GPIO_EMC_B2_18をFLEXSPI1_A_DQSとして設定し、クロック周波数を133 MHzに設定するにはどうすればいいですか?こんにちは、
i.MX RT1175のGPIO_EMC_B2_18をFLEXSPI1_A_DQSとして設定し、クロック周波数を133MHzに設定したい。
GPIO_EMC_B2_18起動時にFLEXSPI1_A_DQSに設定できないことは理解しています。
そのため、起動時に60MHzで動作させて、アプリケーション内で133MHzに変更しようとしていますが、うまくいきません。
私はevkbmimxrt1170_flexspi_nor_polling_transferプロジェクトを使用しており、`flexspi_nor_flash_ops.c`内の`flexspi_nor_flash_init()`の関連セクションを変更しました。
「`」
IOMUXC_SetPinMux(IOMUXC_GPIO_EMC_B2_18_FLEXSPI1_A_DQS, 1U);
IOMUXC_SetPinConfig(IOMUXC_GPIO_EMC_B2_18_FLEXSPI1_A_DQS, 0x0AU);
CLOCK_SetRootClockDiv(kCLOCK_Root_Flexspi1, 4);
CLOCK_SetRootClockMux(kCLOCK_Root_Flexspi1, 5);
config.rxSampleClock= kFLEXSPI_ReadSampleClkLoopbackFromDqsPad;
「`」
クロック周波数を133MHzに設定すると、システムがフリーズします。
「`」
CLOCK_SetRootClockDiv(kCLOCK_Root_Flexspi1, 5);
CLOCK_SetRootClockMux(kCLOCK_Root_Flexspi1, 5);
「`」
クロック周波数を105MHzに設定すると動作します。
GPIO_EMC_B2_18をFLEXSPI1_A_DQSに設定し、クロック周波数を133 MHzに設定するにはどうすればいいですか?
Re: How can I configure GPIO_EMC_B2_18 as FLEXSPI1_A_DQS and set the clock frequency to 133 MHz?こんにちは、@mayliu1 さん。
ご返信ありがとうございます。
セカンダリpingグループは100MHzでしか動作しないかもしれませんが、私はプライマリpingグループを使い、DQSだけをGPIO_EMC_B2_18に変更する予定です。理由は、USDHC2_CMD に GPIO_SD_B2_05 を使用しているためです。
ピン構成
FLEXSPI1_A_SS0_B GPIO_SD_B2_06
FLEXSPI1_A_SCLK GPIO_SD_B2_07
FLEXSPI1_A_DATA0 GPIO_SD_B2_08
FLEXSPI1_A_DATA1 GPIO_SD_B2_09
FLEXSPI1_A_DATA2 GPIO_SD_B2_10
FLEXSPI1_A_DATA3 GPIO_SD_B2_11
FLEXSPI1_A_DQS GPIO_SD_B2_05(ブーツ)
アプリケーションでは、FLEXSPI1_A_DQSのみがGPIO_EMC_B2_18に変更されます。
FLEXSPI1_A_DQS GPIO_EMC_B2_18
テストとして、EVKのクロック周波数を60MHz(ブート時)から133MHzに変更しましたが、FLEXSPI1_A_DQSは変更せず、GPIO_SD_B2_05に設定したままにしました。すると、同じようにハングアップしました。
xip 設定が .readSampleClksrc=kFlexSPIReadSampleClk_LoopbackInternally に設定されているため、それをkFlexSPIReadSampleClk_LoopbackFromDqsPadに変更したところ、133MHzで動作させることができました。
次に、DQSをGPIO_EMC_B2_18に変更してみたところ、133MHzで動作させることができました。
このやり方は受け入れられるだろうか?
また、起動時にはGPIO_SD_B2_05はフローティング状態ではありません。`kFlexSPIReadSampleClk_LoopbackFromDqsPad`に設定して60MHzで実行しても問題ありませんか?Re: How can I configure GPIO_EMC_B2_18 as FLEXSPI1_A_DQS and set the clock frequency to 133 MHz?こんにちは@Shuhei_Dさん
私たちの製品にご関心を寄せ、コミュニティをご利用いただき、本当にありがとうございます。
詳細については、以下の記事をご参照ください。
https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT-1176-FlexSPI-RW-frequency-DQS/mp/1871808
RT1170リファレンスマニュアルによると、セカンダリピングループを使用した場合、FlexSPIフラッシュの最大対応周波数は100 MHzです。
プロジェクトの構成を確認し、上記のリンクで説明されているシナリオに合致しているか確認していただけますか?
お役に立てれば幸いです。
よろしくお願いいたします。
5月
Re: How can I configure GPIO_EMC_B2_18 as FLEXSPI1_A_DQS and set the clock frequency to 133 MHz?お返事ありがとうございます。
回路図を確認したところ、GPIO_EMC_B2_18がフローティング状態になっていることがわかりました。Re: How can I configure GPIO_EMC_B2_18 as FLEXSPI1_A_DQS and set the clock frequency to 133 MHz?NORフラッシュの外付けを駆動するために、SPIのクロック周波数を60MHzから133MHzに変えたいようですね。しかし105MHzなら問題なさそうなので、SPI高周波数で信号の整合性をレイアウト側で確認する必要があるかもしれません。回路図を確認しますか?
Re: How can I configure GPIO_EMC_B2_18 as FLEXSPI1_A_DQS and set the clock frequency to 133 MHz?こんにちは@Shuhei_Dさん
ご辛抱いただきありがとうございます。
ご質問内容を再度確認しました。
プライマリDQS PINを使用し、セカンダリDQSオプションは使用しないでください。
mayliu1_0-1782368272303.png
あなたの場合、もし主DQSピンがすでに別の機能に使われている場合、以下の構成を適用できます。ただし、この設定は最大60MHzまでしかサポートされていないことにご注意ください。
mayliu1_1-1782368409020.png
お役に立てれば幸いです。
よろしくお願いいたします。
5月