Logo
UNICENS V2.3.0-4567
User Manual and API Reference
Static Connections

Introduction

Static Connections have been implemented to enable features like Early Audio, eCall and Fallback scenarios. Like it can be seen in the picture below, static connections can only use the proxy channel for data transmission and therefore define there transmission data with a static connection label. The following page describes how static connections can be used and how the system has to be set up for it.

StaticConnection.jpg

Basics

Default Created Endpoint

Default Created Endpoints are defined in the INICs config string. The build of these endpoints is triggered when the predefined network status occurs (e.g network startup, network fallback). Since they are built without usage of the XRM module they do not require a XRM job list. How ever the connection label specified in the config string has to be set as additional parameter in the route structure, if the route is built between a default created endpoint and a conventional one. How the endpoint description looks like can be seen in the example below.

Proxy Channel

The Proxy Channel is a reserved area in the network bandwidth and can be used for streaming transmission. To allocate this area for proxy channel usage, the corresponding bandwidth has to be set in the UNICENS initialization structure. The reservation is executed by the INIC (TimingMaster) on network startup. Within this reserved area, connection labels can be mapped to individual frame bytes.

The correct frame byte mapping is in the responsibility of the system integrator and must be done according to the following rules:

  • The frame bytes must be consecutive - a gap in-between the frame bytes is not allowed
  • The connection label value denotes the highest index of the frame bytes used

Static Connection Labels

Static Connection Labels are used for static routes and defined to use the proxy channel for data transfer. Note that the highest bit of the connection label defines it as static. By that, valid labels reach from 0x800C to 0x817F for a 150 Mbit system and from 0x800C to 0x807F for 50Mbit systems. Allocated bandwidth in the proxy channel must be consecutive and the connection label value denotes the highest index of the frame bytes used. Since that, the address of the connection label has to be chosen high enough in order the following bytes also fit in the allocated channel area.

ProxyChannel.jpg

Use Cases and Implementation

Static Connections in Normal Operation Mode

The first step to get use of the proxy channel is to set the reserved proxy channel bandwidth. This is done in the initialization structure:

int main()
{
/*... */
init_data.supv.proxy_channel_bw = 30U; /* Reserved proxy channel bandwidth */
/*... */
}

The next step is to define the routes setup. To use the before reserved bandwidth the corresponding connection label has to be set in the route structure. Also note if a default created endpoint is used no job list is required and the endpoint type has to be set to an default created type.

Ucs_Rm_EndPoint_t SinkEndpointForRoute = {
UCS_RM_EP_SINK, /* Normal endpoint */
SnkOfRoute_JobList, /* Job list required */
&Nodes[0],
};
Ucs_Rm_EndPoint_t SourceEndpointForRoute = {
UCS_RM_EP_DC_SOURCE, /* Default created endpoint */
NULL, /* No job list required */
&Nodes[1],
};
Ucs_Rm_Route_t Route = {
&SourceEndpointForRoute,
&SinkEndpointForRoute,
1, /* Route active */
0x0066,
{0}, /* ATD disabled */
{0x8013, 0} /* Static Connection Label set */
};

Static Connections in Fallback Mode

Fallback mode does not support the use of normal connections however the use of static connections. The proxy channel bandwidth is automatically set to the highest possible value when Fallback mode is entered and no allocation has to be done manually at the initialization. Since communication is limited in Fallback mode the XRM module is not able to trigger the build of resources in remote nodes. Therefore all remote endpoints have to be from type default created and have the Auto-Build Trigger set to NetworkFallback. Additional the Fallback enable flag has to be set in the route structure, which will trigger the build of local resources only when the network is in Fallback mode.

BuildConfig_Fallback.JPG
Ucs_Rm_EndPoint_t SinkEndpointForRoute = {
UCS_RM_EP_SINK, /* Normal endpoint */
SnkOfRoute_JobList, /* Job list required */
&Nodes[0],
};
Ucs_Rm_EndPoint_t SourceEndpointForRoute = {
UCS_RM_EP_DC_SOURCE, /* Default created endpoint */
NULL, /* No job list required */
&Nodes[1],
};
Ucs_Rm_Route_t Route = {
&SourceEndpointForRoute,
&SinkEndpointForRoute,
1, /* Route active */
0x0066,
{0}, /* ATD disabled */
{0x8013, 1} /* Fallback enabled, static Connection Label set */
};

Limitations

There are some restrictions of using default created routes:

  • If the route only consists of default created endpoints, neither endpoint nor route structure has to be created in the setup.
  • If the route consists of one default created endpoint and one created by the resource manager, the route description has to be placed in the setup and the one endpoint signed as default created.
  • The routing management gets no feedback if an default created endpoint was built. The locally built endpoint will just read or write to the corresponding connection label. It's up to the network integrator to set up the default created endpoints correctly.