SWM320_sdram.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef __SWM320_SDRAM_H__
  2. #define __SWM320_SDRAM_H__
  3. typedef struct
  4. {
  5. uint8_t CellSize; // SDRAM颗粒的容量,SDRAM_CELLSIZE_16Mb、SDRAM_CELLSIZE_64Mb、SDRAM_CELLSIZE_128Mb、SDRAM_CELLSIZE_256Mb
  6. uint8_t CellBank; // SDRAM颗粒有几个bank,SDRAM_CELLBANK_2、SDRAM_CELLBANK_4
  7. uint8_t CellWidth; // SDRAM颗粒的位宽,SDRAM_CELLWIDTH_16、SDRAM_CELLWIDTH_32
  8. uint8_t CASLatency; // 列地址到有效数据输出间隔,SDRAM_CASLATENCY_2、SDRAM_CASLATENCY_3
  9. uint8_t TimeTMRD; // MRS to New Command
  10. uint8_t TimeTRRD; // Activate to activate on different banks
  11. uint8_t TimeTRAS; // Self refresh time,最小Self-refresh周期
  12. uint8_t TimeTRC; // Row cycle delay,Refresh命令到Activate命令间延时,也是两个连续Refresh命令间延时
  13. uint8_t TimeTRCD; // Row to column delay,行地址到列地址间延时,也即Activate命令到读写命令间延时
  14. uint8_t TimeTRP; // Row precharge delay,Precharge命令到另一个命令间延时
  15. } SDRAM_InitStructure;
  16. #define SDRAM_CELLSIZE_16Mb 3
  17. #define SDRAM_CELLSIZE_64Mb 0
  18. #define SDRAM_CELLSIZE_128Mb 1
  19. #define SDRAM_CELLSIZE_256Mb 2
  20. #define SDRAM_CELLBANK_2 0
  21. #define SDRAM_CELLBANK_4 1
  22. #define SDRAM_CELLWIDTH_16 0
  23. #define SDRAM_CELLWIDTH_32 1
  24. #define SDRAM_CASLATENCY_2 2
  25. #define SDRAM_CASLATENCY_3 3
  26. #define SDRAM_TMRD_3 3
  27. #define SDRAM_TMRD_4 4
  28. #define SDRAM_TMRD_5 5
  29. #define SDRAM_TMRD_6 6
  30. #define SDRAM_TMRD_7 7
  31. #define SDRAM_TRRD_2 2
  32. #define SDRAM_TRRD_3 3
  33. #define SDRAM_TRAS_2 2
  34. #define SDRAM_TRAS_3 3
  35. #define SDRAM_TRAS_4 4
  36. #define SDRAM_TRAS_5 5
  37. #define SDRAM_TRAS_6 6
  38. #define SDRAM_TRAS_7 7
  39. #define SDRAM_TRC_2 2
  40. #define SDRAM_TRC_3 3
  41. #define SDRAM_TRC_4 4
  42. #define SDRAM_TRC_5 5
  43. #define SDRAM_TRC_6 6
  44. #define SDRAM_TRC_7 7
  45. #define SDRAM_TRC_8 8
  46. #define SDRAM_TRC_9 9
  47. #define SDRAM_TRC_10 10
  48. #define SDRAM_TRC_11 11
  49. #define SDRAM_TRC_12 12
  50. #define SDRAM_TRC_13 13
  51. #define SDRAM_TRC_14 14
  52. #define SDRAM_TRC_15 15
  53. #define SDRAM_TRCD_3 3
  54. #define SDRAM_TRCD_4 4
  55. #define SDRAM_TRCD_5 5
  56. #define SDRAM_TRCD_6 6
  57. #define SDRAM_TRCD_7 7
  58. #define SDRAM_TRP_3 3
  59. #define SDRAM_TRP_4 4
  60. #define SDRAM_TRP_5 5
  61. #define SDRAM_TRP_6 6
  62. #define SDRAM_TRP_7 7
  63. void SDRAM_Init(SDRAM_InitStructure *initStruct);
  64. void SDRAM_Enable(void);
  65. void SDRAM_Disable(void);
  66. #endif //__SWM320_SDRAM_H__