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.
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.
| Access | MMD | Address | Value |
|---|---|---|---|
| W | 0x1F | 0xCA02 (PLCA_CTRL1) | plcaparam1 |
| W | 0x1F | 0xCA01 (PLCA_CTRL0) | 0x8000 |
| R | 0x1F | 0x0087 (CDCTL0) | CDCTL0_TEMP |
| W | 0x1F | 0x0087 (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.
| Access | MMD | Address | Value |
|---|---|---|---|
| R | 0x1F | 0x0087 (CDCTL0) | CDCTL0_TEMP |
| W | 0x1F | 0x0087 (CDCTL0) | CDCTL0_TEMP | (0x0200) |
| W | 0x1F | 0xCA01 (PLCA_CTRL0) | 0x0000 |
