IEEE 1588 Precision Time Protocol standard (PTP). Therefore, EtherCAT does not require special hardware in the master device and can be implemented in software on any standard Ethernet MAC, even without dedicated communication coprocessor. The typical process of establishing a distributed clock is initiated by the master by sending a broadcast to all slaves to a certain address. Upon reception of this message, all slaves will latch the value of their internal clock twice, once when the message is received and once when it returns (remember EtherCAT has a ring topology). The master can then read all latched values and calculate the delay for each slave. This process can be repeated as many times as required to reduce jitter and average out values. Total delays are calculated for each slave depending on their position in the slave-ring and will be uploaded to an offset register. Finally the master issues a broadcast readwrite on the system clock, which will make the first slave the reference clock and forcing all other slaves to set their internal clock appropriately with the now known offset. To keep the clocks synchronised after initialization, the master or slave must regularly send out the broadcast again to counter any effects of speed difference between the internal clocks of each slave. Each slave should adjust the speed of their internal clock or implement an internal correction mechanism whenever they have to adjust. The system clock is specified as a 64 bit counter with a base unit of 1ns starting at January 1, 2000, 0:00. Diagnosis The fast, precise detection of disturbances is one of many diagnostic features of EtherCAT. Bit errors during transmission are detected reliably by the analysis of the CRC check sum: the 32 bit CRC polynomial has a minimum Hamming distance of 4. Besides the error detection and localization protocol, the transmission physics and topology of the EtherCAT system allow individual quality monitoring of every single transmission path. The automated analysis of the according error counters enables the exact localization of critical network segments. More info to follow in the chapter titled "Monitoring". Device Profiles The device profiles describe the application parameters and functional behavior of the devices, including device-specific state machines. The following software interfaces are provided for existing device profiles. Thus, the migration to EtherCAT by adjusting the firmware and the hardware is simplified significantly. CAN application protocol over EtherCAT (CoE) CANopen devices