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

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
KaKi_1384211
Level 6
Level 6
100 replies posted 50 replies posted 50 questions asked

Hi,

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

Thanks and regards,

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

yes, confirm to work for KBA.

Thanks,

Jenna

Jenna Jo
0 Likes

Hi Jenna-san,

I have translated KBA203731.

 

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

【タイトル】

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

【質問】

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

【内容】

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

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

pastedImage_0.png

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,

0 Likes