Documentation Home Page RT-XSG Toolbox Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

ORION Low Speed Serial Communication Block Interface


Note that ORION is an acronym for OPAL Remote IO Network.

Block

Block

Mask

Mask

Description

The Opal Remote IO Network (ORION) Block is a link-layer protocol for low-speed serial communication medium using Manchester (IEEE802.3) encoding scheme. The block provides a user interface from which designer can develop serial link.

Parameters

General Settings

Sample PeriodNon-modifiable parameter. 
Enable Flash Update Capabilities

When enabled, a Sideband channel ports will be provided to implement the Flash Update capabilities (Remote Flash Update of FPGA bitstream)

  • Flash Update Channel ID: Specify the Flash Update Channel ID when multiple instances of the block is used.
Enable Sideband Channel for initialization parametersWhen enabled, Sideband channel ports are provided to implement the capabilities to download initialization configuration parameters.
Provide Status portsProvides communication block status ports.
Remove Command Header Field from OutputWhen enabled, it removes the command header field from the output data stream.

Inputs

serial_datainManchester encoded serail data input.
PrimaryChValidInWhen high indicates that the data present on port PrimaryChDataIn is valid when PrimaryChReady is also high.
PrimaryChDataInHolds 16 bits of outgoing data.
PrimaryChLastInIndicates the last data in the protocol frame. Signals the end of a frame (Active High).

Optional Port

These ports are available only when Enable Sideband Channel for initialization parameters option is checked.

SidebandChValidInWhen high indicates that the data present on port SidebancChDataIn is valid when SidebandChReady is also high.
SidebandChDataInHolds 16 bits outgoing configuration data.
SidebandChLastInIndicates the last data in the protocol frame. Signals the end of a frame (Active High)

Outputs

serial_dataoutManchester encoded serial data output
PrimaryChReadyIndicates the communication block is ready to accept incoming data. The block accepts data when both PrimaryChValidIn and PrimaryChReady are asserted high.
PrimaryChValidOutIndicates that the data present on port PrimaryChDataOut is valid.
PrimaryChDataOutHolds the incoming data from the channel partner.
PrimaryChLastOutIndicates the last data of the frame

Optional Ports

These ports are available only when Enable Sideband Channel for initialization parameters option is checked.

SidebancChReadyIndicates the communication block is ready to accept incoming data. The block accept data when both SidebandChValidIn and SidebandChReady are asserted high.
SidebandChValidOutIndicates that the data present on port SidebandChDataOut is valid.
SidebandChDataOutHolds the incoming data from the channel partner.
SidebandChLastOutIndicates the last data of the frame.

These ports are available only when Provide Status Ports option is checked.

CRC_ERRORStatus port indicating that the communication block has detected a CRC error.
COMM_LOSTStatus port indicating a loss of communication between link partner. A communication is considered lost if the block did not detect the transition of the serial input data over a certain period of time.
WATCHDOG_ERRORStatus port indicating an error caused by a non-periodic reception of a message.

Block Handshaking

Transmitting Data

The ORION Communication Block is a synchronous interface. The Block samples the data on the interface only on the positive edge of USER_CLK, and only on the cycles when both PrimaryChValidIn and PrimaryChReady are asserted (High).

Typical Transaction on the transmit interface.

Typical Transaction on the transmit interface

When the signals are sampled, they are only considered valid if PrimaryChValidIn and PrimaryChReady are asserted high. The user application can de-assert PrimaryChValidIn on any clock cycle; this causes the ORION block to ignore the input data for that cycle. 

Typical Transaction on the transmit interface with throttling.

Typical Transaction on the transmit interface with throttling

To end the data transfer, the user asserts PrimaryChLastIn. The transaction ends when PrimaryChLastIn, PrimaryChValidIn and PrimaryChReady are all asserted high.



Note: The same principle applies to the Sideband Channel (SidebandChValidIn, SidebandChLastIn, SidebandChDataIn)



Receiving Data

The ORION block asserts the signal PrimaryChValidOut when the incoming data presents on PrimaryChDataOut bus is valid on the user interface. Applications should ignore any values on the receiving ports sampled while the valid flags (PrimaryChValidOut) are deasserted (Low).

The ORION Communication block has a CRC checker mechanism to verify the validity of the data stream. Consequently, there is a latency of 1 frame since the block needs to receive the complete frame and verify the CRC before putting all the data on its output ports.

Typical Transaction of the receiving interface.

Typical Transaction of the receiving interface



Note: The same principle applies to the Sideband Channel (SidebandChValidOut, SidebandChLastOut, SidebandChDataOut).



Characteristics and Limitations

This Block has no specific characteristics or limitations

Direct FeedthroughN/A
Discrete sample timeN/A
XHP supportN/A
Work offlineYES

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter