0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
TMC8670-EVAL

TMC8670-EVAL

  • 厂商:

    TRINAMIC

  • 封装:

  • 描述:

    TMC8670 电机控制器/驱动器 电源管理 评估板

  • 数据手册
  • 价格&库存
TMC8670-EVAL 数据手册
INTEGRATED CIRCUITS EtherCAT Motion Controller for 2-/3-Phase PMSM TMC8670 Datasheet Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 The TMC8670 is a CANopen-over EtherCAT (CoE) field oriented control (FOC) servo controller for torque, velocity, and position control. It comes with a fully integrated EtherCAT Slave Controller (ESC), a flexible sensor engine for different position feedback and current sensing options, as well as a complete CANopen-over-EtherCAT firmware stack for the CiA DS402 device profile. TMC8670 is a building block that enables a servo controller with only a couple of components. Features • Field Oriented Control (FOC) Servo Controller • Torque Control (FOC), Velocity Control, Position Control • Sensor Engine (Hall analog/digital, Encoder analog/digital) • Support for 3-Phase PMSM and 2-Phase Stepper Motors • PWM Engine including SVPWM • Integrated EtherCAT Slave Controller, CoE protocol CiA 402 drive profile • UART interface Applications • Robotics • Semiconductor Handling • Factory Automation • Laboratory Automation Simplified Block Diagram ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at: www.trinamic.com Read entire documentation. • Manufacturing • IIoT Applications 2 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Contents 1 Product Features 5 2 Order Codes 6 3 Principles of Operation / Key Concepts 3.1 General Device Architecture . . . . . 3.2 EtherCAT Slave Controller . . . . . . 3.3 Microcontroller and Firmware Stack 3.4 Servo/FOC Controller . . . . . . . . . 3.5 Flexible Sensor Engine . . . . . . . . 3.6 Communication Interfaces . . . . . 3.7 Software- and Tool-Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 7 8 8 9 9 4 Device Pin Definitions 12 4.1 Pinout and Pin Coordinates of TMC8670-BA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 Pin Numbers and Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5 Device Usage and Handling 5.1 Reference Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Ethernet PHY Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 External Circuitry and Applications Examples . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Supply and Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Status LED Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 SII EEPROM Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Incremental Encoder Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Incremental ABN Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Secondary Incremental ABN Encoder . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Open Loop Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Hall Signal Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Digital Hall Sensor Interface with optional Interim Position Interpolation . 5.5.2 Digital Hall Sensor - Interim Position Interpolation . . . . . . . . . . . . . . 5.5.3 Digital Hall Sensors - Masking and Filtering . . . . . . . . . . . . . . . . . . . 5.5.4 Digital Hall Sensors together with Incremental Encoder . . . . . . . . . . . 5.6 ADC Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 ADC Interface - Delta Sigma Modulator . . . . . . . . . . . . . . . . . . . . . 5.6.2 ADC Interface - SPI ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.3 Analog Hall and Analog Encoder Interface (SinCos of 0°90° or 0°120°240°) 5.6.4 Analog Position Decoder (SinCos of 0°90° or 0°120°240°) . . . . . . . . . . 5.7 Brake Chopper Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 UART Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8.1 UART Software Interface for TMCL-IDE . . . . . . . . . . . . . . . . . . . . . 5.8.2 UART Hardware Register Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 FOC Basics 6.1 Why FOC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 What is FOC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Why FOC as pure Hardware Solution? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 How does FOC work? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 What is required for FOC? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 Coordinate Transformations - Clarke, Park, iClarke iPark . . . . . . . . . . . . . . . . . 6.5.2 Measurement of Stator Coil Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.3 Stator Coil Currents I_U, I_V, I_W and Association to Terminal Voltages U_U, U_V, U_W 6.5.4 Measurement of Rotor Angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 20 20 20 22 22 22 23 24 24 26 26 27 27 28 28 28 29 29 30 30 31 31 32 32 32 34 34 34 34 35 35 36 36 36 37 3 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6.5.5 Measured Rotor Angle vs. Magnetic Axis of Rotor vs. Magnetic Axis ot Stator . . . . 6.5.6 Knowledge of Relevant Motor Parameters and Position Sensor (Encoder) Parameters 6.5.7 Proportional Integral (PI) Controllers for Closed Loop Current Control . . . . . . . . 6.5.8 Pulse Width Modulation (PWM) and Space Vector Pulse Width Modulation (SVPWM) 6.5.9 Orientations, Models of Motors, and Coordinate Transformations . . . . . . . . . . . 6.6 FOC23 Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.1 PI Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 PI Controller Calculations - Classic Structure . . . . . . . . . . . . . . . . . . . . . . . . 6.6.3 PI Controller Calculations - Advanced Structure . . . . . . . . . . . . . . . . . . . . . . 6.6.4 PI Controller - Clipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.5 PI Flux & PI Torque Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.6 PI Velocity Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.7 P Position Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.8 Inner FOC Control Loop - Flux & Torque . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.9 FOC Transformations and PI(D) for control of Flux & Torque . . . . . . . . . . . . . . 6.6.10 Motion Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 38 38 38 39 39 40 40 40 41 42 42 43 43 43 44 7 EtherCAT Slave Controller Description 7.1 General EtherCAT Information . . . . . . . . . . . . . . 7.2 EtherCAT Register Overview . . . . . . . . . . . . . . . . 7.3 EtherCAT Register Set . . . . . . . . . . . . . . . . . . . 7.3.1 ESC Information . . . . . . . . . . . . . . . . . 7.3.2 Station Address . . . . . . . . . . . . . . . . . . 7.3.3 Write Protection . . . . . . . . . . . . . . . . . 7.3.4 Data Link Layer . . . . . . . . . . . . . . . . . . 7.3.5 Application Layer . . . . . . . . . . . . . . . . . 7.3.6 PDI . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.7 Interrupts . . . . . . . . . . . . . . . . . . . . . 7.3.8 Error Counters . . . . . . . . . . . . . . . . . . 7.3.9 Watchdogs . . . . . . . . . . . . . . . . . . . . . 7.3.10 SII EEPROM Interface . . . . . . . . . . . . . . . 7.3.11 MII Management Interface . . . . . . . . . . . 7.3.12 FMMUs . . . . . . . . . . . . . . . . . . . . . . . 7.3.13 SyncManagers . . . . . . . . . . . . . . . . . . 7.3.14 Distributed Clocks Receive Times . . . . . . . 7.3.15 Distributed Clocks Time Loop Control Unit . . 7.3.16 Distributed Clocks Cyclic Unit Control . . . . . 7.3.17 Distributed Clocks SYNC Out Unit . . . . . . . 7.3.18 Distributed Clocks LATCH In Unit . . . . . . . . 7.3.19 Distributed Clocks SyncManager Event Times 7.3.20 ESC Specific . . . . . . . . . . . . . . . . . . . . 7.3.21 Process Data RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . 46 . 47 . 53 . 53 . 57 . 58 . 60 . 64 . 67 . 71 . 74 . 77 . 80 . 84 . 88 . 91 . 95 . 96 . 100 . 101 . 105 . 109 . 110 . 111 8 Electrical Ratings 8.1 Absolute Maximum Ratings 8.2 Operational Ratings . . . . 8.3 Digital I/Os . . . . . . . . . . 8.4 Power Consumption . . . . 8.5 Package Thermal Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . 112 . 112 . 113 . 113 . 114 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Manufacturing Data 115 9.1 Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9.2 Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.3 Board and Layout Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 4 / 123 10 Abbreviations 118 11 Figures Index 120 12 Tables Index 121 13 Revision History 123 13.1 IC Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 13.2 Document Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 1 5 / 123 Product Features TMC8670 is a highly integrated SoC providing the interface between an EtherCAT real-time field bus and the local drive application. It includes the real-time MAC layer for EtherCAT, the application software stack for the CiA DS402 CANopen device profile, and the complete servo control block in dedicated hardware with interfaces to ADCs and position feedback. TMC8670 offers an extremely high function density in a small scale package. Advantages: • Fully standard compliant and proven EtherCAT Slave Controller and State Machine • Highly integrated Servo Controller with rich feature set vs. package size • Robust silicon technology • Saves board space & reduces BOM • Long-term availability Major Features: • Integrated EtherCAT Slave Controller with 2 MII ports for Ethernet bus interfacing • Complete firmware stack with EtherCAT State Machine and CANopen over EtherCAT stack based on CiA DS402 device profile • Firmware update via EtherCAT or via UART • Fully integrated hardware servo controller with field-oriented control and rich interface support • Two digital incremental encoder interfaces • Analog SinCos encoder interface • Digital hall sensor interface • Analog hall sensor interface • Flexible ADC interface to connect to external SPI ADCs or delta sigma modulators • Industrial temperature range -40°C to +125°C • Package: 325-pin BGA chip scale package with 0.5mm pitch, 11mm x 11mm ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 6 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 2 Order Codes Order Code Description Size TMC8670-BI TMC8670 Advanced EtherCAT® Servo Controller in 325-pin BGA chip scale package with 0.5mm pitch 11mm x 11mm TMC8670-EVAL Evaluation Board for TMC8670-BI, compatible with the modular Landungsbruecke system, RJ45 twisted pair copper interface 79mm x 85mm Table 1: TMC8670 order codes Trademark and Patents EtherCAT® is a registered trademark and patented technology, licensed by Beckhoff Automation GmbH, Germany. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 3 7 / 123 Principles of Operation / Key Concepts 3.1 General Device Architecture Figure 1 shows the general device architecture and major connections of TMC8670. The EtherCAT Slave Controller (ESC) is realized in dedicated logic and provides two MII interfaces to external Ethernet PHYs suitable for EtherCAT. The ESC connects to the integrated microcontroller, which executes the EtherCAT State Machine (ESM) and the CiA DS402 CANopen protocol stack. A debug UART interface connects to the MCU for debugging and firmware updates. The firmware in the MCU controls the servo and field-oriented control (FOC) block, which is completely realized in dedicated logic. All PI-loops for position, velocity, and torque are fully configurable. The FOC block drives external gate driver, which in turn are switching a power stage for 3-phase brushless motors or 2-phase stepper motors. The FOC block provides a set of interfaces for different types of current sensing and position feedback. Current sensing and encoders are external components to the TMC8670. Figure 1: General device architecture 3.2 EtherCAT Slave Controller TMC8670 contains a standard-conform and proven ESC engine providing real-time EtherCAT MAC layer functionality to EtherCAT slaves. It connects via MII interface to standard Ethernet PHYs and provides a digital control interface to a local application controller The ESC part of TMC8670 provides the following EtherCAT-related features. More information is available in Section 7. • Two MII interfaces to external Ethernet PHYs plus management interface • Four Fieldbus Memory Management Units (FMMU) • Four Sync Managers (SM) • 4 KByte of Process Data RAM (PDRAM) • 64 bit Distributed Clocks support • IIC interface for an external SII-EEPROM for ESC configuration 3.3 Microcontroller and Firmware Stack The integrated microcontroller system contains and controls the application layer of TMC8670. Thereby, the firmware is split up into a bootloader section and the application layer section. The bootloader allows ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 8 / 123 for future firmware updates. The application layer comprises the ESM to communicate with the ESC and the CANopen-over-EtherCAT (CoE) protocol stack. The CoE stack is based on the CiA DS402 device profile for drives. It controls the hardware servo/FOC controller block. The application layer also supports FileTransfer-over-EtherCAT (FoE), which is used for remote firmware updates via the EtherCAT master. 3.4 Servo/FOC Controller The integrated servo/FOC controller is completely realized in dedicated logic. Its control registers are directly mapped into the microcontrollers address space. It offloads the microcontroller from the repetitive and time-consuming computation tasks of control loop processing, FOC Park and Clark transformations, PWM generation, and interfacing to ADCs and position feedback. The servo/FOC controller supports PWM frequencies and current loop frequencies of up to 100kHZ. It not only supports 3-phase brushless motors but also 2-phase stepper motors and single phase motors, for example DC motors. More information is given the FOC Basics Section. 3.5 Flexible Sensor Engine A versatile and flexible sensor engine is part of the servo/FOC controller block of TMC8670. The sensor engine handles digital hall sensors, digital incremental encoders, analog hall sensors, and analog sin-cossensors. Together with the relevant sensor parameters, it maps the measured sensor position to 16 bit signed values (s16) for the FOC engine. Figure 2: TMC8670 Sensor Engine maps position sensor signals to mechanical angels and electrical angels as direct input for the FOC engine. ADC Interfaces The TMC8670 is a pure digital IC with interfaces for external ADCs. As ADC one can either select LTC2351 from Linear Technology or Delta Sigma Modulators (AD7401). As an alternative to Delta Sigma Modulators, the TMC8670 supports low cost comparators (e.g. LM339) together with some passive components to form delta sigma modulators. Digital Encoder Interfaces The digital encoder interface support a wide range of encoders with different resolutions, signal polarities and zero pulses. Analog Encoder Interfaces The analog encoder interface is for analog hall signals - two phase SinCos or three phase - and for analog (incremental) encoders. An interpollator for SinCos encoders is integrated. Digital Hall Sensor Interface The digital hall signal interface enables digital hall signals for initialization of incremental encoders. The digital hall signal interface can be used directly for the FOC. For torque ripple reduction an interpolator for the digital hall signals is integrated. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 9 / 123 Analog Hall Sensor Interface The interface for analog hall signals is the same interface as available for SinCos analog encoders. 3.6 Communication Interfaces Field Bus Interface TMC8670 provides two MII ports to connect to 100-Mbit Ethernet PHYs that connect to the field bus. One port is the dedicated EtherCAT IN port. The second port is the dedicated EtherCAT OUT port. Depending on the physical medium (twisted pair copper or passive optical fiber) an external transformer circuit connects to the RX and TX lines. IIC SII EEPROM Interface The IIC EEPROM interface is intended to be a point-to-point interface between TMC8670 and the SII EEPROM with TMC8670 being the master. Depending on the EEPROM’s capacity the addressing mode must be properly set using the PROM_SIZE configuration pin. Configuration of the EtherCAT Slave Controller is done during boot time with configuration information read from the SII EEPROM after reset or power cycling. This information must be (pre)programmed into the SII EEPROM. This can be done via the EtherCAT master using a so-called EtherCAT Slave Information (ESI) file in standardized XML format. Debug UART Interfaces TMC8670 has two UART interfaces that allow for basic local debugging. The MCU UART directly connects to the microcontroller and can also be used for local firmware updates. The HW UART directly connects to the servo/FOC controller block and allows for direct control via register read/write of this function block alone. This is usable for local tuning, monitoring of the registers, and debugging. More details on the two debug UART interfaces are given in the Debug UARTs’ section 3.7 Software- and Tool-Support Evaluation Board An evaluation board is available for the TMC8670 with standard RJ45 connectors and transformers for interfacing twisted pair copper media. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 10 / 123 Figure 3: TMC8670 Evaluation Board The complete board design files are available for download and can be used as reference. All information is available for download on the specific product page on TRINAMIC’s website at https://www.trinamic.com/support/eval-kits/. TMCL-IDE The TMCL-IDE is TRINAMIC’s primary tool (for Windows PCs) to control TRINAMIC modules and evaluation boards. Besides, it provides feature like remote firmware updates, module monitoring options, and specific Wizard support. The TMCL-IDE can be used along with TRINAMIC’s modular evaluation board system. Info The TMLC-IDE is not an EtherCAT master system! The TMC8670-EVAL can be accessed via the UART interface of the evaluation board to try out the servo functions without using an EtherCAT master in the first place. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 11 / 123 Figure 4: TMCL-IDE The latest version and additional information is available for download from TRINAMIC’s website at https: //www.trinamic.com/support/software/tmcl-ide/. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 4 4.1 12 / 123 Device Pin Definitions Pinout and Pin Coordinates of TMC8670-BA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 A B C D E F G H J K L M N P T T U V W Y AA Figure 5: TMC8670-BI Pinout top view 4.2 Pin Numbers and Signal Descriptions Pins not listed in the following table are N.C. (not connected). Pin types are I = input, O = output, PU = has pull-up, PD = has pull-down. Name Pin Type Function General Signals NRESET M9 I Low active system reset, pull up to VDD_3V3 with 10K CLK_25MHZ P1 I 25MHz Reference Clock Input, connect to clock source with 16kBit is used (an additional address byte is required then). 0 = up to 16kBit EEPROM, 1 = 32 kBit-4Mbit EEPROM, has weak internal pull-up LED_RUN D1 O ESM Run Status LED, connect to green LED (Anode) 0 = LED off, 1 = LED on LED_ERR D2 O ESM Error Status LED, connect to red LED (Anode) 0 = LED off, 1 = LED on LED_LINK_IN E1 O ETH Link In Port Status and Activity, connect to green LED (Anode) 0 = LED off, 1 = LED on LED_LINK_OUT F3 O ETH Link Out Port Status and Activity, connect to green LED (Anode) 0 = LED off, 1 = LED on EtherCAT Status LEDs Distributed Clocks Synchronization LATCH_IN0 K2 I, PD Distributed Clocks Latch Input, has weak internal pull-down SYNC_OUT0 K4 O Distributed Clocks Synchronization Output ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name Pin Type Function MII Interface to external ETH PHY (EtherCAT IN Port) MII1_LINK F18 I Link indication input MII1_RXCLK G18 I Receive clock MII1_RXD[0] F19 I Receive data bit 0 MII1_RXD[1] F20 I Receive data bit 1 MII1_RXD[2] E21 I Receive data bit 2 MII1_RXD[3] E20 I Receive data bit 3 MII1_RXDV G21 I Receive data valid signal MII1_RXER G20 I Receive error signal MII1_TXCLK E18 I Transmit clock MII1_TXD[0] D21 O Transmit data bit 0 MII1_TXD[1] C21 O Transmit data bit 1 MII1_TXD[2] C20 O Transmit data bit 2 MII1_TXD[3] B21 O Transmit data bit 3 MII1_TX_EN E17 O Transmit enable MII Interface to external ETH PHY (EtherCAT OUT Port) MII2_LINK K18 I Link indication input MII2_RXCLK L18 I Receive clock MII2_RXD[0] N21 I Receive data bit 0 MII2_RXD[1] M20 I Receive data bit 1 MII2_RXD[2] L20 I Receive data bit 2 MII2_RXD[3] L21 I Receive data bit 3 MII2_RXDV N20 I Receive data valid signal MII2_RXER M18 I Receive error signal MII2_TXCLK J17 I Transmit clock MII2_TXD[0] L19 O Transmit data bit 0 MII2_TXD[1] K21 O Transmit data bit 1 MII2_TXD[2] J20 O Transmit data bit 2 MII2_TXD[3] J21 O Transmit data bit 3 MII2_TX_EN J18 O Transmit enable ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 14 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name Pin Type 15 / 123 Function ETH PHY Interface Configuration Pins and Management Interface LINK_POLARITY R9 I, PD selects polarity of the ETH PHYs link signal: 0 = low active, 1 = high active MII1_TX_SHIFT[0] K15 I Used for clock shift compensation on TX port MII1_TX_SHIFT[1] K17 I Used for clock shift compensation on TX port MII2_TX_SHIFT[0] L15 I Used for clock shift compensation on TX port MII2_TX_SHIFT[1] L17 I Used for clock shift compensation on TX port MCLK H20 O PHY management clock, connect all ETH PHYs to this bus MDIO H21 I/O PHY management data, connect all ETH PHYs to this bus if required, use 4K7 pull up resistor to VDD_3V3 Motor Position Feedback Signals ENC_A N1 I, PU incremental encoder signal A ENC_B N2 I, PU incremental encoder signal B ENC_N P2 I, PU incremental encoder null pulse N ENC_2_A V6 I, PU 2nd incremental encoder signal A ENC_2_B V7 I, PU 2nd incremental encoder signal B ENC_2_N W6 I, PU 2nd incremental encoder null pulse N HALL_UX M4 I, PU digital Hall signal associated to U (H1) HALL_V N4 I, PU digital Hall signal associated to V (H2) HALL_WY P4 I, PU digital Hall signal associated to W (H1) ENC_ADC_CSN L3 O analog encoder SPI ADC LTC2351 CONV ENC_ADC_MISO L1 I analog encoder SPI ADC LTC2351 SDO ENC_ADC_SCK L2 O analog encoder SPI ADC LTC2351 SCK Reference Switch Signals REF_SW_H H5 I, PU Home Reference Switch REF_SW_L H4 I, PU Left Reference Switch REF_SW_R J4 I, PU Right Reference Switch ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name Pin Type 16 / 123 Function Motor and Supply Current Measurement Signals SPI_ADC_CSN U8 O analog current measurement SPI ADC LTC2351 CONV SPI_ADC_SCK U9 O analog current measurement SPI ADC LTC2351 SCK SPI_ADC_MISO U10 I, PU analog current measurement SPI ADC LTC2351 SDO ADC_PHASE_MISO_2ND U11 I, PU analog current measurement SPI ADC LTC2351 SDO MCLK_AENC_UX P5 IO DS-Mod Clock analog encoder/analog Hall U or X MCLK_AENC_VN R4 IO DS-Mod Clock analog encoder/analog Hall V or N MCLK_AENC_WY U4 IO DS-Mod Clock analog encoder/analog Hall W or Y MCLK_AGPI_A T2 IO DS-Mod Clock for Analog General Purpose Input AGPI_A MCLK_AGPI_B U2 IO DS-Mod Clock for Analog General Purpose Input AGPI_B MCLK_I_UX V1 IO DS-Mod Clock for Analog Current Sense Voltage of I_U or I_X MCLK_I_WY AA2 IO DS-Mod Clock for Analog Current Sense Voltage of I_W or I_Y MCLK_VM T3 IO DS-Mod Clock for (down-divided) motor supply voltage of V_M MDAT_AENC_UX R5 I DS-Mod Data Stream for analog encoder/analog Hall U or X MDAT_AENC_VN T5 I DS-Mod Data Stream for analog encoder/analog Hall V or N MDAT_AENC_WY U5 I DS-Mod Data Stream for analog encoder/analog Hall W or Y MDAT_AGPI_A T1 I DS-Mod Data Stream for Analog General Purpose Input AGPI_A MDAT_AGPI_B U1 I DS-Mod Data Stream for Analog General Purpose Input AGPI_B MDAT_I_UX W1 I DS-Mod Data Stream for Analog Current Sense Voltage of I_U or I_X MDAT_I_WY W2 I DS-Mod Clock for Analog Current Sense Voltage of I_W or I_Y MDAT_I_UX_2ND Y1 I, PU DS-Mod Data stream for Analog Current Sense Voltage of I_U or I_X MDAT_I_WY_2ND Y2 I, PU DS-Mod Data stream for Analog Current Sense Voltage of I_W or I_Y MDAT_VM R2 I DS-Mod Data stream for (down-divided) motor supply voltage of V_M ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name 17 / 123 Pin Type Function PWM_UX1_H Y7 O Digital gate control signal for High Side of Phase U (FOC3) or X1 (FOC2) PWM_UX1_L AA7 O Digital gate control signal for Low Side of Phase U (FOC3) or X1 (FOC2) PWM_VX2_H Y8 O Digital gate control signal for High Side of Phase V (FOC3) or X2 (FOC2) PWM_VX2_L AA8 O Digital gate control signal for Low Side of Phase V (FOC3) or X2 (FOC2) PWM_WY1_H Y10 O Digital gate control signal for High Side of Phase W (FOC3) or Y1 (FOC2) PWM_WY1_L AA10 O Digital gate control signal for Low Side of Phase W (FOC3) or Y1 (FOC2) PWM_Y2_H AA11 O Digital gate control signal for High Side of Phase Y2 (FOC2) PWM_Y2_L Y11 O Digital gate control signal for Low Side of Phase Y2 (FOC2) PWM Signals Additional Control Signals ENABLE_OUT W11 O enable output BRAKE_CHOPPER Y9 O brake chopper control signal Debug UART Interfaces and Debug I/Os STATUS_OUT M5 O status signal output RXD_HWI G5 I, PU HW debug UART, RxD input TXD_HWO G4 O HW debug UART, TxD output RXD_MCU G2 I, PU MCU debug UART, RxD input TXD_MCU G1 O MCU debug UART, TxD output MCU_GPO_15 V8 O reserved, keep open MCU_GPO_16 V10 O reserved, keep open MCU_GPO_17 V11 O reserved, keep open MCU_GPO_18 U12 O reserved, keep open PDI_IRQ K5 O reserved, keep open (GPIO_3 on TMC8670 EVAL V.1.1) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name Pin Type Function Device Supply and Ground VDD_1V2 K10, K11, L10, L11, 1.2V DC Core supply voltage, M12, M13, N12, N13, use 100nF filter capacitors R12, R13, U14, V14, V16, W16 VDD_3V3 M7, U15, V12, K9, 3.3V supply voltage for I/Os, PLL, and NVM, H7, G15, R14, E2, use 100nF filter capacitors J5, M2, N5, V2, V5, AA9, R10, V9, D20, F17, J15, K20 GND G7, H15, R15, A1, Supply Ground A11, A16, A21, A6, AA1, AA12, AA14, AA15, AA16, AA18, AA19, AA20, D12, D17, D7, F21, F4, G14, H1, H18, J10, J11, J7, K12, K13, L12, L13, L4, M10, M11, M17, M21, N10, N11, P15, P7, R1, T21, T4, U13, U16, U17, U6, U7, V13, V15, Y12, Y14, Y15, Y16, Y18, Y19, Y20, Y6, J9 Explicitly Not Connected Pins N.C. R11, Y4, V17, V18, not connected Y13, Y17, Y5, D18, G12, G8, AA5, AA4, AA13, AA17, B13, B18, B3, B8, E14, E9, J12, J13, W20, N15, R18 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 18 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Name Pin Type Function DUMMY_OUT G17 O reserved, keep open JTAG_TCK L9 I JTAG test clock, pull up to VDD_3V3 with 1K JTAG_TDI N9 I JTAG Test data, N.C. JTAG_TDO R7 O JTAG Test data, N.C. JTAG_TMS AA3 I JTAG Test mode select, N.C. JTAG_TRSTB Y3 I JTAG Test reset, pull down to GND with 1K JTAGSEL V4 I JTAG Select line, pull up to VDD_3V3 with 1K Test Pins only Table 2: Pin and Signal description for TMC8670-BA ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 19 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 5 20 / 123 Device Usage and Handling 5.1 Reference Clock TMC8670 and the external Ethernet PHYs must share the same clock source. For proper operation a stable and accurate 25MHz clock source is required. The recommended initial accuracy must be at least 25ppm or better. TMC8670 has been successfully used with the following crystal oscillators so far (this list ist not limited to the mentioned parts): • FOX Electronics FOX924B TCXO, 25.0MHz, 2.5ppm, 3.3V • TXC 7M-25.000MAAJ-T XO 25.0MHz, 30ppm • CTS 636L5C025M00000, 25MHz, 25ppm 5.2 Ethernet PHY Connection For connection to the Ethernet physical medium and to the EtherCAT master, TMC8670 offers two MII ports (media independent interface) and connects to standard 100Mbit/s Ethernet PHYs or 1Gbit/s Ethernet PHYs running in 100Mbit/s mode. Figure 6: MII interface ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 TMC8670 pin Description MIIx_LINK Active link input signal, active high/active low determined by LINK_POLARITY pin MIIx_RXCLK Receive clock input MIIx_RXD[3:0] Receive data inputs (4 bit wide) MIIx_RXDV Receive data valid input MIIx_RXER Receive error input MIIx_TX_EN Transmit enable output MIIx_TXCLK Transmit clock input, optional for automatic phase compensation MIIx_TXD[3:0] Transmit data output (4 bit wide) MCLK PHY MI configuration clock output MDIO PHY MI configuration data in-/output MIIx_TX_SHIFT[1:0] Phase compensation of MII TX signals, tie either to GND or VDD_3V3 LINK_POLARITY Active level of MIIx_LINK signal, tie either to GND or VDD_3V3 21 / 123 Table 3: MII signal description TMC8670 requires Ethernet PHYs with MII interface. The MII interface of TMC8670 is optimized for low additional delays by omitting a transmit FIFO. Additional requirements to Ethernet PHYs exist and not every Ethernet PHY is suited. Please see the Ethernet PHY Selection Guide provided by the ETG: http:// download.beckhoff.com/download/Document/EtherCAT/Development_products/AN_PHY_Selection_GuideV2. 6.pdf. TMC8670 has been successfully tested in combination with the following Ethernet PHYs so far: • IC+ IP101GA: http://www.icplus.com.tw • Micrel KSZ8721BLI: http://www.micrel.com • Micrel KSZ8081: http://www.micrel.com The clock source of the Ethernet PHYs is the same as for the TMC8670. LINK_POLARITY This pin allows configuring the polarity of the link signal of the PHY. PHYs of different manufacturers may use different polarities at the PHY’s pins. In addition, some PHYs allow for bootstrap configuration with pull-up and pull-down resistors. This bootstrap information is used by the PHY at power-up/reset and also influences the polarity of the original pin function. ETH PHY Addressing The TMC8670 addresses Ethernet PHYs using the logical port numbers 0 (LINK IN port) and 1 (LINK OUT port). Typically, the Ethernet PHY addresses should correspond with the logical port number, so PHY addresses have to be set to 0 and 1 accordingly using the ETH PHYs’ bootstrap and configuration options. MII_TX_SHIFT[1:0] TMC8670 and Ethernet PHYs share the same clock source. TX_CLK from the PHY has a ˙ fixed phase relation to the MII interface TX part of TMC8670Thus, TX_CLK must not be connected and the delay of a TX FIFO inside the IP Core is saved. In order to fulfill the setup/hold requirements of the PHY, the phase shift between TX_CLK and MIIx_TX_EN and MIIx_TXD[3:0] has to be controlled. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 22 / 123 • Manual TX Shift compensation with additional delays for MIIx_TX_EN/MIIx_TXD[3:0] of 10, 20, or 30 ns. Such delays can be added using the TX Shift feature and applying MIIx_TX_SHIFT[1:0]. MIIx_TX_SHIFT[1:0] determine the delay in multiples of 10 ns for each port. Set MIIx_TXCLK to zero if manual TX Shift compensation is used. • Automatic TX Shift compensation if the TX Shift feature is selected: connect MIIx_TXCLK and the automatic TX Shift compensation will determine correct shift settings. Set MIIx_TX_SHIFT[1:0] to 0 in this case. 5.3 5.3.1 External Circuitry and Applications Examples Supply and Filtering There should be one 100nF cap for each two VDD_1V2 pins. There should be one 100nF cap for circa each two VDD_3V32 pins. They should be placed as near as possible to the pins. VDD_1V2 VDD_3V3 TMC8670 VDD_3V3*20 VDD_1V2*14 100nF *7 100nF *12 Figure 7: PLL supply filter 5.3.2 Status LED Circuit The TMC8670 has 4 status LED outputs. All outputs are supplied from VDD_3V3, and drive a LED with current limiting resistor to GND. The use of low current LED is recommended to keep supply current low and to stay within the current limit of 10mA per pin. The appropriate resistor value must be chosen for the selected LED’s forward voltage. For a 2V forward voltage at 2mA, a value of ca. 680 Ohm is a reasonable value. The LED colors are defined by ETG.1300 (available on www.ethercat.org). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 23 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 TMC8670 680 Ω LED_RUN 680 Ω LED_ERR 680 Ω LED_LINK_IN 680 Ω LED_LINK_OUT Figure 8: Status LED circuit 5.3.3 SII EEPROM Circuit An IIC EEPROM is required for operation with the SII interface. Its size can be up to 4MBit. While the access protocol of the IIC EEPROMs is standardized, the addressing procedure changes from one address byte up to 16kBit to two address bytes from 32kBit. Up to 16kBit the PROM_SIZE pin must be tied to GND, above that, it must be tied to VDD_3V3. VDD_3V3VDD_3V3 1k Ω VDD_3V3 EEPROM 1k Ω VCC TMC8670 PROM_CLK SCL PROM_DATA SDA Figure 9: SII EEPROM circuit ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com WP A2 A1 A0 GND 100nF TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 5.4 24 / 123 Incremental Encoder Connection Figure 10: Example circuit for connecting an incremental encoder with level shifters from typically 5V to 3.3V 5.4.1 Incremental ABN Encoder The incremental encoders give two phase shifted incremental pulse signals A and B. Some incremental encoders have an additional null position signal N or zero pulse signal Z. An incremental encoder (called ABN encoder or ABZ encoder) has an individual number of incremental pulses per revolution. The number of incremental pulses define the number of positions per revolution (PPR). The PPR might mean pulses per revolution or periods per revolution. Instead of positions per revolution some incremental encoder vendors call these CPR counts per revolution. The PPR parameter is the most important parameter of the incremental encoder interface. With that, it forms a modulo (PPR) counter, counting from 0 to (PPR-1). Depending on the direction, it counts up or down. The modulo PPR counter is mapped into the register bank as a dual ported register. the user can over over write it with an initial position. The ABN encoder interface provides both, the electrical position and the multi-turn position are dual-ported read-write registers. Note The PPR parameter must be set exactly according to the used encoder. The N pulse from an encoder triggers either sampling of the actual encoder count to fetch the position at the N pulse or it re-writes the fetched n position on an N pulse. The N pulse can either be uses as stand alone pulse or and-ed with NAB = N and A and B. It depends on the decoder what kind of N pulse has to be used, either N or NAB. For those encoder with precise N pulse within on AB quadrat, the N pulse must be used. For those encoders with N pulse over four AB quadrants one can enhance the precision of the N pulse position detection by using NAB instead of N. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 25 / 123 Figure 11: ABN Incremental Encoder N Pulse The polarity of N pulse, A pulse and B pulse are programmable. The N pulse is for re-initialization with each turn of the motor. Once fetched, the ABN decoder can be configured to write back the fetched N pulse position with each N pulse. Note Incremental encoders are available with N pulse and without N pulse. Note The ABN encoder interface has a direction bit to set once the direction of motion for the application. Logical ABN = A and B and N might be useful for incremental encoders with low resolution N pulse to enhance the resolution. On the other hand, for incremental encoders with high resolution n pulse a logical abn = a and b and n might totally suppress the resulting n pulse. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 26 / 123 Figure 12: Encoder ABN Timing - high precise n pulse and less precise N pulse 5.4.2 Secondary Incremental ABN Encoder For commutating a motor with FOC one selects a position sensor source (digital incremental encoder, digital hall, analog hall, analog incremental encoder, . . . ) that is mounted close to the motor. The inner FOC loop control torque and flux of the motor based on the measured phase currents and the electrical angle of the rotor. The TMC8670 is equipped with a secondary incremental encoders interface. This secondary encoder interface is available as source for velocity control or position control. This is for applications where a motor turns an object with a gear to position the object. An example is a robot arm where a motor moves an angle with a the mechanical angle of the arm as the target. Info 5.4.3 The secondary incremental encoder is not available for commutation (phi_e) for the inner FOC. In others words, there is no electrical angle phi_e selectable from the secondary encoder. Open Loop Encoder For initial system setup the encoder engine is equipped with an open loop position generator. With one can turn the motor open-loop by specifying speed in rpm and acceleration in rpm/s together with a voltage UD_EXT in D direction. So, the open-loop encoder it is not a real encoder, it just gives positions as an encoder does. The open-loop decoder has a direction bit to define once the direction of motion for the application. Note The open loop encoder is useful for initial ADC setup, encoder setup, hall signal validation, and for validation of the number of pole pairs of a motor. The open loop encoder turns a motor open with programmable velocity in unit [RPM] with programmable acceleration in unit [RPM/s]. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 27 / 123 So, with the open loop encoder one can turn a motor without any position sensor and without any current measurement as the first step of doing the system setup. With the turning motor one can adjust the ADC scales and offsets and set up positions sensors (hall, incremental encoder, . . . ) according to resolution, orientation, direction of rotation. 5.5 Hall Signal Connection Figure 13: Example circuit for connecting Hall sensor signals with level shifters from typically 5V to 3.3V 5.5.1 Digital Hall Sensor Interface with optional Interim Position Interpolation The digital hall interface is the position sensor interface for digital Hall signals. The digital Hall signal interface first maps the digital Hall signals to an electrical position PHI_E_RAW. An offset PHI_E_OFFSET can be used to rotate the orientation of the Hall signal angle. The electrical angle PHI_E is for commutation. Optionally, the default electrical positions of the Hall sensors can be adjusted by writes into the associated registers. Figure 14: Hall Sensor Angles ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 28 / 123 Hall sensors give an absolute positions within an electrical period with a resolution of 60° as 16 bit positions (s16 resp. u16) PHI. With activated interim Hall position interpolation the user gets high resolution interim positions, when the motor is running at speed beyond 60 rpm. 5.5.2 Digital Hall Sensor - Interim Position Interpolation For lower torque ripple the user can switch on the position interpolation of interim Hall positions. This function is useful for motors that are compatible with sine wave commutation, but equipped with digital hall sensors. When the position interpolation is switched on, it becomes active on speed beyond 60 rpm. For lower speed it automatically disables. This is important especially, when the motor has to be at rest. Hall Sensor position interpolation might fail, when Hall sensors signals are not properly placed in the motor. Please adjust hall sensor positions for this case. 5.5.3 Digital Hall Sensors - Masking and Filtering Sometimes digital Hall sensor signals get disturbed by switching events in the power stage. The TMC8670 can automatically mask switching distortions by correct setting of the HALL_MASKING register. When a switching event occurs, the Hall sensor signals are held for HALL_MASKING value times 10 ns. In this way Hall sensor distortions are eliminated. Uncorrelated distortions can be filtered via a digital filter of parametrizable length. If the input signal to the filter does not change for HALL_DIG_FILTER times 5 us, the signal can pass the filter. This filter eliminates issues with bouncing Hall signals. 5.5.4 Digital Hall Sensors together with Incremental Encoder If a motor is equipped with both Hall sensors and incremental encoder, the Hall sensors can be used for the initialization as a low resolution absolute position sensor and later the incremental encoder can be used as a high resolution sensor for commutation. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 5.6 29 / 123 ADC Interfaces The ADC interface is for measurement of sense voltages from sense resistor amplifiers for current measurement and for measurement of analog hall signals or analog encoder signals. There are two variants of external ADC interfaces supported: Delta Sigma ADC formed by linear comparator LM339 with two resistors and one caparitor per channel. External SPI ADC LTC2351 from Linear Technology. Both ADC groups (A and B) can be selected separately to process either dsADC or SPI ADC. The TMC8670 evaluation board (TMC8670 EVAL V.1.1) is equipped with LMC339 delta sigma ADC frontends and LTC2351 SPI ADC frontends to enable evaluation of both alternatives. 5.6.1 ADC Interface - Delta Sigma Modulator As external delta sigma modulator the linear quad comparator LM339 is recommended together with RP U = 1KΩ(1%), RC = 100KΩ(1%), and RI = 100KΩ(1%), and C = 100pF (5%). Figure 15: TMC8670 Delta Sigma ADC Configuration ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 5.6.2 30 / 123 ADC Interface - SPI ADC Figure 16: TMC8670 configuration for LTC2351 SPI ADCs Whene using LTC2351 as ADC frontend for the TMC8670, one can add filter elements RCHP = 50Ω(1%) and CP N = 47pF (5%) for spike suppressen on each ADC analog input channel of Group A (CH0, CH1, CH2, CH3, CH4, CH5) and of Group B (CH0, CH1, CGH2, CH3). Figure 17: LTC2351 with input filter elements for noise reduction and spike reduction 5.6.3 Analog Hall and Analog Encoder Interface (SinCos of 0°90° or 0°120°240°) An analog encoder interface is part of the decoder engine. It is able to handle analog position signals of 0° and 90° and 0° 120° 240°. The analog decoder engine adds offset and scales the raw analog encoder signals and calculates the electrical angle PHI_E from these analog position signals. An individual signed offset is added each associated raw ADC channel and scaled by its associated scaling factors according to AENC_VALUE = (AENC_RAW + AENC_OFFSET) · AENC_SCALE ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com (1) TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 31 / 123 In addition, the AENC_OFFSET is for conversion of unsigned ADC values into signed ADC values as required for the FOC. Info For details on the individual registers and how to access them please check the TMC8670 firmware manual. Figure 18: Analog Encoder (AENC) Selector & Scaler w/ Offset Correction Info 5.6.4 The analog N pulse is just a raw ADC value. Scaling, offset correction, hand handling of analog N pulse similar to N pulse handling of digital encoder N pulse is not implemented for analog encoder. Analog Position Decoder (SinCos of 0°90° or 0°120°240°) The extracted positions from the analog decoder are available for read out from registers. 5.7 Brake Chopper Connection The brake chopper signal from the TMC8670 is just a digital 3V3 logic level signal. It can be used as switching / trigger signal for an external brake chopper circuit. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 32 / 123 Figure 19: TMC8670 Brake Chopper Connection 5.8 UART Interfaces The TMC8670 is equipped with two independant UART interfaces for initial evaluation and visualization purposes: The first UART software interface for the TMCL-IDE with TMCL protocol and the second UART hardware register interface with a five byte procotol. The software UART (TXD_MCU, RXD_MCU) is for optional firmware updates with TMCL-IDE without EtherCAT master and for debugging purposes during EtherCAT stack development. With an EtherCAT master one can update via FoE. The hardware UART (TXD_HWO, RXD_HWI) allows direct access to the TMC8670 registers handled by an arbiter. It is for debugging purposes and allows transparent access to internal registers of the TMC8670. It is intended to support EtherCAT slave controller hardware development. Note 5.8.1 Both interfaces are intended for initial evaluation, debugging, development, and monitoring purposes. It is recommended not to over-write data from outside the EtherCAT into registers of the TMC8670 via these interfaces during regular operation. Read of data might be used for monitoring purposes during debugging or validation of own developments. UART Software Interface for TMCL-IDE The software UART interface is a simple three Pin (GND, TXD_MCU, RXD_MCU) 3.3V UART Interface with 115200 bps communication speed, one start bit, eight data bits, one stop bit, and no parity bits (1N8). With an 3.3V-UART-to-USB adapter cable (e.g. FTDI TTL-232R-RPi) the user can directly access registers of the TMC8670 via the TMCL-IDE. 5.8.2 UART Hardware Register Interface The UART hardware register interface is a simple three Pin (GND, TXD_HWO, RXD_HWI) 3.3V UART Interface with up to 3 Mbit/s transfer speed with one start bit, eight data bits, one stop bit, and no parity bits (1N8). The default speed is 9600 bps. Other supported speeds are 115200 bps, 921600 bps, and 3000000 bps. This UART port enables In-System-Setup-Support by multiple-ported register access of the TMC8670. This UART datagram consists of five bytes. This UART interface has a time out feature: Five bytes of a UART datagram need to be send within one second. A pause of sending more than one second causes a time out and sets the UART protocol handler back into idle state. In other words, waiting for more than one second in sending via UART ensures that the UART protocol handler is in idle state. The UART is inactive with the RXD input pulled to high. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 33 / 123 A simple UART hardware register access example: 0x81 0x00 0x00 0x00 0x00 // 1st write 0x00000000 into address 0x01 (CHIPINFO_ADDR) 0x00 0x00 0x00 0x00 0x00 // 2nd read register 0x00 (CHIPINFO_DATA), returns 0x38363730 Why UART Interface? It might be useful during system setup phase by simple access to some internal registers without disturbing the application and without changing the actual user application software and without adding additional debugging code that might disturb the application software itself. It enables access for monitoring purposes with its simple and direct five byte protocol. Figure 20: UART Read Datagram (TMC8670 register read via UART) Figure 21: UART Write Datagram (TMC8670 register write via UART) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6 34 / 123 FOC Basics This section gives a short introduction into some basics of Field Oriented Control (FOC) of electric motors. 6.1 Why FOC? The Field Oriented Control (FOC) alternatively named Vector Control (VC) is a method for most energy efficient turning an electric motor. 6.2 What is FOC? The Field Oriented Control was independently developed by K. Hasse, TU Darmstadt, 1968, and by Felix Blaschke, TU Braunschweig, 1973. The FOC is a current regulation scheme for electro motors that takes the orientation of the magnetic field and the position of the rotor of the motor into account regulating the strength in the way that the motor gives that amount of torque that is requested as target torque. The FOC maximizes active power and minimize idle power - that finally results in power dissipation - by intelligent closed-loop control illustrated by the cartoon figure 22. Figure 22: Illustration of the FOC basic principle by cartoon: Maximize active power and minimize idle power and minimize power dissipation by intelligent closed-loop control. 6.3 Why FOC as pure Hardware Solution? The initial setup of the FOC is usually very time consuming and complex, although source code is freely available for various processors. This is because the FOC has many degrees of freedom that all need to fit together in a chain in order to work. The hardware FOC as an existing standard building block drastically reduces the effort in system setup. With that of the shelf building block, the starting point of FOC is the setup of the parameters for the FOC and no longer the setup and implementation of the FOC itself and building and programming of required interface blocks. The real parallel processing of hardware blocks de-couples the higher lever application software from high speed real time tasks and simplifies the development of application software. With the TMC8670, the user is free to use its qualified CPU together with its qualified tool chain and it frees the user from fighting with processer specific challenges concerning interrupt handling and direct memory access. There is no need for a dedicated tool chain to access TMC8670 registers and to operate it - just SPI (or UART) communication needs to be enabled for a given CPU. The integration of the FOC as a SoC (System-on-Chip) drastically reduces the number of required components and reduces the required PCB space. This is in contrast to classical FOC servos formed by motor ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 35 / 123 block and separate controller box wired with motor cable and encoder cable. The high integration of FOC, together with velocity controller and position controller as a SoC, enables the FOC as a standard peripheral component that transforms digital information into physical motion. Compact size together with high performance and energy efficiency especially for battery powered mobile systems are enabling factors when embedded goes autonomous. 6.4 How does FOC work? Two force components act on the rotor of an electric motor. One component is just pulling in radial direction (ID) where the other component tangentially pulling (IQ) is applying torque. The ideal FOC performs a closed loop current regulation that results in a pure torque generating current IQ without direct current ID. Figure 23: FOC optimizes torque by closed loop control while maximizing IQ and minimizing ID to 0 From top point of view, the FOC for three phase motors uses three phase currents of the stator interpreted as a current vector (Iu; Iv; Iw) and calculates three voltages interpreted as a voltage vector (Uu; Uv; Uw) taking the orientation of the rotor into account in a way that only a torque generating current IQ results. From top point of view, the FOC for two phase motors uses two phase currents of the stator interpreted as a current vector (Ix; Iy) and calculates two voltages interpreted as a voltage vector (Ux; Uy) taking the orientation of the rotor into account in a way that only a torque generating current IQ results. To do so, the knowledge of some static parameters (number of pole pairs of the motor, number of pulses per revolution of a used encoder, orientation of encoder relative to magnetic axis of the rotor, count direction of the encoder) is required together with some dynamic parameters (phase currents, orientation of the rotor). The adjustment of P parameter and I parameters of two PI controllers for closed loop control of the phase currents depends on electrical parameters (resistance, inductance, back EMF constant of the motor that is also the torque constant of the motor, supply voltage) of the motor. 6.5 What is required for FOC? The FOC needs to know the direction of the magnetic axis of the stator of the motor together with the magnetic axis of the rotor of the motor. The magnetic direction of the magnetic axis of the stator is calculated from the currents thought the phases of the motor. The magnetic direction of the rotor is determined by an encoder device. For the FOC one needs to measure the currents through the coils of the stator and the angle of the rotor. The measured angle of the rotor needs to be adjusted to the magnetic axes. The challenge of the FOC is the high number of degrees of freedom of all parameters together. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 36 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6.5.1 Coordinate Transformations - Clarke, Park, iClarke iPark The FOC requires different coordinate transformations formulated as a set of matrix multiplications. These are the Clarke Transformation (Clarke), the Park Transformation (Park), the inverse Park Transformation (iPark) and the inverse Clarke Transformation (iClarke). Some put Park and Clarke together as DQ transformation and Park and Clarke as inverse DQ transformation. The TMC8670 takes care of the required transformations and get the user rid from fighting with details of implementation of theses transformations. 6.5.2 Measurement of Stator Coil Currents The measurement of the stator coil currents is required for the FOC to calculate a magnetic axis ot of the stator field caused by the currents flowing through the stator coils. Coil current stands for motor torque in context of FOC. This is because motor torque is proportional to motor current, defined by the torque constant of a motor. In addition, the torque depends on the orientation of the rotor of the motor relative to the magnetic field produced by the current through the coils of the stator of the motor. 6.5.3 Stator Coil Currents I_U, I_V, I_W and Association to Terminal Voltages U_U, U_V, U_W The correct association between stator terminal voltages U_U, U_V, U_W and stator coil currents I_U, I_V, I_W is essential for the FOC. In addition to the association, the signs of each current channel needs to fit. Signs of the current can be adapted numerically by the ADC scaler. The mapping of ADC channles is programmable via configurations registers for the ADC selector. Initial setup is supported by the integrated open loop encoder block that can turn a motor open loop. 6.5.3.1 Chain of Gains for ADC Raw Values An ADC raw value is a result of a chain of gains that determine it. A coil current I_SENSE flowing through a sense resistor causes a voltage difference according to Ohm’s law. The resulting ADC raw value is result of the analog signal path according to ADC_RAW = (I_SENSE ∗ ADC_GAIN) + ADC_OFFSET. (2) The ADC_GAIN is a result of a chain of gains with individual signs. The sign of the ADC_GAIN is positive or negative, depending on the association of connections between sense amplifier inputs and the sense resistor terminals. The ADC_OFFSET is the result of electrical offsets of the phase current measurement signal path. For the TMC8670 the maximum ADC_RAW value ADC_RAW_MAX = (216 − 1) and the minimum ADC raw value is ADC_RAW_MIN = 0. ADC_GAIN = ( ∗ ∗ I_SENSE_MAX ∗ R_SENSE ) (3) SENSE_AMPLIFIER_GAIN ( ADC_RAW_MAX/ADC_U_MAX ) For the FOC, the ADC_RAW is scaled by the ADC scaler of the TMC8670 together with subtraction of offset to compensate it. Internally, the TMC8670 FOC engine calculates with s16 values. So, the ADC scaling needs to be chosen that the measures currents fit into the s16 range. With the ADC scaler, one can choose a scaling with physical units like [mA]. A scaling to [mA] covers a current range of −32A . . . + 32A with m[A] resolution. For higher currents con can go to un-usual units like centi Ampere [cA] covering −327A . . . + 327A or deci Ampere −3276A . . . + 3276A. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 37 / 123 ADC scaler and offset compensators are for mapping of raw ADC values to s16 scaled an offset cleaned current measurement values that are adequate for the FOC. ADC scaling factor and ADC offset removal value needs to be programmed into associated registers. Finally, a current is mapped to an ADC raw value that is numerically mapped to signed ADC value with removed offset by the ADC scaler. 6.5.4 Measurement of Rotor Angle Determination of the rotor angle is either by done by sensors (digital encoder, analog encoder, digital hall sensors, analog hall sensors) or sensorless by reconstruction of the rotor angle from measurements of electrical parameters with or without a mathematical model of the motor. Currently, there is no sensorless methods available for FOC that work in a general purpose way as a sensor down to velocity zero. The TMC8670 does not support sensorless FOC. 6.5.5 Measured Rotor Angle vs. Magnetic Axis of Rotor vs. Magnetic Axis ot Stator The rotor angle, measured by an encoder, needs to be adjusted to the magnetic axis ot the rotor. This is because an incremental encoder has an arbitrary orientation relative to the magnetic axis of the rotor and the rotor has an arbitrary orientation to magnetic axis of the stator. The direction of counting depends on the encoder, its mounting, and wiring and polarities of encoder signals and motor type. So, the direction of encoder counting is programmable for comfortable definition for a given combination of motor and encoder. 6.5.5.1 Direction of Motion - Magnetic Field vs. Position Sensor For FOC it is essential, that the direction of revolution of the magnetic field is compatible with the direction of motion of the rotor position reconstructed from encoder signals: For revolution of magnetic field with positive direction the decoder position need to turn into same positive direction. For revolution of magnetic field with negative direction the decoder position need to turn into same negative direction. With an absolute encoder, once adjusted to the relative orientation of the rotor and to the relative orientation of the stator, one could start the FOC without initialization of the relative orientations. 6.5.5.2 Bang-Bang Encoder Initialization For Bang-Bang initialization one sets a current into direction D that is strong enough the move the rotor into the desired direction. 6.5.5.3 Encoder Initialization using Hall Sensors The encoder can initialized using digital Hall sensor signals. Digital Hall sensor signal give absolute positions within each electrical period with a resolution of sixty degree. If the hall sensor signals are used to initialize the encoder position on the first change of a Hall sensor signal, one gets an absolute reference within the electrical period for commutation. 6.5.5.4 Encoder Minimum Movement Initialization For encoder minimal movement initialization, one slowly increases a current into direction D and adjusts an offset of measured angel in a way the rotor of the motor does not move during initialization while the offset of measured angel is determined. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6.5.6 6.5.6.1 38 / 123 Knowledge of Relevant Motor Parameters and Position Sensor (Encoder) Parameters Number of Pole Pairs of a Motor The number of pole pairs is an essential motor parameter. It defines the ratio between electrical revolutions and mechanical revolutions. For a motor with one pole pair one mechanical revolution is equivalent to one electrical revolution. For a motor with npp pole pairs, one mechanical revolution is equivalent to npp electrical revolutions, with n = 1, 2, 3, 4, . . . . Some define the number of poles NP instead of number of pole pairs NPP for a motor, which results in a factor of two that might cause confusion. For the TMC8670 we use NPP number of pole pairs. 6.5.6.2 Number of Encoder Positions per Revolution For the encoder, the number of positions per revolution (PPR) is an essential parameter. The number of positions per revolution is essential for the FOC. Some encoder vendors give the number of lines per revolution (LPR) or just named line count (LC) as encoder parameter. Line count and positions per revolution might differ by a factor of four. This is because of the quadrature encoding - A signal and B signal with phase shift - that give four positions per line and enables the determination of direction of revolution. Some encoder vendors associate counts per revolution (CPR) or pulses per revolution associated to PPR acronym. The TMC8670 uses PPR as Positions Per Revolution as encoder parameter. 6.5.7 Proportional Integral (PI) Controllers for Closed Loop Current Control Last but not least two PI controllers are required for the FOC. The TMC8670 is equipped with two PI controllers. One for control of torque generating current I_Q and one to control current I_D to zero. 6.5.8 Pulse Width Modulation (PWM) and Space Vector Pulse Width Modulation (SVPWM) The PWM power stage is must have for energy efficient motor control. The PWM engine of the TMC8670 just needs a couple of parameters to set PWM frequency fPWM and switching pauses for high side switches tBBM_H and for low side switches tBBM_L. Some control bis are for programming of power switch polarities for maximum flexibility in selection in gate drivers for the power MOS-FETs. An additional control bit selects SVPWM on or off. The TMC8670 allows change of PWM frequency by a single parameter during operation. Whit this, the TMC8670 is advanced compared to software solutions where PWM and SVPM configuration of CPU internal peripherals normally needs settings of many parameters. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6.5.9 39 / 123 Orientations, Models of Motors, and Coordinate Transformations The orientation of magnetic axes (U, V, W for FOC3 resp. X, Y for FOC2) is essential for the FOC together with the relative orientation of the rotor. Here the rotor is modelled by a bar magnet with one pole pair (n_pole_pairs = 1) with magnetic axis in north-south-direction. The actual magnetic axis of the stator - formed by the motor coils - is determined by measurement of the coil currents. The actual magnetic axis of the rotor is determined by incremental encoder or by hall sensors. Incremental encoders need an initialization of orientation, where hall sensors give an absolute orientation but with low resolution. A combination of hall sensor and incremental encoder is useful for start-up initialization. Figure 24: Orientations UVW (FOC3) and XY (FOC2) Figure 25: Compass Motor Model w/ 3 Phases UVW (FOC3) and Compass Motor Model w/ 2 Phases (FOC2) 6.6 FOC23 Engine ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 40 / 123 Support for the TMC8670 is integrated into the TMCL-IDE including wizards for set up and configuration. With the TMCL-IDE configuration and operation can be done in a few steps and the user gets direct access to all registers of the TMC8670. Info The FOC23 engine performs the inner current control loop for the torque current IQ and the flux current ID including the required transformations. Programmable limiters take carep of clipping of interim results. p Per default, the programmable circular limiter clips U_D and U_Q to U_D_R = (2)· U_Q and U_R_R = (2)· U_D. PI controllers perform the regulation tasks. 6.6.1 PI Controllers PI controllers are used for current control and velocity control. A P controller is used for position control. The D part is not yet supported. The user can choose between two PI controller structures. Classic PI controller structure which is also used in the TMC4670 and the Advanced PI Controller Structure. The Advanced PI Controller Structure shows better performance in dynamics and is recommended for high performance applications. 6.6.2 PI Controller Calculations - Classic Structure The PI controllers in the classic Structure perform the following calculation Z t dXdT = P · e + I · e(t) dt (4) 0 with e = X_TARGET − X (5) where X_TARGET stands for target flux, target torque, target velocity, or target position with error e, that is the difference between target value and actual values. The time constant dt is 1µs with the integral part is divided by 256. Info 6.6.3 Changing the I-parameter of the Classic PI Controller during operation causes the controller output to jump, as the control error is first integrated and then gained by the I parameter. Be careful during controller tuning or use the advanced PI Controller Structure. PI Controller Calculations - Advanced Structure The PI controllers in the Advanced Controller Structure perform the calculation Z t dXdT = P · e + P · I · e(t) dt (6) 0 with e = X_TARGET − X (7) where X_TARGET represents target flux, target torque, target velocity, or target position with control error e that is the difference between target value and actual values. The time constant dt is set according to ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 41 / 123 the PWM period. Velocity and Position controller evaluation can be down sampled by a constant factor when needed. Figure 26: Advanced PI Controller 6.6.4 PI Controller - Clipping The limiting of target values for PI controllers and output values of PI controllers is programmable. Per power on default these limits are set to maximum values. During initialization these limits should be properly set for correct operation and clipping. The target input is clipped to X_TARGET_LIMIT. The output of a PI controller is named dXdT, because it gives the desired derivative d/dt as a target value to the following stage: The position (x) controller gives velocity (dx/dt). The output of the PI Controller is clipped to dXdT_LIMIT. The error integral of (4) is clipped to dXdT_LIMIT / I in the classic controller structure and the integrator output is clipped to dXdT_LIMIT in the advanced controller structure. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Figure 27: PI Architectures 6.6.5 PI Flux & PI Torque Controller The P part is represented as q8.8 and I is the I part represented as q0.15. 6.6.6 PI Velocity Controller The P part is represented as q8.8 and I is the I part represented as q0.15. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 42 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 6.6.7 43 / 123 P Position Controller For the position regulator, the P part is represented as q4.12 to be compatible with the high resolution positions - one single rotation is handled as an s16. This is because e = x - x_target might result in larger e[s32] for x[s32] and x_target[s32] represented as s32 for e = x - x_target for x[s16] and x_target[s16] represented as s16. 6.6.8 Inner FOC Control Loop - Flux & Torque The inner FOC loop (figure 28) controls the flux current to the flux target value and the torque current to the desired torque target. The inner FOC loop performs the desired transformations according to figure 29 for 3-phase motors (FOC3). For 2-phase motors (FOC2) both Clark (CLARK) transformation and inverse Clark (iCLARK) a by-passed. For control of DC motors transformations are bypassed and only the first full bridge (X1 and X2) is used. The inner FOC control loop gets a target torque value (I_Q_TARGET), which represents acceleration, the rotor position, and the measured currents as input data. Together with the programmed P and I parameters, the inner FOC loop calculates the target voltage values as input for the PWM engine. Figure 28: Inner FOC Control Loop 6.6.9 FOC Transformations and PI(D) for control of Flux & Torque The Clarke transformation (CLARKE) maps three motor phase currents (IU , IV , IW ) to a two dimensional coordinate system with two currents (Iα , Iβ ). Based on the actual rotor angle determined by an encoder or via sensorless techniques, the Park transformation (PARK) maps these two currents to a quasi-static coordinate system with two currents (ID , IQ ). The current ID represents flux and the current IQ represents torque. The flux just pulls on the rotor but does not effect torque. The torque is effected by IQ . Two PI controllers determine two voltages (UD , UQ ) to drive desired currents for a target torque and a target flux. The determined voltages (UD , UQ ) are re-transformed into the stator system by the inverse Parke transformation (iPARK). The inverse Clarke Transformation (iCLARKE) transforms these two currents into three voltages (UU , UV , UW ). Theses three voltage are the input of the PWM engine to drive the power stage. In case of the FOC2, Clarke transformation CLARKE and inverse Clarke Transformation iCLARKE are skipped. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 44 / 123 Figure 29: FOC3 Transformations (FOC2 just skips CLARKE and iCLARKE) 6.6.10 Motion Modes The user can operate the TMC8670 in several motion modes. Standard Motion Modes are position control, velocity control and torque control, where target values are fed into the controllers via register access. The motion mode UD_UQ_EXTERN allows the user to set voltages for open loop operation and for tests during setup. Figure 30: Standard Motion Modes In position control mode the user can feed the step and direction interface to generate a position target value for the controller cascade. Additional motion modes are the motion mode for Encoder Initialisation (ENCODER_INIT_MINI_MOVE) and motion modes where target values are fed into the TMC8670 via ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 45 / 123 PWM interface (Pin: PWM_IN) or analog input via pin AGPI_A. These motion modes are recommended for applications, where reference values have to be easily distributed. There are additional Motion Modes, which are using input from the PWM_I input and the AGPI_A input. Input signals can be scaled via a standard scaler providing offset and gain correction. The interface can be configured via the Registers SINGLE_PIN_IF_OFFSET_SCALE and SINGLE_PIN_IF_STATUS_CFG, where also the status of the interface can be monitored. PWM input signals, which are out of frequency range can be neglected. In case of wrong input data, last correct position is used or velocity and torque are set to zero. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7 46 / 123 EtherCAT Slave Controller Description 7.1 General EtherCAT Information TMC8670 contains a proven and standard-conform EtherCAT Slave Controller (ESC) providing real-time EtherCAT MAC layer functionality to EtherCAT slave devices. The ESC part of TMC8670 provides the following EtherCAT-related features: • 4 KByte of Process Data RAM (PDRAM): The PDRAM is a dual ported RAM, which allows exchange of data from the EtherCAT master to the local application. • Four Sync Managers (SM): Sync Managers are used to control and secure the data exchange via the PDRAM in terms of data consistency, data security, and synchronized read/write operations on the data objects. Two modes –buffered mode and mailbox mode – are available. • Four Fieldbus Memory Management Units (FMMU): FMMUs are used for mapping of logical addresses to physical addresses. The EtherCAT master uses logical addressing for data than spans multiple slaves. An FMMU can map such a logical address range to a continuous local physical address range. • 64 bit Distributed Clock support (DC) as core function for EtherCAT’s hard real-time capabilities. • IIC interface for external SII EEPROM for ESC configuration: After reset and at power up, the ESC requires reading basic (and advanced) configuration data from an external SII EEPROM to properly configure interfaces, operation modes, and and feature availability. The SII EEPROM may be read and written by the master or the local application controller as well. • SPI Process Data Interface (PDI): The PDI is the interface between the local application controller and the ESC. Application-specific process data and EtherCAT control and status information for the EtherCAT State Machine (ESM) is exchanged via this interface. This interface is internal to the TMC8670. To manufacture own slaves devices, a registration with the EtherCAT Technology Group (ETG) is required. More information and resources on the EtherCAT technology and the EtherCAT standard are available here: • EtherCAT Technology Group (ETG) (http://www.ethercat.org/http://www.ethercat.org/) • EtherCAT is standardized by the IEC (http://www.iec.ch/http://www.iec.ch/) and filed as IEC-Standard 61158. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.2 47 / 123 EtherCAT Register Overview TMC8670 has an address space of 8 KByte. The first block of 4KByte (0x0000:0x0FFF) is reserved for the standard ESC- and EtherCAT-relevant configuration and status registers. The Process Data RAM (PDRAM) starts at address 0x1000 and has a size of 4 KByte. Address Length (Byte) Description ESC Information 0x0000 1 Type 0x0001 1 Revision 0x0002:0x0003 2 Build 0x0004 1 FMMUs supported 0x0005 1 SyncManagers supported 0x0006 1 RAM Size 0x0007 1 Port Descriptor 0x0008:0x0009 2 ESC Features supported Station Address 0x0010:0x0011 2 Configured Station Address 0x0012:0x0013 2 Configured Station Alias Write Protection 0x0020 1 Write Register Enable 0x0021 1 Write Register Protection 0x0030 1 ESC Write Enable 0x0031 1 ESC Write Protection Data Link Layer 0x0100:0x0103 4 ESC DL Control 0x0108:0x0109 2 Physical Read/Write Offset 0x0110:0x0111 2 ESC DL Status ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Address Length (Byte) Description Application Layer 0x0120:0x0121 2 AL Control 0x0130:0x0131 2 AL Status 0x0134:0x0135 2 AL Status Code 0x0138 1 RUN LED Override 0x0139 1 ERR LED Override PDI 0x0140 1 PDI Control 0x0141 1 ESC Configuration 0x014E:0x014F 1 PDI Information 0x0150 4 PDI SPI Slave Configuration 0x0151 4 SYNC/LATCH PDI Configuration 0x0152:0x0153 4 Extended PDI SPI Slave Configuration Interrupts 0x0200:0x0201 2 ECAT Event Mask 0x0204:0x0207 4 AL Event Mask 0x0210:0x0211 2 ECAT Event Request 0x0220:0x0223 4 AL Event Request Error Counters 0x0300:0x0307 4x2 RX Error Counter[3:0] 0x0308:0x030B 4x1 Forward RX Error Counter[3:0] 0x030C 1 ECAT Processing Unit Error Counter 0x030D 1 PDI Error Counter 0x030E 1 PDI Error Code 0x0310:0x0313 4x1 Lost Link Counter[3:0] ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 48 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Address Length (Byte) Description Watchdogs 0x0400:0x0401 2 Watchdog Divider 0x0410:0x0411 2 Watchdog Time PDI 0x0420:0x0421 2 Watchdog Time Process Data 0x0440:0x0441 2 Watchdog Status Process Data 0x0442 1 Watchdog Counter Process Data 0x0443 1 Watchdog Counter PDI SII EEPROM Interface 0x0500 1 EEPROM Configuration 0x0501 1 EEPROM PDI Access State 0x0502:0x0503 2 EEPROM Control/Status 0x0504:0x0507 4 EEPROM Address 0x0508:0x050F 4/8 EEPROM Data MII Management Interface 0x0510:0x0511 2 MII Management Control/Status 0x0512 1 PHY Address 0x0513 1 PHY Register Address 0x0514:0x0515 2 PHY Data 0x0516 1 MII Management ECAT Access State 0x0517 1 MII Management PDI Access State 0x0518:0x051B 4 PHY Port Status ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 49 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Address 0x0600:0x06FF Length (Byte) Description 16x16 FMMU[15:0] +0x0:0x3 4 Logical Start Address +0x4:0x5 2 Length +0x6 1 Logical Start bit +0x7 1 Logical Stop bit +0x8:0x9 2 Physical Start Address +0xA 1 Physical Start bit +0xB 1 Type +0xC 1 Activate +0xD:0xF 3 Reserved 0x0800:0x087F 16x8 SyncManager[15:0] +0x0:0x1 2 Physical Start Address +0x2:0x3 2 Length +0x4 1 Control Register +0x5 1 Status Register +0x6 1 Activate +0x7 1 PDI Control 0x0900:0x09FF Distributed Clocks (DC) DC Receive Times 0x0900:0x0903 4 Receive Time Port 0 0x0904:0x0907 4 Receive Time Port 1 0x0908:0x090B 4 Receive Time Port 2 0x090C:0x090F 4 Receive Time Port 3 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 50 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Address Length (Byte) Description DC Time Loop Control Unit 0x0910:0x0917 4/8 System Time 0x0918:0x091F 4/8 Receive Time ECAT Processing Unit 0x0920:0x0927 4/8 System Time Offset 0x0928:0x092B 4 System Time Delay 0x092C:0x092F 4 System Time Difference 0x0930:0x0931 2 Speed Counter Start 0x0932:0x0933 2 Speed Counter Diff 0x0934 1 System Time Difference Filter Depth 0x0935 1 Speed Counter Filter Depth DC Cyclic Unit Control 0x0980 1 Cyclic Unit Control DC SYNC Out Unit 0x0981 1 Activation 0x0982:0x0983 2 Pulse Length of SYNC signals 0x0984 1 Activation Status 0x098E 1 SYNC0 Status 0x098F 1 SYNC1 Status 0x0990:0x0997 4/8 Start Time Cyclic Operation / Next SYNC0 Pulse 0x0998:0x099F 4/8 Next SYNC1 Pulse 0x09A0:0x09A3 4 SYNC0 Cycle Time 0x09A4:0x09A7 4 SYNC1 Cycle Time ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 51 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Address Length (Byte) Description DC LATCH In Unit 0x09A8 1 Latch0 Control 0x09A9 1 Latch1 Control 0x09AE 1 Latch0 Status 0x09AF 1 Latch1 Status 0x09B0:0x09B7 4/8 Latch0 Time Positive Edge 0x09B8:0x09BF 4/8 Latch0 Time Negative Edge 0x09C0:0x09C7 4/8 Latch1 Time Positive Edge 0x09C8:0x09CF 4/8 Latch1 Time Negative Edge DC SyncManager Event Times 0x09F0:0x09F3 4 EtherCAT Buffer Change Event Time 0x09F8:0x09FB 4 PDI Buffer Start Event Time 0x09FC:0x09FF 4 PDI Buffer Change Event Time 0x0E00:0x0EFF 256 0x0E00:0x0E07 8 Product ID 0x0E08:0x0E0F 8 Vendor ID 0x0F80:0x0FFF 128 User RAM 0x0F80:0x0FFF 20 ESC Specific reserved Process Data RAM 0x1000:0x1FFF 4KB TMC8670 Table 4: TMC8670 EtherCAT Registers For Registers longer than one byte, the LSB has the lowest and MSB the highest address. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 52 / 123 53 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3 EtherCAT Register Set 7.3.1 ESC Information 7.3.1.1 Type (0x0000) Bit Description ECAT PDI Reset Value 7:0 Type of EtherCAT controller r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 0xD0 0xD0 0xD0 0xD0 Table 5: Register 0x0000 (Type) 7.3.1.2 Revision (0x0001) Bit Description ECAT PDI Reset Value 7:0 Revision of EtherCAT controller r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 0x60 0x61 0x61 0x70 Table 6: Register 0x0001 (Revision) 7.3.1.3 Build (0x0002:0x0003) Bit Description ECAT PDI Reset Value 15:0 Actual build of EtherCAT controller, minor version, maintenance version r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: Table 7: Register 0x0002 (Build) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 0x10 0x11 0x11 0x10 54 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.1.4 FMMUs supported (0x0004) Bit Description ECAT PDI Reset Value 7:0 Number of supported FMMU channels (or entities) of the EtherCAT slave controlller. r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 6 8 8 4 Table 8: Register 0x0004 (FMMUs) 7.3.1.5 SyncManagers supported (0x0005) Bit Description ECAT PDI Reset Value 7:0 Number of supported SyncManager channels (or entities) of the EtherCAT Slave Controller r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 6 8 8 4 Table 9: Register 0x0005 (SMs) 7.3.1.6 RAM Size (0x0006) Bit Description ECAT PDI Reset Value 7:0 Process Data RAM size supported by the EtherCAT Slave Controller in KByte r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: Table 10: Register 0x0006 (RAM Size) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 16 16 16 4 55 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.1.7 Bit Port Descriptor (0x0007) Description ECAT PDI Reset Value Port configuration: 00: Not implemented 01: Not configured (SII EEPROM) 10: EBUS 11: MII RMII RGMII 1:0 Port 0 r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 11 11 11 11 3:2 Port 1 r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 11 11 11 11 7:4 not supported r/- r/- 0 Table 11: Register 0x0007 (Port Descriptor) 7.3.1.8 ESC Features supported (0x0008:0x0009) Bit Description ECAT PDI 0 FMMU Operation: 0: Bit oriented 1: Byte oriented r/- r/- 1 Reserved r/- r/- 2 Distributed Clocks: 0: Not available 1: Available r/- r/- 3 Distributed Clocks (width): 0: 32 bit 1: 64 bit r/- r/- 4 Low Jitter EBUS: 0: Not available, standard jitter 1: Available, jitter minimized r/- r/- 0 5 Enhanced Link Detection EBUS: 0: Not available 1: Available r/- r/- 0 6 Enhanced Link Detection MII 0: Not available 1: Available r/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 56 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 7 Separate Handling of FCS Errors: 0: Not supported 1: Supported, frames with wrong FCS and additional nibble will be counted separately in Forwarded RX Error Counter r/- r/- 8 Enhanced DCSYNC Activation 0: Not available 1: Available NOTE: This feature refers 0x981.(7:3), 0x0984 r/- r/- to registers 9 EtherCAT LRW command support: 0: Supported 1: Not Supported r/- r/- 10 EtherCAT read/write command support 0: Supported 1: Not Supported r/- r/- 11 Fixed FMMU/SyncManager configuration 0: Variable configuration 1: Fixed configuration (refer to documentation of supporting ESCs) r/- r/- 15:12 Reserved r/- r/- Table 12: Register 0x0008:0x0009 (ESC Features) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 57 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.2 7.3.2.1 Station Address Configured Station Address (0x0010:0x0011) Bit Description ECAT PDI 15:0 Address used for node addressing (FPxx commands) r/w r/- Reset Value Table 13: Register 0x0010:0x0011 (Station Addr) 7.3.2.2 Configured Station Alias (0x0012:0x0013) Bit Description ECAT PDI 15:0 Alias Address used for node addressing (FPxx commands) The use of this alias is activated by Register DL Control Bit 24 (0x0100.24/0x0103.0) r/- r/w NOTE: EEPROM value is only taken over at first EEPROM load after power- on reset. Table 14: Register 0x0012:0x0013 (Station Alias) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 58 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.3 7.3.3.1 Write Protection Write Register Enable (0x0020) Bit Description ECAT PDI 0 If write register protection is enabled, this register has to be written in the same Ethernet frame (value does not care) before other writes to this station are allowed. Write protection is still active after this frame (if Write Register Protection register is not changed). r/w r/- 7:1 Reserved, wirte 0 r/- r/- Reset Value Table 15: Register 0x0020 (Write Register Enable) 7.3.3.2 Write Register Protection (0x0021) Bit Description ECAT PDI 0 Write register protection: 0: Protection disabled 1: Protection enabled Registers 0x0000-0x0137, 0x013A-0x0F0F are write protected, except for 0x0030 r/w r/- 7:1 Reserved, write 0 r/- r/- Reset Value Table 16: Register 0x0021 (Write Register Prot.) 7.3.3.3 ESC Write Enable (0x0030) Bit Description ECAT PDI 0 If ESC write protection is enabled, this register has to be written in the same Ethernet frame (value does not care) before other writes to this station are allowed. ESC write protection is still active after this frame (if ESC Write Protection register is not changed). r/w r/- 7:1 Reserved, write 0 r/- r/- Table 17: Register 0x0030 (ESC Write Enable) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 59 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.3.4 ESC Write Protection (0x0031) Bit Description ECAT PDI 15:0 Write protect: 0: Protection disabled 1: Protection enabled All areas are write protected, except for 0x0030. r/w r/- 7:1 Reserved, write 0 r/- r/- Table 18: Register 0x0031 (ESC Write Prot.) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 60 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.4 7.3.4.1 Data Link Layer ESC DL Control (0x0100:0x0103) Bit Description ECAT PDI 0 Forwarding rule: 0: EtherCAT frames are processed, Non-EtherCAT frames are forwarded without processing 1: EtherCAT frames are processed, NonEtherCAT frames are destroyed The source MAC address is changed for every frame (SOURCE_MAC[1] is set to 1 - locally administered address) regardless of the forwarding rule. r/- r/- 1 Temporary use of settings in Register 0x101: 0: permanent use 1: use for about 1 second, then revert to previous settings r/- r/- 7:2 Reserved, write 0 r/- r/- 9:8 Loop Port 0: 00: Auto 01: Auto Close 10: Open 11: Closed Note Loop open means sending/receiving over this port is enabled, loop closed means sending/receiving is disabled and frames are forwarded to the next open port internally. Auto: loop closed at link down, opened at link up Auto Close: loop closed at link down, opened with writing 01 again after link up (or receiving a valid Ethernet frame at the closed port) Open: loop open regardless of link state Closed: loop closed regardless of link state r/w* r/- 11:10 Loop Port 1: 00: Auto 01: Auto Close 10: Open 11: Closed r/w* r/- 13:12 Loop Port 2: 00: Auto 01: Auto Close 10: Open 11: Closed r/w* r/- 15:14 Loop Port 3: 00: Auto 01: Auto Close 10: Open 11: Closed r/w* r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 61 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 18:16 RX FIFO Size (ESC delays start of forwarding until FIFO is at least half full). RX FIFO Size/RX delay reduction** : Value (for MII): 0: -40 ns 1: -40 ns 2: -40 ns 3: -40 ns 4: no change 5: no change 6: no change 7: default default r/w r/- Reset Value NOTE: EEPROM value is only taken over at first EEPROM load after power-on or reset 19 EBUS Low Jitter: 0: Normal jitter / 1: Reduced jitter r/w r/- 21:20 Reserved, write 0 r/w r/- 22 EBUS remote link down signaling time: 0: Default (≈660 ms) 1: Reduced (≈80 µs) r/w r/- 23 Reserved, write 0 r/w r/- 24 Station alias: 0: Ignore Station Alias 1: Alias can be used for all configured address command types (FPRD, FPWR, . . . ) r/w r/- 31:25 Reserved, write 0 r/- r/- 0 0 Table 19: Register 0x0100:0x0103 (DL Control) * Loop configuration changes are delayed until end of currently received or transmitted frame at the port. ** The possibility of RX FIFO Size reduction depends on the clock source accuracy of the ESC and of every connected EtherCAT/Ethernet devices (master, slave, etc.). RX FIFO Size of 7 is sufficient for 100ppm accuracy, FIFO Size 0 is possible with 25ppm accuracy (frame size of 1518/1522 Byte). 7.3.4.2 Physical Read/Write Offset (0x0108:0x0109) Bit Description ECAT PDI 15:0 Offset of R/W Commands (FPRW, APRW) between Read address and Write address. RD_ADR = ADR and WR_ADR = ADR + R/WOffset 0 r/w r/- Table 20: Register 0x0108:0x0109 (R/W Offset) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 62 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.4.3 ESC DL Status (0x0110:0x0111) Bit Description ECAT PDI 0 PDI operational/EEPROM loaded correctly: 0: EEPROM not loaded, PDI not operational (no access to Process Data RAM) 1: EEPROM loaded correctly, PDI operational (access to Process Data RAM) r*/- r/- 1 PDI Watchdog Status: 0: Watchdog expired 1: Watchdog reloaded r*/- r/- 2 Enhanced Link detection: 0: Deactivated for all ports 1: Activated for at least one port NOTE: EEPROM value is only taken over at first EEPROM load after power-on or reset r*/- r/- 3 Reserved r*/- r/- 4 Physical link on Port 0: 0: No link 1: Link detected r*/- r/- 5 Physical link on Port 1: 0: No link 1: Link detected r*/- r/- 6 Physical link on Port 2: 0: No link 1: Link detected r*/- r/- 7 Physical link on Port 3: 0: No link 1: Link detected r*/- r/- 8 Loop Port 0: 0: Open 1: Closed r*/- r/- 9 Communication on Port 0: 0: No stable communication 1: Communication established r*/- r/- 10 Loop Port 1: 0: Open 1: Closed r*/- r/- 11 Communication on Port 1: 0: No stable communication 1: Communication established r*/- r/- 12 Loop Port 2: 0: Open 1: Closed r*/- r/- 13 Communication on Port 2: 0: No stable communication 1: Communication established r*/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 63 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 14 Loop Port 3: 0: Open 1: Closed r*/- r/- 15 Communication on Port 3: 0: No stable communication 1: Communication established r*/- r/- Reset Value Table 21: Register 0x0110:0x0111 (DL Status) * Reading DL Status register from ECAT clears ECAT Event Request 0x0210.2. Register 0x0111 Port 3 Port2 Port1 Port 0 0x55 No link, closed No link, closed No link, closed No link, closed 0x56 No link, closed No link, closed No link, closed Link, open 0x59 No link, closed No link, closed Link, open No link, closed 0x5A No link, closed No link, closed Link, open Link, open 0x65 No link, closed Link, open No link, closed No link, closed 0x66 No link, closed Link, open No link, closed Link, open 0x69 No link, closed Link, open Link, open No link, closed 0x6A No link, closed Link, open Link, open Link, open 0x95 Link, open No link, closed No link, closed No link, closed 0x96 Link, open No link, closed No link, closed Link, open 0x99 Link, open No link, closed Link, open No link, closed 0x9A Link, open No link, closed Link, open Link, open 0xA5 Link, open Link, open No link, closed No link, closed 0xA6 Link, open Link, open No link, closed Link, open 0xA9 Link, open Link, open Link, open No link, closed 0xAA Link, open Link, open Link, open Link, open 0xD5 Link, closed No link, closed No link, closed No link, closed 0xD6 Link, closed No link, closed No link, closed Link, open 0xD9 Link, closed No link, closed Link, open No link, closed 0xDA Link, closed No link, closed Link, open Link, open Table 22: Decoding port state in ESC DL Status register 0x0111 (typical modes only) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 64 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.5 7.3.5.1 Application Layer AL Control (0x0120:0x0121) Bit Description ECAT PDI 3:0 Initiate State Transition of the Device State Machine: 1: Request Init State 3: Request Bootstrap State 2: Request Pre-Operational State 4: Request Safe-Operational State 8: Request Operational State r/(w) r/ (wack)* 4 Error Ind Ack: 0: No Ack of Error Ind in AL status register 1: Ack of Error Ind in AL status register r/(w) r/ (wack)* 4 Device Identification: 0: No request 1: Device Identification request r/(w) r/ (wack)* 15:6 Reserved, write 0 r/(w) r/ (wack)* Reset Value Table 23: Register 0x0120:0x0121 (AL Cntrl) Note AL Control register behaves like a mailbox if Device Emulation is off (0x0140.8=0): The PDI has to read/write* the AL Control register after ECAT has written it. Otherwise ECAT cannot write again to the AL Control register. After Reset, AL Control register can be written by ECAT. (Regarding mailbox functionality, both registers 0x0120 and 0x0121 are equivalent, e.g. reading 0x0121 is sufficient to make this register writeable again.) If Device Emulation is on, the AL Control register can always be written, its content is copied to the AL Status register. * PDI register function acknowledge by Write command is disabled: Reading AL Control from PDI clears AL Event Request 0x0220.0. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing AL Control from PDI clears AL Event Request 0x0220.0. Writing to this register from PDI is possible; write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 65 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.5.2 AL Status (0x0130:0x0131) Bit Description ECAT PDI 3:0 Actual State of the Device State Machine: 1: Init State 3: Request Bootstrap State 2: Pre-Operational State 4: Safe-Operational State 8: Operational State r*/- r/(w) 4 Error Ind: 0: Device is in State as requested or Flag cleared by command 1: Device has not entered requested State or changed State as result of a local action r*/- r/(w) 5 Device Identification: 0: Device Identification not valid 1: Device Identification loaded r*/- r/(w) 15:6 Reserved, write 0 r*/- r/(w) Reset Value Table 24: Register 0x0130:0x0131 (AL Status) AL Status register is only writable from PDI if Device Emulation is off (0x0140.8=0), otherwise AL Status register will reflect AL Control register values. Note * Reading AL Status from ECAT clears ECAT Event Request 0x0210.3. 7.3.5.3 AL Status Code (0x0134:0x0135) Bit Description ECAT PDI 15:0 AL Status Code r/- r/w Table 25: Register 0x0134:0x0135 (AL Status Code) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 66 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.5.4 RUN LED Override (0x0138) Bit Description ECAT PDI 3:0 LED code: (FSM State) 0x0: Off (1-Init) 0x1-0xC: Flash 1x - 12x (4-SafeOp 1x) 0xD: Blinking (2-PreOp) 0xE: Flickering (3-Bootrap) 0xF: On r/w r/w 4 Enable Override: 0: Override disabled 1: Override enabled r/w r/w 7:5 Reserved, write 0 r/w r/w Reset Value Table 26: Register 0x0138 (RUN LED Override) Changes to AL Status register (0x0130) with valid values will disable RUN LED Override (0x0138.4=0). The value read in this register always reflects current LED output. Note 7.3.5.5 ERR LED Override (0x0139) Bit Description ECAT PDI 3:0 LED code: 0x0: Off 0x1-0xC: Flash 1x - 12x 0xD: Blinking 0xE: Flickering 0xF: On r/w r/w 4 Enable Override: 0: Override disabled 1: Override enabled r/w r/w 7:5 Reserved, write 0 r/w r/w Reset Value Table 27: Register 0x0139 (ERR LED Override) Note New error conditions will disable ERR LED Override (0x0139.4=0). The value read in this register always reflects current LED output. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 67 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.6 7.3.6.1 PDI PDI Control (0x0140) Bit Description ECAT PDI Reset Value 7:0 Process data interface: r/- r/- TMC8460, TMC8461, TMC8462, TMC8670: 0x00 0x00: Interface deactivated (no PDI) ... 0x05: SPI Slave ... 0x80: On-chip bus later EEPROM ADR 0x0000 only SPI Slave (0x05) is supported in the hardware Others: Reserved Table 28: Register 0x0140 (PDI Control) 7.3.6.2 ESC Configuration (0x0141) Bit Description ECAT PDI 0 Device emulation (control of AL status): 0: AL status register has to be set by PDI 1: AL status register will be set to value written to AL control register r/w r/- 1 Enhanced Link detection all ports: 0: disabled (if bits [7:4]=0) 1: enabled at all ports (overrides bits [7:4]) r/- r/- 2 Distributed Clocks SYNC Out Unit: 0: disabled (power saving) / 1: enabled r/- r/- 3 Distributed Clocks Latch In Unit: 0: disabled (power saving) / 1: enabled r/- r/- 4 Enhanced Link port 0: 0: disabled (if bit 1=0) / 1: enabled r/- r/- 5 Enhanced Link port 1: 0: disabled (if bit 1=0) / 1: enabled r/- r/- 6 Enhanced Link port 2: 0: disabled (if bit 1=0) / 1: enabled r/- r/- 7 Enhanced Link port 3: 0: disabled (if bit 1=0) / 1: enabled r/- r/- Table 29: Register 0x0141 (ESC Config) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 68 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.6.3 PDI Information (0x014E:0x014F) Bit Description ECAT PDI Reset Value 0 PDI register function acknowledge by write: 0: Disabled 1: Enabled r/w r/- Depends on configuration 1 PDI configured: 0: PDI not configured 1: PDI configured (EEPROM loaded) r/w r/- 0 2 PDI active: 0: PDI not active 1: PDI active r/w r/- 0 3 PDI configuration invalid: 0: PDI configuration ok 1: PDI configuration invalid r/w r/- 0 7:4 Reserved r/w r/- 0 Table 30: Register 0x014E (PDI Information)) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 69 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.6.4 PDI SPI Slave Configuration (0x0150) The PDI configuration register 0x0150 and the extended PDI configuration registers 0x0152:0x0153 depend on the selected PDI. The Sync/Latch[1:0] PDI configuration register 0x0151 is independent of the selected PDI. The TMC8460, TMC8461, TMC8462, and TMC8670 devices support SPI Slave PDI only. Bit Description ECAT PDI 1:0 SPI mode: 00: SPI mode 0 01: SPI mode 1 10: SPI mode 2 11: SPI mode 3 NOTE: SPI mode 3 is recommended for Slave Sample Code NOTE: SPI status flag is not available in SPI modes 0 and 2 with normal data out sample. r/- r/- 3:2 SPI_IRQ output driver/polarity: 00: Push-Pull active low 01: Open Drain (active low) 10: Push-Pull active high 11: Open Source (active high) r/- r/- 4 SPI_CSNL polarity: 0: Active low 1: Active high r/- r/- 5 Data Out sample mode: 0: Normal sample (SPI_MISO and SPI_MOSI are sampled at the same SPI_CLK edge) 1: Late sample (SPI_MISO and SPI_MOSI are sampled at different SPI_CLK edges) r/- r/- 7:6 Reserved, set EEPROM value 0 r/- r/- Reset Value Table 31: Register 0x0150 (PDI SPI CFG) 7.3.6.5 SYNC/LATCH Configuration (0x0151) Bit Description ECAT PDI Reset Value 1:0 SYNC0 output driver/polarity: 00: Push-Pull active low 01: Open Drain (active low) 10: Push-Pull active high 11: Open Source (active high) r/- r/- TMC8461: 10 TMC8462: 10 2 SYNC0/LATCH0 configuration: 0: LATCH0 Input 1: SYNC0 Output r/- r/- TMC8461: 1 TMC8462: 1 3 SYNC0 mapped to AL Event Request register 0x0220.2: 0: Disabled 1: Enabled r/- r/- TMC8461, TMC8462: depends on configuration ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 70 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI Reset Value 5:4 SYNC1 output driver/polarity: 00: Push-Pull active low 01: Open Drain (active low) 10: Push-Pull active high 11: Open Source (active high) r/- r/- TMC8461: 10 TMC8462: 10 6 SYNC1/LATCH1 configuration*: 0: LATCH1 input 1: SYNC1 output r/- r/- TMC8461: 1 TMC8462: 1 7 SYNC1 mapped to AL Event Request register 0x0220.3: 0: Disabled 1: Enabled r/- r/- TMC8461, TMC8462: depends on configuration Table 32: Register 0x0151 (SYNC/LATCH CFG) 7.3.6.6 PDI SPI Slave Extended Configuration (0x0152:0x0153) Bit Description ECAT PDI Reset Value 15:0 Reserved, set EEPROM value 0 r/- r/- TMC8461: 0 TMC8462: 0 Table 33: Register 0x0152:0x0153 (PDI SPI extCFG) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 71 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.7 7.3.7.1 Interrupts ECAT Event Mask (0x0200:0x0201) Bit Description ECAT PDI 15:0 ECAT Event masking of the ECAT Event Request Events for mapping into ECAT event field of EtherCAT frames: 0: Corresponding ECAT Event Request register bit is not mapped 1: Corresponding ECAT Event Request register bit is mapped r/w r/- Reset Value Table 34: Register 0x0200:0x0201 (ECAT Event M.) 7.3.7.2 AL Event Mask (0x0204:0x0207) Bit Description ECAT PDI 31:0 AL Event masking of the AL Event Request register Events for mapping to PDI IRQ signal: 0: Corresponding AL Event Request register bit is not mapped 1: Corresponding AL Event Request register bit is mapped r/- r/w Reset Value Table 35: Register 0x0204:0x0207 (AL Event Mask) 7.3.7.3 ECAT Event Request (0x0210:0x0211) Bit Description ECAT PDI 0 DC Latch event: 0: No change on DC Latch Inputs 1: At least one change on DC Latch Inputs (Bit is cleared by reading DC Latch event times from ECAT for ECAT controlled Latch Units, so that Latch 0/1 Status 0x09AE:0x09AF indicates no event) r/- r/- 1 Reserved r/- r/- 2 DL Status event: 0: No change in DL Status 1: DL Status change (Bit is cleared by reading out DL Status 0x0110:0x0111 from ECAT) r/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 72 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 3 AL Status event: 0: No change in AL Status 1: AL Status change (Bit is cleared by reading out AL Status 0x0130:0x0131 from ECAT) r/- r/- Mirrors values of each SyncManager Status: 0: No Sync Channel 0 event 1: Sync Channel 0 event pending 0: No Sync Channel 1 event 1: Sync Channel 1 event pending ... 0: No Sync Channel 7 event 1: Sync Channel 7 event pending r/w r/- Reserved r/- r/- 4 5 ... 15:12 Reset Value Table 36: Register 0x0210:0x0211 (ECAT Event R.) 7.3.7.4 AL Event Request (0x0220:0x0223) Bit Description ECAT PDI 0 AL Control event: 0: No AL Control Register change 1: AL Control Register has been written1 (Bit is cleared by reading AL Control register 0x0120:0x0121 from PDI) r/- r/- 1 DC Latch event: 0: No change on DC Latch Inputs 1: At least one change on DC Latch Inputs (Bit is cleared by reading DC Latch event times from PDI, so that Latch 0/1 Status 0x09AE:0x09AF indicates no event. Available if Latch Unit is PDI controlled) r/- r/- 2 State of DC SYNC0 (if register 0x0151.3=1): (Bit is cleared by reading SYNC0 status 0x098E from PDI, use only in Acknowledge mode) r/- r/- 3 State of DC SYNC1 (if register 0x0151.7=1): (Bit is cleared by reading of SYNC1 status 0x098F from PDI, use only in Acknowledge mode) r/- r/- Reset Value 1 AL control event is only generated if PDI emulation is turned off (PDI Control register 0x0140.8=0) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 73 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 4 SyncManager activation register (SyncManager register offset 0x6) changed: 0: No change in any SyncManager 1: At least one SyncManager changed (Bit is cleared by reading SyncManager Activation registers 0x0806 etc. from PDI) r/- r/- 5 EEPROM Emulation: 0: No command pending 1: EEPROM command pending (Bit is cleared by acknowledging the command in EEPROM command register 0x0502 from PDI) r/- r/- 6 Watchdog Process Data: 0: Has not expired 1: Has expired (Bit is cleared by reading Watchdog Status Process Data 0x0440 from PDI) r/- r/- 7 Reserved r/- r/- SyncManager interrupts (SyncManager register offset 0x5, bit [0] or [1]): 0: No SyncManager 0 interrupt 1: SyncManager 0 interrupt pending 0: No SyncManager 1 interrupt 1: SyncManager 1 interrupt pending ... 0: No SyncManager 15 interrupt 1: SyncManager 15 interrupt pending r/- r/- Reserved r/- r/- 8 9 ... 23 31:24 Table 37: Register 0x0220:0x0223 (AL Event R.) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 74 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.8 Error Counters Errors are only counted if the corresponding port is enabled. 7.3.8.1 RX Error Counter[3:0] (0x0300:0x0307) Bit Description ECAT PDI 7:0 Invalid frame counter of Port y (counting is stopped when 0xFF is reached). r/ w(clr) r/- 15:8 RX Error counter of Port y (counting is stopped when 0xFF is reached). This is coupled directly to RX ERR of MII interface. r/ w(clr) r/- Reset Value Table 38: Register 0x0300:0x0307 (RX Err Cnt) 7.3.8.2 Forward RX Error Counter[3:0] (0x0308:0x030B) Bit Description ECAT PDI 7:0 Forwarded error counter of Port y (counting is stopped when 0xFF is reached). r/ w(clr) r/- Reset Value Table 39: Register 0x0308:0x030B (FW RX Err Cnt) Error Counters 0x0300-0x030B are cleared if one of the RX Error counters 0x03000x030B is written. Write value is ignored (write 0). Note 7.3.8.3 ECAT Processing Unit Error Counter (0x030C) Bit Description ECAT PDI 7:0 ECAT Processing Unit error counter (counting is stopped when 0xFF is reached). Counts errors of frames passing the Processing Unit (e.g., FCS is wrong or datagram structure is wrong). r/ w(clr) r/- Reset Value Table 40: Register 0x030C (Proc. Unit Err Cnt) Note Error Counter 0x030C is cleared if error counter 0x030C is written. Write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 75 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.8.4 PDI Error Counter (0x030D) Bit Description ECAT PDI 7:0 PDI Error counter (counting is stopped when 0xFF is reached). Counts if a PDI access has an interface error. r/ w(clr) r/- Reset Value Table 41: Register 0x030D (PDI Err Cnt) Error Counter 0x030D and Error Code 0x030E are cleared if error counter 0x030D is written. Write value is ignored (write 0). Note 7.3.8.5 Bit PDI Error Code (0x030E) Description ECAT PDI SPI access which caused last PDI Error. Cleared if register 0x030D is written. r/- r/- 2:0 Number of SPI clock cycles of whole access (modulo 8) r/- r/- 3 Busy violation during read access r/- r/- 4 Read termination missing r/- r/- 5 Access continued after read termination byte r/- r/- 7:6 SPI command CMD[2:1] r/- r/- Reset Value Table 42: Register 0x030E (PDI Err Code) Note Error Counter 0x030D and Error Code 0x030E are cleared if error counter 0x030D is written. Write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 76 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.8.6 Lost Link Counter[3:0] (0x0310:0x0313) Bit Description ECAT PDI 7:0 Lost Link counter of Port y (counting is stopped when 0xff is reached). Counts only if port loop is Auto. r/w(clr) r/- Reset Value Table 43: Register 0x0310:0x0313 (LL Counter) Note Only lost links at open ports are counted. Lost Link Counters 0x0310-0x0313 are cleared if one of the Lost Link Counters 0x0310-0x0313 is written. Write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 77 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.9 7.3.9.1 Watchdogs Watchdog Divider (0x0400:0x0401) Bit Description ECAT PDI 15:0 Watchdog Time PDI: number or basic watchdog increments (Default value with Watchdog divider 100µs means 100ms Watchdog) r/w r/- Reset Value Table 44: Register 0x0400:0x0401 (WD Divider) 7.3.9.2 Watchdog Time PDI (0x0410:0x0411) Bit Description ECAT PDI 15:0 Watchdog Time PDI: number or basic watchdog increments (Default value with Watchdog divider 100µs means 100ms Watchdog) r/w r/- Reset Value Table 45: Register 0x0410:0x0411 (WD Time PDI) Watchdog is disabled if Watchdog time is set to 0x0000. Watchdog is restarted with every PDI access. Note 7.3.9.3 Watchdog Time Process Data (0x0420:0x0421) Bit Description ECAT PDI 15:0 Watchdog Time Process Data: number of basic watchdog increments (Default value with Watchdog divider 100µs means 100ms Watchdog) r/w r/- Reset Value Table 46: Register 0x0420:0x0421 (WD Time PD) Note There is one Watchdog for all SyncManagers. Watchdog is disabled if Watchdog time is set to 0x0000. Watchdog is restarted with every write access to SyncManagers with Watchdog Trigger Enable Bit set. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 78 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.9.4 Watchdog Status Process Data (0x0440:0x0441) Bit Description ECAT PDI 15:0 Watchdog Status of Process Data (triggered by SyncManagers) 0: Watchdog Process Data expired 1: Watchdog Process Data is active or disabled r/- r/ (w ack)* 0 Reserved r/- r/ (w ack)* Reset Value Table 47: Register 0x0440:0x0441 (WD Status PD) * PDI register function acknowledge by Write command is disabled: Reading this register from PDI clears AL Event Request 0x0220.6. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI clears AL Event Request 0x0220.6. Writing to this register from PDI is possible; write value is ignored (write 0). 7.3.9.5 Watchdog Counter Process Data (0x0442) Bit Description ECAT PDI 7:0 Watchdog Counter Process Data (counting is stopped when 0xFF is reached). Counts if Process Data Watchdog expires. r/ w(clr) r/- Reset Value Table 48: Register 0x0442 (WD Counter PD) Note Watchdog Counters 0x0442-0x0443 are cleared if one of the Watchdog Counters 0x0442-0x0443 is written. Write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 79 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.9.6 Watchdog Counter PDI (0x0443) Bit Description ECAT PDI 7:0 Watchdog PDI counter (counting is stopped when 0xFF is reached). Counts if PDI Watchdog expires. r/ w(clr) r/- Reset Value Table 49: Register 0x0443 (WD Counter PDI) Note Watchdog Counters 0x0442 & 0x0443 are cleared if one of the Watchdog Counters 0x0442 & 0x0443 is written. Write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 80 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.10 SII EEPROM Interface Address Length (Byte) Description SII EEPROM Interface 0x0500 1 EEPROM Configuration 0x0501 1 EEPROM PDI Access State 0x0502:0x0503 2 EEPROM Control/Status 0x0504:0x0507 4 EEPROM Address 0x0508:0x050F 4/8 EEPROM Data Table 50: SII EEPROM Interface Register Overview 7.3.10.1 EEPROM Configuration (0x0500) Bit Description ECAT PDI 0 EEPROM control is offered to PDI: 0: no 1: yes (PDI has EEPROM control) r/w r/- 1 Force ECAT access: 0: Do not change Bit 0x0501.0 1: Reset Bit 0x0501.0 to 0 r/w r/- 7:2 Reserved, write 0 r/w r/- Reset Value Table 51: Register 0x0500 (PROM Config) 7.3.10.2 EEPROM PDI Access State (0x0501) Bit Description ECAT PDI 0 Access to EEPROM: 0: PDI releases EEPROM access 1: PDI takes EEPROM access (PDI has EEPROM control) r/- r/(w) 7:1 Reserved, write 0 r/- r/- Reset Value Table 52: Register 0x0501 (PROM PDI Access) Note r/(w): write access is only possible if 0x0500.0=1 and 0x0500.1=0. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 81 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.10.3 EEPROM Control/Status (0x0502:0x0503) Bit Description ECAT PDI 0 ECAT write enable : 0: Write requests are disabled 1: Write requests are enabled This bit is always 1 if PDI has EEPROM control. r/(w) r/- 4:1 Reserved, write 0 r/- r/- 5 EEPROM emulation: 0: Normal operation (I2C interface used) 1: PDI emulates EEPROM (I2C not used) r/- r/- 6 Supported number of EEPROM read bytes: 0: 4 Bytes 1: 8 Bytes r/- r/- 7 Selected EEPROM Algorithm: 0: 1 address byte (1KBit . . . 16KBit EEPROMs) 1: 2 address bytes (32KBit . . . 4 MBit EEPROMs) r/- r/r/[w] 10:8 Command register∗1 : Write: Initiate command. Read: Currently executed command Commands: 000: No command/EEPROM idle (clear error bits) 001: Read 010: Write 100: Reload Others: Reserved/invalid commands (do not issue) EEPROM emulation only: after execution, PDI writes command value to indicate operation is ready. r/(w) r/(w) r/[w] 11 Checksum Error at in ESC Configuration Area: 0: Checksum ok 1: Checksum error r/- r/- 12 EEPROM loading status: 0: EEPROM loaded, device information ok 1: EEPROM not loaded, device information not available (EEPROM loading in progress or finished with a failure) r/- r/- 13 Error Acknowledge/Command∗2 : 0: No error 1: Missing EEPROM acknowledge or invalid command EEPROM emulation only: PDI writes 1 if a temporary failure has occurred. r/- r/r/[w] ∗2 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 82 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 14 Error Write Enable∗2 : 0: No error 1: Write Command without Write enable r/- r/- 15 Busy: 0: EEPROM Interface is idle 1: EEPROM Interface is busy r/- r/- Reset Value Table 53: Register 0x0502:0x0503 (PROM Cntrl) Note r/(w): write access depends upon the assignment of the EEPROM interface (ECAT/PDI). Write access is generally blocked if EEPROM interface is busy (0x0502.15=1). Note r/[w]: EEPROM emulation only: write access is possible if EEPROM interface is busy (0x0502.15=1). PDI acknowledges pending commands by writing a 1 into the corresponding command register bits (0x0502.10:8). Errors can be indicated by writing a 1 into the error bit 0x0502.13. Acknowledging clears AL Event Request 0x0220.5. *1 Write Enable bit 0 is self-clearing at the SOF of the next frame, Command bits [10:8] are self-clearing after the command is executed (EEPROM Busy ends). Writing "‘000"’ to the command register will also clear the error bits [14:13]. Command bits [10:8] are ignored if Error Acknowledge/Command is pending (bit 13). *2 Error bits are cleared by writing "‘000"’ (or any valid command) to Command Register Bits [10:8]. 7.3.10.4 EEPROM Address (0x0504:0x0507) Bit Description ECAT PDI 31:0 EEPROM Address 0: First word (= 16 bit) 1: Second word ... Actually used EEPROM Address bits: [9:0]: EEPROM size up to 16 kBit [17:0]: EEPROM size 32 kBit . . . 4 Mbit [32:0]: EEPROM Emulation r/(w) r/(w) Reset Value Table 54: Register 0x0504:0x0507 (PROM Address) Note r/(w): write access depends upon the assignment of the EEPROM interface (ECAT/PDI). Write access is generally blocked if EEPROM interface is busy (0x0502.15=1). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 83 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.10.5 EEPROM Data (0x0508:0x050F) Bit Description ECAT PDI 15:0 EEPROM Write data (data to be written to EEPROM) or EEPROM Read data (data read from EEPROM,. lower bytes) r/(w) r/[w] 63:16 EEPROM Read data (data read from EEPROM, higher bytes) r/- r/r[w] Reset Value Table 55: Register 0x0508:0x050F (PROM Data) Note r/(w): write access depends upon the assignment of the EEPROM interface (ECAT/PDI). Write access is generally blocked if EEPROM interface is busy (0x0502.15=1). Note r/[w]: write access for EEPROM emulation if read or reload command is pending. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 84 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.11 MII Management Interface Address Length (Byte) Description MII Management Interface 0x0510:0x0511 2 MII Management Control/Status 0x0512 1 PHY Address 0x0513 1 PHY Register Address 0x0514:0x0515 2 PHY Data 0x0516 1 MII Management ECAT Access State 0x0517 1 MII Management PDI Access State 0x0518:0x051B 4 PHY Port Status Table 56: MII Management Interface Register Overview 7.3.11.1 MII Management Control/Status (0x0510:0x0511) Bit Description ECAT PDI 0 Write enable*: 0: Write disabled 1: Write enabled This bit is always 1 if PDI has MI control. r/(w) r/- 1 Management Interface can be controlled by PDI (registers 0x0516:0x0517): 0: Only ECAT control 1: PDI control possible r/- r/- 2 MI link detection (link configuration, link detection, registers 0x0518:0x051B): 0: Not available 1: MI link detection active r/- r/- 7:3 PHY address of port 0 r/- r/- 9:8 Command register*: Write: Initiate command. Read: Currently executed command Commands: 00: No command/MI idle (clear error bits) 01: Read 10: Write Others: Reserved/invalid commands (do not issue) r/(w) r/(w) 12:10 Reserved, write 0 r/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 85 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 13 Read error: 0: No read error 1: Read error occurred (PHY or register not available) Cleared by writing to this register. r/(w) r/(w) 14 Command error: 0: Last Command was successful 1: Invalid command or write command without Write Enable Cleared with a valid command or by writing "‘00"’ to Command register bits [9:8]. r/- r/- 15 Busy: 0: MI control state machine is idle 1: MI control state machine is active r/- r/- Reset Value Table 57: Register 0x0510:0x0511 (MI Cntrl/State) r/ (w): write access depends on assignment of MI (ECAT/PDI). Write access is generally blocked if Management interface is busy (0x0510.15=1). Note * Write enable bit 0 is self-clearing at the SOF of the next frame (or at the end of the PDI access), Command bits [9:8] are self-clearing after the command is executed (Busy ends). Writing "‘00"’ to the command register will also clear the error bits [14:13]. The Command bits are cleared after the command is executed. 7.3.11.2 PHY Address (0x0512) Bit Description ECAT PDI 0:4 PHY Address r/(w) r/(w) 6:5 Reserved, write 0 r/- r/- 7 Show configured PHY address of port 0-3 in register 0x0510.7:3. Select port x with bits [4:0] of this register (valid values are 0-3): 0: Show address of port 0 (offset) 1: Show individual address of port x r/(w) r/(w) Reset Value Table 58: Register 0x0512 (PHY Address) Note r/ (w): write access depends on assignment of MI (ECAT/PDI). Write access is generally blocked if Management interface is busy (0x0510.15=1). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 86 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.11.3 PHY Register Address (0x0513) Bit Description ECAT PDI 4:0 Address of PHY Register that shall be read/written r/(w) r/(w) 7:5 Reserved, write 0 r/(w) r/(w) Reset Value Table 59: Register 0x0513 (PHY Register Address) r/ (w): write access depends on assignment of MI (ECAT/PDI). Write access is generally blocked if Management interface is busy (0x0510.15=1). Note 7.3.11.4 PHY Data (0x0514:0x0515) Bit Description ECAT PDI 15:0 PHY Read/Write Data r/(w) r/(w) Reset Value Table 60: Register 0x0514:0x0515 (PHY Data) r/ (w): write access depends on assignment of MI (ECAT/PDI). Access is generally blocked if Management interface is busy (0x0510.15=1). Note 7.3.11.5 MII Management ECAT Access State (0x0516) Bit Description ECAT PDI 31:0 Access to MII management: 0: ECAT enables PDI takeover of MII management control 1: ECAT claims exclusive access to MII management r/(w) r/- 31:0 Reserved, write 0 r/- r/- Table 61: Register 0x0516 (MI ECAT State) Note r/ (w): write access is only possible if 0x0517.0=0. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 87 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.11.6 MII Management PDI Access State (0x0517) Bit Description ECAT PDI 0 Access to MII management: 0: ECAT has access to MII management 1: PDI has access to MII management r/- r/(w) 1 Force PDI Access State: 0: Do not change Bit 0x0517.0 1: Reset Bit 0x0517.0 to 0 r/w r/- 7:2 Reserved, write 0 r/- r/- Reset Value Table 62: Register 0x0517 (MI PDI State) 7.3.11.7 PHY Port Status (0x0518:0x051B) Bit Description ECAT PDI 0 Physical link status (PHY status register 1.2): 0: No physical link / 1: Physical link detected r/- r/- 1 Link status (100 Mbit/s, Full Duplex, Autonegotiation): 0: No link / 1: Link detected r/- r/- 2 Link status error: 0: No error 1: Link error, link inhibited r/- r/- 3 Read error: 0: No read error occurred 1: A read error has occurred Cleared by writing any value to at least one of the PHY Status Port registers. r/ (w/clr) r/ (w/clr) 4 Link partner error: 0: No error detected / 1: Link partner error r/- r/- 5 PHY configuration updated: 0: No update 1: PHY configuration was updated Cleared by writing any value to at least one of the PHY Status Port registers. r/ (w/clr) r/ (w/clr) 31:0 Reserved r/- r/- Reset Value Table 63: Register 0x0518+y (PHY Port Status) Note r/(w): write access depends on assignment of MI (ECAT/PDI). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 88 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.12 FMMUs Address 0x0600:0x06FF Length (Byte) Description 16x16 FMMU[15:0] +0x0:0x3 4 Logical Start Address +0x4:0x5 2 Length +0x6 1 Logical Start bit +0x7 1 Logical Stop bit +0x8:0x9 2 Physical Start Address +0xA 1 Physical Start bit +0xB 1 Type +0xC 1 Activate +0xD:0xF 3 Reserved Table 64: FMMU Register Overview For the following registers use y as FMMU number. See the device features on how many FMMUs are supported in a specific ESC device. 7.3.12.1 Logical Start Address (+0x0:0x3) Bit Description ECAT PDI 31:0 Logical start address within the EtherCAT Address Space. r/w r/- Reset Value Table 65: Register 0x06y0:0x06y3 (Log Start Addr) 7.3.12.2 Length (+0x4:0x5) Bit Description ECAT PDI 15:0 Offset from the first logical FMMU Byte to the last FMMU Byte + 1 (e.g., if two bytes are used then this parameter shall contain 2) r/w r/- Table 66: Register 0x06y4:0x06y5 (FMMU Length) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 89 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.12.3 Logical Start bit (+0x6) Bit Description ECAT PDI 2:0 Logical starting bit that shall be mapped (bits are counted from least significant bit (=0) to most significant bit(=7) r/w r/- 7:3 Reserved, write 0 r/- r/- Reset Value Table 67: Register 0x06y6 (Log. Start Bit) 7.3.12.4 Logical Stop bit (+0x7) Bit Description ECAT PDI 2:0 Last logical bit that shall be mapped (bits are counted from least significant bit (=0) to most significant bit(=7) r/w r/- 7:3 Reserved, write 0 r/- r/- Reset Value Table 68: Register 0x06y7 (Log. Stop Bit)) 7.3.12.5 Bit Physical Start Address (+0x8:0x9) Description ECAT PDI Physical Start Address (mapped to logical Start address) r/w r/- Reset Value Table 69: Register 0x06y8:0x06y9 (Phy. Start Addr 7.3.12.6 Physical Start bit (+0xA) Bit Description ECAT PDI 2:0 Physical starting bit as target of logical start bit mapping (bits are counted from least significant bit (=0) to most significant bit(=7) r/w r/- 7:3 Reserved, write 0 r/- r/- Table 70: Register 0x06yA (Phy. Start Bit) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 90 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.12.7 Type (+0xB) Bit Description ECAT PDI 0 0: Ignore mapping for read accesses 1: Use mapping for read accesses r/w r/- 1 0: Ignore mapping for write accesses 1: Use mapping for write accesses r/w r/- 7:2 Reserved, write 0 r/- r/- Reset Value Table 71: Register 0x06yB (FMMU Type) 7.3.12.8 Activate (+0xC) Bit Description ECAT PDI 0 0: FMMU deactivated 1: FMMU activated. FMMU checks logical addressed blocks to be mapped according to mapping configured r/w r/- 7:1 Reserved, write 0 r/- r/- Reset Value Table 72: Register 0x06yC (FMMU Activate) 7.3.12.9 Reserved (+0xD:0xF) Bit Description ECAT PDI 23:0 Reserved, write 0 r/- r/- Table 73: Register 0x06yD:0x06yF (Reserved) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 91 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.13 SyncManagers Address Length (Byte) 0x0800:0x087F 16x8 Description SyncManager[15:0] +0x0:0x1 2 Physical Start Address +0x2:0x3 2 Length +0x4 1 Control Register +0x5 1 Status Register +0x6 1 Activate +0x7 1 PDI Control Table 74: SyncManager Register Overview For the following registers use y as SM number. See the device features on how many SMs are supported in a specific ESC device. 7.3.13.1 Physical Start Address (+0x0:0x1) Bit Description ECAT PDI 15:0 Specifies first byte that will be handled by SyncManager r/(w) r/- Reset Value Table 75: Register 0x0800+y*8:0x0801+y*8 (Phy. Start Addr) r/(w): Register can only be written if SyncManager is disabled (+0x6.0 = 0). Note 7.3.13.2 Length (+0x2:0x3) Bit Description ECAT PDI 15:0 Number of bytes assigned to SyncManager (shall be greater 1, otherwise SyncManager is not activated. If set to 1, only Watchdog Trigger is generated if configured) r/(w) r/- Reset Value Table 76: Register 0x0802+y*8:0x0803+y*8 (SM Length) Note r/(w): Register can only be written if SyncManager is disabled (+0x6.0 = 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 92 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.13.3 Control Register (+0x4) Bit Description ECAT PDI 1:0 Operation Mode: 00: Buffered (3 buffer mode) 01: Reserved 10: Mailbox (Single buffer mode) 11: Reserved r/(w) r/- 3:2 Direction: 00: Read: ECAT read access, PDI write access. 01: Write: ECAT write access, PDI read access. 10: Reserved 11: Reserved r/(w) r/- 4 Interrupt in ECAT Event Request Register: 0: Disabled 1: Enabled r/(w) r/- 5 Interrupt in PDI Event Request Register: 0: Disabled 1: Enabled r/(w) r/- 6 Watchdog Trigger Enable: 0: Disabled 1: Enabled r/w r/- 7 Reserved, write 0 r/- r/- Reset Value Table 77: Register 0x0804+y*8 (SM Control) r/(w): Register can only be written if SyncManager is disabled (+0x6.0 = 0). Note 7.3.13.4 Status Register (+0x5) Bit Description ECAT PDI 0 Interrupt Write: 1: Interrupt after buffer was completely and successfully written 0: Interrupt cleared after first byte of buffer was read NOTE: This interrupt is signaled to the reading side if enabled in the SM Control register. r/- r/- 1 Interrupt Read: 1: Interrupt after buffer was completely and successful read 0: Interrupt cleared after first byte of buffer was written NOTE: This interrupt is signaled to the writing side if enabled in the SM Control register. r/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 93 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI 2 Reserved r/- r/- 3 Mailbox mode: mailbox status: 0: Mailbox empty 1: Mailbox full Buffered mode: reserved r/- r/- 5:4 Buffered mode: buffer status (last written buffer): 00: 1. buffer 01: 2. buffer 10: 3. buffer 11: (no buffer written) Mailbox mode: reserved r/- r/- 6 Read buffer in use (opened) r/- r/- 7 Write buffer in use (opened) r/- r/- Reset Value Table 78: Register 0x0805+y*8 (SM Status) 7.3.13.5 Activate (+0x6) Bit Description ECAT PDI 0 SyncManager Enable/Disable: 0: Disable: Access to Memory without SyncManager control 1: Enable: SyncManager is active and controls Memory area set in configuration r/w r/ (w ack)* 1 Repeat Request: A toggle of Repeat Request means that a mailbox retry is needed (primarily used in conjunction with ECAT Read Mailbox) r/w r/- 5:2 Reserved, write 0 r/- r/ (w ack)* 6 Latch Event ECAT: 0: No 1: Generate Latch event if EtherCAT master issues a buffer exchange r/w r/ (w ack)* 7 Latch Event PDI: 0: No 1: Generate Latch events if PDI issues a buffer exchange or if PDI accesses buffer start address r/w r/ (w ack)* Reset Value Table 79: Register 0x0806+y*8 (SM Activate) * PDI register function acknowledge by Write command is disabled: Reading this register from PDI in all SMs which have changed activation clears AL Event Request 0x0220.4. Writing to this register from PDI is ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 94 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI in all SMs which have changed activation clears AL Event Request 0x0220.4. Writing to this register from PDI is possible; write value is ignored (write 0). 7.3.13.6 PDI Control (+0x7) Bit Description ECAT PDI 0 Deactivate SyncManager: Read: 0: Normal operation, SyncManager activated. 1: SyncManager deactivated and reset SyncManager locks access to Memory area. Write: 0: Activate SyncManager 1: Request SyncManager deactivation NOTE: Writing 1 is delayed until the end of a frame which is currently processed. r/- r/w 1 Repeat Ack: If this is set to the same value as set by Repeat Request, the PDI acknowledges the execution of a previous set Repeat request. r/- r/w 7:2 Reserved, write 0 r/- r/- Table 80: Register 0x0807+y*8 (SM PDI Control) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 95 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.14 Distributed Clocks Receive Times Depending on the available width of the Distributed Clocks feature the time stamp registers are either 32 bit (4 bytes) or 64 bits (8 bytes) wide. Please check the feature summary of the respective TRINAMIC ESC device. 7.3.14.1 Receive Time Port 0 (0x0900:0x0903) Bit Description ECAT PDI 31:0 Write: A write access to register 0x0900 with BWR or FPWR latches the local time of the beginning of the receive frame (start first bit of preamble) at each port. Read: Local time of the beginning of the last receive frame containing a write access to this register. r/w r/(special function) Reset Value Table 81: Register 0x0900:0x0903 (Rcv Time P0) The time stamps cannot be read in the same frame in which this register was written. Note 7.3.14.2 Receive Time Port 1 (0x0904:0x0907) Bit Description ECAT PDI 31:0 Local time of the beginning of a frame (start first bit of preamble) received at port 1 containing a BWR or FPWR to Register 0x0900. r/- r/- Table 82: Register 0x0904:0x0907 (Rcv Time P1) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 96 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.15 Distributed Clocks Time Loop Control Unit Time Loop Control unit is usually assigned to ECAT. Write access to Time Loop Control registers by PDI (and not ECAT) depends on explicit hardware configuration and on the used ESC type. Check the device features for availability. 7.3.15.1 System Time (0x0910:0x0917) Bit Description ECAT PDI 0:63 ECAT read access: Local copy of System Time when frame passed the reference clock (i.e., including System Time Delay). Time latched at beginning of the frame (Ethernet SOF delimiter) r - 63:0 PDI read access: Local copy of the System Time. Time latched when reading first byte (0x0910) r 31:0 Write access: Written value will be compared with the local copy of the System time. The result is an input to the time control loop. NOTE: written value will be compared at the end of the frame with the latched (SOF) local copy of the System time if at least the first byte (0x0910) was written. r/- 31:0 Write access: Written value will be compared with Latch0 Time Positive Edge time. The result is an input to the time control loop. NOTE: written value will be compared at the end of the access with Latch0 Time Positive Edge (0x09B0:0x09B3) if at least the last byte (0x0913) was written. (w) (special function) Reset Value (w) (special function) Table 83: Register 0x0910:0x0917 (System Time) Write access to this register depends upon ESC configuration (typically ECAT, PDI only with explicit ESC configuration: System Time PDI controlled). Note 7.3.15.2 Receive Time ECAT Processing Unit (0x0918:0x091F) Bit Description ECAT PDI 63:0 Local time of the beginning of a frame (start first bit of preamble) received at the ECAT Processing Unit containing a write access to Register 0x0900 NOTE: E.g., if port 0 is open, this register reflects the Receive Time Port 0 as a 64 Bit value. r/- r/- ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 97 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Bit Description ECAT PDI Reset Value Table 84: Register 0x0918:0x091F (Rcv Time EPU) 7.3.15.3 System Time Offset (0x0920:0x0927) Bit Description ECAT PDI 63:0 Difference between local time and System Time. Offset is added to the local time. r/(w) r/(w) Reset Value Table 85: Register 0x0920:0x0927 (Sys Time Offset) Write access to this register depends upon ESC configuration (typically ECAT, PDI only with explicit ESC configuration: System Time PDI controlled). Reset internal system time difference filter and speed counter filter by writing Speed Counter Start (0x0930:0x0931) after changing this value. Note 7.3.15.4 System Time Delay (0x0928:0x092B) Bit Description ECAT PDI 31:0 Delay between Reference Clock and the ESC r/(w) r/(w) Reset Value Table 86: Register 0x0928:0x092B (Sys Time Delay) Write access to this register depends upon ESC configuration (typically ECAT, PDI only with explicit ESC configuration: System Time PDI controlled). Reset internal system time difference filter and speed counter filter by writing Speed Counter Start (0x0930:0x0931) after changing this value. Note 7.3.15.5 System Time Difference (0x092C:0x092F) Bit Description ECAT PDI 30:0 Mean difference between local copy of System Time and received System Time values r/- r/- 31 0: Local copy of System Time greater than or equal received System Time 1: Local copy of System Time smaller than received System Time r/- r/- Table 87: Register 0x092C:0x092F (Sys Time Diff) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 98 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.15.6 Speed Counter Start (0x0930:0x0931) Bit Description ECAT PDI 14:0 Bandwidth for adjustment of local copy of System Time (larger values → smaller bandwidth and smoother adjustment) A write access resets System Time Difference (0x092C:0x092F) and Speed Counter Diff (0x0932:0x0933). Minimum value: 0x0080 to 0x3FFF r/(w) r/(w) 15 Reserved, write 0 r/(w) r/- Reset Value Table 88: Register 0x0930:0x931 (Speed Cnt Start) Write access to this register depends upon ESC configuration (typically ECAT, PDI only with explicit ESC configuration: System Time PDI controlled). Note 7.3.15.7 Speed Counter Diff (0x0932:0x0933) Bit Description ECAT PDI 15:0 Representation of the deviation between local clock period and reference clock’s clock period (representation: two’s complement) Range: ±(Speed Counter Start - 0x7F) r/- r/- Reset Value Table 89: Register 0x0932:0x0933 (Speed Cnt Diff) Note Calculate the clock deviation after System Time Difference has settled at a low value as follows: Deviation = SpeedCntDif f 5∗(SpeedCntStart+SpeedCntDif f +2)∗(SpeedCntStart−SpeedCntDif f +2) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 99 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.15.8 System Time Difference Filter Depth (0x0934) Bit Description ECAT PDI 3:0 Filter depth for averaging the received System Time deviation. A write access resets System Time Difference (0x092C:0x092F) r/(w) r/(w) 7:4 Reserved, write 0 r/- r/- Reset Value Table 90: Register 0x0934 (Sys Time Diff Filter) Write access to this register depends upon ESC configuration (typically ECAT, PDI only with explicit ESC configuration: System Time PDI controlled). Note 7.3.15.9 Speed Counter Filter Depth (0x0935) Bit Description ECAT PDI 3:0 Filter depth for averaging the clock period deviation. A write access resets the internal speed counter filter. r/(w) r/(w) 7:4 Reserved, write 0 r/- r/- Table 91: Register 0x0935 (Speed Cnt Filter Depth) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 100 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.16 7.3.16.1 Distributed Clocks Cyclic Unit Control Cyclic Unit Control (0x0980) Bit Description ECAT PDI 0 SYNC out unit control: 0: ECAT controlled 1: PDI controlled r/w r/- 3:1 Reserved, write 0 r/- r/- 4 Latch In unit 0: 0: ECAT controlled 1: PDI controlled NOTE: Always 1 (PDI controlled) if System Time is PDI controlled. Latch interrupt is routed to ECAT/PDI depending on this setting r/w r/- 5 Latch In unit 1: 0: ECAT controlled 1: PDI controlled NOTE: Latch interrupt is routed to ECAT/PDI depending on this setting r/w r/- 7:6 Reserved, write 0 r/- r/- Table 92: Register 0x0980 (Cyclic Unit Cntrl) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Reset Value 101 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.17 7.3.17.1 Distributed Clocks SYNC Out Unit SYNC Out Activation (0x0981) Bit Description ECAT PDI Reset Value 0 Sync Out Unit activation: 0: Deactivated 1: Activated r/(w) r/(w) 0 1 SYNC0 generation: 0: Deactivated 1: SYNC0 pulse is generated r/(w) r/(w) 0 2 SYNC1 generation: 0: Deactivated 1: SYNC1 pulse is generated r/(w) r/(w) 0 3 Auto-activation by writing Start Time Cyclic Operation (0x0990:0x0997): 0: Disabled 1: Auto-activation enabled. 0x0981.0 is set automatically after Start Time is written. r/(w) r/(w) 0 4 Extension of Start Time Cyclic Operation (0x0990:0x0993): 0: No extension 1: Extend 32 bit written Start Time to 64 bit r/(w) r/(w) 0 5 Start Time plausibility check: 0: Disabled. SyncSignal generation if Start Time is reached. 1: Immediate SyncSignal generation if Start Time is outside near future (see 0x0981.6) r/(w) r/(w) 0 6 Near future configuration (approx.): 0: 1/2 DC width future (231 ns or 263 ns) 1: 2.1 sec. future (231 ns) r/(w) r/(w) 0 7 SyncSignal debug pulse (Vasily bit): 0: Deactivated 1: Immediately generate one ping only on SYNC0-1 according to 0x0981.(2:1) for debugging This bit is self-clearing, always read 0. r/(w) r/(w) 0 Table 93: Register 0x0981 (SYNC Out Activation) Note Write to this register depends upon setting of 0x0980.0. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 102 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.17.2 Pulse Length of SYNC signals (0x0982:0x0983) Bit Description ECAT PDI Reset Value 0 Pulse length of SyncSignals (in Units of 10ns) 0: Acknowledge mode: SyncSignal will be cleared by reading SYNC[1:0] Status register r/- r/- 0, later 0x0002 EEPROM ADR Table 94: Register 0x0982:0x0983 (SYNC Pulse Length) 7.3.17.3 Activation Status (0x0984) Bit Description ECAT PDI Reset Value 0 SYNC0 activation state: 0: First SYNC0 pulse is not pending 1: First SYNC0 pulse is pending r/- r/- 0 1 SYNC1 activation state: 0: First SYNC1 pulse is not pending 1: First SYNC1 pulse is pending r/- r/- 0 2 Start Time Cyclic Operation (0x0990:0x0997) plausibility check result when Sync Out Unit was activated: 0: Start Time was within near future 1: Start Time was out of near future (0x0981.6) r/- r/- 0 7:3 Reserved r/- r/- 0 Table 95: Register 0x0984 (Activation Status) 7.3.17.4 SYNC0 Status (0x098E) Bit Description ECAT PDI Reset Value 0 SYNC0 activation state: 0: First SYNC0 pulse is not pending 1: First SYNC0 pulse is pending r/- r/ (w ack)* 0 7:1 Reserved r/- r/ (w ack)* 0 Table 96: Register 0x098E (SYNC0 Status) * PDI register function acknowledge by Write command is disabled: Reading this register from PDI clears AL Event Request 0x0220.2. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI clears AL Event Request 0x0220.2. Writing to this register from PDI is possible; write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 103 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.17.5 SYNC1 Status (0x098F) Bit Description ECAT PDI Reset Value 0 SYNC1 activation state: 0: First SYNC1 pulse is not pending 1: First SYNC1 pulse is pending r/- r/ (w ack)* 0 7:1 Reserved r/- r/ (w ack)* 0 Table 97: Register 0x098F (SYNC1 Status) * PDI register function acknowledge by Write command is disabled: Reading this register from PDI clears AL Event Request 0x0220.3. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI clears AL Event Request 0x0220.3. Writing to this register from PDI is possible; write value is ignored (write 0). 7.3.17.6 Start Time Cyclic Operation / Next SYNC0 Pulse (0x0990:0x0997) Bit Description ECAT PDI Reset Value 63:0 Write: Start time (System time) of cyclic operation in ns Read: System time of next SYNC0 pulse in ns r/(w) r/(w) 0 Table 98: Register 0x0990:0x0997 (Start Time Cyclic Operation) Write to this register depends upon setting of 0x0980.0. Only writable if 0x0981.0=0. Auto-activation (0x0981.3=1): upper 32 bits are automatically extended if only lower 32 bits are written within one frame. Note 7.3.17.7 Next SYNC1 Pulse (0x0998:0x099F) Bit Description ECAT PDI Reset Value 63:0 System time of next SYNC1 pulse in ns r/- r/- 0 Table 99: Register 0x0998:0x099F (Next SYNC1) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 104 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.17.8 SYNC0 Cycle Time (0x09A0:0x09A3) Bit Description ECAT PDI Reset Value 31:0 WTime between two consecutive SYNC0 pulses in ns. 0: Single shot mode, generate only one SYNC0 pulse. r/(w) r/(w) 0 Table 100: Register 0x09A0:0x09A3 (SYNC0 Cycle Time) Write to this register depends upon setting of 0x0980.0. Note 7.3.17.9 SYNC1 Cycle Time (0x09A4:0x09A7) Bit Description ECAT PDI Reset Value 31:0 Time between SYNC1 pulses and SYNC0 pulse in ns r/(w) r/(w) 0 Table 101: Register 0x09A4:0x09A7 (SYNC1 Cycle Time) Note Write to this register depends upon setting of 0x0980.0. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 105 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.18 7.3.18.1 Distributed Clocks LATCH In Unit Latch0 Control (0x09A8) Bit Description ECAT PDI Reset Value 0 Latch0 positive edge: 0: Continuous Latch active 1: Single event (only first event active) r/(w) r/(w) 0 1 Latch0 negative edge: 0: Continuous Latch active 1: Single event (only first event active) r/(w) r/(w) 0 7:2 Reserved, write 0 r/- r/- 0 Table 102: Register 0x09A8 (Latch0 Control) Write access depends upon setting of 0x0980.4. Note 7.3.18.2 Latch1 Control (0x09A9) Bit Description ECAT PDI Reset Value 0 Latch1 positive edge: 0: Continuous Latch active 1: Single event (only first event active) r/(w) r/(w) 0 1 Latch01 negative edge: 0: Continuous Latch active 1: Single event (only first event active) r/(w) r/(w) 0 7:2 Reserved, write 0 r/- r/- 0 Table 103: Register 0x09A9 (Latch1 Control) Note Write access depends upon setting of 0x0980.5. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 106 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.18.3 Latch0 Status (0x09AE) Bit Description ECAT PDI Reset Value 0 Event Latch0 positive edge. 0: Positive edge not detected or continuous mode 1: Positive edge detected in single event mode only. Flag cleared by reading out Latch0 Time Positive Edge. r/- r/- 0 1 Event Latch0 negative edge. 0: Negative edge not detected or continuous mode 1: Negative edge detected in single event mode only. Flag cleared by reading out Latch0 Time Negative Edge. r/- r/- 0 2 Latch0 pin state r/- r/- 0 7:3 Reserved r/- r/- 0 Table 104: Register 0x09AE (Latch0 Status) 7.3.18.4 Latch1 Status (0x09AF) Bit Description ECAT PDI Reset Value 0 Event Latch1 positive edge. 0: Positive edge not detected or continuous mode 1: Positive edge detected in single event mode only. Flag cleared by reading out Latch1 Time Positive Edge. r/- r/- 0 1 Event Latch1 negative edge. 0: Negative edge not detected or continuous mode 1: Negative edge detected in single event mode only. Flag cleared by reading out Latch1 Time Negative Edge. r/- r/- 0 2 Latch1 pin state r/- r/- 0 7:3 Reserved r/- r/- 0 Table 105: Register 0x09AF (Latch1 Status) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 107 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.18.5 Latch0 Time Positive Edge (0x09B0:0x09B7) Bit Description ECAT PDI 63:0 Register captures System time at the positive edge of the Latch0 signal. r(ack)/- r/ (w ack)* Reset Value 0 Table 106: Register 0x09B0:0x09B7 (Latch0 Time Pos Edge) Register bits [63:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Reading this register from ECAT clears Latch0 Status 0x09AE.0 if 0x0980.4=0. Writing to this register from ECAT is not possible. Note * PDI register function acknowledge by Write command is disabled: Reading this register from PDI if 0x0980.4=1 clears Latch0 Status 0x09AE.0. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI if 0x0980.4=1 clears Latch0 Status 0x09AE.0. Writing to this register from PDI is possible; write value is ignored (write 0). 7.3.18.6 Latch0 Time Negative Edge (0x09B8:0x09BF) Bit Description ECAT PDI 63:0 Register captures System time at the negative edge of the Latch0 signal. r(ack)/- r/ (w ack)* Reset Value 0 Table 107: Register 0x09B8:0x09BF (Latch0 Time Neg Edge) Note Register bits [63:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Reading this register from ECAT clears Latch0 Status 0x09AE.1 if 0x0980.4=0. Writing to this register from ECAT is not possible. * PDI register function acknowledge by Write command is disabled: Reading this register from PDI if 0x0980.4=1 clears Latch0 Status 0x09AE.1. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI if 0x0980.4=1 clears Latch0 Status 0x09AE.1. Writing to this register from PDI is possible; write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 108 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.18.7 Latch1 Time Positive Edge (0x09C0:0x09C7) Bit Description ECAT PDI 63:0 Register captures System time at the positive edge of the Latch1 signal. r(ack)/- r/ (w ack)* Reset Value 0 Table 108: Register 0x09C0:0x09C7 (Latch1 Time Pos Edge) Register bits [63:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Reading this register from ECAT clears Latch1 Status 0x09AF.0 if 0x0980.5=0. Writing to this register from ECAT is not possible. Note * PDI register function acknowledge by Write command is disabled: Reading this register from PDI if 0x0980.5=1 clears Latch1 Status 0x09AF.0. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI if 0x0980.5=1 clears Latch1 Status 0x09AF.0. Writing to this register from PDI is possible; write value is ignored (write 0). 7.3.18.8 Latch1 Time Negative Edge (0x09C8:0x09CF) Bit Description ECAT PDI 63:0 Register captures System time at the negative edge of the Latch1 signal. r(ack)/- r/ (w ack)* Reset Value 0 Table 109: Register 0x09C8:0x09CF (Latch1 Time Neg Edge) Note Register bits [63:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Reading this register from ECAT clears Latch1 Status 0x09AF.0 if 0x0980.5=0. Writing to this register from ECAT is not possible. * PDI register function acknowledge by Write command is disabled: Reading this register from PDI if 0x0980.5=1 clears Latch1 Status 0x09AF.1. Writing to this register from PDI is not possible. PDI register function acknowledge by Write command is enabled: Writing this register from PDI if 0x0980.5=1 clears Latch1 Status 0x09AF.1. Writing to this register from PDI is possible; write value is ignored (write 0). ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 109 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.19 7.3.19.1 Distributed Clocks SyncManager Event Times EtherCAT Buffer Change Event Time (0x09F0:0x09F3) Bit Description ECAT PDI Reset Value 31:0 Register captures local time of the beginning of the frame which causes at least one SM to assert an ECAT event r/- r/- 0 Table 110: Register 0x09F0:0x09F3 (ECAT Buffer Change Event Time) Register bits [31:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Note 7.3.19.2 PDI Buffer Start Event Time (0x09F8:0x09FB) Bit Description ECAT PDI Reset Value 31:0 Register captures local time when at least one SyncManager asserts an PDI buffer start event r/- r/- 0 Table 111: Register 0x09F8:0x09FB (PDI Buffer Start Event Time) Register bits [31:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. Note 7.3.19.3 PDI Buffer Change Event Time (0x09FC:0x09FF) Bit Description ECAT PDI Reset Value 31:0 Register captures local time when at least one SyncManager asserts an PDI buffer start event r/- r/- 0 Table 112: Register 0x09FC:0x09FF (PDI Buffer Change Event Time) Note Register bits [31:8] are internally latched (ECAT/PDI independently) when bits [7:0] are read, which guarantees reading a consistent value. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 110 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.20 7.3.20.1 ESC Specific Product ID (0x0E00:0x0E07) Bit Description ECAT PDI Reset Value 63:0 Product ID r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: 0x0000000001008460 0x0000000001108461 0x0000000001108461 0x0000000001008670 Table 113: Register 0x0E00:0x0E07 (Product ID) 7.3.20.2 Vendor ID (0x0E08:0x0E0F) Bit Description ECAT PDI Reset Value 63:0 Vendor ID: [23:0] Company [31:24] Department NOTE: Test Vendor IDs [31:28]=0xE r/- r/- TMC8460: TMC8461: TMC8462: TMC8670: Table 114: Register 0x0E08:0x0E0F (Vendor ID) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 0x0000000100000286 0x0000000100000286 0x0000000100000286 0x0000000100000286 111 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 7.3.21 7.3.21.1 Process Data RAM Process Data RAM (0x1000:0xFFFF) The Process Data RAM starts at address 0x1000. The size of the Process Data RAM depends on the device. Bytes Description ECAT PDI Reset Value --- Process Data RAM (r/w) (r/w) Random/undefined Table 115: Process Data RAM (0x1000:0xFFFF) Note (r/w): Process Data RAM is only accessible if EEPROM was correctly loaded (register 0x0110.0 = 1). Device Process Data RAM Size Upper RAM Address TMC8460 16kBytes 0x4FFF TMC8461 16kBytes 0x4FFF TMC8462 16kBytes 0x4FFF TMC8670 4kBytes 0x1FFF Table 116: Process Data RAM Size ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 112 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 8 Electrical Ratings 8.1 Absolute Maximum Ratings The maximum ratings may not be exceeded under any circumstances. Operating the circuit at or near more than one maximum rating at a time for extended periods shall be avoided by application design. Note Parameter Symbol Min Max Unit DC supply VDD_3V3 -0.3 3.63 V DC core supply voltage VDD_1V2 -0.3 1.32 V IO supply voltage VDD_3V3 -0.3 3.63 V PLL supply voltage VDD_3V3 -0.3 3.63 V Junction temperature TJ -55 125 °C Storage temperature T ST G -65 150 °C Table 117: Absolute Maximum Ratings for TMC8670-BI 8.2 Operational Ratings Parameter Symbol Min Typ Max Unit DC supply VDD_3V3 3.15 3.3 3.45 V DC core supply voltage VDD_1V2 1.14 1.2 1.26 V IO supply voltage VDD_3V3 3.15 3.3 3.45 V PLL supply voltage VDD_3V3 3.15 3.3 3.45 V Operating Junction temperature TJ -40 25 100 °C Table 118: Operational Ratings for TMC8670-BI ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 113 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 8.3 Digital I/Os The following table contains information on the I/O characteristics. LVCMOS is a widely used switching standard and is defined by JEDEC (JESD 8-5). TMC8670supports LVCMOS standard LVCMOS33, which is a general standard for 3V3 applications. Parameter Symbol Conditions Min Input voltage low level VIL VDD_3V3 = 3.3V Input voltage high level VIH Weak pull-down Max Unit -0.3 0.8 V VDD_3V3 = 3.3V 2.0 3.45 V RPD at VOL 9.9 14.5 kOhm Weak pull-up RPU at VOH 9.98 14.9 kOhm Input low current IIL VIN = 0V - 10 µA Input high current IIL VIN = VDD_3V3 - 10 µA Output voltage low level VOL VDD_3V3 = 3.3V - 0.4 V Output voltage high level VOH VDD_3V3 = 3.3V VDD_3V3-0.4 - V Output driver standard IOUT_DRV 8 mA COUT 10 pF strength Output capacitance Typ Table 119: Digital I/Os DC Characteristics 8.4 Power Consumption The values given here are typical values only. The real values depend on configuration, activity, and temperature. Parameter Symbol Typical Unit % Notes Total power consumption PT OT AL 562 mW 100 PS + PD Static power consumption PS 28 mW 5 Dynamic power consumption PD 534 mW 95 Table 120: TMC8670 power consumption Parameter Symbol Power (mW) Voltage (V) Current (mA) DC core supply voltage VDD_1V2 470 1.2 392 Supply voltage I/Os and PLL VDD_3V3 92 3.3 28 Table 121: TMC8670 power consumption by rail ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Notes 114 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 8.5 Package Thermal Behavior Dynamic and static power consumption cause the junction temperature of the TMC8670 to be higher than the ambient, case, or board temperature. The equations below show the relationships. T hetaJA = (T J − T A)/PT otal T hetaJB = (T J − T B)/PT otal T hetaJC = (T J − T C)/PT otal Parameter Symbol Junction-to-ambient thermal resistance T hetaJA Typ Unit Notes 27.03 °C/W at still air 22.91 °C/W at 1.0 m/s 21.25 °C/W at 2.5 m/s Junction-to-board thermal resistance T hetaJB 12.33 °C/W Junction-to-case thermal resistance T hetaJC 1.54 °C/W Table 122: TMC8670 package thermal behavior Symbols used: T J = Junction temperature T A = Ambient temperature T B = Board temperature measured 1.0mm away from the package T C = Case temperature T hetaJA = Junction-to-ambient thermal resistance is determined under standard conditions specified by JEDEC (JESD-51), but it has little relevance in the actual performance of the product. It must be used with caution, but it is useful for comparing the thermal performance of one package with another. The maximum power dissipation allowed is calculated as follows: Maximum power allowed = (T JM AX − T AM AX )/T hetaJA T hetaJB = Junction-to-board thermal resistance measures the ability of the package to dissipate heat from the surface of the chip to the PCB. As defined by the JEDEC (JESD-51) standard, the thermal resistance from the junction to the board uses an isothermal ring cold plate zone concept. The ring cold plate is simply a means to generate an isothermal boundary condition at the perimeter. The cold plate is mounted on a JEDEC standard board with a minimum distance of 5.0 mm away from the package edge. T hetaJC = Junction-to-case thermal resistance measures the ability of a device to dissipate heat from the surface of the chip to the top or bottom surface of the package. It is applicable to packages used with external heat sinks. Constant temperature is applied to the surface, which acts as a boundary condition. This only applies to situations where all or nearly all of the heat is dissipated through the surface in consideration. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 115 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 9 Manufacturing Data 9.1 Package Dimensions Figure 31: TMC8670-BI package outline drawing (dimensions are in millimeter) Symbol Min Normal A 1.01 A1 0.15 0.21 A2 0.40 0.45 aaa b 0.50 0.08 0.25 bbb c Max 0.30 0.35 n.a. 0.21 0.25 ccc 0.10 D 11.00 D1 10.00 BSC ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 0.29 116 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 Symbol Min Normal E 11.00 ddd 0.15 E1 10.00 BSC e 0.5 TYP eee 0.15 Table 123: Dimensions of TMC8670-BI (BSC = Basic Spacing between Centers) ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com Max TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 9.2 117 / 123 Marking The device marking is shown below. Pin 1 location is highlighted with a dot. yyww = date code. LLLLL = lot number. Figure 32: TMC8670-BI device marking 9.3 Board and Layout Considerations • Example part libraries for different CAD tools are available as downloads on the respective IC product page on the TRINAMIC website at https://www.trinamic.com/products/integrated-circuits/. • Package drawings, recommended land patterns, and soldering profiles for all TRINAMIC IC packages are available online at https://www.trinamic.com/support/help-center/ic-packages/ • TRINAMIC’s evaluation boards are fully available as layout examples and recommendations and are free for download. Design data, Gerber data, and additional information is available at https://www. trinamic.com/support/eval-kits/. ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 10 118 / 123 Abbreviations Abbreviation Description MCU Microcontroller unit, application controller AL Application Layer ASIC Application Specific Integrated Circuit CoE CAN application protocol over EtherCAT COMM Common Anode or common cathode CPU Central Processing Unit DC Distributed Clocks DPRAM Dual Ported Random Access Memory DS-Mod Delta Sigma Modulator ECAT EtherCAT ENI EtherCAT Network Information (Information on Network configuration in XML format) EOF End of Frame ESC EtherCAT Slave Controller ESI EtherCAT Slave Information (device description/configuration data in XML format) ESM EtherCAT State Machine ETG EtherCAT Technology Group EtherCAT Ethernet for Control Automation Technology FMMU Fieldbus Memory Management Unit FoE File Access over EtherCAT GPIO General Purpose I/O GPI General Purpose Input GPO General Purpose Output IDE Integrated Development Environment IEC International Electrotechnical Commission IRQ Interrupt Request LED Light Emitting Diode MI (PHY) Management Interface MII Media Independent Interface MISO Master In - Slave Out MOSI Master Out - Slave In PDI Process Data Interface PDO Process Data Object ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 PDRAM Process Data Random Access Memory POF Plastic/polymer Optical Fiber RMS Root Mean Square value SII Slave Information Interface SM SyncManager SOF Start of Frame SPI Serial Peripheral Interface TMCL TRINAMIC Motion Control Language TTAP TRINAMIC Technology Access Package TTL Transistor Transistor Logic UART Universal Asynchronous Receiver Transmitter USB Universal Serial Bus XML Extended Mark-up Language Table 124: Abbreviations used in this Manual ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 119 / 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 120 / 123 Figures Index General device architecture . . . . . . TMC8670 Sensor Engine maps position sensor signals to mechanical angels and electrical angels as direct input for the FOC engine. . . . . . . . . TMC8670 Evaluation Board . . . . . . TMCL-IDE . . . . . . . . . . . . . . . . . TMC8670-BI Pinout top view . . . . . MII interface . . . . . . . . . . . . . . . PLL supply filter . . . . . . . . . . . . . Status LED circuit . . . . . . . . . . . . SII EEPROM circuit . . . . . . . . . . . Example circuit for connecting an incremental encoder with level shifters from typically 5V to 3.3V . . . . . . . . ABN Incremental Encoder N Pulse anywhere between 0° and 360° . . . Encoder ABN Timing . . . . . . . . . . Example circuit for connecting Hall sensor signals with level shifters from typically 5V to 3.3V . . . . . . . . . . . Hall Sensor Angles . . . . . . . . . . . 7 15 16 8 10 11 12 20 22 23 23 24 25 26 27 27 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 TMC8670 Delta Sigma ADC Configuration . . . . . . . . . . . . . . . . . . . . 29 TMC8670 configuration for LTC2351 SPI ADCs . . . . . . . . . . . . . . . . . 30 LTC2351 with input filter elements for noise reduction . . . . . . . . . . . . . 30 nPolePairsNumberOfPolePairs . . . . 31 TMC8670 Brake Chopper Connector . 32 UartDatagramSingleRead . . . . . . . 33 UartDatagramSingleWrite . . . . . . . 33 FOC Basic Principle . . . . . . . . . . . 34 PID Architectures and Motion Modes 35 Compass Motor w/ 3 Phases . . . . . 39 Compass Motor w/ 3 Phases . . . . . 39 Advanced PI Controller Structure . . . 41 PI Architectures and Motion Modes . 42 Inner FOC Control Loop . . . . . . . . 43 FOC Transformations . . . . . . . . . . 44 Motion Modes . . . . . . . . . . . . . . 44 TMC8670-BI package outline drawing (dimensions are in millimeter) . . . . 115 TMC8670-BI device marking . . . . . . 117 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 121 / 123 Tables Index TMC8670 order codes . . . . . . . . . Pin and Signal description for TMC8670-BA . . . . . . . . . . . . . . . MII signal description . . . . . . . . . . TMC8670 EtherCAT Registers . . . . . Register 0x0000 (Type) . . . . . . . . . Register 0x0001 (Revision) . . . . . . . Register 0x0002 (Build) . . . . . . . . . Register 0x0004 (FMMUs) . . . . . . . Register 0x0005 (SMs) . . . . . . . . . Register 0x0006 (RAM Size) . . . . . . Register 0x0007 (Port Descriptor) . . Register 0x0008:0x0009 (ESC Features) Register 0x0010:0x0011 (Station Addr) Register 0x0012:0x0013 (Station Alias) Register 0x0020 (Write Register Enable) Register 0x0021 (Write Register Prot.) Register 0x0030 (ESC Write Enable) . Register 0x0031 (ESC Write Prot.) . . . Register 0x0100:0x0103 (DL Control) Register 0x0108:0x0109 (R/W Offset) Register 0x0110:0x0111 (DL Status) . Decoding port state in ESC DL Status register 0x0111 (typical modes only) . Register 0x0120:0x0121 (AL Cntrl) . . Register 0x0130:0x0131 (AL Status) . Register 0x0134:0x0135 (AL Status Code) . . . . . . . . . . . . . . . . . . . Register 0x0138 (RUN LED Override) . Register 0x0139 (ERR LED Override) . Register 0x0140 (PDI Control) . . . . . Register 0x0141 (ESC Config) . . . . . Register 0x014E (PDI Information)) . . Register 0x0150 (PDI SPI CFG) . . . . . Register 0x0151 (SYNC/LATCH CFG) . Register 0x0152:0x0153 (PDI SPI extCFG) . . . . . . . . . . . . . . . . . . Register 0x0200:0x0201 (ECAT Event M.) Register 0x0204:0x0207 (AL Event Mask) Register 0x0210:0x0211 (ECAT Event R.) Register 0x0220:0x0223 (AL Event R.) Register 0x0300:0x0307 (RX Err Cnt) . Register 0x0308:0x030B (FW RX Err Cnt) Register 0x030C (Proc. Unit Err Cnt) . Register 0x030D (PDI Err Cnt) . . . . . Register 0x030E (PDI Err Code) . . . . Register 0x0310:0x0313 (LL Counter) Register 0x0400:0x0401 (WD Divider) Register 0x0410:0x0411 (WD Time PDI) Register 0x0420:0x0421 (WD Time PD) Register 0x0440:0x0441 (WD Status PD) Register 0x0442 (WD Counter PD) . . 6 19 21 52 53 53 53 54 54 54 55 56 57 57 58 58 58 59 61 61 63 63 64 65 65 66 66 67 67 68 69 70 70 71 71 72 73 74 74 74 75 75 76 77 77 77 78 78 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 Register 0x0443 (WD Counter PDI) . . 79 SII EEPROM Interface Register Overview 80 Register 0x0500 (PROM Config) . . . . 80 Register 0x0501 (PROM PDI Access) . 80 Register 0x0502:0x0503 (PROM Cntrl) 82 Register 0x0504:0x0507 (PROM Address) . . . . . . . . . . . . . . . . . . . 82 Register 0x0508:0x050F (PROM Data) 83 MII Management Interface Register Overview . . . . . . . . . . . . . . . . . 84 Register 0x0510:0x0511 (MI Cntrl/State) 85 Register 0x0512 (PHY Address) . . . . 85 Register 0x0513 (PHY Register Address) 86 Register 0x0514:0x0515 (PHY Data) . 86 Register 0x0516 (MI ECAT State) . . . 86 Register 0x0517 (MI PDI State) . . . . 87 Register 0x0518+y (PHY Port Status) . 87 FMMU Register Overview . . . . . . . 88 Register 0x06y0:0x06y3 (Log Start Addr) 88 Register 0x06y4:0x06y5 (FMMU Length) 88 Register 0x06y6 (Log. Start Bit) . . . . 89 Register 0x06y7 (Log. Stop Bit)) . . . . 89 Register 0x06y8:0x06y9 (Phy. Start Addr 89 Register 0x06yA (Phy. Start Bit) . . . . 89 Register 0x06yB (FMMU Type) . . . . 90 Register 0x06yC (FMMU Activate) . . . 90 Register 0x06yD:0x06yF (Reserved) . 90 SyncManager Register Overview . . . 91 Register 0x0800+y*8:0x0801+y*8 (Phy. Start Addr) . . . . . . . . . . . . . 91 Register 0x0802+y*8:0x0803+y*8 (SM Length) . . . . . . . . . . . . . . . . . . 91 Register 0x0804+y*8 (SM Control) . . 92 Register 0x0805+y*8 (SM Status) . . . 93 Register 0x0806+y*8 (SM Activate) . . 93 Register 0x0807+y*8 (SM PDI Control) 94 Register 0x0900:0x0903 (Rcv Time P0) 95 Register 0x0904:0x0907 (Rcv Time P1) 95 Register 0x0910:0x0917 (System Time) 96 Register 0x0918:0x091F (Rcv Time EPU) 97 Register 0x0920:0x0927 (Sys Time Offset) . . . . . . . . . . . . . . . . . . . . 97 Register 0x0928:0x092B (Sys Time Delay) . . . . . . . . . . . . . . . . . . . . 97 Register 0x092C:0x092F (Sys Time Diff) 97 Register 0x0930:0x931 (Speed Cnt Start) 98 Register 0x0932:0x0933 (Speed Cnt Diff) 98 Register 0x0934 (Sys Time Diff Filter) . 99 Register 0x0935 (Speed Cnt Filter Depth) 99 Register 0x0980 (Cyclic Unit Cntrl) . . 100 Register 0x0981 (SYNC Out Activation) 101 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 Register 0x0982:0x0983 (SYNC Pulse Length) . . . . . . . . . . . . . . . . . . Register 0x0984 (Activation Status) . . Register 0x098E (SYNC0 Status) . . . . Register 0x098F (SYNC1 Status) . . . . Register 0x0990:0x0997 (Start Time Cyclic Operation) . . . . . . . . . . . . Register 0x0998:0x099F (Next SYNC1) Register 0x09A0:0x09A3 (SYNC0 Cycle Time) . . . . . . . . . . . . . . . . . . . Register 0x09A4:0x09A7 (SYNC1 Cycle Time) . . . . . . . . . . . . . . . . . . . Register 0x09A8 (Latch0 Control) . . . Register 0x09A9 (Latch1 Control) . . . Register 0x09AE (Latch0 Status) . . . . Register 0x09AF (Latch1 Status) . . . . Register 0x09B0:0x09B7 (Latch0 Time Pos Edge) . . . . . . . . . . . . . . . . . Register 0x09B8:0x09BF (Latch0 Time Neg Edge) . . . . . . . . . . . . . . . . Register 0x09C0:0x09C7 (Latch1 Time Pos Edge) . . . . . . . . . . . . . . . . . Register 0x09C8:0x09CF (Latch1 Time Neg Edge) . . . . . . . . . . . . . . . . 102 102 102 103 103 103 104 104 105 105 106 106 107 107 108 108 ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com 122 / 123 110 Register 0x09F0:0x09F3 (ECAT Buffer Change Event Time) . . . . . . . . . . . 111 Register 0x09F8:0x09FB (PDI Buffer Start Event Time) . . . . . . . . . . . . 112 Register 0x09FC:0x09FF (PDI Buffer Change Event Time) . . . . . . . . . . . 113 Register 0x0E00:0x0E07 (Product ID) . 114 Register 0x0E08:0x0E0F (Vendor ID) . 115 Process Data RAM (0x1000:0xFFFF) . 116 Process Data RAM Size . . . . . . . . . 117 Absolute Maximum Ratings for TMC8670-BI . . . . . . . . . . . . . . . 118 Operational Ratings for TMC8670-BI . 119 Digital I/Os DC Characteristics . . . . 120 TMC8670 power consumption . . . . 121 TMC8670 power consumption by rail 122 TMC8670 package thermal behavior . 123 Dimensions of TMC8670-BI (BSC = Basic Spacing between Centers) . . . . . 124 Abbreviations used in this Manual . . 125 IC Revision . . . . . . . . . . . . . . . . 126 Document Revision . . . . . . . . . . . 109 109 109 110 110 111 111 112 112 113 113 113 114 116 119 123 123 TMC8670 Datasheet • Hardware Version V1.0 | Document Revision V1.00 • 2021-Feb-04 13 123 / 123 Revision History 13.1 IC Revision Version Date Author Description V1.00 2017-OCT-30 LL/SL/ED First IC version engineering samples. V1.00 2018-MAY-31 LL First IC version. Table 125: IC Revision 13.2 Document Revision Version Date Author Description V1.0 2017-OCT-31 SK, LL Initial version V1.0 2018-JUN-06 LL pin names updated, ADC front-end part (LM339, LTC2351) updated V1.0 2018-JUN-12 SK typos fixed V1.0 2019-MAR-20 LL IC version time stamp updated V1.0 2019-AUG-21 LL UART interface description for TMCL-IDE updated Table 126: Document Revision ©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com
TMC8670-EVAL 价格&库存

很抱歉,暂时无法提供与“TMC8670-EVAL”相匹配的价格&库存,您可以联系我们找货

免费人工找货