基于单片机的客车CAN总线灯光节点设计与实现

发布者:快乐兔子最新更新时间:2012-01-03 关键字:单片机  客车CAN总线  灯光节点 手机看文章 扫描二维码
随时随地手机看文章
  引言
  
  CAN(Controller Area Network)是德国Bosch公司最先提出的,是目前汽车控制器局域网中最流行、最常用的总线。它的主要特点是:CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN总线具有点对点、一点对多点及全局广播传送数据的功能;CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN总线只有2条导线,系统扩充时可直接将新节点挂在总线上,因此走线少,系统容易扩充,改型灵活;CAN总线传输速度快,在传输距离小于40 m时,最大传输速率可达1 Mb/s。CAN总线的应用不仅能简化线束,实现传感器共享,降低系统成本,而且能大大降低车辆的故障率。CAN总线在汽车上的应用是现代汽车技术的发展趋势。

  2 CAN总线在汽车中的应用
  
  目前,汽车中的网络连接主要采用2条CAN总线,一条是驱动系统的高速CAN总线,速率达500 kb/s,另一条是车身系统的低速CAN总线,速率是100 kb/s。驱动系统的CAN主要连接对象是发动机控制器(ECU)、ASR及ABS控制器、安全气囊控制器、组合仪表等,其基本特征相同,都是控制与汽车行驶直接相关的系统。车身系统的CAN主要连接对象是4门以上的中控门锁、电动车窗、后视镜和车厢内照明灯等。有些先进的轿车除了上述2条CAN总线外,还会有第3条CAN总线,它的主要连接对象是卫星导航及智能通信系统。
   
  在国外尤其是在欧洲,CAN已成为现代汽车中必不可少的装置,CAN总线技术正日趋成熟,应用也越来越广,奔驰、宝马、大众、沃尔沃、雷诺等汽车都采用CAN作为控制器联网的技术。国内对CAN总线的研究刚刚起步,到目前为止还没有较成功的应用。但我国对车辆局域网络总线技术的研究与开发非常重视,最近国家有关部门对CAN总线在豪华大客车上的应用做出明确规定。相信这一政策的出台必将大大促进相关企业和科研单位对汽车CAN总线的研究与开发应用。本文讨论客车车身CAN总线系统中的车灯节点设计,它属于低速CAN总线上的节点设计。

  3 单片机及其CAN总线模块
  
  NEC是仅次于Freescale的世界第二大车用单片机制造商,由于其在中国推广的比较晚,国内企业使用得并不多。CAN总线模块是μPD780822型单片机的一个外设,是一个完整的CAN控制器。可满足车身CAN总线网络的要求。除了具有CAN的基本功能外,还包括一些特有功能,如时间同步功能、可编程的CAN总线唤醒和CPU唤醒功能、可编程的总线关闭时发送底层复位功能等。对CAN总线的访问分为控制/状态寄存器的访问和发送/接收缓冲器的访问。

  CAN控制器发送的信息帧分为二种:发送数据帧和发送远程帧。有二个发送缓冲器,其中一个为16字节,一个为8字节。16字节的缓冲器可以存储标准帧和扩展帧二种格式的数据帧,8字节的缓冲器可以用来存储要发送的数据。发送数据帧时,在数据写到发送缓冲器后,如果相应的发送请求位使能,则数据被发送到CAN总线上,数据帧的数据可以用软件设置成1~8个字节。数据帧的格式如图1所示。

  CAN控制器接收信息时首先要将接收信息的标识符与相应缓冲器的标识符进行比较,只有标识符相同的信息才能被接收。μPD780822型单片机的CAN模块有2个独立的发送缓冲器,2个缓冲器共用1个16字节的数据区来存储最多8字节数据的CAN帧。发送区和接收区的结构相似,当标志位和控制位没有设置为CAN专用时,CPU可以把其作为普通的数据存储区使用。

  控制器接收缓冲器有16个,接收信息帧时用的缓冲器区由信息数量寄存器(MCNT)决定。从总线上接收的信息被直接存储在发送缓冲区中。工作中没有使用的接收缓冲区可以被CPU作为普通的RAM使用。每个接收缓冲器都有其可编程的中断使能位。

  4 网络结构和节点
  
  客车车身CAN系统包括主控节点、灯光节点、空调节点、车门节点和仪表节点等,如图2所示。其中,前车灯节点控制包括前左、右示廓灯,前左、右位灯,前左、右遇险报警灯,前左、右驻车灯,左、右前照灯远光,左、右前照灯近光,前左、右雾灯和前左、右转向灯等16个控制单位。后车灯节点控制包括后左、右示廓灯,后左、右转向灯,后左、右制动灯,后左、右位灯,后左、右雾灯和后左、右倒车灯等12个控制单位。主控节点主要接收来自驾驶员的一些开关输入信号。仪表节点主要通过接收总线上的数据来控制方向、水温、机油压力、制动、车门、车灯、ABS/ARS和除霜等指示灯和控制仪表,以显示车速、发动机转速、水温、燃油、机油、电压、步进电机等数值。空调节点控制空调的开关和车内温度的设定等。车门和后视镜节点控制车门电磁阀开关、后视镜调整开关和后视镜加热开关。安全节点监控ABS和ECAS的电源。

  5 硬件电路设计
  
  灯光节点的硬件结构如图3所示,它包括灯光控制模块和CAN接口模块。灯光控制模块由TLP521-4型光电隔离器和BTS442、BTS740型智能开关组成。

  TLP521-4是4路光电隔离器,8个TLP521-4组成32路光电隔离,把传递到开关和开关反馈的信号与单片机连接起来。BTS442是Infineon公司生产的单路输出智能开关(PROFET),具有允许较大瞬态电流(140 A以上)和较宽泛的温度范围(-55℃~+150℃)等优点,6个BTS442组成6路控制开关,控制大灯和雾灯等6个大电流负载。BTS740是lnfineon公司生产的4路输出智能开关,把输出的2路并作1路用,使其通过较大的瞬时电流。5个BTS740组成10路控制开关用以控制其余的小电流负载。BTS442和BTS740都有诊断反馈功能,如果出现错误,BTS442的第4引脚和BTS740的第4引脚与第8引脚上会出现一个低电平信号,通过光电隔离器把该信号接入单片机,实现端点检测功能,并通过CAN信息帧反馈到仪表节点上。所有节点的硬件CAN接口模块都相同,包括灯光节点在内。由于这种单片机带有CAN总线模块,所以不需专门的CAN控制器,单片机没有CAN收发器,需要外接82C250型收发器,中间是6N137型光电隔离器。单片机、光电隔离器和CAN收发器硬件接口电路如图4所示。

  6 节点软件设计
  
  节点软件流程如图5所示。程序采用查询方式,节点初始化并报告正常工作后将一直处于查询状态,直到主控节点发送的灯光控制命令到达灯光节点时,单片机才可判断控制的是哪一路灯光或哪几路灯光,并通过开关的诊断反馈功能检测相应的开关是否正常。如果正常,则向相应的高/低端开关发送相应的控制命令,然后回到查询状态。如果不正常,则向仪表节点发送相应端点的不正常信息帧,继续检测相应的端点。
  
  节点初始化主要是单片机初始化,包括端口初始化和CAN控制模块的初始化。单片机端口初始化主要对用到的I/O口上电复位。CAN模块的初始化主要是设置所用的特殊功能寄存器,主要包括协议模式、验收滤波方式、CAN通信速率和中断寄存器的设置等。将验收代码和验收屏蔽代码写入验收代码寄存器和验收屏蔽寄存器。
  
  CAN总线的软件设计主要包括CAN节点的初始化、数据的发送和接收程序,掌握了这3个模块的设计,基本上就完成了CAN通信的软件设计。

  7 结束语
  
  虽然本节点是为控制客车车灯设计的,但对其他一些节点也有借鉴作用,尤其是CAN总线的硬件接口部分,可以通用到客车其他CAN网络节点上,甚至可以用在其他非汽车领域的CAN网络上,如工业自动化等领域。

关键字:单片机  客车CAN总线  灯光节点 引用地址:基于单片机的客车CAN总线灯光节点设计与实现

上一篇:基于AT89C51型单片机的CAN总线智能节点设计
下一篇:基于Avalon总线的可配置LCD控制器IP核的设计

推荐阅读最新更新时间:2024-05-02 21:49

基于单片机AT89S51的光栅数显系统
  电动铲运机前后机架、喷浆机减速箱体以及电机车减速箱体等矿用机械主要部件一般都需要在卧式镗床上加工。我厂的T612镗床经过近三十年的运行已老化严重,精度下降,不能满足高精度机械加工的要求。在对该设备大修时成功地对其进行了数显改造,安装了光栅数显系统,该系统采用光栅移动产生的莫尔条纹与电子电路、单片机相结合来完成对位移量的自动测量,并以数字显示位移量。下面介绍该系统的工作原理及实际应用情况。   一、光栅尺位移测量工作原理   光栅是由光源、透镜、标尺光栅(主光栅)、指示光栅(副光栅)和光电元件组成。当主光栅和副光栅呈一很小的θ角相对倾斜重叠放置时,造成两光栅尺上的线纹交叉。在光源的照射下,交叉点附近的小区域内黑线重叠形成明暗
[单片机]
基于<font color='red'>单片机</font>AT89S51的光栅数显系统
单片机红外通信(红外编码发射和红外接收解码代码)
关于红外通信,网上有很多关于解码的单片机代码和视频,发射编码部分并不好找。写发射部分代码花费了不少时间,拿出来与大家分享一下。下面是我在网上找到的资料: 一、NEC 协议特征: 1. 8 位地址和 8 位命令长度 2. 每次传输两遍地址(用户码)和命令(按键值) 3. 通过脉冲串之间的时间间隔来实现信号的调制(PPM) 4. 38Khz 载波 5. 每位的周期为 1.12ms(低电平)或者 2.25ms(高电平) 二、NEC 协议的典型脉冲链: 用户码和数据码中的‘0’和‘1’是利用脉冲的时间间隔来区分,这种编码方式称为脉冲 位置调制方式(PPM)。 其中位 0 首先为 0.56ms 的高电平,然后是 0.565ms 的低电
[单片机]
<font color='red'>单片机</font>红外通信(红外编码发射和红外接收解码代码)
PIC单片机位域结构的应用解析
在写程序中遇到要用标志位的情况,以为可以和keil51一样进行位定义,虽知道一直报错,后来才知道MC18编译器是不支持位定义的(PICC18编译器倒是支持的)下面给出一种解决办法—》位域结构体。 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明
[单片机]
PIC<font color='red'>单片机</font>位域结构的应用解析
单片机式语音播报伏特表
摘要: 本文将介绍一种基于单片机的语音播报伏特表,该系统可以对直流电压进行比较高精度的测量并用语音播报该值。同时,亦可以通过改变ADC中REF(—)和REF(+)的值实现对不同范围的直流电压的测量。 关键词: 单片机 语音播报 模数转换(ADC) 伏特表 引言 传统的伏特表在我们的日常生活及科学研究中起到了其独特的作用,但是在科学技术日新月异、集成芯片在日常生活中的应用越来越广泛的今天显得比较落伍:①它们的量程往往在出厂以前就限定好的,不能根据具体使用场合进行相应调整;②测量精度有限;③不能够将测量结果用语音播放出来。本文将介绍一种由单片机最小系统 、模-数转换电路 、语音电路 、LED显示电路 组成的单片机式语
[单片机]
单片机系统软件抗干扰方法
简介:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1 软件抗干扰方法的研究 在工程实践中,软件抗干扰研究的内容主要是: 一、消除模拟输入信号的嗓声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。 1.1 指令冗余 CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。 在关键地方人为插
[单片机]
8位单片机的16位外部总线扩展与应用
  随着电子设计技术的进步和芯片制造工艺水平的提高,16位和32位单片机的使用越来越广泛,但是8位单片机因其制造工艺成熟、价格低廉等特点,仍然在市场上占有相当大的比例,尤其在成本敏感和可靠性要求极高的汽车电子领域,更占用绝对优势,带有外部总线的8位单片机,可以方便地与8位总线设备(如A/D、RAM和CAN总线)相连。随着对传输性能要求的提高,出现了大量的16位总线设备(如网络接口芯片),8位单片机要与16位总线设备相连接,通常的做法是利用I/O端口来模拟16位总线的读/写时序,数据传输速率较低,且原有的8位设备的传输速率也随之降低,因而限制了8位单片机的使用范围,本文提出一种8位单片机扩展16为外部总线的方法,不影响原有8位器件的
[应用]
ST推出全球首款90nm技术嵌入式闪存的微控制器
意法半导体(纽约证券交易所代码:STM)宣布在基于ARM Cortex-M系列处理器内核的微控制器研发项目上取得突破,推出全球业内首款采用90nm技术嵌入式闪存的微控制器。 目前几乎没有几家公司研制出采用这种制程的任何架构的微控制器,但意法半导体利用现有安全微控制器和车用微控制器的投资,研发90nm嵌入式闪存技术,来实现基于32位ARM Cortex-M3内核的STM32微控制器的性能和成本优势。2009年第四季度部分客户将获得样片,新产品2010年开始量产。这些微控制器的特性包括:运行速度快,外设集成度高,节能降耗,提供当前市场上密度最高的片上SRAM和非易失性存储器。 STM32系列已是市场上产品系列最宽
[汽车电子]
基于单片机的交通灯系统设计
#include stcreg.h #define uchar unsigned char #define uint unsigned int sbit FMQ=P3^4; sbit QR=P2^7; sbit QY=P2^6; sbit QG=P2^5; sbit HR=P2^7; sbit HY=P2^6; sbit HG=P2^5; sbit ZR=P2^4; sbit ZY=P2^3; sbit ZG=P2^2; sbit YR=P2^4; sbit YY=P2^3; sbit YG=P2^2; sbit SWITCH1=P1^0; sbit SWITCH2=P1^1; sbit SWITCH3=P1^2; sbit
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved