2 Replies Latest reply on May 25, 2020 4:53 AM by KaKi_1384211

    Community Translation - What Happens if an Interrupt Occurs while Sending the Read Command Sequence to SPI Flash? - KBA203731

    KaKi_1384211

      Hi,

       

      I want to translate KBA203731, please confirm to my work.

       

      Thanks and regards,

        • 2. Re: Community Translation - What Happens if an Interrupt Occurs while Sending the Read Command Sequence to SPI Flash? - KBA203731
          KaKi_1384211

          Hi Jenna-san,

           

          I have translated KBA203731.

           

          _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

          【タイトル】

          読み出しコマンドシーケンスをSPI Flashへ発行中に割り込みが発生すると、どうなりますか? -
          KBA203731

           

          【質問】

          読み出しコマンドシーケンスをSPI Flashへ発行中に割り込みが発生すると、どうなりますか?

           

          【内容】

          割り込みが発生した際のSPI信号の管理方法に依存します。

          参考として、S25FL127SのデータシートからQuad-I/Oリード時の読出し信号を下記に示します。

           

          Case 1 : Chipイネーブル, CS#が開放された場合 :

          割り込みによりホストがCS#信号のLowへの遷移が停止された場合、CS#のプルアップ抵抗はCS#信号をHighにします。

          これにより、Flash Memoryの状態はアクティブモードからスタンバイモードになります。

          この時点で読み出し処理は終了し、Flash Memoryは読み出しコマンドシーケンス前のステップに関する状態を失います。

          割り込み処理後のリカバリーは再度、読み出しコマンドを実行することです。

           

          Case 2 : 全てのSPI信号が安定したデジタル状態で維持された場合 :

          この状態はCS#Low、それぞれのIOやクロックが安定しており(もしくは、クロックが動作していない)HOLD#がアクティブでない状態を意味します。

          この場合、Flash Memoryはクロックの再開を待っているアクティブモードのままです

          割り込み処理後のリカバリーはクロックの再開、もしくは、CS#を開放し、読み出しコマンドを再実行することです。

           

          Case 3 : SPI Memoryコントローラが自動的に読み出しの管理を継続する場合 :

          多くのSPI Memoryコントローラは読み出し処理を続けます。この場合、読み出しコマンドは中断されず、リカバリーは必要ありません。

           

          上記Case 12の場合、読み出し中断後の最適はリカバリーはCS#を開放した上で、読み出しコマンドを再実行することです。

          ソフトウェア制御の読み出しの場合、Flash Memoryの読み出し処理の間、割り込みを無効にし、システムとして論理的に

          都合良いポイントで、割り込み処理を入れる方法があります。

           

          _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

           

          Thanks and regards,