can例程 ecu_基于CAN总线的ECU设计
摘要:为了组建基于CAN总线的控制单元,本文设计了一款兼容标准8051内核的MCU,提出总体设计方案,分层去实现各模块的功能。利用流水线的设计技术,对MCU标准核进行了精简和优化,从而提高了产品的综合处理速度,并减少了成品的设计面积。按照自上而下的设计方法,设计了MCU的各个单元模块。并依据模块的特性,设计仿真测试文件,进行了模块的仿真测试,并设计引导程序,实现了在FPGA中的验证。此款ECU能准确地采集信息,并实现在CAN总线上可靠、稳定的通信功能,
关键词:8051IP核 电子控制单元 微控制器 CAN总线
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2013)12-0163-01
前言
伴随着现代汽车大工业的迅速发展,单片机和电子控制单元的应用越来越广,需求越来越多,使用率越来越高。电子控制单元的种类亦层出不穷。国内大部分电子控制单元采用单片机加外围器件来实现,优点是价格低廉,缺点缺很多;大部分集成芯片依靠进口,成本很高,不适合普及应用。总结了国内、国际发展状况和特点。本文设计一款集成度高,使用方便,价格低廉的集成电子控制单元。
1 电子控制单元简介
电子控制单元(ECU)又称行车电脑。从用途上讲则是汽车专用微机控制器。它和普通的单片机一样,由CPU、ROM、RAM、I/O、A/D等模块组成。功用是根据其内存的程序和数据对空气流量计及各种传感器输入的信息进行运算、处理、判断,然后输出指令,向喷油器提供一定宽度的电脉冲信号以控制喷油量,从而实现集中控制功能。汽车电子的核心是电子控制单元,不但应用在发动机上,在许多低速控制系统中都有广泛的应用。随着电子控制单元的种类不断增多,复杂而庞大的线路也成为一大困扰。汽车中的各个单元之间需要一种可靠的,高效的数据传输总线,并能将各种单元进行有效的连接,组成一个网络,CAN总线就能有效的实现这个功能。
2 电子控制单元(ECU)的单元设计
2.1 MCU的总体设计
鉴于设计成本以及成品的整体尺寸,本设计选用了应用广泛并且运行稳定的8051内核作为微控制器MCU。此微控制器具有8位数据宽度,能处理8位二进制数据或者程序代码,并协调和控制各个单元模块完成工作,以实现对编译指令的解码,资源调度以及分配,并可以保护中断以及恢复现场等功能。本控制器的结构如图1所示。
本设计采用标准硬件描述语言VHDL作为设计语言,成功设计、裁剪并综合了一款兼容标准8051的IP核,微处理器是由定时器/计数器(Timer)、逻辑运算单元(ALU)、串口以及控制单元组成的。并配置RAM、ROM及其RAMX等存储单元,组成处理器整体。微控制器模块采用自上而下的设计原理,顶层是程序测试层,由testbenchfiles等文件构成,分别对测试第二层各个模块进行仿真测试,第二层包括内/外RAM,内置ROM,加上微控制器核。微控制器是本设计的中心部分,分别由定时/计数器(Timer)、算数逻辑单元(ALU)、及中央控制单元和用于通信功能的串口组成。其中算数逻辑单元包括算数逻辑核,加减法运算核以及多路选择器,和进位调整器组成,用于实现基本的加减等算数运算,与或非等逻辑运算。控制单元包括用于储存状态的存储单元,以及用于处理各种状态的状态机(FSM),控制单元用于编码指令的解码控制。
2.2 CAN总线的实现
按协议标准来分,CAN总线分为两种,一种是标准的CAN总线,标准CAN总线具有11位标志符。另一种是扩展式的CAN总线,标识符长度长达29位。综合考虑本设计产品的复杂性,运算速度,设计选用了标准的CAN总线。如图5所示,设计采用自上而下的设计方法,分别设计了时序逻辑单元,用于处理时序信息;位处理逻辑单元,用于处理各个位上的数据信息以及位逻辑运算;以及用于存储数据信息的存储器单元。CAN总线通过接口逻辑单元(IML)与微处理器MCU相连,并向处理器传输中断信息和状态信息等数据信息。
3 系统仿真,FPGA验证及结果
应用ModelSim仿真软件分别对微控制器的算数逻辑单元,定时/计数器,串口,以及CAN总线等各个单元进行了时序的仿真,达到了预期的时序要求。编写用于自启动的bootloader文件,并将整体代码下载到FPGA上进行系统级验证,达到了预期的效果。完成各种MCU的控制功能,并具有稳定的CAN总线通信功能。
4 结语
本文结合了多门学科技术,结合市场需求,研制了一款标准的电子控制单元,并综合了CAN现场总线,使此款控制单元更加具有通用性。MCU核是一款完全兼容8051内核的处理器,采用自上而下的设计方法,设计各个模块单元。并依据模块的特性,设计仿真测试文件,进行了仿真测试,并设计引导程序,实现了在FPGA中的验证。实验表明,该ECU能准确地采集信息,并可以在CAN总线网络上可靠通信。具有集成度高,稳定性好,应用方便等特点,拥有较高的应用价值和前景。
参考文献
[1]麻友良,丁卫东.汽车电器与电子控制[M].北京机械工业出版社,2003,1.
[2]张道文,ECU输入信号模拟电路的设计[J].小型内燃机与摩托车,2003,5.
[3]肖生发,刘洋等.电动助力转向系统特性的研究[J]湖北汽车工业学报,2001,9.
[4]周飞,通用车用ECU设计[D]北方工业大学,2008年.
[5]Michael Keating,Methodology Manual for System on a chip Design[J],Kluwer Academic PUBLISHERS,2002.5.
can例程 ecu_基于CAN总线的ECU设计相关推荐
- can例程 ecu_基于CAN的ECU刷写流程
ECU软件分为bootloader和application.ECU上电后,先进入bootLoader确定application程序是否有问题,如果没有问题则跳转至application,如果app ...
- 基于CAN总线步进电机驱动器设计
有没有大佬帮我用ad设计一下原理图!给点建议也行!要求用stm32单片机,CAN芯片.
- 法国飞行计算机检测设备,基于PCI总线的飞行控制计算机通用测试设备
摘要: 为了适应航天飞行控制计算机测 试需求,本文设计了一种基于PCI总线技术的飞行控制计算机测试设备.它具有使用方便.功能通用.可扩展性好,设计成本低廉.高可靠性等特点.它以工业控 制计算机为开发平 ...
- sm总线控制器找不到驱动程序_技术 | 基于CAN总线的伺服电机通信控制
1.引言 CAN(ControllerArea Network)总线是一种有效支持分布式控制或实时控制的串行通信局域网络,由于其高性能.高可靠性.实时性好以及独特的设计,已广泛应用于控制系统中的各检测 ...
- 基于CAN总线的家居安防系统设计
现在,人们对工作和生活环境不仅要求舒适健康.可靠便利,而且更加看重安全性,并利用安防系统来提高家庭抵御各种意外情况的能力.现在的安防系统可借助计算机技术.IC卡技术.通信技术等来实现-- 1引言 现在 ...
- Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev
一.例程简介 最近在研究3D识别方面的东西,查了不少资料,发现halcon里有不少关于三维物体识别的例程,这里对其中一个做出详解.该例程是基于三维匹配方法的,因为有三维模型SM3,所以不需要自己创建: ...
- pcie总线连接两台电脑_基于PCIE总线多主互连系统的设计与实现
女 , 山东人 , 工程师 , 研究方向为计算机应用 : 孙大东 (1980 ) , 男 , 吉林辽源人 , 硕 士 , 高级工程师 , 研究方向为嵌入式系统网络 : 张明庆 (1980 ) , 男 ...
- 基于软总线的实时组件调度技术研究
基于软总线的实时组件调度技术研究 摘要:首先分析组件软件工程模式比面向对象的开发模式更优越:接着讨论了组件软件工程的核心机制--软总线,提供组件通讯机制,保证组件的即插即用等功能:然后讨论了软总线中的 ...
- STM32应用开发实践教程:基于 RS-485 总线的多机通信应用开发
5.1.1 任务分析 本任务要求设计一个基于 RS-485 总线的多机通信系统,系统中有两台设备(理论上最多可 接入 32 台设备).其中一台设备作为主机,连接 OLED 显示屏:另一台设备作为从机, ...
最新文章
- 搭建linux下eclipse php完美搭建开发php,搭建linux上的Eclipse+PHP编程环境
- python中字符串中文乱码_[python] 中文乱码问题
- linux驱动程序是什么,简述一个Linux驱动程序的主要流程与功能
- Shiro笔记(三)授权
- BAPI_BILLINGDOC_CANCEL1解析
- Android实战——第三方服务之Bmob后端云的推送服务的集成和使用(三)
- hihoCoder #1639 图书馆
- Mind Control CodeForces - 1291C(思维)
- 二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法
- Hadoop生态Flume(一)介绍
- asp.net下Response.ContentType类型汇总
- EDA365 V2.5下载
- Janusgraph使用示例
- Centos 操作系统常用log日志
- Spring boot2.0 JpaRepository findOne的使用
- 发明专利授权:顺源科技模拟信号隔离放大及转换技术
- RPG游戏制作:(1)自定义角色
- 警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- C语言画圣诞树源码(树界降临)
- HBase 分布式集群搭建手记
热门文章
- FastDFS实现简单的文件的上传下载
- 三种标识的计算机和U盘,了解这三种方法并轻松加密U盘
- MySQL远程访问配置
- 麦芒装修装饰小程序源码 全开源代码
- CIR,CBS,EBS,PIR,PBS傻傻分不清楚?
- 自动化测试框架之Pytest
- UE4 虚幻引擎,场景优化,View Mode视图模式
- netstat -anp|grep 8811 查看不出监听的是哪个进程
- python爬虫Pragmatic系列IV
- ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证