- Print
- DarkLight
- PDF
Notes
- MCU state -> on/off -> 0/1
- MDM state -> on/off state -> 0/1
- reset value -> 0 for MCU, 1 for MDM
- MDM -> Modem
- MCU -> Microcontroller
- DUT -> Device Under Test (Target)
- VDD_EXT -> MDM pin that drive 1.8V output only when it's ON
- XTAL -> Crystal Oscillator that mounted on DUT
- DUT-JIG Comm -> customized TLV (Tag, Length, Value) format
Fig.1 TLV Data Format
1. Sensor Voltage Drive Test
QC verify the sensor voltage input from the target.
Pins used
- Sensor 1 => INTP3
- Sensor 2 => INTP4
Command
Apps to JIG
{D?}
JIG to DUT (Hex)
01 FF 00 0A 02 12 03 53 9F 04
Response
JIG to Apps
Expected:
{D:\<sensor1 state\>,\<sensor2 state\>}\n
Invalid/timeout/error:
{ERR}\n
sensor1 state = sensor2 state = 1/0. Example:
{D:1,1}\n
It means that both sensor1 and sensor2 input is detected
DUT to JIG
DUT send a pulse to be detected in INTP3 and INTP4
2. ON/OFF Control
This command used to control ON/OFF state of Modem (MDM) and MCU. QC's GPIO will send pulse for several milliseconds to trigger MCU and MDM.
Pins used
ON/OFF MCU => P14
ON/OFF MDM => PWR KEY => P13
Pulse width
MCU => none
MDM => 700 ms (ON) and 1500 ms (OFF)
Command
Apps to JIG
{O:\<MCU state\>,\<MDM state>}
MCU state
0 -> MCU OFF
1 -> MCU ONMDM state
0 -> MDM OFF
1 -> MDM ON
JIG to DUT
JIG set GPIO P14 to HIGH if MCU is set to be ON, vice versa.
JIG set pulse width to P13 700ms if MDM is set to be ON, 1500ms if set to be OFF.
Response
JIG to Apps
Expected:
{O:OK!}\n
Invalid:
{ERR}\n
DUT to JIG
None
3. Power Rail Test
This command used to get Voltage value of Modem (MDM) and MCU. QC's ADC pins (ANI0 and ANI1) will read the analog value and send the value to GUI. This power rail test used DTC to store ADC values.
Pins used
MCU power rail => ANI0
MDM power rail => ANI1
DTC configuration
Count : 2
Transfer Byte : 2
Source : 0xFF1E fixed
Destination : 0xF500 incremented
DACEN1 bit 5 = 1 (A/D Conversion)
DTC reloaded every started with reset count to 0 and destination back to 0xF500 when it's been more than 0xF504
ADC Configuration
Operation mode : Select mode, one shot, software trigger
Conversion mode : Low voltage 1
Conversion time : 38 us
Resolution : 10 bits
Command
{P?}
Response
Expected => {P:<sensor 1>,<sensor 2>}\n
Invalid => {ERR}\n
Example
0 >= sensor 1, sensor 2 <= 1023
sensor 1 -> ANI0
sensor 2 -> ANI1
4. Reset Control
This command used to control reset state of Modem (MDM) and MCU. QC's GPIO will send pulse for several milliseconds to give reset trigger to MCU and MDM.
Pins used
reset MCU => P15
reset MDM => PWR KEY => P13
Pulse width
MCU => 20 ms
MDM => 3 s
Command
{R:<reset value>}
Reset value
0 -> MCU
1 -> MDM
Response
Expected => {R:OK!}\n
Invalid => {ERR}\n
5. Sensor Test
QC verify the sensor reading from the target.
Pins used
Sensor 1 => ANO0 (same as ANI2)
Sensor 2 => ANO1 (same as ANI3)
UART configuration
Rx
Data length : 8b
Parity : None
Baud rate : 19200 bpsTx
Mode : Single transfer
Data length : 8b
Parity : None
Stop bit length : 1b
Baud rate : 19200 bps
DAC Configuration
Operation mode : Normal mode
Resolution : 8 bits
Command
{S?}
Response
Expected => {S:<sensor1_low>, <sensor2_low>, <sensor1_mid>, <sensor2_mid>, <sensor1_hi>, <sensor2_hi>}\n
Invalid/timeout/error => {ERR}\n
example :
{S:100,101,500,501,1002,1010}\n
0 >= sensor1_lo,mid,hi, sensor2_lo,mid,hi <= 1023
6. Tamper Test
QC verify the tamper switch is activated from the target.
Pins used
UART0 from QC to DUT
Command
{T?}
Response
Expected : {T:OK!}\n
Invalid / timeout : {ERR}\n
7. MCU-MDM UART Test
QC Verify that UART connection b/w DUT's MCU-MDM is working as expected
Pins used
UART0 from QC to DUT
Command
{U?}
Response
Expected : {U:<DUT's IMEI>}\n
Invalid / timeout : {ERR}\n
8. VDD_EXT Test
QC verify VDD_EXT pin from the MDM target.
Pins used
INTP0
Command
{V?}
Response
Expected : {V:OK!}\n
Invalid / timeout : {ERR}\n
9. XTAL Test
QC verify the XTAL at the DUT is working as expected
Pins used
UART0 from QC to DUT
Get Command
{X?}
Get Response
Expected : {X:<day>,<month>,<year>,<hour>,<minute>,<second>}\n
Invalid / timeout : {ERR}\n
Set Command
{X:<day>,<month>,<year>,<hour>,<minute>,<second>}
Set Response
Expected : {X:OK!}\n
Invalid / timeout : {ERR}\n