stm32——fmsc控制外部SRAM——小結


近期項目中使用到了 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使能選項沒有選擇!

 

解決辦法:

 

捕獲1.JPG

 

因為SRAM是16位的數據線,需要高8位和低8位分別有效,所以這個選項需要選擇上!

 

 

 

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

 

捕獲2.JPG

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM