近期項目中使用到了 IS64LV25616AL 的芯片,因此我要總結一下。
IS64LV25616AL這個是256*16的的,數據格式是16位,所以一共有512KB的空間,比較大了,stm32F103zet6才64KB內部SRAM。
可以使能byte enable,進行8位的訪問,只要設置好了后,可以像片內的sram一樣,隨意訪問的片外的sram,可以使用指針形式,可以at絕對地址定位的方式(ac5、ac6兩種方式都可以,但是有所區別)。
stm32把片內外設的1GB的空間用於訪問 nor/psram nand pcsd等,也就是書上說的地址映射,而且每個塊都是4*64MB,共4個,既4*4*64MB。而且在nor/psram這個bank1的區域又分為4個小區域,這個小區域都有地址分配的,可以參考stm32的參考手冊,而且每個小區域有相應的NE片選引腳,可以在stm32cubemx中進行設置,所以NE引腳是要結合硬件設計手動來選擇的,而且也不能隨便設置。其他的地址線、數據線、信號線等等,stm32cubemx會自動設置好,我們只要關心NE片選即可,十分方便。
另外stm32F103ze系列是有fsmc控制器的,引腳數目小於100的是沒有的,其他高性能的stm32也是有的,具體就是要看芯片手冊了。
把外部SRAM當做外部存儲器來使用,上面的步驟就結束了的,而如果把外部SRAM當做內存使用,或者把部分堆棧空間放到外部SRAM,還需要做一些其他的設置,可以參考安富萊的教程和strongerhuang的博客。
網上的資料:
STM32F103ZET(基於秉火開發板)+Cubemx(F1 V1.60庫)+FSMC讀寫SRAM或者液晶屏的控制芯片
首先說明下開發條件:
1、開發板:秉火霸道,STM32F103ZET
2、軟件:Cubemx V4.23(F1 V1.60庫)
3、硬件:SRAM:IS62WV51216 1MByte 或者 ILI9341的液晶控制器芯片
問題描述:讀寫SRAM時高字節無效!
問題原因:Bytes使能選項沒有選擇!
解決辦法:

因為SRAM是16位的數據線,需要高8位和低8位分別有效,所以這個選項需要選擇上!
如果是ILI9341的液晶控制器芯片的控制芯片則需要看您是使用哪根地址線模擬D/CX (數據/信號)的,根據具體情況進行選擇!比如在控制液晶屏的時候就沒有選擇bytes使能,但是也沒有出錯,因為在數據傳輸的時候都是發送的8位!所以保險起見,應該將這個選項選上!

