Frame Formats#

This section describes each type of ASH frame, including its format and purpose, the notation used in documentation, and some examples.

RST Frame Format#

The following figure illustrates the format of the RST frame.

RST Frame FormatRST Frame Format

  • Purpose: Requests the NCP to perform a software reset (valid even if the NCP is in the FAILED state).

  • Notation used in documentation: RST()

  • Example: C0 38 BC 7E

RSTACK Frame Format#

The following figure illustrates the format of the RSTACK frame.

RSTACK Frame FormatRSTACK Frame Format

  • Purpose: Informs the Host that the NCP has reset and the reason for the reset.

  • Data field:

  • Version: Fixed at 0x02 in this version of ASH

  • Reset Code: See the table of Reset and Error Codes

  • Notation used in documentation: RSTACK(V, C)

  • V: version

  • C: reset code

  • Example: C1 02 02 9B 7B 7E

ERROR Frame Format#

The following figure illustrates the format of the ERROR frame.

ERROR Frame FormatERROR Frame Format

  • Purpose: Informs the Host that the NCP detected a fatal error and is in the FAILED state.

  • Data field:

  • Version: Fixed at 0x02 in this version of ASH

  • Error Code: See the table of Reset and Error Codes

  • Notation used in documentation: ERROR(V, C )

  • V: version

  • C: reset code

  • Example: C2 01 52 FA BD 7E

DATA Frame Format#

The following figure illustrates the format of the DATA frame.

DATA Frame FormatDATA Frame Format

  • Purpose: Carries all EZSP frames.

  • Data Field:

  • EZSP frame: exclusive-OR’ed with a pseudo-random sequence

  • Notation used in documentation: DATA(F, A, R)

  • F: frame number (frmNum)

  • A: acknowledge number (ackNum)

  • R: retransmit flag (reTx)

  • Examples — without pseudo-random sequence applied to Data Field:

  • EZSP “version” command: 00 00 00 02

  • DATA(2, 5, 0) = 25 00 00 00 02 1A AD 7E

  • EZSP “version” response: 00 80 00 02 02 11 30

  • DATA(5, 3, 0) = 53 00 80 00 02 02 11 30 63 16 7E

  • Examples — with pseudo-random sequence applied to Data Field:

  • EZSP “version” command: 00 00 00 02

  • DATA(2, 5, 0) = 25 42 21 A8 56 A6 09 7E

  • EZSP “version” response: 00 80 00 02 02 11 30

  • DATA(5, 3, 0) = 53 42 A1 A8 56 28 04 82 96 23 7E

ACK Frame Format#

The following figure illustrates the format of the ACK frame.

ACK Frame FormatACK Frame Format

  • Purpose: Acknowledges receipt of a valid DATA frame.

  • Notation used in documentation: ACK(A)+/-

  • A: acknowledge number (ackNum)

  • +/-: not ready flag (nRdy); “+” = “0” = “ready”; “-” = “1” = “not ready”

  • Examples:

  • ACK(1)+ :81 60 59 7E

  • ACK(6)– : 8E 91 B6 7E

NAK Frame Format#

The following figure illustrates the format of the NAK frame.

NAK Frame FormatNAK Frame Format

  • Purpose: Indicates receipt of a DATA frame with an error or that was discarded due to lack of memory.

  • Notation used in documentation: NAK(A)+/-

  • A: acknowledge number (ackNum)

  • +/-: not ready flag (nRdy); “+” = “0” = “ready”; “-” = “1” = “not ready”

  • Examples:

  • ACK(6)+ : A6 34 DC 7E

  • ACK(5)- : AD 85 B7 7E