infineon4engi@twitter infineon4engineers infineon@linkedin infineon@youtube
twitter Facebook Linkedin Youtube

+ Reply to Thread
Page 6 of 6 FirstFirst ... 2 3 4 5 6
Results 51 to 60 of 60

Thread: FAQ for miscellaneous Embedded Power IC Topics

  1. #51
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    NAC and NAD location

    NAC and NAD Values are not in the TP100.
    NAC and NAD value can be modified more than 100 times.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  2. #52
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    Is there a way to add custom tab in the config wizard?

    It is quite straight forward: assuming you want to include the tab from the FOC example in a new Keil project:

    1. Copy the tab file from the FOC example project: C:\...\Infineon\TLE9879_EvalKit\BLDC_SENSORLESS_FO C_EXAMPLE_TLE987X\RTE\Device\TLE9879QXA40\FOC_Moto rcontrol.xml

    2. Paste the tab file in the new Kiel project folder: C:\...\Infineon\TLE9879_EvalKit\new_Kiel_project\R TE\Device\TLE9879QXA40\FOC_Motorcontrol.xml

    3. Open the file: C:\...\Infineon\TLE9879_EvalKit\new_Kiel_project\R TE\Device\TLE9879QXA40\config.icwp
    --> This file is the first one being called when the user starts CinfigWizard.

    4. Edit this file on line 4 as follows, so to call the FOC tab as first:
    Click image for larger version

Name:	image-2020-04-21-09-57-58-020.png
Views:	0
Size:	184.7 KB
ID:	4924

    5. Open the file: C:\...\Infineon\TLE9879_EvalKit\new_Kiel_project\R TE\Device\TLE9879QXA40\FOC_Motorcontrol.xml

    6. Make sure at the end of this file the main device.xml file is called, as follows:
    Click image for larger version

Name:	image-2020-04-21-10-01-11-284.png
Views:	0
Size:	205.6 KB
ID:	4925

    Now you have included the FOC tab in a new project. This procedure is the same for the BEMF example as well as for any custom tab that the customer would like to create.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  3. #53
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    Software recommendation for the unused pins of TLE98xx

    All unused pins should be configured as inputs.
    If there is no external pull-down/up, the internal pull-downs should be activated for the lowest current consumption.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  4. #54
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    Using Assembly Code-Snippets in Keil ePower Projects

    Writing a function in Assembly and calling it from Main
    The most straightforward way of including assembly in your C-Code is to just write the function, export its Symbol and call it form the Main function.
    Let us try it with a simple example, which writes Data to Memory.
    For this we need two informations, what to write where, i.e. two arguments. The function arguments will be stored in the registers R0 and following. So if our function prototype is:
    uint8 write_ram(void* address, void* data)
    we will find address in R0 and data in R1*.* We now need to take what is in R1 and put it to where R0 is pointing. This can be done by the STR instruction (I look up my instructions in the definitive guide to the ARM Cortex M0). STR <Rt>, <Rn> puts what is in Rt to Rn. Because we do not want to copy to Rn but to where Rn is pointing, we need to dereference Rn:
    STR <Rt>, <Rn>, #immediate
    #immediate is an optional offset number, in our case #0.

    Code:
       PRESERVE8
        AREA WRITE_RAM, CODE, READONLY
        EXPORT write_ram
    
     
    
    write_ram
        ;R0 is location
        ;R1 is Data
        STR R1, [R0,#0]
        STR R1, [R0,#4]
        STR R1, [R0,#8]
        STR R1, [R0,#12]
        BX LR
        END

    The function above takes what is in R1 and writes it to the address R0 is pointing and the following three Addresses.
    Notice that the file starts with a few Keywords:
    PRESERVE8 tells the compiler, that 8-Byte Stack Alignment is kept and this function can be called by functions that require 8-Byte Stack (these functions would contain REQUIRE8).
    AREA declares the name of the code- or data-area, in our case WRITE_RAM. The Area Keyword marks and names the start of a Section. A Section is, in ELF Files, an independent, Named, Indivisible sequence of Code and Data. We don’t have any data here, so we name our CODE Section. After the Name follow AREA Attributes, like the Word, CODE, and READONLY (CODE sections are usually READONLY).
    EXPORT declares a symbol that can be referenced by the linker. We name our Symbol write_ram. In the C function that calls the Asm. Function, the Symbol must be visible.
    This is followed by the function name, comments are predeceded by a semicolon.
    After executing four Store Instructions, we need to branch back to the Link-Register. With BX LR and End our Function with writing END.
    It is important, that every Assembler Function ends with a new-line (not with a tab, some editors tend to insert whitespaces if you press enter)
    Below is a C-Funktion calling the write_ram function.

    Code:
    #include "tle_device.h" 
    
    extern uint8 write_ram(void* address, void* data);
    
    int main(void)
    
    {
        write_ram((void*)0x18000300, (void*)0x10101010);
        for (;;){}
    }
    The above code first declares the function write_ram as external, then it is called. This way of using assembly has its pro’s and con’s. The pro’s being, in comparison to inline assembly, that you write a real assembly file, that has no restrictions. You have full control over all instructions and can decide which registers you access. On the downside, there is always a function called, meaning a Branching Overhead. Lets look at the disassembly of above code:


    Click image for larger version

Name:	image-2020-03-25-10-26-51-887.png
Views:	0
Size:	162.5 KB
ID:	4926

    In command 0x1100073A we branch to write_ram from where we start to execute our code.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  5. #55
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    TLE985x: Erasing/reprogramming the controller during Sleep mode

    If the device is not waking up and stays/remains in sleep mode the debugger connection is not possible .

    Below steps can be followed to wake up the device using MONx pin and connect the debugger for flashing:

    1. The device needs to keep awake, using MON1 or MON3 as a wake-up source, and RESET as wake-up trigger

    2. For this purpose connect the pin RESET with pin MON1 or MON3

    3. Set VS below 8V (the MONx threshold is defined as VS/2, RESET drives 5V max.)

    4. The output of RESET is fed into the MON1 and is recognized as wake-up event

    5. By this the device stays alive and can be reflashed

    6. After successfull flash update, the connection between RESET and MON1 or MON3 can be removed, VS can be risen again
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  6. #56
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    TLE987x: How can I protect my Device against reprogramming?

    When The Device is Password protected, it is not possible to download Code into NVM as Mode 2 is not accessible (See Bootrom UM 4.4.2.4).
    However, if I managed to guess the password by trying out all 128 possible passwords, I would be able to wipe the device and flash my own software. If the user wants to make it impossible to reprogram the device, this must be taken care of in software. One possible solution is described below:

    In Order to access the LIN BSL, one needs to send a command during the NAC (Non Activity Counter). If the NAC is set to 0 seconds, it is not possible anymore to access the device via BSL.
    This does as a first measure protect the device against being reprogrammed via lin.
    If however the user wants to still access the device via linBSL, for example for a Data Read out, he could take the folowing approach.
    The user can implement a LIN-command that features a more secure password and store it in the Flash of the Device. Then, with this LIN command and the correct user specific password, the NAC could be set to greater 0 and then the user would have access to the Device again.
    Click image for larger version

Name:	image-2020-02-24-13-52-36-187.png
Views:	0
Size:	187.6 KB
ID:	4927
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  7. #57
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    Can I use ADC3/4 for current sensing?

    It is not recommended.
    Sigma Delta ADC is designed to measure absolute angle sensors. The sample time may be unsufficient to measure inside the PWM period.
    The user will also need an external opamp to gain the shunt resistor voltage.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  8. #58
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    Embedded Power Toolchain description

    The Embedded Power ICs SDK is based on three parts.
    • Keil µVision (Integrated developent Environment)
    • .packfile (library for Keil, provided by Infineon, can be downloaded in Keil packinstaller)
    • Config Wizard

    When opening Keil µVision, the example code can be found in the packinstaller.
    Here is a getting started guide:
    https://www.infineon.com/dgdl/Infine...65c32d753c766f

    Every example code includes libraries for certain chip modules.
    for every module there is a Modulename_defines.h file (adc1.h, adc1_defines.h)
    These __defines-_files will be configured by tthe ConfigWizard.
    The Config Wizard is only presetting the device.
    The configuration can be changed after startup, in the code.
    The module libraries include the __defines-_files in the initialisation function.

    It is important to save the Config Wizard project every time, to apply changes to the code.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  9. #59
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    When will NAC be triggered?

    NAC is triggered everytime BootROM is executed, which is as soon as the device goes in active mode.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  10. #60
    Advanced Advanced
    Infineon Employee
    Infineon Employee
    Julella VLL is on a distinguished road
    Join Date
    Mar 2020
    Posts
    45
    Points
    960

    What is the Demag filter after the BEMF comparator?

    The Demag filter is an Asynchronous State Machine, which behavior follows the following state diagram:
    Click image for larger version

Name:	demagFilter.png
Views:	0
Size:	26.2 KB
ID:	4953
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

+ Reply to Thread
Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.