大容量のデータをマイコンで扱う場合、一時的なデータ保存に揮発性のSRAMやSDRAM、バックアップデータに不揮発性のNAND FlashメモリやNOR Flashメモリを使うことが多いと思います。不揮発性のデータの場合、仕様によってはSDカードを使うこともあるかもしれません。また、昨今はSPI接続の大容量PSRAMも増えています。そのような中でメモリを選択する場合、容量拡張性や部品供給安定性を考慮するとパラレル接続のメモリを選択することが多くなります。一方でSTM32マイコン等でもパラレルメモリを搭載した評価ボードは一部のEvalボードにSDRAMが搭載されるくらいでSRAM、NOR Flash、2つのSDRAM、2つのSRAMといった評価まで対応したボードがありませんでした。
そこでNucleo144のメモリシールドを設計してみました。一般的なパラレル接続のメモリに対応しており、SDRAM x2、SRAM x2、NAND Flash x1、NOR Flash x1を搭載しています。STM32H743Zをターゲットに設計しましたが、他のSTM32F743といったボードでも利用できると思います。なお、Nucleo144の外側のCN11とCN12のみ使用しています。内側のCN7、CN8、CN9、CN10はボードのレビジョンによってピンアサインが異なるため使用していません。
ターゲットとしているフットプリントとメモリは下記の通りです。
SDRAM | x2 | TSSOP-U 54ピン | MT48LC16M16A2P |
SRAM | x2 | TSSOP-U 44ピン | CY62157EV30LL |
NOR Flash | x1 | TSSOP-T 56ピン | MT28EW512A |
NAND Flash | x1 | TSSOP-T 48ピン | MT29F8G08A |
SDRAMやNAND Flashはピンアサインやフットプリントがほぼ統一されているため、他のメモリでも動作すると思いますが、SRAMやNOR Flashはメーカによってパッケージが様々でピンアサインも異なる場合があり注意が必要です。ただ、多くはデータやアドレスピンの順番が互い違いになっているだけのことが多く、フットプリントが同じで一部の順番が互い違いあれば、異なるメモリの場所に互い違いに保存されるだけで動作上は問題ありません。
実際に基板に実装してSDRAM x2とNAND Flash x1の動作確認ができました。
必要な配線はNucleo144の外側のCN11とCN12のみ使用しています。内側のCN7、CN8、CN9、CN10にピンを立てる必要はありません。また、CN11、CN12の片側のGNDはピンがデフォルトで立っているため、当該箇所のソケットを除いて実装しました。
今後、SRAM x2 NOR Flashの動作確認を行い、問題なければこちらで基板のデータの他にCubeMXのプロジェクトファイル、コードを合わせて公開したいと思います。