平成27年10月11日
汎用の高速シリアル通信機能(10) SPI IF回路およびSDカードIF
1)SPI IF回路
SPI IF回路は決まりきった回路ですが、一つだけ気掛かりな点があります。それはCK信号はプルアップとすべきかプルダウンとすべきかという疑問です。他のDI・DO信号はどちらでも良いしCS信号は負論理なので確実にプルアップが必要です。
厳密には使用するSPIの動作モードによって望ましい方法があるのかもしれないですが、結果的にどちらでも問題はないと考えています。
SPIの仕様ではCSがアクティブでないときにCK信号の値を変更しても問題がないので、全てのCS信号を禁止した状態でSPIの動作モードを書き換える(これによってCK信号の値が変わるかもしれない)なら、それ以前のCK信号の値は問題にはならないでしょう。
という判断から、これらの信号にもプルアップ抵抗と念のためダンピング抵抗を付けておきます。
2)SDカード IF回路
ほぼSPI IF回路そのものです。カード検出用の入力ポートを1ビット追加し、CS信号に動作表示用のLEDを接続しておきます。
SPIおよびSDカードに関しては、
Chan氏のHPに詳しく書かれています。彼のHPにはSDカードの挿入時にSDカードへの突入電流によって電源電圧の低下が起きることが書かれています。
今回の実験基板では電源はUSBポートからも取れるようにしています。USBポートから取れる電流は僅かに500mAです。確かに電源電圧の変動には要注意です。このためSDカードに対する給電には別途レギュレータを用意してあります。これで少なくともCPU回路部への直接的な電源電圧の影響は小さく出来ます。