历史上的今天
返回首页

历史上的今天

今天是:2025年08月21日(星期四)

正在发生

2020年08月21日 | 基于CAN总线与ARM的汽车节能控制装置设计

2020-08-21 来源:elecfans

本文以节约能源为切入点,针对城市公交车频繁刹车的特点,设计了一种节能控制装置,通过该装置把汽车刹车时由原来通过摩擦片产生阻力停车,改为带动空气压缩机工作。


把汽车行驶时的动能转化为高压气能,利用能量的转换使汽车停下来。在汽车启动时,利用储存起来的高压气能带动汽车行走,从而达到节约能源的目的。


引言

由于各种原因,公交车总是不断重复加速—减速或停车—再加速的过程。通过加装本节能装置,当汽车需要制动时,在主控单元的控制下,可将汽车行驶时具有的巨大动能通过空气压缩机转化成高压气体的势能并储存起来,从而实现汽车减速或停车。当汽车需要启动或加速时,用储存起来的高压气体势能代替燃油来驱动汽车,从而实现汽车能量的回收再利用,达到节能的效果。同时由于汽车在起动或加速时能耗最大,如果汽车是用燃油驱动,则此时油料燃烧不充分,燃烧效果最差,而且产生的噪音最大。


系统工作原理

本系统主要由三部分组成,即检测部分,控制部分和执行机构。检测部分包括踏板位置传感器、曲轴位置传感器、压缩机活塞位置传感器、汽车运行速度传感器、储气罐压力传感器等信号的检测。执行机构主要包括双向可控电磁阀和电磁离合器。控制部分主要由ARM微处理器组成的控制系统及一些外围电路构成。本文主要介绍该系统的控制部分。该装置的作用就是将刹车时本应由摩擦来消耗掉的汽车动能,改为由气体的势能来消耗,在启动时,利用刹车时储气罐内储存的高压气体势能来驱动汽车行走,当车速到达一定值如20km/h时,再切换到由汽车发动机驱动的模式。


系统硬件设计

由于该节能装置需检测的模拟量较多,如储气罐内的压力、制动踏板的位置、车速、活塞运行位置和油门踏板位置等数据,而且有些是需实时监控的,如储气罐内的压力等,需要使用多任务执行方可实现,而普通单片机无法满足这一要求。因此需根据实际情况,选用合适的处理器芯片,加上各种数据和程序存储芯片构成最小系统。同时,增加数据采集、显示、通信接口、控制执行单元和电源管理模块等,来组成一个完整的控制系统。由于目前汽车应用CAN现场总线比较广泛,因此,为了与汽车的控制系统连接的方便,还增加了CAN总线接口,由此构成了整个硬件系统。系统的总体框图如图1所示。

基于CAN总线与ARM的汽车节能控制装置设计

图1 系统框图


S3C44BOX

由于设计要求系统能随车采集信号,并进行实时监控,对主控模块的要求较高,因此主控制模块应当是以高性能的微处理器为核心而组成的一个最小系统。根据具体应用的要求,实际应用的反映情况,选用了Samsung公司的ARM芯片S3C44BOX,其主要性能如下:


S3C44BOX的突出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHz)。ARM7TDMI体系结构的特点是它集成了Thumb代码压缩器,ICE (In Circuit Emulator)断点调试支持,和一个32位的硬件乘法器。


数据采集单元

数据采集单元的作用就是对需要的模拟信号进行采集、处理后送到处理器进行处理。在该单元中,核心是对模拟信号的调理。由于系统要采集到汽车的储气罐内的压力数据、制动踏板的位置数据、车速、离合器切合位置和油门踏板位置等数据,因此需要多路数据采集通道。各通道的数据必须完成信号的调理后,才能送到处理器进行处理。该采集单元的信号采集通道框图如图2所示。

基于CAN总线与ARM的汽车节能控制装置设计

图2 信号采集通道


控制执行单元

控制执行单元的功能主要是接收处理器发出的数字量,经过隔离及驱动后,送到执行机构如电磁阀、继电器、离合器等来使行相应的动作。功能框图如图3所示。

基于CAN总线与ARM的汽车节能控制装置设计

图3 控制执行单元


这一级相对来说较为简单,但为了防止外界对系统的干扰,须采用隔离。隔离器件采用普通的光电祸器即可,系统中采用TLP521-1。


数据显示模块

在系统的设计中,为了对采集的数据进行监控,使得调试更为方便、直观,因此增加了数据显示模块。S3C44BOX集成了LCD (Liquid Cristal Display)控制器,该控制器支持在LCD上的单色、4级、16级灰度、256色的显示,具有很强的通用性,S3C44BOX的LCD控制器的作用是将缓存中的数据传送到外部的LCD驱动器,并产生必须的LCD控制信号。LCD控制器可以编程支持不同水平和垂直点数(640×480,320×240,160×160等)、不同数据线宽度、不同接口时序和刷新速率的LCD,支持4位双扫描、4位单扫描、8位单扫描模式,并支持水平/垂直滚动,以用来支持更大的屏幕显示(如1280× 1280)。


由于不同尺寸的LCD具有不同数量的垂直和水平象素、数据接口、数据宽度、接口时间和刷新率,S3C44BOX中的LCD控制器可以对相应的寄存器值进行编程,以适应不同的LCD显示板。


LCD控制器逻辑框图如下图4所示。

基于CAN总线与ARM的汽车节能控制装置设计

图4 LCD控制器逻辑框图


电源模块


调试接口

S3C44BOX内嵌JTAG测试电路,使得调试起来非常方便。JTAG是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP (Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。JTAG接口还常用于实现ISP(In System Programmable)功能,如对Flash器件进行编程等。


目前JTAG接口的连接有两种标准,即14针接口和20针接口,在本设计中,采用的是14针的接口。该接口主要通过下载电路与计算机的并行口相连,在集成开发环境之下,使用相应的JTAG下载代理软件就可以用来进行系统调试,而不需专门的仿真器,这样可以降低开发的成本。


通信单元

在系统设计中,考虑到数据传送、下载以及调试的方便,增加了串行通信RS-232C接口。另外,考虑到系统升级的方便,以及为了与现在流行的汽车总线接口的方便,增加了CAN现场总线的接口。


本系统中选用MAX232。MAX232可以实现TTL电平和RS-232电平之间的转换。由于在实际应用中,器件对电源噪声很敏感,因此MAX232的VCC引脚必须要对地加0.lmF去耦电容,另外,为提高抗干扰能力,添加了四个l0mF电容,在连接在内部电源引脚输出端。MAX232芯片第7, 8引脚接入分别到串行口的第3, 2引脚;9, 10引脚接处理器的RXD, TXD引脚,实现与处理器的连接。


需要注意的是,MAX232是5V器件,而处理器芯片是用的是3V供电,因此需要考虑电平转换,否则将无法正常收发数据。由于Maxim公司已经注意到这点并推出了专用3V供电的器件MAX3232C,利用它就可以无需考率3V到5V的电平转换问题。MAX3232C与处理器的接口电路如图5所示。

基于CAN总线与ARM的汽车节能控制装置设计

图5  RS-232C与处理器的通信接口电路


系统软件设计

在本系统中,主程序是整个程序的核心,担负着系统的运行、控制的主要任务,需要对其控制流程进行仔细考虑,以完成所需的控制要求。


在程序开始时,首先对系统进行初步的初始化。之后,采集各种数据并判断数据是否正常,如果正常,则显示数据并等待中断,根据中断转向相应的中断服务子程序。如果数据不正常,则通过报警来提示用户检查数据,直到数据正常才执行其他程序。如果一切正常,且没有刹车和启动等控制,则可以与其他设备进行通信等操作。具体的流程见图6所示。

基于CAN总线与ARM的汽车节能控制装置设计

图6  系统主程序流程图


系统的抗干扰设计

要达到良好的系统控制效果需要在系统设计中非常注意它的抗干扰性和可靠性。本系统由于采用高速ARM作为核心处理器,它的高频信号不仅容易受到干扰,而且也会成为系统的干扰源,因此有必要对整个系统,特别是ARM部分的抗干扰及保护做更多的处理。


硬件部分,控制系统的电源及功率驱动部分抗干扰措施主要就是从防和抗两方面入手。其总原则是:抑制或消除干扰源;切断干扰对系统的耦合通道;降低系统对干扰信号的敏感性。抗干扰设计的具体措施包括:隔离、接地、屏蔽、滤波等常用方法。


软件部分,本系统的软件主要采用了以下几种软件抗干扰设计:

软件陷阱法

测试系统在遇到外界干扰时,往往会导致运行程序进入程序存储器的空白区(即无指令区),这种现象叫做程序“跑飞”。于是在各子程序之间、各功能模块之间和所有空白处,都写上连续3个空操作指令(nop),后接一无条件转移指令,一旦程序跑飞到这些区域,就会自动返回执行正常程序。


程序的冗余设计

在程序存储器的空白区域,写入一些重要的数据表和程序作为备份,以便系统程序被破坏时仍有备份参数和程序维持系统正常工作。由于TMS320LF2407A的数据存储以数据页为基准,如果对不同数据页的数据进行操作而不指定相应的数据页,会导致程序跑飞。因此需要对程序未使用满的数据页进行填充,防止数据页混乱导致的系统误操作。


结语

加装了能量回收再利用装置后,当汽车在加速或重新起动初期,可以利用存储的高压气体驱动汽车,不需要燃料,可以较少汽车尾气对环境的污染。因此,该装置不仅可以节约能源,而且有利于环保。

推荐阅读

史海拾趣

Gigabit Logic Inc公司的发展小趣事
部分设计还可以实现模拟自然风等功能,提升用户体验。
迦美信芯(CanaanTek)公司的发展小趣事

随着智能手机市场的不断成熟和发展,手机射频前端对频段的支持、开关速度的变化以及天线调谐方向提出了更高的要求。迦美信芯紧抓这一市场机遇,早在2014年就开始布局射频前端芯片领域,专注该领域芯片的研发与设计。经过多年的努力和发展,迦美信芯已成为国内领先的手机品牌在天线开关以及天线调谐器方面的主要供应商之一,为全球TOP 5的手机终端客户提供大量优质产品。

ACP Optoelectronic Technology Co Ltd公司的发展小趣事

在国内市场取得一定成绩后,ACP Optoelectronic Technology Co Ltd开始积极拓展国际市场。公司积极参加国际电子展会和技术交流活动,与海外企业建立合作关系,拓展销售渠道。经过几年的努力,ACP Optoelectronic Technology Co Ltd的产品已经成功打入多个国际市场,公司也逐渐发展成为一家具有国际影响力的光电企业。

Hsuan Mao Technology Co公司的发展小趣事

在国内市场取得一定成绩后,ACP Optoelectronic Technology Co Ltd开始积极拓展国际市场。公司积极参加国际电子展会和技术交流活动,与海外企业建立合作关系,拓展销售渠道。经过几年的努力,ACP Optoelectronic Technology Co Ltd的产品已经成功打入多个国际市场,公司也逐渐发展成为一家具有国际影响力的光电企业。

ATOP_Technologies公司的发展小趣事

随着技术的不断进步,ATOP Technologies意识到要想在激烈的市场竞争中保持领先地位,必须不断进行技术创新和产品升级。因此,公司加大了在研发方面的投入,积极引进高端人才,加强与高校和研究机构的合作。经过多年的努力,ATOP Technologies成功开发出了一系列具有自主知识产权的工业自动化产品,并在市场上取得了良好的口碑。

Excelight Communications Inc公司的发展小趣事

Excelight Communications Inc公司成立于XX世纪初,当时正值通信技术飞速发展的时代。创始人李明(化名)是一位电子工程专家,他对光通信技术有着浓厚的兴趣。在创办公司之前,李明曾在一家大型通信企业工作,积累了丰富的技术和管理经验。他发现市场上对于高速、高效的光通信产品有着巨大的需求,于是决定创立Excelight,专注于研发和生产光通信模块和设备。

创业初期,Excelight面临着资金、技术和市场等多方面的挑战。李明带领团队日夜兼程,不断攻克技术难关,同时积极寻找合作伙伴和投资人。经过几年的努力,Excelight逐渐在市场上崭露头角,其光通信产品因性能优越、价格合理而受到了客户的广泛好评。

问答坊 | AI 解惑

机器人设计

哪里可以找到机器人相关的设计资料啊,关节机器人的…

查看全部问答>

wince 的cab 安装包问题(vs2005)

想做一个cab安装包,安装今日插件,按照网上的说明写了个安装程序setupdll.dll, 但是在模拟器上(pocket pc se 2003 Emulator)安装发现setupdll没有被调用(在函数Install_Exit中加了MessageBox,没有弹出,注册表也没写) cab安装包使用vs2005做的 ...…

查看全部问答>

如何用WinDbg或Waston Dump Viewer分析WinCE机台上抓取的Dump File问题

    基于ARM+WinCE 5.0的机台上有概率性的发生Data Abort,直接采用加入Debug信息逐步缩小范围的方法太费时间,所以在Image中加入了ErrorReporting的功能。     机器发生了Data Abort后,将dump file拷贝出来,就是那个后缀名 ...…

查看全部问答>

dshow CreateMediaType FreeMediaType 无法解析的外部符号

我在wince6.0上做dshow开发,已经包含的头文件和库 #include #include #include #include #include                                     &n ...…

查看全部问答>

怎样取得Windows的启动分区?

我的机器上有两个硬盘 我的boot.ini: [boot loader] timeout=6 default=multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS=\"Microsoft Windows XP Professional\" /noexecut ...…

查看全部问答>

SfGetObjectName这个方法在哪个偷文件下?

如题目.我照别人写的驱动程序搬都出错,请问谁知道SfGetObjectName()这个方法在哪个头文件下…

查看全部问答>

招聘FPGA工程师(北京至芯开源科技有限责任公司)

招聘FPGA工程师(北京至芯开源科技有限责任公司) 要求: 1、熟练掌握VHDL/Verilog语言,能够熟练使用FPGA开发工具;2、参与过完整的FPGA开发流程;3、具有FPGA验证的工作经验;4、熟悉FPGA验证流程,了解业界相关的FPGA验证技术;5、熟悉FPGA的 ...…

查看全部问答>

请教高手关于软中断问题

请教高手关于软中断问题 1。在dsp(5402)的中断向量表中,存在软中断SINT17~SINT30,芯片没有给具体的对应硬件,这些是做什么用的? 2。这些是属于硬件中断吧?在BIOS中,它们是和HWI中的对应的吧? 3。如果这些能用,那怎么产生中断信号呢? 4 ...…

查看全部问答>

CL2小板子布线图

3D效果 顶层布线  …

查看全部问答>