AM263x Motor Control SDK  10.00.00
Nikon A-Format

Introduction

Nikon A-Format absolute encoder receiver implementation on the TI PRU-ICSS interfaces with the Nikon A-Format encoders either via point-to-point communication or up to 3 Nikon A-Format encoders connected on a bus. Nikon A-Format encoders use a proprietary asynchronous serial bi-directional half-duplex communication protocol compliant with the RS-485. The encoder can generate either single- or multi-turn absolute position data and can operate at a baud rate of up to 16 Mhz. Besides position data, the encoder can also send status and diagnostic information well. Reliability is ensured by using a 3-bit CRC by the receiver and an 8-bit CRC by the encoder. Another interesting feature of the Nikon-A encoders is the optional battery backup circuit, which can be used in case of power failure. Nikon A-Format encoders are widely used in industrial machinery, including industrial robots in automobile production lines and machine tools, and are highly valued as the next-generation standard for sensors that can detect the absolute rotational displacement values of robot arms.

Features Supported

  • Support for point-to-point and bus communication.
  • Support for baud rates from 2.5 MHz, 4 MHz, 6.67 MHz, 8 MHz, and 16 MHz.
  • Support for oversampling ratio with different baud rates.
    Clock Source Interface Speed
    2.5 MHz 4 MHz 6.67 MHz 8 MHz 16 MHz
    PRU UART Clock (192 MHz) Not tested 8x Not tested 8x 8x with fractional div
    PRU Core Clock (200 MHz) 8x Not tested 6x Not tested Not tested
  • Support for up to 40-bit absolute position (single turn + multi turn) data with additional information.
  • Support for position preset, temperature information and alarms.
  • Support for non-volatile (EEPROM) read and write access.
  • Support for identification code read and write process.
  • Support for encoder address setting.
  • Support for individual and multiple transmission mode with encoder addresses ranging between ENC1-ENC8.

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.

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. (Tested on ICSSM)
  • Selecting the ICSS PRU slice.(Tested on ICSSM-PRU0)
  • Configuring PINMUX.
  • Frequency selection.
  • Channel selection.
  • Selecting source clock.

ICSS PRU Resource Usage

Configuration PRU Core Memory Usage IEP Usage Other Peripheral Usage Description
Single Channel Mode PRUx DMEM: 196 Bytes
IMEM: 1468 Bytes
IEP0: CMP0 and CMP3 INTC Signal host interrupt 2 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.

NIKON Design

Nikon Protocol Design explains the design in detail.

Example

NIKON Diagnostic

API

APIs for Nikon A-Format Encoder