AM64x MCU+ SDK  07.03.00
ICSS-EMAC

Introduction

The ICSS-EMAC (Industrial Communications Subsystem Ethernet Media Access Controller) driver provide APIs to transmit and receive packets with a firmware based Ethernet switch that has been implemented on PRUICSS's cores. The software can be partitioned into following:

  • Driver software running on the host processor, provides a well defined set of APIs to configure the driver, send packets to the firmware and receive packet from the firmware.
  • Industrial Protocol specific firmware which implements a 2 port ethernet switch supporting 802.1d at 100 Mbps. This runs on the PRUICSS cores.
Note
ICSS-EMAC will be supported for use in Profinet FW HAL(Firmware and Hardware Abstraction Layer) and EtherNet/IP (Firmware and Hardware Abstraction Layer) only

Features Supported

  • Packet Receieve: Copying packet received from firmware and providing it to TCP/IP stack or industrial protocol specific FW HAL
  • Packet Transmit: Providing packet from a TCP/IP stack or industrial protocol specific FW HAL to firmware
  • Interrupt handling for Rx, Tx and Link
  • Task Creation for Rx, Tx and Link
  • Storm Prevention implementation
  • Host Statistics implementation
  • Learning/Forwarding Data Base
  • Multicast/VLAN Filtering

SysConfig Features

Note
It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle.
  • Selecting the PRU-ICSS instance
  • Selecting port number
  • Configuring PHY address for the ports
  • Select queue threshold for separating real-time(RT) and non real-time(NRT) traffic
  • Specify the size of buffer space
  • Provide the task priorities for Rx, Tx and Link tasks

Features not supported

  • Time-triggered send (TTS)
  • Firmware Learning mode
  • Timer based Interrupt Pacing support

API

APIs for ICSS-EMAC