
英飞凌TLE984X
主要介绍英飞凌TLE984X系列单片机的编程实例、性能和架构探讨
WangLanguager
喜欢IT,喜欢编程,希望遇到更多志同道合的朋友!
展开
-
TLE9854使用MOSFET驱动电机(十):VCP增压为9V时,芯片与H桥连接各引脚电压
1、将配置文件中的“Charge Pump Output”选项设置为9V,重新编译、下载程序之后,设置PWM占空比为50%,测量各引脚电压2、VCP引脚电压为22VV(gh1) = 10V, V(gh2) =21V, V(gl1) = 5V, V(gl2) = 0VV(sh1) = 6V, V(sh2) = 12V, V(sl) = 0V3、电压波形图为:VCP:GH2:SH2:GL2:SL:GL1:...原创 2020-09-21 09:22:32 · 1313 阅读 · 5 评论 -
TLE9854使用MOSFET驱动电机(九):项目配置文件中H桥相关配置
1、打开项目的config.icwp文件,选中“BDRV”选项2、时钟频率可以选择默认3、使能Charge Pump,这个功能和芯片的VCP引脚的输出电压有关,如果没有配置该选项,则会出现VCP电压低的告警,MOSFET也会无法正常工作。未勾选该选项:使用未勾选该选项的配置文件,重新编译程序,下载完程序之后,芯片会告警:VCP引脚电压为13V,不正常。MOSFET也无法正常工作勾选了使能Charge Pump选项之后,重新编译...原创 2020-09-21 09:01:32 · 1093 阅读 · 1 评论 -
TLE9854使用MOSFET驱动电机(八):直接打开 H 桥的桥臂,不使用 PWM 控制,方向二(反 向)
1、修改main.c的程序为:#include "tle_device.h"int main(void){/******************************************************************************* initialization of the hardware modules based on the configuration done **** by using the IFX...原创 2020-09-19 23:06:55 · 647 阅读 · 4 评论 -
TLE9854使用MOSFET驱动电机(七):直接打开 H 桥的桥臂,不使用 PWM 控制,方向一(正 向)
1、查看BDRV_Set_Bridge()函数的参数的相关配置右键点击BDRV_Set_Bridge()函数的参数Ch_LS_PWM,然后选中”Go To Definition Of‘Ch_LS_PWM’”,进行跳转可以看到H桥的LS桥臂有四种设置状态,H桥的HS桥臂也有一样的四个状态Ch_LS_Off = 0u, /*桥臂非使能*/Ch_LS_En = 1u, /*桥臂使能*/Ch_LS_PWM = 3u, /...原创 2020-09-19 23:01:58 · 1484 阅读 · 1 评论 -
TLE9854使用MOSFET驱动电机(六):使用 PWM 驱动 MOSFET,且四个 H 桥桥臂都使用 PWM 驱动,方向一(正向),但只控制 GL1 的开关
1、修改main.c程序,修改pwm_dir的赋值语句,即只控制COUT60,不再控制CC60:#include "tle_device.h"int adc1;int adc2;int main(void){uint8_t pwm_dir;//定义pwm的方向/******************************************************************************* initialization...原创 2020-09-19 22:50:04 · 1058 阅读 · 1 评论 -
TLE9854使用MOSFET驱动电机(五):使用 PWM 驱动 MOSFET,且四个 H 桥桥臂都使用 PWM 驱动,方向二(反向)
1、修改main.c程序,将H桥的导通桥臂进行更改,即改变电机运行方向:#include "tle_device.h"int adc1;int adc2;int main(void){uint8_t pwm_dir;//定义pwm的方向/******************************************************************************* initialization of the hard...原创 2020-09-19 22:44:02 · 1158 阅读 · 3 评论 -
TLE9854使用MOSFET驱动电机(四):使用 PWM 驱动 MOSFET,且四个 H 桥桥臂都使用 PWM 驱动,方向一(正向)
1、下面对 main.c 文件中的源代码进行修改,将 main.c 文件修改为以下形式:#include "tle_device.h" int adc1;int adc2; int main(void){ uint8_t pwm_dir;//定义pwm的方向 /***************************************************************************** ** initializatio原创 2020-09-19 22:24:10 · 1094 阅读 · 12 评论 -
TLE9854使用MOSFET驱动电机(三):MOSFET 驱动相关电路
原创 2020-09-19 22:15:30 · 1027 阅读 · 2 评论 -
TLE9854使用MOSFET驱动电机(二):更换官方例程的芯片型号及修改相关配置
1、但是因为项目使用的芯片是9855而不是9854的,所以还需要将芯片更换成9854的芯片2、点击”Options for Target”选项,在弹出的页面选择“Device”选项,发现此时的芯片默认是9855QX,将其更换为9854QX,点击”OK”3、除了在”Device”选项更换芯片之外,还需要将芯片的Flash更换掉。点击”Options for Target”页面的”Debug”选项,然后将”Use”选项更改为”J-LINK”选项,再点击”Setti...原创 2020-09-19 22:12:55 · 1786 阅读 · 1 评论 -
TLE9854使用MOSFET驱动电机(一):从官方库拷贝相关例程
1、打开Keil软件点击”Pack Installer”选项会弹出”Pack Installer”页面,在”Device”一栏选择TLE9854QX,在”Examples”一栏选择”BDRV_CCU6_ADC1_MOTOR”选项,然后点击”Copy”按钮,将该项目安放在指定文件夹。此时已经创建了MOSFET驱动马达的工程,可以点击工程的main文件进行查看源代码。...原创 2020-09-19 11:54:59 · 1193 阅读 · 0 评论 -
英飞凌TLE9854QX使用hall元器件对电机运行进行采样计数
一、相关硬件连接图:1、Hall元器件部分:2、芯片与Hall元器件连接部分:45引脚VEXT为Hall元器件提供供电电压,34引脚P1.4为Hall元器件的SPEED信号输入端,用于标定马达的速度和行程。P0.1引脚为Hall元器件的DIR信号输入端,用于标定马达的运行方向。二、配置GPT12E定时器,用于Hall信号的采样打开项目的config.icwp文件,选中“GPT12E”选项2、配置GPT1的时钟和时钟分频3、选择hall信号的输...原创 2020-09-18 22:28:51 · 1994 阅读 · 9 评论 -
通过Keil软件的Debug查看H桥MOSFET的状态
1、电路图中四个桥臂的布局如下想要查看四个桥臂的状态需要进行以下步骤2、通过jlink连接开发板,然后进入Debug模式3、进入Debug模式之后,选择Peripherals->System Viewer->BDRV选项,点击进去4、此时会出现一个BDRV的窗口,窗口里面会有很多寄存器的选项5、IRQS寄存器组中有一些寄...原创 2020-03-13 15:05:04 · 543 阅读 · 1 评论 -
英飞凌tle985x芯片简介--集成了Arm®Cortex®M0的H桥驱动芯片
TLE985X解决方案的简介Infineon`s integrated motor driver optimizes the target applications by offering cost and energy effecient solutions英飞凌的此款集成电机驱动通过提供成本和能效解决方案来优化目标应用程序The TLE985x H-Bridge MOSFET d...原创 2020-01-09 13:45:17 · 2808 阅读 · 0 评论 -
Cortex-M0使用汇编进行数据访问时,需要注意的几点
1、对不同的数据宽度选择正确的指令,不同的指令用于不同的数据宽度。 Cortex-M0处理器支持多个存储器访问指令,并且支持各种宽度的数据传输和寻址方式。可以使用的数据宽度可以包括字(4字节)、半字(2字节)和字节,另外对有符号和无符号数,还有不同的指令。 不同数据宽度的存储器访问指令 传输大小 无符号加载...原创 2019-05-07 21:52:14 · 1108 阅读 · 0 评论 -
Keil软件开启“查找变量定义”功能方法
在使用Keil软件编写程序时,有可能将程序的变量定义和使用放在了不同的位置,有时候想要查看变量的定义,可以使用Keil软件的查找功能。1、使用Find功能一个个查找变量,在Keil界面输入 Ctrl+F,弹出查找界面。 将要查找的内容输入[Find what]查找框,[Look in]框选择"Current Document",然后点击"Find Next"就可以在当前文件一...原创 2019-04-03 18:53:02 · 11987 阅读 · 0 评论 -
编译程序时,Keil报错: #81: more than one storage class may not be specified
*** Using Compiler 'V5.06 update 2 (build 183)', folder: 'C:\Program Files (x86)\Keil_v5\ARM\ARMCC\Bin'Rebuild target 'Target 1'compiling genLinConfig.c...compiling lin_main.c...compiling lin_sla...原创 2019-04-01 19:33:04 · 7741 阅读 · 0 评论 -
英飞凌TLE9843-2QX下载bootloader与app程序过程分析及问题记录
TLE9843-2QX项目程序既可以直接通过Keil软件下载到开发板中,也可以先后下载bootloader程序与app应用程序,通过bootloader程序跳转到app应用程序中。 通过Keil软件下载到开发板的方法通常应用于调试程序场景或者一般应用场景,但是通过bootloader程序跳转的方式在板子不易直接烧写程序时比较有用,此时开发板没有预留烧写口,可以通过其他模块使用...原创 2019-03-28 09:33:56 · 2299 阅读 · 3 评论 -
主要防夹算法的分类和工作原理
1、电流+霍尔脉冲的直接夹力和位置判断法 用取样电阻进行电机电流检测,对某种类型车窗的背景力进行标定,在此基础上根据标准要求,确定防夹力与电机电流的对应关系,以检测电机电流的改变作为防夹判据。霍尔脉冲用于检测车窗的位置是否运行在防夹范围之内,以及车窗运行在底部和顶部两个端点位置,即是否处于启动和堵转状态。电机电流的检测只需要确定其平均值的变化(幅值和形态)就可完成夹力判定和控制策略的制定。...原创 2019-03-23 17:26:17 · 11547 阅读 · 3 评论 -
英飞凌TLE9843-2QX创建LED闪烁程序
1、打开Keil软件2、点击Pack Installer选项3、选中Devices栏目的TLE9843-2QX,点击Examples栏目4、选中Blinky项目,点击Copy,弹出对话框,选择项目存放的路径,然后点击OK5、查看生成的项目/** * @cond *************************************...原创 2019-03-07 19:55:18 · 1073 阅读 · 2 评论 -
英飞凌TLE9843-2QX ECU复位原因记录程序
程序设计要求:记录每次ECU的复位原因,存入Flash 不只是能记录上次ECU复位的原因,最好记录多次,本次程序设计记录8次程序逻辑图:详细设计过程如下:1、查看TLE9843-2QX的芯片手册,详细的芯片手册名字为:《Infineon-TLE984xQX-UM-01_00-EN.pdf》。找到手册关于芯片复位的章节,即Reset Management Unit(RMU)...原创 2019-03-07 15:27:23 · 2263 阅读 · 0 评论 -
TLE9843-2QX 的ADC1采样获取继电器实时电压,确保电机正常工作
Vmotor的电路引脚Vmotor引脚采集电机实时电压,然后通过MON4引脚传给单片机 2、VBATT的电路引脚 VBATT给继电器供电,透传给VSENSE,VSENSE通过VBAT_SENSE引脚传给单片机 3、ADC1通道值分布 VBAT_SENSE的值传给CH0MON4的值传给CH54、获取ADC1中的通道值UWO...原创 2019-02-15 16:44:21 · 1337 阅读 · 0 评论 -
Start12.c文件解释
// ram test in bootrom/* RAM Test (MBIST) and RAM InitializationThe RAM memory test is performed for cold reset type. The RAM initialization is performed for cold and warm reset types.When execut...翻译 2019-02-01 16:31:30 · 928 阅读 · 0 评论 -
获取和确定TLE9843_2QX芯片的基本数据类型的长度
int a,b,c,d,e,f,g,h,i,j,k,l,m;typedef char int8;int8 fourInt8[4] = {1,2,3,4};int fourInt32[4] = {1,2,3,4};const int x = 90;int main(void){a=sizeof(char);b=sizeof(unsigned char);c...原创 2019-01-03 09:39:49 · 708 阅读 · 0 评论