Intel® Ethernet Controller I225-LM/-IT and I226-LM/-IT controllers support speeds up to 2.5 GbE on a single MDI port for 2500BASE-T, 1000BASE-T, 100BASE-TX networking, TSN (802.1AS, 802.1Qbu, 802.3br, 802.1Qbv), PCIe PTM, and Intel® Active Management Technology on systems enabled with Intel® vPro™ technology.

Building the CC-Link IE TSN Master Application

The application can be built using gcc.

Navigate to the project folder of a sample application, e.g. projects/goal_ccl_ie_tsn/03_master_ct/gcc.

Select the target platform (only required once) and build the sample application:

make select
<enter the number of “linux_x64”>
make

The binary is located at projects/goal_ccl_ie_tsn/03_master_ct/gcc/build/linux_x64/goal_linux_x64.bin

Running the CC-Link IE TSN Master Application

First you need to configure the I225 before starting the CC-Link IE Master. For the following modifications, parameters are:

The following shell script shows the different steps to configure the PTP and the qdisc for working with CC-LINK IE:

export INTERFACE=enp1s0

#Init PTP
ptp4l -P2Hi $INTERFACE -f gPTP.cfg --step_threshold=1 -m &
pmc -u -b 0 -t 1 "SET GRANDMASTER_SETTINGS_NP clockClass 248 clockAccuracy 0xfe offsetScaledLogVariance 0xffff currentUtcOffset 37 leap61 0 leap59 0 currentUtcOffsetValid 1 ptpTimescale 1 timeTraceable 1 frequencyTraceable 0 timeSource 0xa0"
sleep 10
phc2sys -s enp1s0 -O 0 -c CLOCK_REALTIME --step_threshold=1 --transportSpecific=1 -w -m --first_step_threshold=0.0 &
sleep 10

pkill ptp4l 
pkill phc2sys

#Configure qdisc before start CC-Link IE TSN Master application. 
tc qdisc del dev $INTERFACE parent root handle 100 taprio
sleep 2
tc qdisc add dev $INTERFACE clsact &> /dev/null
tc filter del dev $INTERFACE egress
tc filter add dev $INTERFACE egress protocol 0x890f flower verbose action skbedit priority 1
tc filter add dev $INTERFACE egress protocol 0x88f7 flower verbose action skbedit priority 2
BASE=$(date +%s%N)
echo $BASE
# Refer 	appl/goal_ccl_ie_tsn/03_master_ct/goal_appl.c TSLT and modify 
tc qdisc replace dev $INTERFACE parent root handle 100 taprio num_tc 4 map 2 0 1 3 3 3 3 3 queues 1@0 1@1 1@2 1@3 1@3 1@3 1@3 1@3 base-time $BASE sched-entry S 01 499000 sched-entry S 0 1000 sched-entry S 02 19000 sched-entry S 0 1000 sched-entry S fc 409000 sched-entry S 0 1000 flags 0x2 txtime-delay 0
sleep 2

#Set CC-Link IE TSN Master IP 
ifconfig $INTERFACE 192.168.3.250

In appl/goal_ccl_ie_tsn/03_master_ct/goal_appl.c , adjust the following settings:

/* timeslot configuration */
#define GOAL_APPL_TSLT0_START_SEC             0 /**< full seconds of start time of timeslot 0 */
#define GOAL_APPL_TSLT0_START_NSEC       520000 /**< subseconds of start time of timeslot 0 */
#define GOAL_APPL_TSLT1_START_SEC             0 /**< full seconds of start time of timeslot 1 */
#define GOAL_APPL_TSLT1_START_NSEC            0 /**< subseconds of start time of timeslot 1 */
#define GOAL_APPL_TSLT2_START_SEC             0 /**< full seconds of start time of timeslot 2 */
#define GOAL_APPL_TSLT2_START_NSEC       500000 /**< subseconds of start time of timeslot 2 */

After configuring the system, the master application can be started:

export INTERFACE=enp1s0
./build/linux_x64/goal_linux_x64.bin -i $INTERFACE

Intel Integrated Ethernet with TSN option is available for a variety of CPU families:

  • Intel Atom® X6000 Series

  • Intel Atom® X7000 Series

  • 11th Gen Intel® Core™ (UP3 Series)

  • 12th Gen Intel® Core™ (S-Series)

  • 13th Gen Intel® Core™ (S-series)

  • 13th Gen Intel® Core™ (P-series)

  • Intel® Xeon® W 11000E Series