- 博客(54)
- 资源 (9)
- 收藏
- 关注
原创 方波续流分析
如下图显示两个PWM周期。在周期I中,B相和C相是一样的占空比,但是发生了移位,从而可以从单个电流信号中进行三相电流重构;在周期II中,在A相和B相PWM中也操作了类似的情况。 最小脉冲和采样脉冲计算 minZeroPulse:MOS管完全关闭和开启的最小时间。 minSamplingPulse:ADC最小的采样时间。 minZeroPulse需要查看MOS管手册适当给值一般不用修改。minSamplingPulse需要查看数据手册的ADC部分,如下图所...
2021-01-21 21:08:40
859
原创 基于S12ZVM的NXP单电阻FOC电流重构原理分析
三相桥一共有8种开关状态,在开关状态为111或000的时候不能有效采样到任一三相电流,除去全开111或全关000还剩下6种开关状态。如下图为开关状态101期间,可以采样到B相的电流,以此类推可得下表。 开关状态CBA 001 011 010 110 100 101 可采样电流 A -C ...
2020-08-01 10:37:17
5230
原创 基于S12ZVM的无感FOC缺相检测
缺相检测的原理是当发生缺相事件时,所缺相的相电流会在零附近震荡,跟其他两相形成鲜明对比。当检测到其中一相电流值低于阈值一段时间,就产生缺相错误。(首先确定电流较大时,三相电流波形为正弦波)测试方法:先把电机跑起来,切进闭环后拔掉其中一项电机线,看看是否报缺相错误。注意:可能会出现两种情况,一种是一进去闭环就报缺项错误,需要调整最小电流阈值或检测次数。还有一种是不管拔多久都不会产生缺项错误,这时需要检查三相电流波形是否为正弦,如果电流波形不行就先调整电流环参数或修改硬件。 ...
2020-08-01 10:13:32
2150
原创 基于S12ZVM的无感FOC失步检测
失步检测的原理是进入闭环后,闭环观测器计算的位置和开环速度斜坡计算的位置不断进行比较,相差过大一定次数就会被失步错误,说明闭环观测器跑飞了。当请求速度和当前实际速度差很多时会报失速错误。测试方法:可以故意把跟随器的参数改的很大或很小,让电机切不进闭环,看看是否报失步错误 ...
2020-08-01 10:11:21
1428
原创 基于S12ZVM的无感FOC堵转检测
无刷直流电机的无传感器控制一般包含方波控制和正弦波控制。无论是哪一种控制方式,由于没有传感器信号的接入,一旦遇到外界阻力或者巨大的负载突变,都可能会使得系统进入到堵转状态。在这种堵转状态下,电机只是原地抖动并消耗电流,而系统会处于异常状态。长时间保持这样的状态,无疑是有害的。众所周知,对于有传感器的无刷直流电机系统,堵转检测就变得很简单了。只需要检测传感器信号是否在正常刷新就可以了,而对于无传感器系统,可靠的堵转检测就变得没那么容易了。本文会就这个议题进行详尽的解析,希望可以起到抛砖引玉的作用,对大..
2020-08-01 10:07:54
2884
原创 S12ZVM电路设计说明
电源域概述S12ZVM是恩智浦公司推出的汽车级集成产品芯片,它将微处理器、电源、驱动以及各种模拟外设集成在一起的单芯片方案,内部集成了三相电机控制所需的所有元件。所以内部的电源域相对于同等级的MCU要复杂一些,如下图1.1所示为S12ZVM的电源域框图。下面对实际电路分别进行详细说明。VSUP-主电源引脚VSUP是片上稳压器的12V/18V电源电压引脚。这是电压源输入引脚,电压...
2020-03-17 21:18:00
4650
7
原创 office公式高效指南
线性公式 ,是微软提出的一种使用Unicode编码数学公式的方法 ,它采用了部分 LaTeX的记法 ,但对LaTeX 的非 “所见即得 ”做了更人性化的处理 。 你想得到 输入 说明 ayx a^x_y 上标使用 ^,下标使用 _ a+bb ...
2020-02-17 20:36:40
368
原创 无感FOC电机参数测量方法
无感FOC需要实时观测反向电动势来判断转子的电气角和转速。观测反向电动势时,一方面需要每个PWM周期采集相电压和电流,另一方面需要提前测量出电机的极对数、反电势常数、定子线圈的相电阻和相电感。下面是测量参数的方法极对数将直流稳压电源电压设置为0,电流设置在电机额定电流的5%左右,比如额定电流5A,设置为250mA将直流稳压电源的正负极任接电机两根线,打开电源输出开关用手旋转电机,感觉电机...
2019-12-12 23:48:00
14568
5
原创 S32K系列之ADC
简介在S32K中,不同的芯片型号支持的ADC通道不同,S32K144UAVLL有两个ADC,每个ADC有12位、10位、8位和6位可选,每个ADC有16个外部通道。学习ADC的第一步是要掌握ADC的功能框图,对ADC的工作过程和编程过程有个整体的了解。ADC功能框图对ADC的配置主要涉及三种寄存器,控制状态寄存器、触发寄存器和数据寄存器。控制状态寄存器主要有SC2、SC3、CFG1和CFG2...
2019-10-02 11:06:56
7859
9
原创 S32K系列之PDB框图详解及PDB触发ADC
可编程延迟模块PDB,PDB可提供从内部或外部触发或可编程间隔信号到ADC硬件触发输入的可控制延迟。 PDB可以选择提供脉冲输出,用作CMP块中的采样窗口。S32K系列的PDB资源如下表:PDB功能框图在下图中,以下字母表示的意义:N:PDB通道的总数n:PDB通道号,范围从0到N-1M:每个PDB通道的总可用预触发m:预触发编号,范围从0到M-1Y:脉冲输出的总数y:脉冲数...
2019-10-01 22:45:43
9813
4
原创 S32K系列之PWR电源管理
1. S32K电源每个MCU都有自身的电源域和供电架构,这也是MCU电路设计的基础。一般每个芯片的供电框图会在数据手册中提供。如图所示为S32K系列的电源供电架构图。由上图所示,可以将供电系统按电源域来进行分类,分别为域、域和域。下面分类介绍。1.1D=Device,为器件内部的工作电压,与相对,它是数字工作电压。由数据手册可得,和的差值要小于100mA,所以一般在电路...
2019-09-29 21:01:19
2046
原创 S32K144移植S32DS工程到KEIL MDK(史上最详细)
准备需要准备以下三个工具Keil 5高版本MDK下载地址:https://www.keil.com/demo/eval/arm.htmS32DS下载地址:https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=9671497S32K Keil_pack包下载...
2019-09-11 20:49:51
8618
7
原创 CAN外设详细参数测试
文章目录电平标准协议标准测试分析正常波形测量数据解码测量电平测量边沿时间测量总结阻抗匹配测量测量传输距离对信号的影响测量寄生电容对信号的影响总结传输速率测量3MHZ速率总结测试平台:S32K148测试工具:CAN Scope、示波器电平标准CAN总线采用双线查分信号的方式,在CAN总线上,利用CAN_H和CAN_L两根线上的电位差来表示CAN信号。CAN总线上的电位差分为显性电平和隐性电...
2019-08-21 22:16:28
7018
1
原创 示波器指南
示波器探头当探头探测到被测电路后,探头成了被测电路的一部分。探头的负载效应应包括下面3个部分:阻性负载效应容性负载效应感性负载效应阻性负载阻性负载相当于在被测电路上并联了一个电阻,对被测信号有分压的作用,影响被测信号的幅度和直流偏置。有时,加上探头时,有故障的电路可能变得正常了。一般推荐探头的电阻R>10倍被测源电阻,以维持小于10%的幅度误差。容性负载容性负载相当于在被...
2019-08-20 22:30:04
622
原创 LIN总线的学习
LIN介绍LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办公设备等多种领域。作为一个低成本的辅助总线,LIN总线在汽车电子中应用广泛,车门、车窗、车灯以及中控锁等低速应用都使用LIN总线。其实如果在新能源汽车中,CAN实现这些功能会更简单,但限于汽车里的配件太多,在制作时...
2019-07-07 21:51:12
8788
1
原创 word数学公式和编号对齐问题
在毕业论文中的编写时,需要用到一些数学公式,而每个数学公式的右侧必须要有一个编号,所以要达成数学公式居中对齐,编号右对齐的效果。首先,视图->标尺打开图中的标尺用光标选中要修改的公式和编号找到页面的标尺位置的最左端的制表符的按钮,添加一个最右侧的制表符鼠标左键点击刚才添加的最右端的制表符,会出现最右端制表符的位置大小,现在根据这个位置除以2来添加一个居中的制表符位置发现现...
2019-05-31 13:38:59
8318
1
原创 毕业设计外文文献下载方法
在撰写毕业设计论文时,学校要求每人找两篇外文文献并进行翻译,以下推荐一种方法。登录网站全国图书馆参考咨询联盟网站为http://www.ucdrs.superlib.net/有时候登不上去,需要翻墙,大部分时候都可以直接登录。将你要输入的关键词先翻译为英文,比如我要搜索汽车电子相关的外文文献。点击期刊,输入汽车电子的英文,点击外文搜索选择一个点进去看一下摘要,如果是自己需要的...
2019-05-15 15:06:22
5808
3
原创 word毕业论文页眉设置自动添加章节标题并左右对齐
毕业论文中需要设置页眉,要达到同一行xxx毕业论文左对齐,每章标题右对齐的效果。双击页眉的位置插入页眉,输入xxx毕业论文,点击左对齐在后方插入每章标题,点击插入->文档部件->域选择StyleRef和标题1,点击确认发现每章的标题已插入进来,然后将标题单独设置为右对齐。将光标移动到标题的前方点击设计->插入对齐方式->选择右对齐设置完毕,效果图如下...
2019-05-15 12:18:27
15787
4
原创 解决Chrome浏览器安装第三方插件失败的问题
Chrome浏览器更新后,安装第三方插件会失败。解决方式按下WIN + R调出运行,输入cmd输入gpedit.msc找到管理模板,点击右键,选择添加/删除模板点添加,选中chrome.adm会在文章末尾附上chrome.adm百度云链接添加完后,在管理模板下会出现经典管理模板,点进去选chrome,后面都选第一个chrome google选扩展程序选第二个...
2019-05-03 11:03:18
4542
原创 基于S32K的油门踏板检测项目(基于CAN的Bootloader覆盖升级、回滚升级)
文章目录项目概述要求Bootloader介绍原理设计功能设计硬件设计软件设计主机主机流程Xmodem协议代码从机从机流程升级方案区域划分Boot链接文件修改APP A链接文件修改APP B链接文件修改代码传感器程序设计SPI读芯片寄存器代码SPI写芯片寄存器代码磁角度数据计算代码实物效果项目概述本设计模拟一个车载电子油门踏板检测系统,采用NXP汽车级主控芯片S32K118,使用磁角度传感器AS...
2019-05-02 12:14:02
3476
6
原创 通俗易懂Xmodem协议
在工作中写Bootloader时,需要串口传输代码数据,为了保证传输数据时不丢帧,需要用到通信协议,我选择的是Xmodem协议。文章目录1. 定义2. 控制字符3. 帧数据格式4. 数据包说明5. 启动传输6. 传输过程7. 代码7.1 Xmodem接收数据代码7.2 CRC16位校验代码1. 定义Xmodem协议是串口通信中广泛使用到的异步文件传输协议。以128字节块的形式传输数据,并且...
2019-04-20 12:00:04
10342
8
原创 S32 Design Studio IDE for Arm教程五之输出bin文件代码
在平时开发时,总是会遇到将代码生成bin文件的时候,比如Bootloader。使用S32DS可以通过设置直接编译生成bin文件。首先,要将工程转换成Release模式工程名Temple点击右键,选择Properties点击C/C++ Build中的Settings,将Create flash image打勾,点击OK再次右击工程名,进入Properties,点击Settings中的F...
2019-04-20 10:26:17
3047
原创 S32 Design Studio IDE for Arm教程四之更换CPU类型
更换CPU类型在S32DS中,在创建工程的时候可以直接选择芯片类型,但是只有类似S32K116,118等选择,没有具体型号的选择。比如我要选择的是48Pin的S32K118,在选择118时,默认创建的是64Pin的,所以需要在创建工程之后,再次更换CPU类型。点击右侧栏的Components Library选择Processors,将右侧改为ALL,如果刚一开始没有看到自己的芯片类型是...
2019-04-20 10:23:31
4645
1
原创 Debug和Release的区别
许多IDE里面都会存在Debug和Release两种模式,我们知道Debug是调试模式,可以设置断点,观察变量的值来进行查找问题,那Release模式和Debug模式有什么区别呢,让我们深入了解一下。 Debug可以称为调试版本,它包含调试信息,对代码不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优方案,所以在规则...
2019-04-15 19:15:49
4741
原创 S32 Design Studio IDE for Arm教程三之点灯配置
S32DS跟我之前用的Keil和IAR不太一样,配置好时钟和引脚后,它会自动修改你的代码,可以更快速更方便的开发,但是上手难度高,现通过S32DS来给S32K148开发板点灯。首先配置时钟在工程界面的左下角,双击如下按钮往下拉,时钟配置成16MHZ,SPLL_CLK配置为2分频,保存配置GPIO引脚,查看原理图发现LED灯是PTE21,22,2...
2019-03-30 16:28:48
8625
15
原创 S32 Design Studio IDE for Arm教程二之新建工程
在创建工程前,要创建工作空间workspace,刚打开S32DS的时候有个对话框选择工作空间,后面创建的工程必须存在工作空间内才可以。新建官方SDK例程首先在官网下载一个SDK包,SDK包要和你的S32DS版本对应,我试过低版本S32DS导入高版本SDK包,出现了一些错误。https://www.nxp.com/support/developer-resources/run-ti...
2019-03-30 16:25:24
6695
原创 S32 Design Studio IDE for Arm教程一之安装流程
首先在官网下载安装包https://www.nxp.com/support/developer-resources/run-time-software/s32-design-studio-ide/s32-design-studio-ide-for-arm-based-mcus:S32DS-ARM?tab=Design_Tools_Tab选择最新的安装包,现在最新的版本是2018.R1...
2019-03-30 09:45:10
11255
原创 AD通过图表符链接多个原理图
用AD设计原理图时,如果你的工程比较复杂,器件超多,需要多人合作负责不同的部分,用到多个原理图时,需要用图表符将所有原理图进行链接,步骤如下:首先建立一个"Main"原理图这个原理图只放所有的图表符,相当于整个工程原理图的目录。首先确定每个原理图需要引出哪个管脚,比如我把电源输入和稳压电路放在了"POWER接口"原理图中,这个原理图产生了其他原理图需要的所有电源和地,于是我这个图表符...
2019-03-23 19:56:28
24809
原创 word打带圈符号(带圈对勾为例)
插入对勾符号切记不是Wingdings 2中的对勾,那个后面识别带圈字体时不会识别成对勾! 选择“开始”,点击带圈字体看这里识别成了对勾,说明正确,点击确认即可。...
2019-02-25 10:20:51
25296
原创 C++内联函数
这里先说一下函数调用的实现过程:执行函数调用指令时,程序将立即存储该指令的内存地址 将函数参数复制到堆栈(把该函数内存块保存一下) 跳到该函数的起点内存地址,执行该函数(可能还需要把返回值放入寄存器中) 最后跳回函数调用指令的存储地址 由上面函数调用步骤来看,函数调用过程中的来回跳转需要一定的时间开销,内联函数就是用来减少这部分的时间开销来加快函数运行速度。...
2018-12-28 10:15:29
402
原创 DS18B20使用详解
DS18B20单线数字温度传感器,支持“一线总线”接口,测量温度范围为-55摄氏度到+125摄氏度,精度为±0.5摄氏度。大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量。支持3V~5.5V的电压范围。 DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。 由此可见,0~3Bit是温度小数部...
2018-12-27 18:55:26
5833
原创 解决chrome谷歌浏览器访问网页过慢
近期使用Win10 1803专业版操作系统的用户称自己电脑在使用谷歌内核浏览器的时候打开网页速度非常慢的现象,左下角一直显示“正在建立安全链接…”的字样,在chrome、360极速模式下都有这样的现象,如果使用系统自带的ie或者是火狐等浏览器的话又能打开正常,速度非常快。针对这样的问题可以判定是由于谷歌内核与系统不兼容引起的,针对这样的问题大家可以参考本文中的操作方法来解决。 ...
2018-12-04 09:53:56
9374
原创 IIC通信协议
IIC是半双工同步通信方式 两线式串行总线,它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。 多主机IIC总线系统结构 IIC通信协议空闲状态 开始信号 停止信号 应答信号 数据的有效性 数据传输 1)空闲状态 I2C...
2018-11-25 10:25:30
627
原创 串口UART
UART使用的是异步,串行通信 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。 数据传送速率用波特率来表示,即每秒钟传送的...
2018-11-25 10:13:59
312
原创 解决Windows10开始磁贴重启重置
主要有两种可能目前登录的Microsoft账户同步设置异常 目前登录的是本地账户【解决办法】打开账户设置界面,开始点右键->设置->账户,观察自己的账户信息。如果你登录的是本地账户,就创建一个Microsoft账号来登录,如果已经是Microsoft账户登录了,打开【同步你的设置】。你会发现它说你的同步设置有问题,需要联系系统管理员,这时不用管它,重新打开【...
2018-11-22 15:52:16
6265
1
转载 传递对象和引用
值传递:有一个形参向函数所属的栈拷贝数据的过程,如果值传递的对象是类对象或是大的结构体对象,将耗费一定的时间和空间。指针传递:同样有一个形参向函数所属的栈拷贝数据的过程,但拷贝的数据是一个固定为4字节的地址。引用传递:同样有上述的数据拷贝过程,但其是针对地址的,相当于为该数据所在的地址起了一个别名。效率上讲,指针传递和引用传递比值传递效率高。一般主张使用引用传递,代码逻辑上更加紧凑、清...
2018-11-17 11:54:04
227
转载 const全面总结
const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、const的作用 No. 作用 说明 参考代码 1 可以定义const常量 const int Max...
2018-11-17 11:52:52
169
转载 C++为什么要定义抽象基类?
C++为什么要定义抽象基类? 抽象类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口,并没有具体实现。抽象类不能被实例化,通常是作为基类供子类继承,子类中重写虚函数,实现具体的接口。为什么要定义抽象基类呢?依我所见主要有以下原因:1.最重要的原因是,可以将接口与实现分离。接口是软件产品最有价值的资源,设计接口比实现接口需要耗费更昂贵的成本。因此,要将接口保护起来,以免在...
2018-11-17 11:50:36
1873
1
S32K144移植S32DS工程到KEIL MDK(史上最详细).pdf
2019-09-11
基于S32K118的Bootloader(串口转CAN)
2019-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人