2.2 PLCA Configuration Process - Revision D0 and later

Under normal operation, the device should be operated in PLCA mode.

Enabling PLCA

When using PLCA, the node with the Node_ID 0 is called the PLCA coordinator. For the PLCA coordinator, the number of transmit opportunities, which is the maximum Node_ID used in the mixing segment plus 1, must be written into the PLCA Control 1 (PLCA_CTRL1, Address = 0xCA02) register.

Nodes with IDs ranging between 1 and 0xFE are called PLCA followers. These nodes only require their Node_ID to be written into the field of PLCA_CTRL1.

Once the number of transmit opportunities and Node_ID have been written, enable PLCA by writing a ‘1’ into the PLCA Enable (EN) bit in the PLCA Control 0 (PLCA_CTRL0, Address = 0xCA01) register.

The following code configures the device as either a PLCA coordinator or PLCA follower depending on the device's corresponding Node ID.

uint8 Node_ID
uint8 Node_Count
uint16 plcaparam1
Node_Count = MAX_NODE_ID + 1
if(Node_ID == 0)
{
     plcaparam1 = (uint16)(Node_Count << 8)
}
else
{
     plcaparam1 = (uint16) Node_ID
}

When using PLCA, it is also recommended to allow the PLCA status to determine whether collision detect is enabled or not. This can be done by writing a ‘1’ into the Collision Detection Auto Disable (CDAD) bit of the Collision Detection Control 0 (CDCTL0, Address = 0x0087) register. In this mode collision detection is automatically disabled in PLCA Status is true and automatically enabled in CSMA/CD mode when PLCA Status is false. This setting provides the best performance in noise environments in PLCA mode but ensures proper operation in CSMA/CD mode.

CAUTION:

When writing to CDCTL0, use a read-modify- write operation to avoid accidental modifications to reserved fields.

This sequence is summarized in Table 2-2.

Table 2-2. PLCA Configuration Register Writes
AccessMMDAddressValue
W0x1F0xCA02 (PLCA_CTRL1)plcaparam1
W0x1F0xCA01 (PLCA_CTRL0)0x8000
R0x1F0x0087 (CDCTL0)CDCTL0_TEMP
W0x1F0x0087 (CDCTL0)CDCTL0_TEMP | 0x0200

Disabling PLCA

In some cases, it may be desired to force the device to remain in CSMA/CD mode. To do this, disable PLCA in the PLCA_CTRL0 register. Collision detect should be enabled by setting the Collision Detect Enable (CDEN) of the CDCTL register.

Table 2-3. Return to CSMA/CD from PLCA
AccessMMDAddressValue
R0x1F0x0087 (CDCTL0)CDCTL0_TEMP
W0x1F0x0087 (CDCTL0)CDCTL0_TEMP | (0x0200)
W0x1F0xCA01 (PLCA_CTRL0)0x0000