
汽车电子
文章平均质量分 76
grey_csdn
这个作者很懒,什么都没留下…
展开
-
1503_PPAP简介
这次,了解了一下PPAP的简介对我这方面的知识科普有了很大的帮助。当我们设计一个全新的产品或者已经有的产品进行了一个比较大的变更改版的时候需要进行PPAP。而PPAP的一个最终的目的其实是要保证产品的质量符合客户的要求。似乎,类似的资料每看一份都能够有所收获,而且,目前我接触到的项目能够做到资料中相应描述的似乎着实不多。8. 测量系统分析研究,这部分应该有仪器设备的校准记录,我倒是感兴趣看看我接触的几个项目中这部分是否有。这里的表格其实是前面提到的PPAP的5个等级对应的工作实施要求。原创 2022-10-26 20:53:29 · 488 阅读 · 0 评论 -
1502_DVP&R简介
从这里的描述信息看,这个DVP&R呈现的效果很可能会是一个表格的形式。一般来说,DVP&R与DFMEA是有着非常强的绑定的,DFMEA从是什么的角度来进行问题的描述而DVP&R则是从如何做的角度来进行相关问题的阐述。DVP&R会是防止这样的问题产生的有效的工具。DVP&R在不同的公司之中形式上可能会有很大的差异,但是形式格式通常来说不是最重要的,里面所包含的信息才是最重要的。主要的目的还是为了提前发现问题减少损失,而这样的报告即使是不是特别专业的人员也可能能够看出分析的程度到了一个什么样的层次。原创 2022-10-25 07:34:41 · 605 阅读 · 0 评论 -
1501_FTA失效树分析简介
全部学习汇总: GreyZhang/g_project_management: some knowledge about project management. (github.com)继续丰富之前8D分析中涉及到的一些未知的概念性知识,这次看一下什么是FTA以及FTA的作用。1. FTA也是一种树状结构,一般来说这种结构总是可以换个大括号的方式来进行表达替代。但是,这个方法跟前面看到的鱼骨图还是有很大的差异。与鱼骨图相比,FTA最大的差异可能是在于FTA分析中会涉及到一些关联性的原因分析。2. FTA分析原创 2022-10-24 21:58:22 · 1784 阅读 · 1 评论 -
1500_什么是鱼骨图以及鱼骨图如何使用
鱼骨图在过去多年的工作中我是看到过的,但是相关的工作中其实一直没有接触到。以上就是我找到的鱼骨图的简单的说明的文章并且做了自己的理解标注,相比前面接触的几个概念来说,这个鱼骨图的讲解其实还是比较透彻清晰的。其实,前面几个缩写我还是猜得出来的,但是环我曾经理解为了类似流程之类的东西,但是其实他是环境的缩写。单纯的鱼骨图可能在得出根本原因等最终结论上不会有明显的推理效果,因此,通常来说这个只是一个辅助工具,需要借助于其他的手段来一起分析并解决问题。由于发明人的原因,这个图还有另外的名字,石川图。原创 2022-10-23 12:06:53 · 612 阅读 · 1 评论 -
1499_什么是paynter图
因此,或许这个例子以及前面的中文讲解都是正确的,我觉得这个很可能是paynter图的一个特例而不能够作为典型的代表。这是我从网上找的一个关于paynter图的中文的例子,相比我前面找到的资料来说我觉得信息可能不是很全面。只有一个表而没有图。paynter图的概念是从8D案例分析的例程中看到的,但是关于这个图是什么概念我不是很熟悉,因此找了一点资料来学习一下。这里是能够看到的一个paynter图的例子,从这个图以及表可以看得出来,其实这个工具很大程度上能够让人看到统计信息以及趋势变化。原创 2022-10-22 08:39:38 · 929 阅读 · 0 评论 -
1491_福特8D分析案例学习
类似的学习,每学习一条我会给自己增加一定的奖励,这是我保持持续学习的一个自我激励的手段。零件的三个可能性问题,从现在的描述看感觉是拆不开的,其实说的基本是一回事儿。不过,纵然如此,8D分析的一些技巧或者形式在开发的过程中,在组织内部应该依然是可以推行的。通过里面的内容来看,我觉得第一部分描述的是需要解决的痛点,而第二部分则是接下来需要采取的若干措施。这里给出了两个福特的参考时间,问题的临时措施需要在24小时内响应(这个从流程图看到的,但是数字可能不是福特的),另一个是8D报告需要在30天内给出。原创 2022-10-14 21:58:14 · 596 阅读 · 0 评论 -
1201_MISRA_C规范学习笔记_Rule 8.10
全部学习汇总: https://github.com/GreyZhang/misra_c_hacking 所有在文件范围内的对象或函数的声明和定义都应具有内部链接,除非需要外部链接。 如果一个变量只能被同一个文件中的函数使用,那么使用static。类似地,如果一个函数仅从同一文件的其他地方调用,则使用static。使用静态存储类说明符将确保标识符只在声明它的文件中可见,并避免与另一个文件或库中的相同标识符混淆。 其实,这个就是一个static的使用应用要求。我见过很...原创 2022-04-08 22:36:30 · 260 阅读 · 0 评论 -
609_AUTOSAR版本发布信息文档阅读
全部学习汇总:https://github.com/GreyZhang/hack_autosar近段时间,工作上烦心事比较多。为了能够让自己的内心沉淀下来,尝试通过学习让自己充实起来。Linux的学习我还是会继续,而且会作为我当前的主课。此外,增加AUTOSAR文档的研读,补充自己之前的一个短板。文档比较多,争取每周能够拿出10个小时来看看,这样或许会耗掉我的大部分周末时间。希望能够学有所值。今天从最简单的一个发布说明信息文件开始看,而我的学习笔记记录的会是我的收获以及里面让我有所思考的文档片段。原创 2021-05-18 22:02:26 · 1087 阅读 · 0 评论 -
592_AUTOSAR版本发布信息文档阅读
全部学习汇总:https://github.com/GreyZhang/learning_autosar_hard_way近段时间,工作上烦心事比较多。为了能够让自己的内心沉淀下来,尝试通过学习让自己充实起来。Linux的学习我还是会继续,而且会作为我当前的主课。此外,增加AUTOSAR文档的研读,补充自己之前的一个短板。文档比较多,争取每周能够拿出10个小时来看看,这样或许会耗掉我的大部分周末时间。希望能够学有所值。今天从最简单的一个发布说明信息文件开始看,而我的学习笔记记录的会是我的收获以及里面原创 2021-04-13 23:32:14 · 637 阅读 · 1 评论 -
460_J1939请求报文的应答
全部学习汇总: https://github.com/GreyZhang/J1939_basic 前面大概看了J1939的请求报文,其实就是请求一个PGN的信息。今天,把手里的例程基本梳理了一下。感觉大概调试了一下,基本上看明白了大概的用法。只是,例程似乎只是用于基础功能的演示,并没有严格遵循相应PGN的定义。 这里,先大概了解一下发送机转速PGN。 其实,这个是已经在文档中定义过了的PGN。如果,实际的应用肯定得按照这个来。...原创 2020-11-22 21:05:07 · 2759 阅读 · 2 评论 -
459_J1939请求报文格式分析与代码印证
全部学习汇总: https://github.com/GreyZhang/J1939_basic 这次来小结一下请求报文的发送,因为响应部分暂时有一点点模糊没看明白,还需要补充一点文档信息。 关于请求报文,我参考了恒润的一份PPT中的一页,这个在很多文库能够看得到。具体部分据图如下: 从这份PPT中的信息看,其实请求报文还是很简单的一个东西。至少,请求的动作还是很简单的。这是一个固定的报文格式,填充一个PGN的信息即可。而请求...原创 2020-11-21 11:09:50 · 2673 阅读 · 1 评论 -
457_J1939中普通报文的队列接收实现机制
全部学习汇总: https://github.com/GreyZhang/J1939_basic 在J1939的协议栈中存在一个队列的收发机制,其中接收队列的实现之前在做ISR的部分代码分析的时候已经看过接口上的交互。对于这个队列实现,其实应该有一个具体的实现机制。 关于队列的机制,在学习数据结构的时候接触过队列的实现,这个基本上是基于链表来实现的。但是,链表的实现是需要基于内存的动态分配来实现的。在嵌入式系统中,尤其是涉及到高实时性和可靠性相关的系...原创 2020-11-19 21:27:45 · 504 阅读 · 0 评论 -
456_J1939中普通报文的队列接收
全部学习汇总: https://github.com/GreyZhang/J1939_basic 之前研究Arduino的时候,看过了Arduino开源社区中别人对ECAN使用的时候使用了队列的收发。全都是软件实现,没有使用硬件的模式。手里的这套J1939的代码也有这么一个类似的功能。 接下来,看看手里这套代码的处理。 关键代码都在注释上面,其实,下面的部分也已经不在同一个代码块。正好这个函数还剩下这么一点没做分析,一起给标注...原创 2020-11-18 08:08:18 · 530 阅读 · 0 评论 -
455_J1939信息接收接口分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic 之前,大概分析了J1939_ISR,要想明确弄清楚J1939的收发的机理需要继续分析两个CAN的收发接口。这里,先尝试分析一下CAN消息的接收功能。 首先需要注意的是,这个函数用了static,因此使用的范围会有一些限制。通常是不会出一个文件,尤其是其在C文件中定义的。后面的代码,出现了好几重的预处理,目前我的emacs配置下需要层层查看。万不得已,...原创 2020-11-17 09:45:46 · 640 阅读 · 0 评论 -
454_J1939中断模式下的中断服务子程序分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic 经过之前的几次代码分析,基本上知道了广播多帧报文的实现是一个什么过程了。也基本上知道了命令地址实现的基本流程和方法了。 我现在接触的3份J1939的代码例程中,有一份是使用POLL模式,而最近的两份代码则是使用的中断模式。虽然,大概的功能已经分析过了,但是中断ISR还是没有看过究竟是如何用的。而这部分应该是这份代码在不同平台上移植的关键。...原创 2020-11-16 10:26:50 · 446 阅读 · 2 评论 -
453_J1939命令地址PGN 65240(FED8)的使用
全部学习笔记汇总: https://github.com/GreyZhang/J1939_basic 前面了解了一下广播多帧报文的实现分析,当时发送了一个0xFED8(65240)PGN的信息。但是,这种数据的组包顺序以及规则没有弄清楚。 我没有系统阅读过全部的J1939的资料,因此直接借助了网络资源。找到了一份文件,对此的解释如下: 这一组报文的发送必须是通过BAM来实现,因此这是之前我们看到的功能的实现原因。之前的报文发送...原创 2020-11-15 13:55:51 · 1898 阅读 · 0 评论 -
452_J1939广播多帧报文的例程分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic 借助一个简单的例子来看一下J1939广播多帧报文的发送实现。为什么不叫多帧报文而叫广播多帧报文呢?因为在J1939中存在两种多帧报文的发送模式,一个是广播另外一个是点对点的。而两个流程是不同的。 上面的这个流程图就是J1939的广播多帧报文的实现,这个是我从Vector的一份文件中截取出来的。从上面可以看得出,大概的流程是先发送一帧TP.CM_BAM...原创 2020-11-14 16:20:22 · 4526 阅读 · 1 评论 -
451_J1939地址声明超时确认处理代码分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic 前面做了一个地址声明初始化的功能分析,但是这个动作触发之后还应该有一个确认的过程。其中,声明不成功的处理还是容易的,因为会直接收到一条报文。如果是声明成功的话,需要等到一定的时间,在相应时间内没有冲突报文则可以取得相应的地址。 这是超时处理确认的处理,关键点还是在上面的这个状态的变化。需要确认这个状态是否被清零了,因为在初始化的时候这个状态是置位的。...原创 2020-11-13 08:24:22 · 592 阅读 · 0 评论 -
450_J1939地址声明函数的调用处理分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic J1939地址声明的接口功能之前基本上分析过了,这一次看看在整个我看到的例程中这个接口究竟是如何使用的。毕竟,这个接口还是有两种不同的使用模式的。 这个接口在整个工程里面被调用的次数不是很多,我搜索了全部的工程如下: 最前面两个还有最后两个是没有必要关注的,这都是生成的文件或者辅助的工程文件。H文件中的就是一个声明,也不需要看。接...原创 2020-11-12 08:19:02 · 599 阅读 · 0 评论 -
448_J1939地址声明设计代码阅读分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic 前面看了一个初始化的接口,发现其实跟协议栈相关的更多的还是最后的一个队地址声明接口的调用。 这个函数是一个静态函数。 通过这个简单的细节就可以知道,这个是一个协议栈内部的一个功能,也就是跟协议栈的协议实现有着很大的关联度。好在,看了一下这个函数的代码量之后让我舒了一口气。这个函数的实现代码量还是很小的。...原创 2020-11-09 22:02:19 · 569 阅读 · 0 评论 -
447_J1939初始化代码分析
全部学习汇总: https://github.com/GreyZhang/J1939_basic看了一下我手中的这一份J1939的代码其实代码量不大,看起来我可以直接做一个详细的代码分析。这个就是初始化的第一个接口,今天就完成这个接口的分析。 其实这个主要是一些状态和设备的信息初始化,在不同平台有一些工作可能可以通过其他的方式来实现。 当前我看的软件中,上面的设计可能有一些啰嗦。不过,上面这个考虑到了不同传入参数的处理。 这些其实还是CAN驱...原创 2020-11-07 10:17:26 · 669 阅读 · 0 评论 -
445_J1939地址声明报文格式
全部学习汇总: https://github.com/GreyZhang/J1939_basic 上次做了地址声明的部分分析,当时出现了一份报文交互记录。当时只注意了源地址和目标地址,没有注意到数据场。今天没事儿的时候突然间脑子里想起了这么一回事儿,当时的数据场到底是一个什么信息呢? 我找到了前面的报文记录: 首先,在Vector的一份文档中有如下的描述。 如果地址声明的时候出现了地址冲突,名字具有更高...原创 2020-11-04 20:51:02 · 1289 阅读 · 0 评论 -
444_J1939源地址冲突时候的协议栈处理行为分析
全部的学习汇总: https://github.com/GreyZhang/J1939_basic 之前测试用的两个板子,测试的过程中为了区分增加了一个定义:板子定义为A(地址0x80),B的地址为0x81。 现在,我手里的B板子已经进行了一次地址声明且测试过了。现在,尝试做一下测试,修改A板的程序让它的地址也设置为0x81,这样等我的A板上电运行进行地址声明的时候应该会出现冲突。 简单的修改如下: 软件修...原创 2020-11-03 21:25:34 · 716 阅读 · 0 评论 -
442_J1939 PDU Format判断
全部学习汇总: https://github.com/GreyZhang/J1939_basic 如果看到细微之处,CAN通信似乎从来都不是那么简单。尤其是到了协议栈的环节,万千变化最后还得回归到枯燥的文档,的确是不容易啃透。我自己尝试了多次J1939的学习,但是大部分都是处于理论性的材料学习,而这种学习基本上也是看完后面的前面的就会忘记。 正好手头有两个PIC18Fxxxx的开发板,虽然MCU的型号不同但是至少是架构一致而且全都带有一个ECAN模块...原创 2020-11-01 09:02:07 · 1516 阅读 · 1 评论 -
220_S32K144 EVB资料整理
完整的S32K144的学习汇总如下: https://github.com/GreyZhang/g_s32k144_driver 开启S32K144的探索旅程,首先熟悉一下手里的开发板,搜集一下资料。 这是官网找到的一部分介绍信息,看了一下还是中文的。我有点怀疑我的理解力或者是NXP的工作人员的严谨程度。其实在同一页网页上,这个S32K144的内核介绍了两...原创 2020-02-09 22:00:20 · 2992 阅读 · 1 评论 -
219_S32K144 MCU信搜集
完整的S32K144的学习汇总如下: https://github.com/GreyZhang/g_s32k144_driver S32K系列是我很久之前就关注的NXP的MCU,车规级别且考虑了功能安全的设计。之前计划了很久去学习一下,但是真正上手去做的学习工作很少。这段时间正好跟我自己的工作轨道有一点重合,找出之前买的开发板来学习一下。 首先,搜集一下大概的...原创 2020-02-09 19:52:35 · 3469 阅读 · 0 评论 -
043_AUTOSAR学习笔记_PORT
之前已经总结过了,PORT的功能主要是配置MCU所有的端口。也就是说,引脚什么功能是在这个位置配置的。至于管脚功能配置好之后如何使用,就在其他诸如DIO之类的模块了。 手头的这个Demo中,大致的配置如下: 这张表在其他的IDE中见过类似的,我自己试用过EB的工具但是花的时间很短,加上对AUTOSAR的了解不够没有找到类似的功能。其实,...原创 2018-12-15 21:28:19 · 2465 阅读 · 0 评论 -
042_AUTOSAR学习笔记_Mcu驱动模块的集成
简单看了一下用户手册,接下来直接尝试下这个模块的集成以及测试。 上面是支持的芯片的列表,看起来这个芯片并不支持5634。 Mcu_Init是一个需要调用的函数,但是从现在的生成文件来看这个代码没有,看起来这个应该是固定的程序代码,而AUTOSAR配置工具配置出来的应该只是配置数据。 这个后面的参数本来应该是一个M...原创 2018-12-15 20:30:54 · 1407 阅读 · 0 评论 -
041_AUTOSAR学习笔记_时钟配置
这部分专门拿出来总结一下,时钟的配置一直是我想要了解的一块儿。能够跳过去的内容直接跳过去,不做笔记,针对几个重要点仔细理解一下。 这里是系统时钟的频率,150主要是因为5644的时钟最高 150。之前,针对我自己的开发板改成了80M。不过,为了准确了解整个系统,再次调整回150。系统晶振改成12M。 现在的系统时钟参数已经是150...原创 2018-12-15 16:51:35 · 7782 阅读 · 0 评论 -
040_AUTOSAR学习笔记_MCU驱动的模块配置
看起来,这个功能应该直接禁用,而我手头的demo也是禁用的。 或许,这个不是MCU可以提供的,而是MCU驱动可以提供的。 RAM的分块主要是用于什么?或许是分为标定、程序等各种不同用途? 看起来,这个也是一个未实现的功能。 这个应该是外面晶振的参数了,我的开发板确认下是8M,已...原创 2018-12-15 14:26:03 · 1534 阅读 · 1 评论 -
039_AUTOSAR学习笔记_EB的编译环境修改
使用EB的Demo,自己加了一点代码发现不能够自动识别。看起来,还是不能够自适应、自识别的编译环境。找了一下各个命令中调用的程序以及使用的文件,最终找到了如何扩充增加自己的软件文件。 文件是左边标注的文件,修改如右边的管理配置。再次编译,我自己增加的文件已经被编译进去了。 在EB的配置工具中,我做了简单的修改。 ...原创 2018-12-15 12:55:56 · 2551 阅读 · 1 评论 -
037_AUTOSAR学习笔记_MCU驱动
主要功能:MCU初始化、断电功能、复位、MCAL其他模块的特殊需求。 几种模式: 外部时钟的PLL时钟模式、晶振的PLL时钟模式、晶振参考下的PLL关闭模式。内部RC电路主要是用来监控晶振以及锁相环质量的。DMA应该有多种优先级,这个优先级跟中断是否是一个概念? 从下文看,有一个嵌套的说法,看起来有可能跟中断时...原创 2018-12-15 12:36:00 · 2139 阅读 · 1 评论 -
038_AUTOSAR学习笔记_McuGeneralConfiguration
首先需要知道的是McuGeneralConfiguration在AUTOSAR的概念中是一个容器,关于容器目前我自己的理解很可能是自己定义的一种数据结构。在EB的配置工具中,具体信息如下: 图中,几个可以选择可以配置的都是这个容器中包含的信息。接下来,针对每一个做一个理解。McuDevErrorDetec 结合上面的属性表,这个...原创 2018-12-15 12:15:16 · 1183 阅读 · 0 评论 -
028_AUTOSAR RTE学习笔记-1
对AUTOSAR的了解确实不多,一直觉得AUTOSAR不应该是买买买,更不该是各种工具来一统天下。我觉得任何软件架构都应该升华为一种哲学,但是在掌握的过程中我们可能得从支离破碎的零星判断中逐渐还原哲学的内核本质。 今天尝试理解一份我自己从网上找的几页PPT资料,整理出这份学习笔记。第1点,截图中已经做了很多解释,不过这种解释我一般只会保留性的吸收。...原创 2018-12-09 22:59:42 · 5772 阅读 · 2 评论 -
036_AUTOSAR学习笔记_MCAL基础架构
MCAL是为控制抽象层的缩写。进一步,MCAL可以分成4个驱动组:微控制器驱动组、存储器驱动组、通信驱动组、输入输出驱动组。 之前这部分我也有一定的了解,但是都已经忘得差不多了,关键是没有理解透。其实,软件应该可以通过树状结构来一个层级的划分,后续我自己设计软件的时候确实也可以按照这个做一下分组。关于控制区驱动组 MCU驱动 锁相环 RAM初始...原创 2018-12-14 22:26:18 · 11540 阅读 · 0 评论 -
050_AUTOSAR学习笔记_Fls集成
这部分是自动被调用还是需要自己写代码? 看起来,需要先初始化MCU模块。这样,看起来是需要时钟等功能的初始化。尝试在我的代码中进行了初始化。 有一个主程序。 还有部分对看门狗、Fee的支持。 不同的写入模式。 其实,Fls的集成功能不是最终目的,最终目的是用来实...原创 2018-12-19 23:56:02 · 1983 阅读 · 0 评论 -
044_AUTOSAR学习笔记_PORT设计
Port_Init初始化所有的端口引脚,在其他的端口调用之前调用。 从这里看,或许引脚功能调整是一个比较常见的功能。 这个是端口方向的调整函数。 设置不同的模式,应该有对CAN、GPIO等类似功能的选择。 关于配置工具的几个没有操作过的内容,选择几个之前疑惑的做一下简单的小结。...原创 2018-12-15 22:31:10 · 1972 阅读 · 0 评论 -
029_AUTOSAR VFB学习笔记-2
先简单理解一下下面的这个配置系统的示意图。 从上面的图中能够看懂的部分:SW-C之间的通信是通过VFB的,三角形的端口可能是表示信号的流向。 圆形或者弧形以及其他的形状含义暂时不是很明确,形状是否着色的含义具体也不是很清楚。 VFB看起来不是针对一个ECU的,二是针对一个ECU网络的。这样就带来一个疑问:SW-C难道不是绑定到专门的ECU吗?不过,看到图中ECU的内...原创 2018-12-10 22:36:54 · 1641 阅读 · 0 评论 -
045_AUTOSAR学习笔记_Memory
Memory驱动组包含两个主要的模块:Flash驱动、EEPROM驱动。 首先说Flash驱动,简写一般是FLS驱动。一般来说,主要的功能是用来模拟EEPROM。如果是在BootLoader中,Flash驱动应该是脱离于软件,通过引导程序下载到软件中再起作用。这部分,最初的时候我是不了解的,看到这里的描述看起来之前听别人所说的还是一个比较常见的设计方案。 ...原创 2018-12-17 22:12:38 · 2237 阅读 · 4 评论 -
146_Arduino使用MCP2515实现CAN收发
整个STMF407系列的学习汇总链接如下: https://github.com/GreyZhang/g_arduino 感觉Arduino做一个小工具实现起来特别容易,逐渐成了我的一个测试小助手。也很容易做成小的快速原型机,做一些功能测试。 工作中CAN使用的比较多,但是我的Arduino小板子上没有,找了一下找到一款...原创 2019-09-29 19:50:25 · 6099 阅读 · 0 评论