MICROCHIP V43 Resolver Interface
Introduction (Ask a Question)
A resolver is a position sensor or transducer which measures the absolute angular position of the rotating shaft to which it is attached.
The operating principle of a resolver is similar to the operating principle of a synchro. Resolvers are typically built like small motors with a rotor (attached to the shaft whose position is to be measured) and a stator (stationary part) which takes the excitation signals and produces the output signals. A resolver typically consists of a primary winding, also called excitation winding and two secondary windings called cosine and sine windings. The secondary windings are geometrically placed such that winding signals are cosine and sine function of rotor angle.
The following figure shows the signals generated by resolver.
Figure 1. Signal Generation in Resolver
Summary (Ask a Question)
Core Version | This document applies to Resolver Interface v4.3. |
Supported Device Families |
|
Supported Tool Flow | Requires Libero® SoC v11.8 or later releases. |
Licensing | Complete encrypted RTL code is provided for the core, enabling the core to be instantiated with SmartDesign. Simulation, Synthesis, and Layout can be performed with Libero software. Resolver interface is licensed with encrypted RTL that must be purchased separately. For more information, see Resolver Interface. |
Features (Ask a Question)
Resolver Interface has the following key features:
- Provides a high-frequency signal for excitation
- Demodulates sine and cosine winding inputs
- Computes angle and speed
Implementation of IP Core in Libero® Design Suite (Ask a Question)
IP core must be installed to the IP Catalog of the Libero SoC software. This is installed automatically through the IP Catalog update function in the Libero SoC software, or the IP core can be manually downloaded from the catalog.
Once the IP core is installed in the Libero SoC software IP Catalog, the core can be configured, generated, and instantiated within the Smart Design tool for inclusion in the Libero project list.
Device Utilization and Performance (Ask a Question)
The following table lists the device utilization used for Resolver interface.
Table 1. Resolver Interface Utilization
Device Details | Resources | Performance (MHz) | RAMs | Math Blocks | Chip Globals | |||
Family | Device | LUTs | DFF | LSRAM | μSRAM | |||
PolarFire® SoC | MPFS250T | 1815 | 909 | 200 | 0 | 0 | 2 | 0 |
PolarFire | MPF300T | 1815 | 909 | 200 | 0 | 0 | 2 | 0 |
SmartFusion® 2 | M2S150 | 1832 | 914 | 175 | 0 | 0 | 2 | 0 |
Important:
- The data in this table is captured using typical synthesis and layout settings. CDR reference clocksource was set to Dedicated with other configurator values unchanged.
- Clock is constrained to 200 MHz while running the timing analysis to achieve the performance numbers.
Functional Description (Ask a Question)
The following figure shows the block diagram of Resolver interface.
Figure 1-1. System-Level Block Diagram of Resolver Interface
The resolver interface IP generates a square wave that is fed to the primary winding of the resolver. The frequency of the square wave can be configured through hf_sig_period_i input. The cos_i and sin_i signals from the secondary windings are demodulated and filtered to get effective cosine and sine signals. A Phase-Locked Loop (PLL) is used to extract angle and speed from cosine and sine signals.
The PLL uses a PI controller whose gains pll_pi_kp_i and pll_pi_ki_i can be tuned to get required response time. A higher value for gains results in quick response to angle and speed changes but can also induce noise in angle and speed outputs.
In motor control application, the resolver zero position must be aligned with motor magnetic zero position. To achieve this, a calib_angle_i signal is used. During calibration process, the signal goes high and the motor is forced to align its rotor to magnetic zero position. The angle output is reset to zero during this period and is taken as reference for measuring absolute angle. A motor and resolver can have multiple pole pairs in which the motor control algorithm needs multiple theta transitions (3600) for one mechanical rotation of the rotor. This feature can be configured through the pp_ratio_i port, listed in Table 2-2.
The theta_factor constant is calculated by using the following equation. The calculated speed can be scaled to per unit using theta_factor_i.
EQ1
The hf_sig_period input determines the frequency of square wave injected into resolver primary, calculated by using the following equation.
EQ2
where,
hf_freq = Frequency of the square wave injected into resolver primary fsys_clk = Frequency of the system clock provided at sys_clk_i input
Resolver Interface Parameters and Interface Signals (Ask a Question)
This section discusses the parameters in the Resolver interface GUI configurator and I/O signals.
Configuration of GUI Parameters (Ask a Question)
The following table lists the description of the configuration parameter used in the hardware implementation of Resolver interface. These are generic parameters and can be varied as per the requirement of the application.
Table 2-1. Configuration Parameters
Signal Name | Description |
g_NO_MCYCLE_PATH | The number of clock delays required before the multiplication product ready signal is asserted. |
Input and Output Signals (Ask a Question)
The following table lists the input and output ports of Resolver interface.
Table 2-2. Inputs and Outputs of Resolver Interface
Signal Name | Direction | Description | |
reset_i | Input | Active low asynchronous reset signal to design | |
sys_clk_i | Input | System clock | |
clear_buffer_i | Input | When set to 1, internal speed filter buffer is cleared When set to 0, buffer is normally operated | |
calib_angle_i | Input | The IP enters calibration state when this signal goes high. The angle offset between the resolver zero and the motor magnetic zero is calculated in this state. | |
direction_config_i | Input | Specifies the direction of motor rotation | |
pp_ratio_i | Input | The ratio of number of motor poles to number of resolver poles expressed as exponent of 2. Example for motor poles 16, resolver poles 2, pp_ratio_i = 3; For motor poles 8, resolver poles 2, pp_ratio_i= 2; For motor poles 4, resolver poles 4,
pp_ratio_i = 0. |
|
cos_i | Input | Cosine winding input (from ADC) | |
sin_i | Input | Sine winding input (from ADC) | |
pll_pi_kp_i | Input | Proportional gain of PI controller used for PLL | |
pll_pi_ki_i | Input | Integral gain of PI controller used for PLL | |
dc_filter_factor | Input | Filter time constant of high-pass filter used to eliminate DC value from Sine and Cosine signals | |
ac_filter_factor | Input | Filter time constant of low-pass filter used to eliminate modulation wave frequency component for Sine and Cosine signals | |
theta_factor_i | Input | Theta factor constant, as calculated from EQ1 | |
hf_sig_period_i | Input | Half the value of the high frequency square wave time period, as calculated from
EQ2 |
|
hf_signal_o | Output | Square wave signal used to drive primary winding of resolver | |
theta_o | Output | Angle output of resolver; equivalent to motor electrical angle | |
speed_o | Output | Speed output of resolver IP |
Timing Diagrams (Ask a Question)
This section discusses Resolver interface timing diagram.
The following figure shows the timing diagram of Resolver interface.
Figure 3-1. Resolver Interface Timing Diagram
Testbench (Ask a Question)
A unified testbench is used to verify and test Resolver interface called as user testbench. Testbench is provided to check the functionality of the Resolver interface IP.
Simulation (Ask a Question)
The following steps describe how to simulate the core using the testbench:
- Open Libero SoC Catalog tab, expand Solutions-Motor Control, double click Resolver Interface, and then click OK. The documentation associated with the IP are listed under Documentation.
Important: If you do not see the Catalog tab, navigate to View > Windows menu and click Catalog to make it visible.
Figure 4-1. Resolver Interface IP Core in Libero SoC Catalog - On the Stimulus Hierarchy tab, select the testbench (resolver_interface_tb.v), right click and then click Simulate Pre-Synth Design > Open Interactively.
Important:If you do not see the Stimulus Hierarchy tab, navigate to View > Windows menu and click Stimulus Hierarchy to make it visible.
Figure 4-2. Simulating Pre-Synthesis Design
ModelSim opens with the testbench file, as shown in the following figure.
Figure 4-3. ModelSim Simulation Window
Important: If the simulation is interrupted due to the runtime limit specified in the .do file, use the run -all command to complete the simulation.
Revision History (Ask a Question)
The revision history describes the changes that were implemented in the document. The changes are listed by revision, starting with the most current publication.
Table 5-1. Revision History
Revision | Date | Description |
A | 03/2023 | The following list of changes is made in revision A of the document:
|
4.0 | — | The following is a summary of the changes made in revision 4.0 of this document
|
3.0 | — | The following is a summary of the changes made in revision 3.0 of this document
|
2.0 | 01/2017 | The following is a summary of the changes made in revision 2.0 of this document.
|
1.0 | 11/2016 | Revision 1.0 was the first publication of this document. |
Microchip FPGA Support (Ask a Question)
Microchip FPGA products group backs its products with various support services, including Customer Service, Customer Technical Support Center, a website, and worldwide sales offices. Customers are suggested to visit Microchip online resources prior to contacting support as it is very likely that their queries have been already answered.
Contact Technical Support Center through the website at www.microchip.com/support. Mention the FPGA Device Part number, select appropriate case category, and upload design files while creating a technical support case.
Contact Customer Service for non-technical product support, such as product pricing, product upgrades, update information, order status, and authorization.
- From North America, call 800.262.1060
- From the rest of the world, call 650.318.4460
- Fax, from anywhere in the world, 650.318.8044
Microchip Information (Ask a Question)
The Microchip Website (Ask a Question)
Microchip provides online support via our website at www.microchip.com/. This website is used to make files and information easily available to customers. Some of the content available includes:
- Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software
- General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip design partner program member listing
- Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service (Ask a Question)
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will receive email notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.
To register, go to www.microchip.com/pcn and follow the registration instructions.
Microchip Devices Code Protection Feature (Ask a Question)
Note the following details of the code protection feature on Microchip products:
- Microchip products meet the specifications contained in their particular Microchip Data Sheet.
- Microchip believes that its family of products is secure when used in the intended manner, within operating specifications, and under normal conditions.
- Microchip values and aggressively protects its intellectual property rights. Attempts to breach the code protection features of Microchip product is strictly prohibited and may violate the Digital Millennium Copyright Act.
- Neither Microchip nor any other semiconductor manufacturer can guarantee the security of its code. Code protection does not mean that we are guaranteeing the product is “unbreakable”. Code protection is constantly evolving. Microchip is committed to continuously improving the code protection features of our products.
Legal Notice (Ask a Question)
This publication and the information herein may be used only with Microchip products, including to design, test, and integrate Microchip products with your application. Use of this information in any other manner violates these terms. Information regarding device applications is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. Contact your local Microchip sales office for additional support or, obtain additional support at www.microchip.com/en-us/support/ design-help/client-support-services.
THIS INFORMATION IS PROVIDED BY MICROCHIP “AS IS”. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES RELATED TO ITS CONDITION, QUALITY, OR PERFORMANCE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL, OR CONSEQUENTIAL LOSS, DAMAGE, COST, OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE INFORMATION OR ITS USE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THE INFORMATION OR ITS USE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THE INFORMATION.
Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated.
Trademarks (Ask a Question)
The Microchip name and logo, the Microchip logo, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flex PWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, Ether Synch, Flashtec, Hyper Speed Control, Hyper Light Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, Crypto Automotive, Crypto Companion, Crypto Controller, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S, Ether GREEN, Grid Time, Ideal Bridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, Intel limos, Inter-Chip Connectivity, Jitter Blocker, Knob-on-Display, KoD, max Crypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, Pure Silicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-
ICE, Serial Quad I/O, simpleMAP, SimpliPHY, Smart Buffer, Smart HLS, SMART-I.S., storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.
© 2023, Microchip Technology Incorporated and its subsidiaries. All Rights Reserved.
ISBN: 978-1-6683-2177-5
Quality Management System (Ask a Question)
AMERICAS | ASIA/PACIFIC | ASIA/PACIFIC | EUROPE |
Corporate Office
2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: www.microchip.com/support Web Address: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canada – Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Australia – Sydney
Tel: 61-2-9868-6733 China – Beijing Tel: 86-10-8569-7000 China – Chengdu Tel: 86-28-8665-5511 China – Chongqing Tel: 86-23-8980-9588 China – Dongguan Tel: 86-769-8702-9880 China – Guangzhou Tel: 86-20-8755-8029 China – Hangzhou Tel: 86-571-8792-8115 China – Hong Kong SAR Tel: 852-2943-5100 China – Nanjing Tel: 86-25-8473-2460 China – Qingdao Tel: 86-532-8502-7355 China – Shanghai Tel: 86-21-3326-8000 China – Shenyang Tel: 86-24-2334-2829 China – Shenzhen Tel: 86-755-8864-2200 China – Suzhou Tel: 86-186-6233-1526 China – Wuhan Tel: 86-27-5980-5300 China – Xian Tel: 86-29-8833-7252 China – Xiamen Tel: 86-592-2388138 China – Zhuhai Tel: 86-756-3210040 |
India – Bangalore
Tel: 91-80-3090-4444 India – New Delhi Tel: 91-11-4160-8631 India – Pune Tel: 91-20-4121-0141 Japan – Osaka Tel: 81-6-6152-7160 Japan – Tokyo Tel: 81-3-6880- 3770 Korea – Daegu Tel: 82-53-744-4301 Korea – Seoul Tel: 82-2-554-7200 Malaysia – Kuala Lumpur Tel: 60-3-7651-7906 Malaysia – Penang Tel: 60-4-227-8870 Philippines – Manila Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan – Taipei Tel: 886-2-2508-8600 Thailand – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Chi Minh Tel: 84-28-5448-2100 |
Austria – Wels
Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark – Copenhagen Tel: 45-4485-5910 Fax: 45-4485-2829 Finland – Espoo Tel: 358-9-4520-820 France – Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany – Garching Tel: 49-8931-9700 Germany – Haan Tel: 49-2129-3766400 Germany – Heilbronn Tel: 49-7131-72400 Germany – Karlsruhe Tel: 49-721-625370 Germany – Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germany – Rosenheim Tel: 49-8031-354-560 Israel – Ra’anana Tel: 972-9-744-7705 Italy – Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy – Padova Tel: 39-049-7625286 Netherlands – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norway – Trondheim Tel: 47-72884388 Poland – Warsaw Tel: 48-22-3325737 Romania – Bucharest Tel: 40-21-407-87-50 Spain – Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden – Gothenberg Tel: 46-31-704-60-40 Sweden – Stockholm Tel: 46-8-5090-4654 UK – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
Customer Support (Ask a Question)
Users of Microchip products can receive assistance through several channels:
Distributor or Representative
Local Sales Office
Embedded Solutions Engineer (ESE)
Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to
help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: www.microchip.com/support
Documents / Resources
![]() |
MICROCHIP V43 Resolver Interface [pdf] User Guide V43 Resolver Interface, V43, Resolver Interface, Interface |