Centero WirelessHART Full API Integration Manual
Centero WirelessHART Full API Integration Manual
Version 2.1
Date: January 22, 2013
1 Introduction ............................................................................................................................... 6
1.1 Document Purpose ..........................................................................................................................6
1.2 Audience .........................................................................................................................................6
4 Examples .................................................................................................................................. 44
4.1 Hart Wireless Command Forwarding (command 1) ......................................................................... 44
4.1.1 Request ................................................................................................................................................................. 44
4.1.2 Response ............................................................................................................................................................... 44
5 Annexes ................................................................................................................................... 46
5.1 Annex A - Command Implementation Reference............................................................................. 46
5.2 Annex B - Country Codes and radio maximum output power ........................................................... 51
1.2 Audience
The purpose of this document is to provide all necessary data to achieve hardware integration of the
VN220/VN310 radio modem within a data acquisition, sensor or communication interface board generically
called application board.
An external processing entity can communicate with the VN220/VN310 using either an UART interface
(using UART2) or a SPI interface. The UART1 port is used for Serial firmware upload, and, in some
applications, it is used to communicate to the HART modem residing on the Wireless HART Modem board.
GPIO_7
GND
KBI_5
ADC2_VREFL
ADC1_VREFL
ADC2_VREFH
ADC1_VREFH
KBI_6
GPIO_10
GPIO_8
GPIO_9
GND
Figure 3 Pin connections for communication between VN220/VN310 radio modem and Application Board
Important Note: The application processor UART-RTS should be connected to ExtRTS (pin 1) and UART-
CTS should be connected To ExtCTS (pin 2).
Applications using the API interface will be provided with a means of adjusting the UART communications
speed/baud rate. The change in baud rate by the application processor will be ‘approved’ by the RF
processor to ensure it can still reliably communicate.
Note: Lower UART baud rates are likely to be the bottleneck in the system. If a user requires higher system
performance, the SPI interface is recommended.
The UART2 signals have a “HIGH” logic level of +3Vdc, and a “LOW” logic level of 0Vdc.
RX
TX
ExtRTS
ExtCTS
WKU
RDY
GND
Figure 4 Full API – UART, Full wake-up support w/o Flow Control (6 pins)
TX Output
As in UART communication, TX and RX are used for data transfer;
RX Input
This signal is active low and is used by the modem to indicate a want-to-
ExtCTS Output send state. The signal will return to high state after a high to low transition
of the ExtRTS signal.
This signal is active low and is used by the application CPU to indicate a
ExtRTS Input ready-to-receive state. It will Implicitly confirm the acquisition of ExtCTS low
signal to the modem.
This signal is active low and is used by the modem to indicate a ready-to-
RDY Output receive state. It will be generated as a response to the application CPU
WKU signal.
This signal is active high and is used by the application CPU to wake up the
radio modem CPU from hibernation and to signal the intention to
WKU Input
communicate with the modem. Keeping this line active will block the
modem from entering the low power mode (sleep).
* Changes in the control signals’ active states (low or high) can be made upon request, to accommodate
custom hardware
ExtCTS
ExtRTS
TX
WKU
RDY
Rx
There is no flow control for transmitting. Once a message transmission has started, it will flow
without restrictions and without awareness of the receiving capability of the destination. The
destination should be capable of receiving bytes at the arriving speed.
There are no critical timings in handshaking due to the direct wakeup. ExtRTS is asserted as a
response to ExtCTS becoming active, the message will start being transmitted by the modem as a
result of ExtRTS becoming active. Similarly, RDY becomes active as a result of WKU rising and
transmission to the modem should start as a result of RDY becoming active.
RX
TX
Ext RTS
Ext CTS
WKU
GND
Figure 6 Full API – UART, VN220/VN310 wake-up support w/ Flow Control (5 pins)
TX Output
Used by the application CPU to alert the modem if a data exchange needs to be
initiated. This is an active high signal and a positive pulse will wake up the modem.
WKU Input
Keeping this line in high state will block the modem from entering in low power mode
(sleep).
WKU
TX
RX
ExtCTS
ExtRTS
The modem has hardware flow control enabled in its peripheral to allow it to tolerate slower or
heavily loaded application processors. This feature (transparent hold/resume) should be used with
moderation since the modem will remain awake and consume power during the stops. A 5ms delay
over the time needed for continuous transmission is tolerated for any message; subsequently, a
timeout will occur and the modem will enter low power mode, stopping the UART module.
The WKU line is linked to an interrupt that brings the modem out of low power mode. While the
modem is running the UART module is on and capable of handling receiving/transmitting bytes. After
waking up, the modem will wait for at least 3ms for incoming bytes. After recognizing the end of an
incoming valid message, the modem will not wait for the next message and may stay ON only to
complete current tasks. A second message should be preceded by another WKU signal.
Keeping the WKU active will prevent the modem from entering low power.
The radio modem processor is the master of communication. If the application processor has any message
to be read by the radio processor, it can signal the master by using the WKU signal.
The SPI signals have a “HIGH” logic level of +3Vdc, and a “LOW” logic level of 0Vdc.
If WKU becomes HIGH, the RF processor will start to send the SPI message in maximum 2ms (typically a
few microseconds).
If the application processor has data to send to the RF processor, it creates a 1 ms pulse on WKU. The RF
processor will query the application processor at the next 250 ms timing. For this reason the Polling Rate is
not used in this configuration.
RDY
WKU
RADIO_SPI_STR T6 T7
T2 T3
SS T4 T5
S
SCK/MISO/MOSI
250ms 500ms
0ms
T5[ms]=PacketLen[bytes]*8*1000/SPI_Freq[kHz]
However, when the RF processor sends a request message, it polls the application processor after 250ms
irrespective of the current polling period.
RF processor originator:
2. RF processor sends polling message after 250ms and during this message the application processor
sends back a response or ACK message (REQ/RSP flag is 1, message ID is the same as in the request)
1. RF processor sends any message (may be polling message if not any message), application processor
sends back request message (REQ/RSP flag is 0).
2. RF processor sends response or ACK message (REQ/RSP flag is 1, message ID is the same as on
request)
NOTE: If the RF processor detects a valid incoming message from the application processor, it will keep
sending the STX character until it receives the complete message.
Clock polarity: 0 (data is captured on the first UCLK edge and changed on the following edge)
Clock phase: 0 (data is captured on the first UCLK edge and changed on the following edge)
The Most Significant Bit is transmitted first in the byte. The data is latched on the rising edge of SCLK.
EVENTS
WiredHART
Stack
API API USER
API
WirelessHART Handler Handler APP
Stack
SRV BURSTS
WiredHARTStack and WirelessHARTStack both reside on the Nivis VN220/VN310 radio, including
all HART (wired and wireless) OSI levels.
API Handler– this module processes the API, STACK, USER BOARD messages.
DRM/SRV modules are implementing the delayed response mechanism used for some HART
commands and the bandwidth handling.
Most commands are processed on the radio module; commands related to device variables and
bursts are forwarded via API to the application processor for processing. The application processor
sends the API response to the radio; it will be further sent on wired/RF interface, depending on the
request’s source.
Important: For information about which module (VN220/VN310 processor or application processor)
is responsible to decode and respond to a certain command, please refer to Annex A.
DVs/Bursts modules. The DV module defines and handles the user defined device variables. The
Burst module keeps burst related data and handles publishing device variables according to the
HART specifications
Note: The Full API version available with Nivis WirelessHART v1.5.x does not have support for
event notifications generated by the application processor. This will be a future enhancement of
Nivis WirelessHART v2.0 solution.
the Req/Rsp flag from the Message Header must be 1 (See section API Message Format)
the Message ID field is the same as in the request
the message class may be ACK/NACK
Data Size 1 The number of data bytes in the message (without the CRC field)
The STX is a special character that indicates the start of a new packet. The sender is allowed to abort the
current packet and start a new packet by sending the STX in the middle of a packet. Therefore, the packet
data needs to be protected if it contains any STX character. The escape character CHX is used for this
purpose.
Note: The CRC field is calculated based on the un-escaped packet data.
All packet characters including the CRC field (excluding the STX field) will be escaped with the escape
character CHX, i.e. if any of the characters in the packet is:
STX (0xF1): It will be replaced with two characters: 0xF2 (CHX) and 0x0E (1’s complement of 0xF1),
CHX (0xF2):It will be replaced with two characters: CHX (0xF2) and 0x0D (1’s complement of 0xF2).
In other words, whenever the receiver receives a CHX character, it should discard it and the next character
is 1’s complemented.
Command Direction:
3.3.1.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0x00
3.3.1.2 Response
Field Size (Bytes) Values Comments
Data Size 1 2
Data 2 Processor Type MSB first
0x0000 - MSP430
0x0001 - HCS08
0x0002 - ARM7
0x0003 - ARM9
3.3.2.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0x00
3.3.3.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 0
3.3.3.2 Response
Field Size Values Comments
(Bytes)
Data Size 1 2
Data 2 API buffer size in bytes MSB first
3.3.4.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 0
3.3.4.2 Response
Field Size Values Comments
(Bytes)
Data Size 1 0 or 1
Data 1 1 – N/A The minimum speed
2 – N/A for VN220/VN310 is
3 – N/A 100kHz
4 – 100 kHz
5 – 200 kHz
6 – 250 kHz
7 – 500 kHz
8 – 1 MHz
9 – 2 MHz
3.3.5.2 Response
ACK – if the request is accepted. The SPI clock speed is changed immediately and the ACK is sent at the
new clock speed.
3.3.6.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 0
3.3.6.2 Response
Field Size Values Comments
(Bytes)
Data Size 1 1
Data 1 1 – 9600 3 is default
2 – 19200 (38400)
3 – 38400
4 – 115200
3.3.7.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 1
Data 1 1 – 9600
2 – 19200
3 – 38400
4 – 115200
3.3.8.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 1
Data 1 1 – Not used 4 is default
2 – Not used This command is used only in the SPI Non Wakeup
3 – Not used solution.
4 – 500 ms
5–1s
6 – 60 s
3.3.8.2 Response
ACK – if the request is accepted.
In the SPI non wake-up solution, this message is sent 250ms after sending a request message or at every
API_HEARTBEAT_FREQ (default 500ms) period to check whether the application processor has a
message to send.
Note: Please note that the application processor can send its message during the reception of any message
(not necessarily an API_HEARTBEAT message) from the radio modem processor.
If the radio modem processor detects an incoming message (start byte STX) during the transmission of any
message, it will read it by sending STX bytes, if required, after sending the current message.
You can find the list with corresponding maximum RF power output that will be used for each country code
in Annex B, at the end of this document. Note that this feature of variable RF power output is available only
for the VN310H radios. On VN220 radios the RF power output will be approximately +10dBm regardless of
the country code set.
3.3.10.1 Request
Field Size Values Comments
(Bytes)
Data Size 1 2 The country code is a 2-byte parameter
Data 2 country Country code value shall be compliant with ISO3166.
code
value
3.3.10.2 Response
ACK – if the request is accepted.
Remark: this command is available starting with the v2.1.1 VN radio firmware.
3.4.1.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0
3.4.1.2 Response
Field Size (Bytes) Values Comments
Data Size 1
Data 5 The 5-bytes ASN value All bytes in network order
3.4.2.1 Request
Field Size (Bytes) Values Comments
Data Size 1
Data 7 Generating Command Id – 2 All bytes in network order
bytes
Burst Message – 1 byte
Burst Period – 4 bytes
3.4.2.2 Response
Field Size (Bytes) Values Comments
Data Size 1
Data 3[/8] Command Id – 2 bytes All bytes in network order
Return code (might be
Delayed Response code)
[Burst Message – 1 byte]
[Burst Period – 4 bytes]
3.4.3.2 Response
ACK – if there are no errors in the request packet.
3.4.4.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0
3.4.4.2 Response
ACK – if there are no errors in the request packet.
3.4.5.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0
3.4.5.2 Response
Field Size (Bytes) Values Comments
Data Size 1 2
Data 3 Number of Device Variables All bytes in network order
Number of Burst Channels
Number of Event Channels
3.4.6.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0
3.4.6.2 Response
ACK – if there are no errors in the request packet.
This message is used by the application processor to inform the Radio that a change in the Device Status
bytes occurred.
The Field Device Status Byte is a collection of bits which reflect a certain state of the Field Device. The More
Status Available (MSA) flag/bit is part of this byte. Please check the chapter 3.7.4 WHART Device Status
for more information.
If the MSA flag is set, it means that a condition/fault was detected in the AP. The condition/fault is given by
the Additional Status Bytes, defined by the WHART standard as follows [payload of WHART command 48]:
As a result, once the AP decided that its status changed, it should perform the following two actions:
- First, set the MSA bit within the Device Status, so that the Master is informed about the condition;
the Device Status byte is included in each User Board Message and is the first byte of this
command.
- Secondly, send to the Radio the current Additional Status Bytes [i.e. Device-Specific Status,
Extended Device Status, Standardised Status] with this specific Full API command, so that the
Radio contains the updated values
Please also check the Full API case diagrams at section 3.8.7 for more information on this functionality.
3.4.7.1 Request
Field Size (Bytes) Values Comments
Data Size 1
Data 26 AP Device Status Byte – 1 byte All bytes in network order. Cmd 48 Payload in
Cmd48 Payload - 25 bytes the above order [Byte 0 – first; Byte 24 - last]
3.4.7.2 Response
ACK – if there are no errors in the requested packet
It is recommended that, if there is no other condition/failure on the AP side, the AP also clears the MSA bit
upon reception of this command. If the AP continuously sets the MSA bit, bandwidth is decreased [because
the Master issues Command 48], which may lead to a latency in the network.
Please also check the Full API case diagrams at section 3.8.7 for more information on this functionality.
3.4.8.1 Request
Field Size (Bytes) Values Comments
Data Size 1 0
3.4.8.2 Response
ACK – if there are no errors in the requested packet
All those messages are issued by the application processor either as a response to a forwarded HART
command (DAQ_FW_WIRELESS) or as a published command (DAQ_BURST_PIPE_0 …
DAQ_BURST_PIPE_2).
The Field Device Status byte reflects both the Radio’s and AP’s status. Therefore, both processors must
have access to this status byte. The 2.1.3 version of the stack offers access to the Device Status byte [i.e. it
is included in the User Board message payload].
Please refer to the HART specifications in order to see the command’s request/response format.
3.5.1.1 Request
Field Size (Bytes) Values Comments
Data Size 1
Data Device Status Byte +Wireless As defined in HART Specs
Hart Command Request
3.5.1.2 Response
Field Size (Bytes) Values Comments
Data Size 1
Data Device Status Byte + Wireless As defined in HART Specs
Hart Command Response
3.5.2.1 Request
Field Size (Bytes) Values Comments
Data Size 1
Data Device Status Byte + Hart As defined in HART Specs
Command Response
3.5.2.2 Response
ACK
3.5.3.1 Request
Field Size (Bytes) Values Comments
Data Size 1
Data Device Status Byte
Wired Hart Command As defined in HART Specs
Request
3.5.3.2 Response
Field Size (Bytes) Values Comments
Data Size 1
Data Wired Hart Command As defined in HART Specs
Response
Based on the received ACK response, the receiver should remove the already sent API request message
identified by the ACK “Message ID” field and no retry mechanism must be applied for this request.
Note: The same diagram can be used in case the command 103 is received by the application processor
requesting a lower publish period. In that case, replace command 109 with command 103 in the following
diagram.
- Gateway initiates burst activation by sending Command 109 with burst mode "on" to the Field Device
(transition 1);
- VN forwards the command to the Application Processor through the API (transition 2);
- Application Processor sends a service request to the VN (transition 3). From now on the
VN220/VN310 will manage its service request retry and Delayed Response mechanisms, until it will
have received the service from Network Manager (transition 4);
- After receiving a DRInit code for the service request (transition 5) the Application Processor will
respond (through API forwarding) with a Delayed Response Initiated code (transition 6);
- Gateway will resend Command109, as long as a Delayed Response code (DRInit or DRRuning) is
received (transitions 8, 14);
- A new Command 109 request is received from Gateway (transition 14) and forwarded to the
Application Processor (transition 15);
- The Application Processor will send a new Service Request message which will be responded
successfully by the VN (transition 16). The success response from the VN is a consequence of
transition 4.4;
- The burst is actually activated on Application Processor and Command109 responded with Success
Code (transition 19, 20);
- The Application Processor starts sending burst messages using DAQ_BUST_PIPE messages.
API
Gateway VN AppProcessor NetworkMngr
3) SrvcReq
5) SrvcRsp - DRinit
10)SrvcReq
Field Device
API
Gateway VN AppProcessor NetworkMngr
6.1)SrvcDel
6.4) Delete
Srvc on radio
- Gateway initiates burst deactivation, by sending Command 109 with burst mode "off" (transition 1);
- VN forwards Command109 to the Application Processor through the API (transition 2);
- Burst is immediately deactivated on Application Processor, command 109 responded with Success
code (transitions 3, 4, 5) .After this, the Application processor will not send any burst messages ;
- Application Processor requests service deletion to VN (transition 6.1), which will forward the service
deletion request to the Network Manager (transition 6.2).
- The Network Manager will respond with success (transition 6.3) and the VN will delete the service
from the service list (transition 6.4).
Field Device
API
Gateway VN AppProcessor NetworkMngr
1) Notify Join
2) Initialize SrvcTask
for active bursts in
3.1) SrvcReq persistent memory
3.2) SrvcRsp
Yes
Service *Repeat steps 3,
OK 4 for a while
5) Add Srvc
No
Service
OK
5’) Disable burst
Yes
- If Application Processor wakes up with active bursts, it should start a Service Task, requesting
services for these bursts from VN, until they will have been granted by Network Manager (see 3.8.1
Burst Activation & Service Request );
- If by any reason this service allocation should fail, Application Processor should decide, after a while
the deactivation of the specific burst (transition 5’) or retry indefinitely.
- The Field Device Status is a collection of Status bits defined by the WHART standard as follows
[HCF_SPEC-99]:
Application
Gateway VN310 radio
Processor
CMD 38 Req
5
- This status bit shall be set every time the Field Device [Radio + AP] suffered a configuration
modification.
- When the Radio sends the response to the Gateway master, the Device Status byte reflects both the
Radio and AP statuses
- In order for the Configuration Changed status flag to be reset, the Master [Gateway in this example]
shall send WHART command 38 to the Field Device. For the FULL API flavour, this command is
executed by the Radio, which is correct, since it has the Device Status from the AP. If the Master
does not send command 38, then the Configuration Changed status bit is not reset by the Radio.
- The AP processor shall clear the Configuration Changed bit after sending the Device Status
to the Radio. This operation is needed in order to avoid an erroneous incrementation of the
Configuration Changed counter [handled by the Radio] at the next transaction.
- According to the WHART requirements, there are multiple WHART commands that, on execution,
should also set the Configuration Changed status bit, to signal that the device’s configuration was
changed. For example, WHART commands that set-up a burst message [CMD103, 104, 107, 108,
109] shall set this status bit. For the complete list of commands, please refer to the WHART spec.
- For more information regarding the Configuration Changed bit and counter , as well as WHART
command 38, please check the HCD_SPEC-127 document.
3.8.6 Device Status: More Status Available (MSA) flag handled by the Radio
- As a result, when the Radio wants to clear the MSA bit [i.e. condition disappeared], only the flag
associated with the Radio’s Device Status byte is reset.
- The Radio shall ask for the Service Request to the NM, so the Radio shall set
the MoreStatusAvailable (MSA) flag within the DeviceStatus byte
- In addition, the Radio shall set the “Bandwidth AllocationPending” flag within - Because the AP executed CMD109, the Configuration Changed flag is set
1 2
the StandardisedStatus3 byte - Send the response via FULL API
- The MSA bit will be reset if (CMD48 is issued by the Master) or (the
“Bandwidth AllocationPending” condition disappears)
- Read the AP DevStatus byte; ConfigChanged bit is set => increment the
ConfigChanged counter - The status bits are maintained by the Field Device for each Master [Gateway,
4
3 - The current DevStatus byte value = Radio DevStatus + AP DevStatus Network Manager, Maintenance Port]
- Send the response to the Gateway together with the current DevStatus
- Since most WHART Masters issue command 48 [Read Additional Device Status] when the MSA flag
is set, thus decreasing available communication bandwidth, the designers of the Filed Device must
carefully consider which diagnostics must set this Device Status flag.
- There are two methods to clear the MSA bit on the App Processor side:
Application
Gateway VN310 radio
Processor
Request : CMD48
- The CMD48 response payload reflects both the Radio and AP Device Status
- After the AP sets the MSA bit, it shall send a request to the Radio which bytes.
contains the additional device status bytes that are managed by the AP - If there is a match between the Request and Response payloads of CMD 48,
3 - If the Radio correctly receives this request, it will update the current 4
then the Radio resets the MSA flag.
DeviceStatus bytes [this data will be sent to the Master] and send an ACK on - The AP must be notified by this action, so after the MSA flag is cleared, the
FULL API interface Radio shall send the ClearMSA request via FULL API interface.
- The AP is informed that the MSA bit was cleared, which means that the
Master received the actual Status Bytes and, therefore, knows about the
5 current conditions of the Field Device.
- It is recommended that, upon receiving this command, the AP clears its
internal MSA bit if no other change occurred
- The new value of the AP’s Status Byte is received by the Radio, which then, on behalf of AP, informs
the Master about the current Field Device Status.
- It is the AP’s responsibility to send to the Radio the latest values of the additional status bytes via the
Stack Specific command “HART_WRITE_ADDITIONAL_DEVICE_STATUS”
- When the Master issues command 48, the Radio returns also the Additional Device Status Bytes
received from the AP
- If the MSA flag is cleared upon reception of Command 48, the Radio notifies the AP about this using
the HART_CLEAR_MSA Stack Specific command.
Application
Gateway VN310 radio
Processor
- After the AP sets the MSA bit, it shall send a request to the Radio which
contains the additional device status bytes that are managed by the AP
3 - If the Radio correctly receives this request, it will update the current 4 - When all the defects/conditions disappeared, the AP shall clear the MSA bit.
DeviceStatus bytes [this data will be sent to the Master] and send an ACK on
FULL API interface
- After the AP clears the MSA bit, it shall send a request to the Radio which
contains the values of the additional device status bytes that are managed by
- The Radio reads the AP Device Status and clears the MSA bit. the AP [i.e. defects disappeared so the updated values must be sent]
5 6 - If the Radio correctly receives this request, it will update the current
- The Master received the updated Device Status byte.
DeviceStatus bytes [this data will be sent to the Master] and send an ACK on
FULL API interface
- It may happen that, even if the MSA status bit is set, the Master does not acknowledge it by issuing
Command 48;
- If the MSA bit was set and if the AP does not have the fault/condition anymore [i.e. the EEPROM
error disappeared], the AP must clear the associated flag within the Additional Device Status Bytes
and, in addition, it must also reset the MSA bit if all faults have disappeared.
Message ID 1 8B MessageID
4.1.2 Response
Field Size Values Comments
(Bytes)
STX 1 0xF1 This is the start character for every message.
Message 1 78 USER_BOARD Response
Header
Message 1 01 DAQ_FW_WIRELESS
Type
Message ID 1 8B MessageID
meaning:
40 - Device Status
69 - Command Id
01- Byte Count
00 – Burst Message
meaning:
69 - Command Id
1e - Byte Count
00 - Response Code
And command data:
02 - Burst Mode (enabled)
1f - Command Number
f6 f5 f4 f7 f5 f4 f7 f6 – Burst Variables
00 – Burst Message
03 – Maximum number of burst messages supported by the device
00 09 – Extended Command Number
00 03 e8 00 – Update Time (=8 sec)
06 dd d0 00 – Maximum Update Time (=3600 sec)
00 – Burst Trigger Mode (=Continuous Mode)
40 – Device Variable Classification for Trigger ( = Temperature)
20 – Units Code (= Degrees Celsius)
41 e8 00 00 – Trigger Value (=29)
In general, the VersaNode forwards to the application processor all device specific and variable related
commands, whether mandatory or not. The implementation of such commands will be the decision of the
application processor’s implementer.
All the commands can be executed on both Wireless and maintenance (wired) interfaces. The VersaNode
will forward to the application processor the commands received on the maintenance port that are
application processor’s responsibility.