SWM341_sdram.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef __SWM341_SDRAM_H__
  2. #define __SWM341_SDRAM_H__
  3. typedef struct {
  4. uint8_t Size; // SDRAM 容量,SDRAM_SIZE_2MB、SDRAM_SIZE_8MB、SDRAM_SIZE_16MB、SDRAM_SIZE_32MB
  5. uint8_t ClkDiv; // SDRAM 时钟分频,SDRAM_CLKDIV_1、SDRAM_CLKDIV_2
  6. uint8_t CASLatency; // 列地址到有效数据输出间隔,SDRAM_CASLATENCY_2、SDRAM_CASLATENCY_3
  7. uint8_t TimeTRP; // Row precharge delay,Precharge命令到另一个命令间延时
  8. uint8_t TimeTRCD; // Row to column delay,行地址到列地址间延时,也即Activate命令到读写命令间延时
  9. uint8_t TimeTRFC; // Refresh Cycle
  10. } SDRAM_InitStructure;
  11. //rowaddr bankaddr coladdr
  12. #define SDRAM_SIZE_2MB 3 //HADDR[20:10] HADDR[9] HADDR[8:1]
  13. #define SDRAM_SIZE_8MB 0 //HADDR[22:11] HADDR[10:9] HADDR[8:1]
  14. #define SDRAM_SIZE_16MB 1 //HADDR[23:12] HADDR[11:10] HADDR[9:1]
  15. #define SDRAM_SIZE_32MB 2 //HADDR[24:12] HADDR[11:10] HADDR[9:1]
  16. #define SDRAM_CLKDIV_1 0
  17. #define SDRAM_CLKDIV_2 1
  18. #define SDRAM_CASLATENCY_2 0
  19. #define SDRAM_CASLATENCY_3 1
  20. #define SDRAM_TRP_1 0
  21. #define SDRAM_TRP_2 1
  22. #define SDRAM_TRP_3 2
  23. #define SDRAM_TRP_4 3
  24. #define SDRAM_TRCD_1 0
  25. #define SDRAM_TRCD_2 1
  26. #define SDRAM_TRCD_3 2
  27. #define SDRAM_TRCD_4 3
  28. #define SDRAM_TRFC_4 3
  29. #define SDRAM_TRFC_5 4
  30. #define SDRAM_TRFC_6 5
  31. #define SDRAM_TRFC_7 6
  32. #define SDRAM_TRFC_8 7
  33. #define SDRAM_TRFC_9 8
  34. #define SDRAM_TRFC_10 9
  35. #define SDRAM_TRFC_11 10
  36. #define SDRAM_TRFC_12 11
  37. #define SDRAM_TRFC_13 12
  38. #define SDRAM_TRFC_14 13
  39. #define SDRAM_TRFC_15 14
  40. #define SDRAM_TRFC_16 15
  41. void SDRAM_Init(SDRAM_InitStructure * initStruct);
  42. void SDRAM_Enable(void);
  43. void SDRAM_Disable(void);
  44. #endif //__SWM341_SDRAM_H__