Mobile QR Code QR CODE

  1. (School of Electrical and Electronic Engineering, Universiti Sains Malaysia, 14300, Penang, Malaysia ju.han.goh@intel.com)
  2. (School of Electrical and Electronic Engineering, Universiti Sains Malaysia, 14300, Penang, Malaysia khairiishak@usm.my )



IEEE1588-2008, PTP, Time-triggered, MATLAB, FPGA, Spartan 3E

1. Introduction

The time-triggered embedded system has been proliferating in system-wide synchronization [1]. Time synchronization has become an important topic in network-embedded systems. Furthermore, the integrated real-time device design has two architecture methods: event-triggered (ET) and time-triggered (TT) systems. The Event-triggered system is unpredictable and responds to the incidence of asynchronous system events. Moreover, an external interrupt is the prime criterion needed to fulfill the ET system.

On the other hand, the TT system is asymmetrical to the ET system. The TT system is predictable and will only react at a specific occurrence or event determined before the system. Furthermore, the TT system only has one interrupt used to drive the scheduler and is a controlled sequence to obtain only a single event handle at one time [2].

In a real-time application, the communication time, processing time, and deterministic play a vital role in a time-triggered system to ensure that the application reacts precisely to the system and functions correctly. Furthermore, to achieve synchronization precision and accuracy, this paper proposes the IEEE 1588 protocol to enhance the communication between the hardware and Ethernet standards. Moreover, the IEEE 1588-2008 protocol has hardware timestamping features implemented. Hardware timestamping is a clock that timestamps a packet when it arrives, and there is no software delay in the timestamp. In the IEEE 1588-2008 protocol, the hardware timestamping feature became the key to the protocol and was implemented into transparent clocks and boundary clocks by exchanging messages between the master clock and slave clock to achieve higher accuracy in synchronization [3]. Furthermore, the IEEE 1588-2008 protocol, which is regarded as the Precision Time Protocol (PTP), is the Network Time Protocol (NTP)-based improvement protocol to address the NTP shortcomings and provide a reasonable level of network transmission timing and synchronization [4]. Moreover, PTP is used widely in measurement and control systems in industrial automation, communication, and other technology areas [5]. Furthermore, the IEEE 1588-2008 protocol positively guarantees timing accuracy within the sub-microsecond range between the master and slave clocks.

This paper introduces the IEEE 1588-2008 protocol with a TT system on practical implementation on FPGA hardware. Once the practical hardware has been established, the performance of the IEEE 1588-2008 protocol on the FPGA is evaluated. Moreover, this study also utilizes the Ethernet Media data exchange to achieves the precise time synchronization of PTP [5]. The offset value of the time stamping of the master clocks can be determined based on the timestamping of the PTP packet packets Sync Message, Follow up Message, Delay-Rep and Delay-Resp, and Synchronization.

In addition, the proposed Ethernet communication IEEE 1588-2008 protocol on the FPGA board enhances the precision synchronization compared to the other Ethernet standards in the Time-triggered system. Moreover, the approach of the IEEE 1588-2008 protocol on Time-triggered embedded Ethernet has the advantage of using the Ethernet as standard, and there is no need for extra synclines. Furthermore, it can have a robust setup against topology changes, master failure and automatic master selection. Moreover, this work also increases the accuracy or reduces the delay instead of standard software synchronization. The proposed system can be applied to real-life applications using the IEEE 1588-2008 protocol for synchronizing communication models, such as the communication in robotics between the sensors and actuators [6, 7]. In addition, this system can also be used to communicate with different nodes for effective communication and precise synchronization. The related studies of the IEEE 1588-2008 protocol with FPGA are discussed in the following section.

2. Related Studies

According to [8], the implementation of IEEE 1588 to FPGA shows improved synchronization accuracy by eliminating the delay jitter method. FPGA is included in the hardware architecture to catch the timestamps and detect PTP communications, and the ARM processor is used as the processing core. The project is also executed on a Linux operating system to handle the synchronization and offset value estimation operation. Clock synchronization of the master and slave using IEEE 1588 with a clock correction was proposed in [9]. The clock correction features included a self-correction and collaborative correction. This approach shows that the clock model-based collaborative correction can maintain the PTP accuracy within 10 ${\times}$10$^{-6}$ seconds in a 10 min prolonged period after the Master failure on the synchronization.

In reference [10], the project was implemented on cyclone II FPGA with IEEE 1588. Furthermore, the stamping PTP message was implemented on PHY to achieve high precision time synchronization of IEEE 1588. Moreover, the MAC and PHY layer communication used Media Independent Interface (MII) with hardware ``DM9000 + LXT971A''. In addition, a state machine method one-hot code was used for the MII module between the MAC and PHY layers. The state machine included IDLE, PREAMBLE, SFD, UDP, PTP, and SEQUENCEID.

According to [4], a new architecture for IEEE 1588 synchronization on FPGA is suggested to minimize the expensive components such as a high-end microcontroller or dedicated IEEE 1588 network hardware. In comparison, FPGA and short broadcast frames are introduced to a massively distributed device to decrease the CPU power and transmit bandwidth efficiently. In addition, to synchronize the network, the LVDS transmission line is proposed in a short frame solution.

The FPGA-based implementation of PTP will eradicate the jitter problems and Ethernet latency through hardware timestamping, based on reference [6]. In addition, 10-100 ns precision is achievable using an FPGA-based platform. In comparison, Altera-based FPGA is the proposed FPGA-based platform. In VHDL, a hardware timestamp is introduced, and a soft NIOS processor is required to write the stack of PTP protocols. In addition, utilizing VHDL or Verilog, the FPGA-based platform shows that the accuracy between Mater and Slave PTP is accomplished with high precision. Owing to zero jitter and the high accuracy of having a Timestamp meaning, the PTP protocol's Follow Up Message does not need to be enforced in this document.

Furthermore, research from [7] used SynUTC technology and IEEE 1588 to introduce the synchronization of high-precision clocks over Ethernet networks. A high-precision distribution of GPS time and time synchronization of network nodes connected via standard Ethernet LANs was provided by SynUTC (Synchronized Universal Time Coordinated) technology. In addition, to manage the packet latency uncertainties for high precision clock synchronization, an Ethernet switch is required. Reference [8], proposed the enabling distribution of the IEEE 1588 protocol using an Ethernet switch to bridge multiple networking segments between all nodes. Moreover, the switch served as a master to connect all the nodes by implementing the boundary and transparent clock theory.

In reference [9], the project implemented IEEE1588v2 protocol clock synchronization using FPGA and ARM to improve synchronization accuracy. The method proposed generating hardware timestamping in the MAC layer to enhance the synchronization system's accessibility and diversity. On the other hand, the research can be optimized further with software implementation to simulate the MAC layer's timestamping and compare the data collection between hardware and software implementation.

According to reference [10], the research implemented hardware-assist circuitry to enhance the precision synchronization of the clocks and construct the protocol stack on the control platform of DP83640 in the FPGA-based MAC Layer. Furthermore, the synchronization system uses the data acquisition card to collect and transfer data from the physical layer to the application layer. This research paper uses external hardware as an Ethernet receiver to deal with the timestamping of the PTP messages. Reference [16] provided details of the IEEE 1588 standard used to synchronize the independent clocks running on separate nodes of a distributed measurement and control system to achieve a high degree of accuracy and precision. Furthermore, the research introduces the IEEE 1588 synchronization process in the FPGA board using the NIOS II system to perform data collection. On the other hand, the data collection can be optimized using software data collection compared to an oscilloscope.

Fig. 1. Block Diagram of the Methodology flow.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig1.png

Fig. 2. Embedded Ethernet Flow Map of Growth.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig2.png

Previous studies showed the advantages and IEEE 1588 protocol implementation strategies in different areas. Moreover, the researchers showed the procedure capable of achieving high Ethernet time synchronization precision. Furthermore, most studies were implemented with an event-triggered system or a Linux system link. In this project, the IEEE 1588 was implemented using a time-triggered system. In addition, the time-triggered system could predict and set the requirement to the system without using a Linux system. The cost of hardware implementation was lower than in previous studies.

3. Methodology

The project covers two parts of the methodology: software and hardware implementation, as illustrated in Fig. 1. The Xilinx Spartan 3E FPGA Starter Kit Board and Ethernet switch were employed. Furthermore, the RJ-45 Ethernet adapter and the 83C185 10/100 Ethernet Physical Layer (PHY) SMSC LAN were used to link the FPGA board and Ethernet switch. Moreover, one Ethernet switch and two Spartan 3E FPGA boards were used for the proposed assembly. One of the FPGA boards was configured as the Master Clock, and the Slave Clock was programmed as the second FPGA board. On the other side, an Ethernet switch served as the Master Clock and Slave Clock contact bridge.

In addition, the embedded ethernet emulation was simulated utilizing MATLAB Simulink tools. In MATLAB, the architecture was developed based on the Spartan 3E FPGA hardware implementation. In comparison, in MATLAB, the developmental characteristics required two network modules linked to a MAC controller. The network modules were connected using a virtual network cable.

3.1 Hardware Implementation

$\textbf{(A) Workflow for the Development of an Embedded Ethernet}$

The Spartan 3E FPGA board was chosen in this project due to the development of a platform that provides the lowest cost logic-optimized, full-featured platform and consumer-oriented application. Furthermore, the Spartan 3E FPGA used a Media Independent Interface (MII) as the standard interface to connect the Ethernet, which is suitable for this project. Fig. 2 shows the development of the embedded Ethernet on the Spartan 3E FPGA board. The Spartan 3E FPGA Board is compatible using Xilinx ISE 14.7 development tool for programming and synthesis design.

3.2 Ethernet IP Core

In this study, the Ethernet IP core for IEEE 1588 was sourced from Opencore and Opensource [17] and implemented into this system. Opencore is licensed under the GNU LGPL license, and IP is free to access. The IEEE 1588 IP used the current MAC feature of the PTP SW Protocol stack (PTPD). In addition, the Real-Time Clock (RTC) and Time Stamping (TSU) of the PTP event packets was also introduced by the IP heart [18].

3.3 Ethernet Controller

An Ethernet controller was set up to transmit and receive the packets. The controller used the ready RAM block and wrote it to the buffer descriptor for its function. Moreover, a buffer descriptor was used to monitor the addresses. Furthermore, the setting of modes and MAC addresses was controlled by the registers. The buffer descriptor can control the receiving and sending of packets. In addition, to enable them to receive and transmit, the mode register for transmitter (TX) and receiver (RX) bit needs to be set in order.

3.3.1 Frame Transmitting Process

Initially, the frame must be placed in the memory for the PTP packets to transmit the first frame. In comparison, the Ethernet MAC core was connected with 'TX Allow', with the packets written to the memory. The Tx BD bit was set to 1 for the TX enabling environment. Once the Ethernet MAC is allowed, the first buffer descriptor will be read. The Ethernet MAC will point to the related data and begin writing data to the internal FIFO (First-In-First-Out) after the descriptor is marked as ready. The buffer descriptor address was incremented after transmission, and the next descriptor was prepared, with the transmission state written to the buffer descriptor. The loop would also start again and return to the beginning if the next buffer descriptor is labeled ready.

3.3.2 Frame Receiving Process

The receive buffer descriptor was labeled as empty for the PTP packets to receive the first frame. First, the "RX Enable" bit was set to 1 to allow functionality to be received from the Ethernet. The Ethernet MAC continued to accept frames until the label was zero. The obtained state was inserted into the buffer descriptor after the frame had been received and placed into memory. Fig. 3 shows the physical setup of the embedded ethernet system.

$\textbf{(B) Work Plan for the Time Synchronization using IEEE 1588-2008 on Spartan 3E FPGA}$

After the embedded Ethernet design is established, the communication and synchronization process begins, as shown in Fig. 4. At the initiative of the project, both Spartan 3E FPGA boards are programmed with the Master clock and Slave clock setup. Both FPGA boards are assigned a dedicated IP address. The process is started when the Master clock is trying to sync with the Slave FPGA board. When the message sent from the Master clock to the Slave clock is not synchronized, the system will perform the synchronization on the Slave clock.

Fig. 3. Hardware practical setup for embedded Ethernet system.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig3.png

Fig. 4. Flow chart for hardware synchronization using IEEE 1588-2008 Time synchronization.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig4.png

Synchronization occurs by sending a sync message from the Master clock to the Slave clock. Moreover, the Master Clock sends a follow-up message to the Slave Clock. When the Slave Clock received the follow-up Message from the Master Clock, the machine uses Eq. (1) to measure and obtain ``Master to Slave Delay''.

(1)
$\textit{Master}\,\,to\,\,\textit{Salve}\,\,\textit{delay}=T_{\textit{master}\_ 1}-T_{\textit{slave}\_ 1}$

Next, the ``Master to Slave Delay'' value is registered, and a Delay Request (Delay$\_$Req) message is sent to the master clock by the slave clock. Once the master clock has sent the Delay$\_$Req message, the Delay Response (Delay$\_$Resp) message will be transmitted to the slave clock. The ``Slave to Master Delay'' will be measured by the machine using Eq. (2).

(2)
$\textit{Slave}\,\,to\,\,\textit{Master}\,\,\textit{delay}=T_{\textit{slave}\_ 2}-T_{\textit{master}\_ 2}$

The machine will measure the offset value for offset$\_$1 and offset$\_$2 using the ``Master to Slave Delay'' and ``Slave to Master Delay''. Furthermore, a comparison of the offset value is made to ensure that offset$\_$1 and offset$\_$2 are equal. Based on the IEEE 1588-2008 theory, the offset value can be calculated using Eqs. (3) and (4):

(3)
O f f s e t 1 = T s l a v e 1 T m a s t e r 1 M a s t e r    t o    S a l v e    D e l a y
(4)
O f f s e t 2 = T s l a v e 2 T m a s t e r 2 + S l a v e    t o    M a s t e r    D e l a y
(5)
When, $\textit{Offse}t_{1}=\textit{Offse}t_{2}$

The system is synchronized when the value of offset$\_$1 and offset$\_$ 2 are identical. Therefore, the Slave Clock is synchronized to the Master Clock. On the other hand, if the offset value is not identical, the system will return to the initial stage and perform the synchronization again based on the flow chart in Fig. 4 until the Slave Clock is synchronized. Fig. 5 shows the IEEE 1588-2008 synchronization process used to obtain the offset value.

$\textbf{(C) Setup of the FPGA Board}$

Both FPGA boards are programmed with a dedicated IP address and MAC address shown in the table below. Furthermore, the FPGA Board setup is connected, as shown in Fig. 3, and the IP address is assigned based on Table 1. Moreover, the Network Switch is preset to the IP address 192.168.1.1, and the subnet is 255.255.255.0.

Based on the synchronization of the PTP protocol, the Slave FPGA board will receive the Sync Message and Follow-Up Message from the Master FPGA board. Furthermore, the Slave FPGA board will send the Delay Req message to the Master FPGA board, and the Delay Resp message will be submitted to the Slave FPGA board by the Master FPGA board. Hence, the message is updated for the Slave FPGA board. The time synchronization result was recorded and shown in Section 4.

Table 1. Assigned IP addresses for the FPGA Board.

FPGA Board

IP Address

MAC Address

Master

192.168.1.44

00-18-3E-00-CB-EF

Slave

192.168.1.45

00-18-3E-00-AA-2D

Table 2. Time synchronization using NTP.

Communication of FPGA Board

Time synchronization (μs)

Master to Slave

2.34

Slave to Master

2.31

Fig. 5. IEEE 1588-2008 Synchronization process.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig5.png

3.4 Software Implementation

3.4.1 MATLAB Simulation

MATLAB R2015a was used to simulate the hardware implementation of the embedded Ethernet. The MATLAB-based graphical programming framework gave a robust block library in Simulink to build its simulation. The simulation is based on the MATLAB library's Ethernet LAN model to construct the embedded ethernet model for this project. The embedded ethernet simulation design uses two computers and is shared at 10Mbps, making it indistinguishable from the hardware implementation. The simulation design requires three significant blocks to complete the embedded ethernet model design: Application, MAC controller, and T-Junction. The consumer data model is used in the Application block. In addition, the MAC controller is used to dictate the shared channel of the device. The T-junction is used to link the network to the device.

4. Performance Evaluation

4.1 Time synchronization using Network Time Protocol (NTP)

Both Spartan 3E FPGA boards were programmed through ISE 14.7 using the USB A-B cable, and the time synchronization was captured and recorded in Table 2. Table 2 shows that the transmission from the Master FPGA board to the Slave FPGA board used was 2.34 μs, and the feedback synchronization time used was 2.31 μs.

4.2 Time Synchronization using PTP (IEEE 1588-2008)

The project applied the IEEE 1588-2008 protocol to the design of time synchronization after the embedded Ethernet was developed. The program was coded using Verilog programming languages. Next, the design utilization summary and time synchronization between the Master and Slave FPGA board of the project were recorded. Table 3 lists the synchronization between the Master and the Slave FPGA board. The time synchronization tests for four details dependent on the IEEE 1588-2008 protocol: Sync Message, Follow-up Message, Delay Req Message, and Delay Resp Message. In Table 3, the timeframe required for each knowledge is tabulated.

Table 4 lists the total time used for time synchronization between NTP and PTP. The result shows that the time used to synchronize the FPGA board was faster than NTP. Moreover, the PTP proved it was six times faster than NTP.

4.3 MATLAB Simulation with 2 node Ethernet Module

$\textbf{(A) Comparison between a uniform distribution and exponential distribution on the throughput }$ $\textbf{and channel utilization}$

$\textbf{a. Uniform Distribution}$

Fig. 6 shows the throughput of a uniform distribution in an embedded Ethernet simulation. The maximum throughput was approximately 700 kbps. Furthermore, the throughput unit was stationary after 40 seconds as the data transmission was completed. Fig. 7 shows the channel utilization of a uniform distribution in embedded Ethernet. The result shows that the channel utilization is 13.5 % for a uniform distribution.

Table 3. Time Synchronization using PTP.

Communication of FPGA Board

Time synchronization (μs)

Info

Master to Slave

0.0

Sync Message

Master to Slave

0.029

Follow up Message

Slave to Master

0.286

Delay_Req_Message

Master to Slave

0.515

Delay_Resp_Message

Table 4. Total time used for time synchronization between NTP and PTP.

Protocol

Total time used for Time synchronization between the Master and Slave μs

NTP

4.65

PTP

0.83

Fig. 6. Uniform distribution for the throughput (kbps).

../../Resources/ieie/IEIESPC.2021.10.5.431/fig6.png

Fig. 7. Uniform distribution for Channel Utilization.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig7.png

Fig. 8. Exponential distribution for throughput (kbps).

../../Resources/ieie/IEIESPC.2021.10.5.431/fig8.png

Fig. 9. Exponential distribution for Channel Utilization.

../../Resources/ieie/IEIESPC.2021.10.5.431/fig9.png

Table 5. Time Synchronization between the Uniform and Exponential distribution.

Distribution

Ethernet Communication

Time synchronization (μs)

Uniform

Transmitter (TX)

2.834

Receiver (RX)

1.502

Exponential

Transmitter (TX)

2.668

Receiver (RX)

1.334

$\textbf{b. Exponential Distribution}$

Fig. 8 shows the throughput of the exponential distribution in the embedded Ethernet simulation. The maximum throughput was approximately 18 kbps. Furthermore, the throughput unit was stationary after 1.5 seconds as the data completed the transmission. Fig. 9 shows the channel utilization of exponential distribution in embedded Ethernet. The channel utilization was 1.8 % for the exponential distribution.

Table 5 lists the time synchronization between a uniform distribution and exponential distribution. The time synchronization for the transmitter and the receiver time for both distributions were similar because the design was simulated with a two-node Ethernet model. Moreover, the data was collected using the Simulink tool time scope to capture the time synchronization on the MAC Controller layer for TX and RX.

Furthermore, the time synchronization for Uniform Distribution took longer than an Exponential Distribution. The throughput data for a Uniform distribution was 700 kbps compared to an Exponential Distribution; the throughout data was 18 kbps. In addition, the data could carry 700 kilobytes per second (700kbps), meaning that the time used to carry the data was longer than that to complete the transmission. Therefore, the Uniform Distribution used more time synchronization time than the Exponential Distribution.

After generating and evaluating software and hardware implementation results for the embedded Ethernet, the software implementation for time synchronization was faster than hardware implementation (Table 6). Owing to the software implementation, a few factors were unaffected by the physical variable, such as the LAN cable length, packet transmission speed in the LAN, hardware CPU core use, and memory.

In a previous study [8], the proposed system used a crossover cable as the communication bridge to connect the Master and Slave clock to eliminate the delay jitter. Moreover, the proposed system was designed mainly for 1 node communication between the Master and Slave directly. In contrast, the method proposed in this research has the network communication of more than one node, with the proven result in section 4. In addition, the proposed system in this research used the ethernet switch as the communication bridge between the Master and Slave clocks.

Table 6. Time Synchronization between Hardware and Software implementation on an Embedded Ethernet.

Implementation of Embedded Ethernet

Type of Distribution

Time Synchronization (μs)

Hardware

4.65

Software

Uniform

4.336

Exponential

4.002

5. Conclusion

The MATLAB simulation and hardware were completed and implemented on the embedded Ethernet utilizing a time-triggered base communication device. Next, IEEE 1588-2008 clock synchronization was incorporated and integrated into the embedded Ethernet. The findings showed that in time synchronization, the IEEE 1588-2008 protocol has better precision and speed in sending the packets compared to the network time protocol. The second objective was achieved. The result proved that the time synchronization was six times faster using PTP than NTP. In addition, the time synchronization used in PTP was 0.83 μs compared to the 4.65 μs for NTP.

6. Future Research

Based on the outcome and inference, the efficiency of the results can be improved by including more FPGA boards. The collection of synchronization data can be optimized. The project should use the new FPGA boards from the Spartan family to impart more functionality and flexibility to the IEEE 1588-2008 protocol.

ACKNOWLEDGMENTS

REFERENCES

1 
Kopetz H., 2003, Time-triggered real-time computing, Annual Reviews in Control, Vol. 27, No. 1, pp. 3-13DOI
2 
Naimish T., SS Krishnamurthy B., 2017, Analysis of event-triggered and time-triggered architecture for a reliable embedded system, in International Conference on Computing and Networking Technology (ICCNT) DelhiDOI
3 
Kong Y., Wu J., Xie M., Yu Z., 2009, A new design for precision clock synchronization based on FPGA, in 16th IEEE-NPSS Real Time Conference Beijing ChinaDOI
4 
Kang L., July 2010, NIST, National Insitute of Standards and Technology, Vol. 9URL
5 
Shiying H., Liansheng H., Jun S., Ge G., Guanghong W., Xiaojiao C., Lili Z., 2018, Time Synchronization Network for EAST Poloidal Field Power Supply Control System Based on IEEE 1588, IEEE Transactions on Plasma Science, Vol. 47, No. 7, pp. 2680-2684DOI
6 
Shang W., Zhang B., Zhang B., Zhang F., Cong S., June 2019, Synchronization Control in the Cable Space for Cable-Driven Parallel Robots, in IEEE Transactions on Industrial Electronics, Vol. 66, No. 6, pp. 4544-4554DOI
7 
Shang W., Zhang B., Zhang B., Zhang F., Cong S., June. 2019, Synchronization Control in the Cable Space for Cable-Driven Parallel Robots, in IEEE Transactions on Industrial Electronics, Vol. 66, No. 6, pp. 4544-4554DOI
8 
Yin H., Fu P., Qiao J., Li Y., 2018, The implementation of IEEE 1588 clock synchronization protocol based on FPGA, in IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Houston TXDOI
9 
Jung Son K., Gyu Chang T., 2020, Distributed Nodes-Based Collaborative Sustaining of Precision Clock Synchronization Upon Master Clock Failure in IEEE 1588 System, Sensors, pp. 1-12DOI
10 
Qi M., Wang X., Yang Z., 2011, Design and implementation of IEEE1588 time synchronization messages timestamping based on FPGA, in 4th International Conference on Electric Utility Deregulation and Restructuring and Power Technologies (DRPT) Weihai ChinaDOI
11 
Atul C., Sayyad N., Manoj J., Shashikant C., 2018, Implementation of FPGA-Based Network Synchronization Using IEEE 1588 Precision Time Protocol (PTP), in Recent Findings in Intelligent Computing Techniques. Advances in Intelligent Systems and Computing SingaporeDOI
12 
Holler R., Sauter T., Kero N., 2003, Embedded SynUTC and IEEE 1588 clock synchronization for industrial Ethernet, in IEEE Conference on Emerging Technologies and Factory Automation. Proceedings (Cat. No.03TH8696) Lisbon PortugalDOI
13 
Kohler D., Control and Communication Vienna Austria, A Practical Implementation of an IEEE1588 supporting Ethernet Switch, in IEEE International Symposium on Precision Clock Synchronization for MeasurementDOI
14 
Dong M., Qiu Z., Pan W., Chen C., Zhang J., Zhang D., 2018, The Design and Implementation of IEEE 1588v2 Clock Synchronization System by Generating Hardware Timestamps in MAC Layer, in International Conference on Computer Information and Telecommunication Systems (CITS) ColmarDOI
15 
Lin Y., Hao L., Dan T., 2011, Research and implementation in synchronized system of data acquisition based on IEEE 1588, in International Conference on Electronic Measurement & Instruments Chengdu ChinaDOI
16 
Xu W., Yang G., 2011, Implementation of the IEEE 1588 Precision Time based on FPGA, in International Conference on Electrical and Control Engineering Yichang ChinaDOI
17 
OpenCores, OpenCores.org [Accessed 10 November 2020]URL
18 
Bibo Y., Hardware Assisted IEEE 1588 IP Core, OpenCores.org, 11 April 2018. [Accessed 10 November 2020]URL

Author

Mohamad Khairi Ishak
../../Resources/ieie/IEIESPC.2021.10.5.431/au1.png

Mohamad Khairi Ishak received the B.Eng. degree in Electrical and Electronics Engineering from IIUM, Malaysia, MSc. in Embedded Systems, from the University of Essex, United Kingdom, and Ph.D. from the University of Bristol, United Kingdom. Currently, he is a Senior Lecturer in Mechatronics Engineering at the School of Electrical and Electronic Engineering, Universiti Sains Malaysia (USM). His research interests are Embedded systems, Real-Time Control Communications, and Robotics.

Goh Ju Han
../../Resources/ieie/IEIESPC.2021.10.5.431/au2.png

Goh Ju Han received his B.Eng. degree in Electronic Computer Engineering from the University of Malaysia Sarawak (UNIMAS), Malaysia, in 2017, the MSc. in Embedded System Engineering from the University Sains Malaysia (USM), Malaysia in 2021. Currently, he works at Intel Corporation as a Software Application Engineer involved in the design and implementation test development. His research interests include mobile wireless communication, network system, and image processing.