- 博客(14)
- 收藏
- 关注
原创 bootloader流程 UDS
Step Procedure Address Mode Request Expected ResponseEnter extended session Functional 10 03 50 Stop setting of...
2019-01-24 11:26:26 7400
原创 最小二乘法个人理解
例子 拟合为 y = a + b x 的函数超定方程组:6 = a+b5 = a+2b7 = a+3b10 = a+4b需要将等式两边的方差最小,使得曲线尽可能符合该4点:[(6-(a+b))^2 + (5-(a+2b))^2 + (7-(a+3b))^2 + (10-(a+4b))^2] 最小对a,b求偏导:8a+20b-56 = 0;20a+60b-154=0;求解a=3.5,b=1.4...
2018-03-22 16:52:33 729
原创 CAN总线的采样位和同步跳转宽度
采样位:对采样动作进行设置的标志位,采样位可以设置为多次或一次。波特率较低时建议将采样位设置为一次,波特率高时设置为多次,波特率高低以100kbps作为分界。同步跳转宽度:用于兼容不同波特率的总线,除了本身设定的 波特率,还能接收一个上下容差范围内的波特率。其设置为SJW[1:0],计算公式为tsjw = 系统时钟 × (2×sjw1+sjw2+1)例题:假设我SJA1000 CA
2018-01-23 10:54:11 4611 3
转载 FIFO buffer 和普通buffer区别
1.FIFO可以说一块具体的硬件存储设备,也可以说程序在内存中开辟的一段内存区域。而buffer往往就是一段缓冲的数据区域2.FIFO的数据是先进先出的,而buffer没有这个限制,可以全局访问3.buffer往往就是一段累积的存储空间,而fifo有时候还可以帮助系统解决时钟域不同步或者数据宽度不一样的情况
2018-01-23 09:55:18 7439
原创 EXCELVBA字符串处理常用函数汇总
len(s) 求长度trim(s) 去掉两端空格replace(s,a,b) 替换s中子串a,用b替代left(s,a) 从左边取若干字符right(s,a) 从右边取若干字符mid(s,a,b) 从中间取若干字符instr(s1,s2) s1中查找字符串s2,返回位置instr(a,s,s) 从a位置在s1中查找字符串s2,返回位置
2017-11-13 13:58:02 21108
原创 Freescle MSCAN滤波器配置方法VBA基础入门实现
最近在研究S12XEP100 MSCAN部分,这里结合codewarrior的PE配置工具,针对MSCAN滤波器进行理解和记录。
2017-11-06 10:14:57 1695
原创 keaz128 BootLoader 基于bin文件
项目需求: 统一BootLoader下载协议为客户协议。 统一BootLoader下载文件类型为bin文件。 Boot时需要备份,如果中途下载失败需要恢复成之前版本。硬件环境: MCU: keaz128. ZLG USB-CAN II. 项目控制器。软件环境: WIN7. CodeWarrior10.7.具体实现方式请翻看上篇文章。删除了源码...
2017-11-01 13:59:00 2544 1
原创 mc9s08dz60 BootLoader基于bin文件
项目需求: 统一BootLoader下载协议为客户协议。 统一BootLoader下载文件类型为bin文件。 Boot时需要备份,如果中途下载失败需要恢复成之前版本。硬件环境: MCU: mc9s08dz60. ZLG USB-CAN II. 项目控制器。软件环境: WIN7. CodeWarrior10.7.通常来说,大家写NXP的BootLo...
2017-11-01 13:17:29 2486 2
原创 s19文件的介绍
S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motorola format for EEPROM programming。1、格式定义及含义 S-record每行最大是78个字节,156个字符 S-record format type :两个字符 count :两个字符 a
2015-04-21 22:25:18 1625
原创 Bootloader的开发1
上一篇文章介绍了控制对象的一些基础知识。目前市场上提供汽车电子解决方案的公司有飞思卡尔、ST、英飞凌、瑞萨等。软件工程师的第一个任务是配合硬件工程师进行mcu的选型。我们主要是评估MCU的资源是否够用。硬件工程师不太关心用什么MCU,他们关心的是外围电路结构。 那么软件工程师自己需要具备什么知识呢? 1、C语言知识 2、单片机知识
2015-04-17 21:36:52 4633
原创 ECU底层软件工程师需要了解的发动机基本知识
要开发控制器,首先需要了解控制对象。我们先来看看发动机上的传感器和执行器吧。 传感器: 1、曲轴and凸轮轴传感器:这两个传感器通常是配合一起工作的,经过电路处理后你可以采样到曲轴and凸轮轴的齿周期。曲轴and凸轮轴有特殊齿,软件可以根据特殊齿进行判齿和判缸。喷油和点火都是由曲轴或者凸轮轴触发的。 2、水温传感器:水温传感器可以得到发动机冷却
2015-04-16 21:54:52 6648
原创 ECU软件开发介绍篇
近年来,汽车上面的电控单元(ECU)越来越多,汽车电子产品已经占到了车辆成本的1/3。国内各OEM也有自己的ECM开发团队,但是占据市场的主要还是博世、大陆、电装等国际巨头。 ECM全称发动机控制单元,主要功能是采集各种传感器的AD值,通过控制策略计算出一些值,控制执行器进行相应的动作。一般来说,开发ECM需要:1、硬件工程师;2、底层软件工程师;3、控制策略工程师;4、标定工程师
2015-04-15 13:00:57 13935 4
原创 PID算法的C语言实现方式
在控制系统中很多地方都用到了PID控制器,那么PID控制器的C语言实现方式是什么呢?stuct{int currentvalue;int previousvalue;int proportion;int integration;int differentiation;}para;
2015-03-30 14:44:42 9577
原创 float型在内存中的储存形式
单精度float型在内存中占32bits即4个字节。那么它在内存中的储存形式是什么呢?它的组成如上图:分为符号位(0正,1负),指数位,尾数位。接下来看几个例子:1、浮点型1.5在内存中的二进制形式是 0011 1111 1100 0000 0000 0000 0000 00000:符号位 01111111:指数位 1000000000
2015-03-17 13:37:37 1055 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人