博客列表

个人拙作-汽车BCM的故障诊断设计及实现
发表于:2017-07-12 09:26:06 | 分类:拙作
浏览( ) | 评论( )

摘要:本文针对BCM的负载控制功能设计了一种电流反馈电路及过载、短路、开路故障诊断方法,能够实时监测负载的工作电流,根据负载电流的变化情况及驱动方案选型,准确判断出是否发生过载故障、短路故障及开路故障,以正常启动或关断负载,不仅能够实现既定的负载控制功能,还能够在发生过载、短路故障时及时关断保护。引言  在汽车车身电子系统中,存在车灯、雨刮电机、车窗电机、后视镜电机、门锁电机等各种电子负载,在设计车身控制模块(BCM)时,需要根据负载的特性、功率等要求,选择不同的驱动及故障诊断方案,一般选择智能功率芯片或

基于嵌入式MCU数据Flash的数据存储及管理方法研究与实现
发表于:2013-10-17 14:28:46 | 分类:拙作
浏览( ) | 评论( )

 0        引 言 在嵌入式系统设计中,经常需要存储一些非易失性的数据,在笔者开发的电动汽车仪表盘中,需要存储总里程、小计里程、电机故障等其他信息,采用支持对字节读写的EEPROM实现数据存储,操作起来和RAM一样简单方便,但同时会在大批量产品的生产中带来成本问题和维护问题。在有数据Flash的MCU中,采用数据Flash代替EEPROM实现非易失性的存储,便可以节约成本且无需维护,笔者所设计的仪表盘采用内置4KB数据闪存的MC9S12HY32做为处理器,足以满足仪表盘数据存储要求。用Flash存储数据的传统方式是为每个数据分配固定的存储地址,由于Flash在进行写操作时需要先擦除数据所在的整个扇区1,对一个数据进行写操作便会造成对扇区内其他数据的擦除,由于擦除操作耗时较长,不仅效率低,影响嵌入式系统的实时性,而且为了避免丢失其他数据需要相当复杂的处理,对MCU的RAM空间也有一定的要求。如果写入数据失败,会造成所写入数据的丢失,如果在擦除扇区后发生掉电,便会造成扇区内所有数据的丢失。不仅如此,由于每次写入操作都需要先擦除

一种嵌入式软件版本信息获取方法设计与实现
发表于:2013-09-03 10:43:49 | 分类:嵌入式
浏览( ) | 评论( )

 摘要:为了定位嵌入式设备当前运行软件的版本,设计了一种获取嵌入式软件版本信息的方法,首先设计电路实现按键检测和LED驱动复用IO脚,当IO脚为输入方向时,通过IO状态的读取可以检测按键的按下和弹起状态,当IO脚为输出方向时,可以设置高低电平实现LED的亮灭控制。具体应用时,首先设置IO脚为输入方向,周期检测按键操作,检测到有效的按键按下操作后,当按键弹起时将IO脚设置为输出方向,以PWM的方式驱动LED,通过不同的闪烁频率、间歇时间和闪烁次数进行软件版本的显示。关键字:软件版本;按键检测;管脚复用;PWM 引言:在嵌入式软件的开发阶段,需要经过多次设计迭代并进行充分测试以提高软件可靠性和完善产品性能。采用软件版本的形式对设计过程建立里程碑,以版本标号的形式对各个软件版本进行标识和区分,然后在计算机上以文档管理的形式或者通过专业的版本控制工具对各个版本软件的源代码及其二进制文件进行整理及控制是一种有效的软件开发管理方式并已被广泛采用[1]。在开发过程中,为了提高设计效率,开发和测试并行进行,为了测试缺陷、查找缺陷原因或定位缺陷的引入时间,可能需要对不同版本的软件进行测试。当测试出某个缺陷后

基于MC9S08SL8的电动汽车仪表盘信号转换器设计
发表于:2013-07-30 16:10:21 | 分类:拙作
浏览( ) | 评论( )

 这是笔者发表在电子设计工程上的文章。引言:随着国家推进新能源汽车战略,不少企业开始涉足电动汽车行业,由于资金、技术的限制,很多车厂提留在“购买原车、回厂改装”的低级发展阶段,这种模式利用电池、电机替换发动机,实现汽车电动化,是目前山东省部分车厂生产低速电动车的主要方式。在这种方式下,为了降低专用电动车仪表开发的难度和成本,通过分析原车仪表的接口、电路及原理,以修改原车仪表面膜和开发仪表信号转换器的方式实现电动车的车速表、电流表及电压表。笔者以S08SL8为核心为山东某车厂开发了一款电动汽车仪表信号转换器,转换器采集并计算电机转速,根据电机转速、轮胎直径和变速箱减速比计算实际车速,输出与原车仪表相匹配的车速传感器脉冲;转换器实现LIN从节点【1】,通过与电机控制器的LIN通信获取电池组电压及电流,根据电压值和原车油量传感器量程,调整数字电位计阻值模拟油量传感器信号,利用原车油量表模拟实现电压表;根据电流值、转速表指针转动角度与转速脉冲频率的对应关系,输出相应频率的脉冲信号,利用原车转速表实现电流表。本文介绍S08SL8的功能特性和应用要点,并剖析仪表盘信号转换器的设计原理和软

一种通用的汽车仪表信号转换器设计
发表于:2013-04-07 14:36:10 | 分类:拙作
浏览( ) | 评论( )

 发表在电子产品世界上的文章,与大家分享:)引言:在汽车仪表盘中,发动机转速表和车速表是两个非常重要的量表【1】,转速表采集发动机转速传感器脉冲,指示当前发动机转速,反映发动机的工作状况,车速表采集车速传感器脉冲,指示当前车速及其变化。目前车辆改装日渐普遍,发动机、变速箱及轮胎改装都会造成发动机转速表和车速表的指示错误,发动机改装前后的转速脉冲数不一致会造成转速表显示错误,导致发动机出现故障时无法及时发现。变速箱或轮胎改装前后的车速传感器脉冲数或轮胎直径不一致会造成车速表显示错误,由于无法正确反映当前车速,便很难达到经济时速,同时当存在超速现象时也无法及时发现【2】。本文通过对汽车仪表转速表及车速表原理的分析,设计实现了一款通用的仪表信号转换器,实现改装前后的发动机转速和车速脉冲的频率转换,使得原车仪表继续准确实时地显示发动机转速和车速信息。1 总体方案设计为了实现信号转换器的通用性,首先需要根据原车配置和改装配置进行参数下载以实现适配,适配后信号转换器根据配置参数的变化实现发动机转速和车速信号的频率转换。信号转换器实现脉冲采集、脉冲输出、参数下载、参数存储、参数故障提示等功能,下载参数时,通过自定

【设计作品展示】uCOS-Ⅱ平台电动汽车仪表盘的设计与实现
发表于:2012-12-25 16:34:59 | 分类:拙作
浏览( ) | 评论( )

1 引言:随着人们对汽车功能日益增长的需求,汽车电子得到了日益广泛的应用,应用的复杂性使得基于嵌入式技术的汽车电子产品的设计核心日益转向软件设计。从软件设计的开发过程来看,包括不带操作系统的裸机程序和采用操作系统的多任务应用程序两种不同的实现方式。由于裸机程序难以保证汽车电子产品的实时性要求[3],而且在遵守汽车行业的特定标准规范上有很大的实现难度,而采用实时操作系统不仅可以满足实时性的要求,还可以很容易得集成汽车行业标准规范解决方案。操作系统提供的多任务划分及其调度机制,可以更好地反映应用的不同组成部分和应用实现的不同侧面,使得程序逻辑更加清晰、模块独立性更强、维护更加方便,可靠性也更高,因此实时操作系统在汽车电子产品中得到了广泛的应用。在笔者为某电动汽车设计一款仪表盘的过程中,采用实时操作系统uCOS-II进行应用程序设计,改进了系统实时性,提高了软件质量。本文系统介绍下仪表盘的结构及软硬设计技术,以及uCOS-II的应用经验。2 仪表盘系统结构仪表盘是一个多方位的信息显示平台[2],信息来源包括开关量、模拟量和车速转速脉冲信号,也有来自各个汽车电子零部件的相关信息通过CAN总线获取,从而降低了直接采集的

【技术人生】读《人月神话》有感
发表于:2012-12-21 15:17:40 | 分类:胡言乱语
浏览( ) | 评论( )

本篇技术笔记是《人月神话》一书的读后感。这不是一部讨论软件设计技巧的书籍,在这本书中看不到任何具体的设计模式或者架构或者编程语言的介绍,甚至它也不是讨论软件工程的书籍,那种书籍是让我们睡着觉的催眠剂。事实上它是一个软件大师结合自己多年主持软件项目开发的经验,非常务实地在分享自己的经验心得,这里面分析了软件本身及其开发过程的特性、人员组织、进度管理等有关软件项目管理的内容,某种程度上,它是关于人和团队的书。 几天通读下来,不觉枯燥,大师就是大师,能把复杂的事情很简单得表达明白,一个突出的地方在于它非常人性化,不仅描述软件的特性、软件开发的特性,很多地方还涉及到人性。(很多书籍中将软件设计人员假想成没有任何情感和情绪,遵守任何规则的机器人)比如它客观讲述了软件开发过程中的创造性乐趣和劳动本身的艰苦枯燥,它支持技术主管根据专业技术角度做出的进度安排,鼓励他鼓起勇气去反对上级领导根据意愿而做出的进度安排。诸如此类,把一个严肃的专业书籍写得有趣、好读。这本书给我们哪些启示呢?1、 缺乏合理的时间进度是造成项目滞后的最主要因素项目的估计和进度的安排是一门学问,多年的经验告诉我们:必须为系统测试预留足够的时间,无

【技术人生】论嵌入式软件设计中的极简主义
发表于:2012-12-20 16:18:11 | 分类:拙作
浏览( ) | 评论( )

 作为一种形式多样、高度灵活、专用定制的电子产品,嵌入式产品的设计理念是贯穿于整个设计过程、对产品设计起着决定性作用的一个重要因素,它决定了所设计产品的呈现方式、使用方式、便利性、稳定性、质量等一系列要素。近日苹果高管变动,据业内人士分析,主要原因是管理者在设计理念上的冲突,前主管因为模拟现实的设计理念,而与极简主义的设计理念产生了冲突,在反复强调要做“世界上最好的产品”的苹果公司内部,设计概念的一致性是保证产品“最好”的基本前提。做为嵌入式行业设计人员,我们同样也要在嵌入式产品的设计中,贯彻正确的设计理念来指导我们的设计工作。嵌入式行业经过多年发展,硬件设计有章可循,条条框框有板有眼,软件设计亦逐渐规范,标准林立。但相较而言,由于软件设计是一种非常个性化的东西,其灵活性、可变性极强且仅限于设计者的想象力,软件设计者的编码习惯、工作态度、思维方式、创造能力甚至人生观价值观等看似与软件设计无关的要素都会对软件最终的实现起到或多或少的影响,在这种极强的灵活性下,软件质量问题凸显,成为业界最为关注的因素,正基于此,软件工程的研究与发展如火如荼。目前在软件质量

基于MC9S12HY32的电动汽车仪表盘设计
发表于:2012-09-05 15:53:16 | 分类:拙作
浏览( ) | 评论( )

 这是本人发表在电子设计工程上的一篇文章,与大家共享。 引言:电动汽车仪表盘是一种集LED、LCD显示技术、步进电机控制技术于一体,适应电动汽车电子化、数字化、信息化发展的高新技术产品,它是驾驶员与汽车进行信息交流的窗口,是一个多信息显示平台,显示电机状态、电池组状态、行驶信息、底盘信息、指示报警等其它信息。Freescale的S12HY32是汽车仪表盘设计专用16位MCU,笔者以S12HY32为核心设计了一款电动汽车仪表盘,它采用步进电机进行指针的指示,具有很好的数据控制特性,并能及时反映汽车加减速、电压电流上升与下降等各种工况,提高了整个系统的平稳性和定位精度,同时保留了机械指针指示的直观、有动感、符合驾驶员习惯等优点。采用LED显示转向灯、远近光变换、车门状态、安全带未系提示、充电指示、报警等状态【1】,采用LCD数字显示里程表和故障状态。本文介绍S12HY32的功能特性和应用要点,并剖析电动汽车仪表盘的设计原理和软硬件结构。1 硬件设计1.1 MC9S12HY32简介MC9S12HY32是一款可扩展入门级的汽车仪表盘应用16位微控制器,集16位性能和许多专用功能于一身【2】,如LC

基于K线的BCM诊断的实现
发表于:2012-03-20 09:58:57 | 分类:拙作
浏览( ) | 评论( )

这个也是发表在电子产品世界的一篇拙文。引言:随着汽车电子系统越来越复杂,诊断功能已经成为ECU软件设计的一个重要组成部分,对ECU控制系统的正常运行及其大规模应用的市场化过程非常关键。随着ECU功能的增加以及升级换代的需要,诊断标准及厂商自定义诊断功能越来越丰富,各种服务子功能也越来越细化,增加了诊断的难度,因此,深入研究诊断协议及其实现非常必要。K线和CAN总线是业内广泛采用的两种诊断标准【1】,CAN总线在欧美车中广泛使用,而K线在国产车中应用广泛,笔者结合为某国产车型开发一款BCM(Body Control Module,车身控制模块)的经验,分析K线规范,然后从故障自诊断和在线诊断两个方面讲述一下BCM诊功能的设计与实现。1 K线协议分析K线是ISO9141定义的用于诊断通信的串行数据总线,ISO14230在ISO9141的基础上将其总线电压扩展到24V,并完整定义了KWP2000协议,完善了诊断通信标准,扩展了诊断服务【2】。K线通信采用SCI数据格式,数据链路层在串口通信上以软件形式实现,物理层比较简单,通过单根物理线完成半双工异步通信,选择LIN总线物理层芯片即可完成物理电平与逻辑电平的转换。I