Xilinx的開發板ZCU102支持休眠到內存(suspend-to-ram)。休眠到內存時,DDR進入自刷新,MPSoC被關電,完全不耗電。喚醒時,MPSoC根據外部輸入信號判斷出不是上電啟動而是休眠,就從DDR讀出系統狀態,恢復系統。
MPSoC啟動時,它的DDR控制器會驅動DDR的復位信號,有可能破壞DDR里的數據。為了避免這種情況,需要對DDR復位信號進行特殊設計。
在開發板ZCU102上,DDR復位信號由外部單片機MSP430和MPSoC聯合控制,兩個的控制信號經過SN74AUC1G32(2輸入或)再連接到DDR內存條。MSP430的信號有下拉,缺省情況下只由MPSoC控制DDR復位信號。如果需要支持休眠到內存(suspend-to-ram),MSP430控制I2C芯片輸出高,相當於屏蔽了DDR復位功能,使DDR內存條一直不被復位。
下面是相關的原理圖。DDR4_SODIMM_RESET_B信號連接到DDR內存條。ZYNQ_DDR4_SODIMM_RESET_B是從MPSoC來的信號。PS_DIMM_SUSPEND_EN來自於MSP430控制的I2C芯片TCA6416APWR。