SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
POK modules are responsible for accurately detecting average voltage levels.
Two types of POK modules are implemented in this family of devices - POK and POK_SA.
POK module is capable of monitoring a range of supplies and indicating a failure within the programmable upper and lower threshold limits for the supply being monitored. POKs are used to monitor 3.3 V, 1.8 V and core supply levels with programmable threshold levels.
Figure 5-3 shows the concept of the POK. It is a comparator with a fixed 0.45V and the voltage to be monitored. The voltage-to-be-monitored is defined based upon a CTRL register (see POK Related Registers) and the silicon hook-up of the POK. The POK has three possible input voltage ports – VDD_MON3P3, VDD_MON1P8, and VDD_MON. The effect of the CTRL register depends upon which of these three ports is selected (defined in Table 5-17); for example, a threshold value of 0x28 in the threshold register would create a different threshold voltage depending upon:
The POK output triggers high (i.e. indicating a fail condition) when:
When the monitored voltage threshold is changed, the new threshold settles within 9us.
Figure 5-3 also shows a mux on the output of the comparator. The mux is configured based upon the selection of under-voltage or over-voltage and is used to maintain the proper polarity of the fail signature.
POK_SA (used only on VMON1_ER_VSYS) directly compares the monitored voltage to 0.45V.
Two other features of the POK diagram (i.e. Figure 5-3 and Figure 5-4) need some explanation:
Programmable Feature | Bitfield in the POK Dedicated Register |
POK hysteresis enable | [31] HYST_EN |
POK over- or under-voltage detection mode | [7] OVER_VOLT_DET |
POK trim bits for voltage comparator threshold | [6-0] POK_TRIM |
Like the POK, the POK_SA is a comparator with 0.45V reference; however, voltage division must occur in hardware on the PCB before the monitored voltage is applied to VMON1_ER_VSYS.
Programmable Feature | Bitfield in the POK Dedicated Register |
POK hysteresis enable | [31] HYST_EN |
POK over- or under-voltage detection mode | [0] OVER_VOLT_DET |
POK configuration is not designed to find and report an instantaneous dip / rise in the voltage.
Module Instance | Connected to PRG | Type | Voltage Monitored | TAP | OV / UV |
---|---|---|---|---|---|
POR_POKHV | PRG_POR | POK | VDDA_MCU (1P8V) | VDD_MON1P8 | UV |
POR_POKLVA | PRG_POR | POK | VDDA_MCU (1P8V) | VDD_MON1P8 | OV |
POR_POKLVB | PRG_POR | POK | VDD_MCU_UV | VDD_MON | UV |
IPOK_VDD_MCU_OV | PRG_POR | POK | VDD_MCU | VDD_MON | OV |
IPOK_VDDA_PMIC_IN | PRG_POR | POK_SA | VMON1_ER_VSYS | n/a | UV |
IPOK_VDDR_MCU | PRG_PP_MCU | POK | VDDAR_MCU | VDD_MON | OV + UV |
IPOK_VDDSHV_WKUP_GEN | PRG_PP_MCU | POK | VDDSHV0_MCU | VDD_MON3P3 | OV + UV |
IPOK_VMON_CAP_VDDS _MCU_GEN | PRG_PP_MCU | POK | CAP_VDDS0_MCU | VDD_MON1P8 | OV + UV |
IPOK_VDD_CORE | PRG_PP_MAIN | POK | VDD_CORE | VDD_MON | OV + UV |
IPOK_VDDR_CORE | PRG_PP_MAIN | POK | VDDAR_CORE | VDD_MON | OV + UV |
IPOK_VDD_CPU | PRG_PP_MAIN | POK | VMON2_IR_VCPU | VDD_MON | OV + UV |
IPOK_VMON_EXT | PRG_PP_MAIN | POK | VMON3_IR_VEXT1P8 | VDD_MON1P8 | OV + UV |
IPOK_VMON_EXT_1P8 | PRG_PP_MAIN | POK | VMON4_IR_VEXT1P8 | VDD_MON1P8 | OV + UV |
IPOK_VMON_EXT_3P3 | PRG_PP_MAIN | POK | VMON5_IR_VEXT3P3 | VDD_MON3P3 | OV + UV |
IPOK_VDD_CPU1 | PRG_PP_MAIN | POK | VMON6_IR_VEXT0P8 | VDD_MON | OV + UV |
Module Instance | Register |
---|---|
PRG_POR | |
POR_POKHV | CTRL_MMR_POR_POKHV_UV_CTRL |
POR_POKLVA | CTRL_MMR_POR_POKLVA_OV_CTRL |
POR_POKLVB | CTRL_MMR_POR_POKLVB_UV_CTRL |
IPOK_VDD_MCU_OV | CTRL_MMR_POK_VDD_MCU_OV_CTRL |
IPOK_VDDA_PMIC_IN | CTRL_MMR_POK_VDDA_PMIC_IN_CTRL |
PRG_PP_MCU | |
IPOK_VDDR_MCU |
CTRL_MMR_POK_VDDR_MCU_UV_CTRL CTRL_MMR_POK_VDDR_MCU_OV_CTRL |
IPOK_VDDSHV_WKUP_GEN |
CTRL_MMR_POK_VDDSHV_WKUP_GEN_UV_CTRL CTRL_MMR_POK_VDDSHV_WKUP_GEN_OV_CTRL |
IPOK_VMON_CAP_VDDS _MCU_GEN |
CTRL_MMR_POK_VMON_CAP_MCU_GEN_UV_CTRL CTRL_MMR_POK_VMON_CAP_MCU_GEN_OV_CTRL |
PRG_PP_MAIN | |
IPOK_VDD_CORE |
CTRL_MMR_POK_VDD_CORE_UV_CTRL CTRL_MMR_POK_VDD_CORE_OV_CTRL |
IPOK_VDDR_CORE |
CTRL_MMR_POK_VDDR_CORE_UV_CTRL CTRL_MMR_POK_VDDR_CORE_OV_CTRL |
IPOK_VDD_CPU |
CTRL_MMR_POK_VDD_CPU_UV_CTRL CTRL_MMR_POK_VDD_CPU_OV_CTRL |
IPOK_VMON_EXT |
CTRL_MMR_POK_VMON_EXT_UV_CTRL CTRL_MMR_POK_VMON_EXT_OV_CTRL |
IPOK_VMON_EXT_1P8 |
CTRL_MMR_POK_VMON_EXT_MAIN1P8_UV_CTRL CTRL_MMR_POK_VMON_EXT_MAIN1P8_OV_CTRL |
IPOK_VMON_EXT_3P3 |
CTRL_MMR_POK_VMON_EXT_MAIN3P3_UV_CTRL CTRL_MMR_POK_VMON_EXT_MAIN3P3_OV_CTRL |
IPOK_VDD_CPU1 |
CTRL_MMR_POK_VDD_CPU1_UV_CTRL CTRL_MMR_POK_VDD_CPU1_OV_CTRL |
The possible values of the monitored voltage differ among the POK types, see POK Modules and Monitored Voltages.
POK_TRIM [6:0] |
CORE_POK UV (OVER_VOLT _DET = 0) |
CORE_POK OV (OVER_VOLT _DET = 1) |
1P8_POK UV (OVER_VOLT _DET = 0) |
1P8_POK OV (OVER_VOLT _DET = 1) |
3P3_POK UV (OVER_VOLT _DET = 0) |
3P3_POK OV (OVER_VOLT _DET = 1) |
---|---|---|---|---|---|---|
0x00 | 0.475 V | 0.725 V | 1.425 V | 2.175 V | ||
0x01 | 0.4875 V | 0x7375 V | 1.4625 V | 2.2125 V | ||
0x02 | 0.50 V | 0.75 V | 1.5 V | 2.25 V | ||
… | ||||||
0xC | 1.432 V | |||||
0xD | 1.452 V | |||||
0xE | 1.473 V | |||||
… | ||||||
0x20 | 1.432 V | |||||
0x21 | 1.452 V | |||||
0x22 | 1.473 V | |||||
… | 0.475 V + POK_TRIM[7:0] *0.0125 V | 0.725 V + POK_TRIM[7:0] *0.0125 V | 0.7775 V + 0.02045* POK_TRIM[7:0] | 1.1865 V + 0.02045* POK_TRIM[7:0] | 1.425 V + POK_TRIM[7:0] *0.0375 V | 2.175 V + POK_TRIM[7:0] *0.0375 V |
0x2D | 3.8625 | |||||
0x2E | 2.127V | 3.9 | ||||
0x2F | 2.148 V | 3.9375 | ||||
0x30 | 2.168 V | |||||
… | ||||||
0x42 | 2.127 V | 3.9 V | ||||
0x43 | 2.148 V | 3.9375 V | ||||
0x44 | 1.325 V | 2.168 V | 3.975 V | |||
0x45 | 1.3375 V | |||||
0x46 | 1.35 V | |||||
… | ||||||
0x48 | 1.625 V | |||||
0x49 | 1.6375 V | |||||
0x4A | 1.65 V |