S32K328 HyperRAM read write errors at low temperatures Hello NXP Community, we are using an NXP S32K328 with an Infineon S27KL0642DPBHB023 64-Mbit HyperRAM connected through the QuadSPI interface. The interface operates with the following basic configuration: HyperRAM voltage = 3.3 V QuadSPI clock = 120 MHz Interface mode = Octal DDR Clock mode = Single-ended CK Read-data strobe = External RWDS Latency mode = Fixed latency Normal memory access = Memory-mapped AHB At room temperature, the HyperRAM interface appears to work correctly. At low temperatures, down to −40 °C, we observe read/write comparison errors. The problem appears to be related mainly to the temperature of the S32K328. Cooling the S32K328 can reproduce the errors, while cooling the HyperRAM alone has a much smaller effect. The relevant S32K328 QuadSPI settings are: DDR_EN = 1 DQS_EN = 1 External DQS/RWDS = selected DQS_OUT_EN = 1 VAR_LAT_EN = 0 FLSHCR.TCSS = 4 FLSHCR.TCSH = 7 FLSHCR.TDH = 1 The current DLL configuration is: SLV_DLL_BYPASS = 0 SLAVE_AUTO_UPDT = 1 SLV_EN = 1 SLV_DLY_COARSE = 0 FREQEN = 1 DLL_CDL8 = 0 DLLRES = 8 DLL_REFCNTR = 2 SMPR.FSPHS = 0 SMPR.FSDLY = 0 SMPR.DLLFSMPFA = 0 We tested all available combinations of: SLV_DLY_OFFSET = 0 to 7 SLV_FINE_OFFSET = 0 to 15 At low temperatures, failures occur across all tested DLL configurations. The sweep shows differences between the configurations, but it does not provide a completely error-free operating range or a clearly optimal DLL parameter set. Therefore, we are currently not sure whether the problem is caused by the DLL configuration itself or by another temperature-dependent part of the S32K328 QuadSPI interface. Could you please help us with the following questions? Is the S32K328 QuadSPI configuration shown above suitable for HyperRAM operation at 120 MHz? Are the selected DLL parameters correct for this frequency and the full temperature range? Which values should be used for FREQEN, DLL_CDL8, DLLRES and DLL_REFCNTR at 120 MHz? Which DLL status flags should be monitored to verify correct operation? Should both DLLA_LOCK and SLVA_LOCK be checked before accessing the HyperRAM? How should DLLA_RANGE_ERR or FINE_UNDERFLOW be handled? Could the QuadSPI DLL or external-DQS path operate outside its valid range at low temperatures? Does the DLL configuration affect only read-data sampling, or can it also affect write timing? Are FLSHCR.TCSS = 4, FLSHCR.TCSH = 7 and FLSHCR.TDH = 1 suitable for 120 MHz HyperRAM operation? Which pad settings are recommended for CK, CS#, DQ[7:0] and RWDS at 120 MHz Octal DDR? Are there any known S32K328 errata or RTD issues related to QuadSPI, external DQS or operation at low temperatures? Is there a validated S32K328 HyperRAM initialization example or register configuration for 120 MHz operation? Any guidance on additional S32K328 registers or status information that should be checked would be very helpful. Thank you.
記事全体を表示