adi,tmc6460 (on uart bus)

Description

Analog Devices / Trinamic TMC6460 motor controller (UART mode).

The TMC6460 UART protocol differs from other Trinamic chips:
- Sync byte: 0x42 (not 0x05)
- 16-bit register addresses encoded in two bytes
- CRC8 polynomial: 0x100011011 (reflected), optional
- Supports RTMI (Real-Time Motion Interface) streaming

Examples

&usart1 {
    /* UART bus options here, not shown */

    /* TMC6460 BLDC/PMSM motor controller on UART */
    tmc6460: tmc6460 {
        compatible = "adi,tmc6460";

        uart-crc;                 /* Enable CRC8 on UART datagrams */
        pole-pairs = <4>;         /* Motor magnetic pole pairs */
        hall-mapping = <3>;       /* Hall UVW sensor mapping */
        hall-io-inversion;        /* Invert Hall sensor input polarity */
        abn-ppr = <1024>;         /* ABN encoder pulses-per-rotation */
    };
};

Properties

Properties not inherited from the base binding file.

Name

Type

Details

uart-crc

boolean

Enable CRC8 for UART communication.
When set, an additional CRC byte is appended to each datagram.
Both normal (read/write) and RTMI CRC are enabled.

pole-pairs

int

Number of magnetic pole pairs of the attached BLDC/PMSM motor. This is a
physical property of the motor and is required for correct commutation
and electrical-angle calculation.

Default value: 4

hall-mapping

int

Hall UVW sensor mapping value. For a correctly wired Hall sensor the
value is 3; other values compensate for alternative sensor wiring.

Default value: 3

hall-io-inversion

boolean

Invert the polarity of all three Hall sensor inputs. Set when the Hall
sensor outputs are wired with inverted logic levels.

abn-ppr

int

ABN incremental encoder pulses-per-rotation (PPR). This is a physical
property of the attached encoder. The counts-per-rotation used by the
controller is four times this value (quadrature decoding).

Default value: 1024