AM263x Motor Control SDK  10.00.00
EnDat

Introduction

EnDat is a bidirectional interface for position encoders. During EnDat operation the EnDat receiver receives position information from the EnDat position encoder.

Features Supported

  • EnDat 2.2 command set
  • EnDat 2.1 command set
  • Interrupted and continuous clock mode
  • Cable length up to 100m @8MHz
  • Propagation delay compensation - Automatic estimation of propagation delay
  • Receive on-the-fly CRC verification of position, parameters and additional information
  • Two modes of operation - host trigger and periodic trigger
  • Channel select
  • Safety Readiness: Recovery time
  • Clock up to 16MHz with single channel
    Note
    Receive (Rx) is oversampled at 8x of send(Tx). Therefore, the encoder interface frequency "f" should such that Tx source clock value is divisible by "f" and Rx source clock value is divisible by "8*f".
  • Possible interface speeds with different source clock combinations.
    Clock Source

    Interface Speed

    PRU UART Clock (192 MHz) 1MHz, 2MHz, 4MHz, 6MHz, 8MHz, 12MHz, 16MHz
    PRU UART Clock (160 MHz) 1MHz, 2MHz, 4MHz, 5MHz, 10MHz
    PRU Core Clock (200 MHz)

    1MHz, 5MHz

Features Not Supported

In general, peripherals or features not mentioned as part of "Features Supported" section are not supported in this release, including the below

  • Independent clocks on multi channel mode.

Limitations

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.

SysConfig can be used to configure things mentioned below:

  • Selecting the ICSS instance.
  • Selecting the ICSSM PRU slice. (Tested on ICSSM-PRU0)
  • Configuring PINMUX.
  • Channel selection.
  • Selecting RX and TX source clock

ICSS PRU Resource Usage

Configuration PRU Core Memory Usage IEP Usage Other Peripheral Usage Description
Single Channel Configuration PRUx DMEM: 152 Bytes
IMEM: 5 KB
IEP0: CMP0 and CMP3 INTC Signal No. 18 is used to trigger a R5 interrupt

IEP, CMP events and INTC signal are used only in periodic continuous mode.

Note
For pin usage, see Pin Multiplexing section.

ENDAT Design

EnDat Protocol Design explains the design in detail.

Example

EnDAT Diagnostic

API

APIs for ENDAT Encoder