Main Content

Extrapolate Resolver Position Using Timestamp Information

This example shows how to use the timestamp information in the Resolver block from SoC Blockset™ Support Package for Infineon® AURIX™ Microcontrollers to determine the accurate position of the resolver sensor.

Introduction

The Resolver block consists of two input DSADC channels (one for sine channel and one for cosine channel). The block continuously provides the position of the resolver sensor after every successful analog-to-digital conversion of the input signal at the output rate. The output rate or the resolver cycle time depends on the Resolver block parameters such as on-chip modulator frequency, decimation factor of the cascaded integrated-comb (CIC) filter, and the number of samples selected for integration, which you set in the Hardware Mapping tool. The resolver sensor is used in applications such as motor control applications that demand the resolver position results at specific points of time (main program cycle or application rate) that lie between two regular outputs in the resolver cycle time. You can extrapolate the accurate position at the main program cycle by utilizing the previous position result, timestamp information (time elapsed from the previous conversion result), and the output rate of the Resolver block.

Prerequisites

Complete the Getting Started with SoC Blockset Support Package for Infineon AURIX Microcontrollers example.

Required Hardware

  • Infineon AURIX TC4x - TriBoards

  • Micro-USB cable

Available Models

The example includes the preconfigured model tc4x_resolver_with_timestamp, which you can use for simulation and code generation.

This model is configured for the TC4x TriBoards and supports code generation workflow.

The model comprises of the PWM block and a Hardware Interrupt block with the function call subsystem. This figure illustrates the function call subsystem.

  • The PWM block signifies the application demanding the resolver position results at the main program cycle. The application rate in this model is 250 microseconds as the Initial frequency parameter of the PWM block in Hardware Mapping tool is set to 4 kHz.

  • You can view the output rate of the resolver in the Output rate in seconds parameter of the Resolver block in the Timestamp tab of Hardware Mapping tool or you can calculate the output rate using this formula: Number of values for accumulation/(On-chip modulator frequency/Decimation factor). You can find the values of the three terms in the equation from the corresponding parameters in the Hardware Mapping tool. This model is configured for an output rate of 51 microseconds.

  • The PWM timer module triggers the timestamp circuit in the DSADC channel of the Resolver block at every 250 microseconds to obtain the position of the resolver sensor. This action triggers an interrupt service routine, which extracts the timestamp information of the last position output.

  • Using extrapolation algorithms and by utilizing the inputs of previous position output, output rate, and timestamp information, the 1-D Lookup Table block provides the accurate resolver position at every 250 microseconds.

Configure the Model

1. Open the tc4x_resolver_with_timestamp model.

2. Press Ctrl+E to open the Configuration Parameters dialog box. Click Hardware Implementation in the left pane and set Hardware board to Infineon AURIX™ TC4x - TriBoards.

3. Under Hardware board settings, expand Target hardware resources. Set the Series and Package class parameters to match your hardware.

4. Use the Hardware Mapping tool to observe the interrupts configured for the available blocks in this example.

Generate Code and Deploy Model to Target Hardware

Complete the following steps to generate code and run the model on the target hardware.

1. Click Build, Deploy & Start on the Hardware tab to deploy the target model to the hardware.

Note: You can ignore the model advisor warning message while trying to build the model.

2. You can observe the code generation report that contains code for model traceability. Infineon AURIX deploys the model to the hardware using a downloading tool.

3. Download and install the One Eye tool from Infineon to monitor signals from the hardware. Before using the One Eye tool, ensure that you download and install the latest version of the DAS tool.

4. Open the One Eye tool to observe the timestamp, resolver position (Theta_Value), and extrapolated resolver position (Theta_Timestamp) values.

You can observe that the available resolver position is 132.763 degrees, but the accurate resolver position after extrapolation is 127.491 degrees.