https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1491109/processors-forum
器件型号:TMDS64EVM工具/软件:
您好;
此处示例中 PSRAM 接口的 GPMC 驱动程序的一些属性不正确。
参考: mcu_plus_sdk_am64x_10_01_00_32
示例: \MCU_PLUS_SDK_am64x_10_01_00_32\examples\drivers\GPMC\GPMC_PSRAM_IO
在本例中、驱动程序属性在"ti_drivers_config.c"中定义。 以下是列表:
.csOnTime = 1U、
.csdOffTime = 0U、
.csWrOffTime = 1U、
.advOnTime = 4U、
.advRdOffTime = 5U、
.advWrOffTime = 6U、
.advAadMuxOnTime = 1U、
.advAadMuxRdOffTime = 2U、
.advAadMuxWrOffTime = 2U,
.weOnTtime = 5U、
.weOffTime = 3U、
.oeOnTime = 6U、
.oeOffTime = 0U、
.oeAadMuxOnTime = 1U、
.oeAadMuxOffTime = 7U、
.pageBurstAccess = 1U、
.rdAccessTime = 15U、
.wrAcessTime = 15u、
.rdCycleTime = 17U、
.wrCycleTime = 17U、
.wrDataOnMuxBusTime = 0U、
.cycle2CycleDelay = 0U、
.busTurnAroundTime = 0U、
.cycleDelaySameChipSel = CSL_GPMC_CONFIG6_CYCLE2CYCLESAMECSEN_NOC2CDELAY 、
.cycleDelayDiffChipSel = CSL_GPMC_CONFIG6_CYCLE2CYCLEDIFFCSEN_NOC2CDELAY 、
这些是差异:
似乎这些属性中的许多都被错误地定义。 如果查看 AM64x-TRM (spruim2h_AM64xx.pdf)中图12-1634、12-1635、12-1636的时序图、CSRDOFFTIME 的定义几乎等于 RDCYCLETIME、它定义了 nCS 脉冲宽度 = CSRDOFFTIME–CSONTIME。
此处是"csOnTime = 1"的定义;但 "CSRdOffTime = 0"。
csdOffTime 的正确值= rdCycleTime–1 = 17 -1 = 16 、其中"rdAccessTime"定义为15。
同样、 "csWrOffTime =1"的定义也不正确。 在这种情况下、写入周期的 nCS 脉冲宽度为0、因为写入周期的 nCS 脉冲宽度 = CSWROFFTIME–CSONTIME、这不是正确的。
csWrOffTime = wrCycleTime–1 = 17 -1 = 16的正确值 、其中"wrAccessTime"定义为15。
同样、"weOffTime"不能小于"weOnTime"
同样、"oeOffTime"不能小于"oeOnTime"
请澄清调查结果是否不正确。
我也很好奇、TI (或合作伙伴)是否为该示例提供任何使用 ISSI PSRAM "IS67WVE4M16EBL70BLA1"的分线板
谢谢、
Huynh