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

发布者:InspiredDreamer最新更新时间:2012-01-14 关键字:单片机  μPD780822  CAN总线  智能开关  节点 手机看文章 扫描二维码
随时随地手机看文章

1 引言
  
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网络上,如工业自动化等领域。

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

上一篇:基于MSCl210Y5的多通道数据采集系统
下一篇:单片机SPI通信中数据流的同步问题研究

推荐阅读最新更新时间:2024-03-16 12:50

基于MCS-51单片机的定时报警器电路原理图
  选用MCS-51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,由于 AT89S51单片机驱动能力有限,采用两片74HC244 实现总线的驱动,一个74HC244完成位控线的控制和驱动,另一个 74HC244 完成数码管的 7段码输出,在输出口上各串联一个 100欧姆的电阻对7 段数码管限流。   由于键盘数量不多,选择独立式按键与 P1口连接作为四个按键输入。没有键按下时 P1.0-P1.3为高电平,当有键按下时,P1.0-P1.3相应管脚为低电平。电路原理图如下图所示。
[单片机]
基于MCS-51<font color='red'>单片机</font>的定时报警器电路原理图
51单片机逻辑运算指令表与示例
1.逻辑运算 指令 的一般性说明 与、或、异或的逻辑运算指令可以Acc或direct为目标。但是以direct为目标时,另一操作数只能是Acc或立即数。 与、或、异或是对位逻辑运算。 其他逻辑运算指令只对Acc操作。 小循环不影响Cy,大循环Cy在循环圈内。 除了RLC和RRC,逻辑运算指令不影响P以外的标志位。 2.与、或、异或的特殊用途 用ANL指令屏蔽指定位 例:ANL A,#0FH ;屏蔽高4位 用ORL指令将指定位置1 例:ORL A,#0FH ;将低4位置1 用ORL指令拼接一个字节 例:ANL A,#0FH ANL B,#0F0H ORL A,B 用XRL指令将指定位取反
[单片机]
51<font color='red'>单片机</font>逻辑运算指令表与示例
单片机休眠-复位运行方式提高抗干扰能力
摘要:介绍一种用休眠-复位运行方式提高单片机抗干扰能力的方法;分析其适用范围,给出具体应用电路;结合实例,分析这种运行方式下硬件和软件设计的特点。 关键词:单片机 复位/休眠抗干扰 引 言 随着微电子技术的飞速发展,单片机的性能迅速提高,在运算、逻辑控制、智能化方面显示出非凡的优势,在很大程度上取代了原来由数字逻辑电路、运算放大电路组成的检测、控制电路,应用非常广泛。但由于它存在着死机、程序跑飞等致命缺陷,使它在许多重要场合的应用受到限制。在抗干扰方面的许多技术,比如设软件陷阱、加硬件看门狗电路等,可使这一问题有较好的解决,但仍然存在问题:① 看门狗动作时,意味着已经出现了错误,且运行了一段时间,这在有些场合是不允许的
[单片机]
纺织厂基于CAN总线多PLC组网系统的实现
     1  引言           目前,一般常见plc型号都没有集成现场总线can-bus的通讯功能接口,因而不便于基于can总线多台plc控制网络的实现。随着应用技术的发展,工业经常会出现需要n台plc协同完成一个系统的综合控制。此时,原有集中控制的单一plc控制方案就显得力所不及,plc网络的集成工程需求也应运而生。          本文提出了一种基于现场总线can-bus的plc网络方案,能够对多台联网的plc实现远程配置、数据通信,并能够在投入较低硬件成本的基础上,实现良好的系统运行性能。这个方案不仅充分发挥了现场总线can-bus的通信特点:实时、可靠、高速、远距离、易维护等,而且将现场总线技术与集中控制技
[电源管理]
纺织厂基于<font color='red'>CAN总线</font>多PLC组网系统的实现
瑞萨推业界首款采用90 nm工艺MCU,速度可达200 MHz
业界第一个采用90 nm工艺带有片上闪存的微控制器,实现200 MHz业界最高运行速度 利用高性能SH-2A CPU内核,性能较以前产品提升约4倍,有助实现高精度、实时引擎和传输控制 日前,瑞萨科技(Renesas Technology Corp.)宣布开发出了业界第一个采用90 nm(纳米)工艺并带有片上闪存的,可用于汽车引擎、传输等控制程序开发的微控制器——32位SuperH(注1) 系列SH72546RFCC。据悉,该样品将从2007年10月开始在日本交付。 SH72546RFCC微控制器最大的突破是可在汽车应用所需的125℃高温工作环境下,实现200 MHz的业界最高运行速度。此外,它还采用了业界最大的片上闪存容量,可
[单片机]
51单片机中断应用与编程方法
中断的概念 中断示意图见图1,以下做3点说明。 1、CPU 在处理某一事件A 时,发生了另一事件B 请求CPU 迅速去处理(中断发生); 2、CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 3、待 CPU 将事件B 处理完毕后,再回到原来事件A 被中断的地方继续处理事件A(中断返回),这一过程称为中断 。 图1 中断示意图 引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构),51单片机中断结构见图2。 图2 中断结构
[单片机]
51<font color='red'>单片机</font>中断应用与编程方法
stm32f030c8t6 MCU进入低功耗模式
1. sleep 模式 2. stop 模式,在这个模式下,IO管脚保持run状态下的电平,RAM保持不变,所以在进入这个状态之前,先先将IO口配置好,,否则可能会有漏电流 3,standby模式下,RAM不保持,IO管脚进入高阻态,,,激活就于系统reset RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //时钟必须要开启,在这个陷阱中折腾了好几天 PWR_BackupAccessCmd(ENABLE); PWR_WakeUpPinCmd(PWR_WakeUpPin_1,ENABLE); PWR_ClearFlag(PWR_FLAG_WU);
[单片机]
51单片机P0口的特性及使用方法解析
一、P0口特性: P0口为三态双向I/O口。对于内部有程序存贮器的单片机基本系统(如定制的8051),P0口可以作为输入/输出口使用,直接连外部的输入/输出设备;也可以作为系统扩展的地址/数据总线口。对于内部没有程序存贮器的单片机(如8031),P0口只能作为地址/数据总线口使用。 1、P0口的输出驱动器中也有一个多路电子开关。输出驱动器转接至口锁动器的Q端时,P0口作为双向I/O口使用。 这时,CPU发来的控制信号为低电平,使输出驱动电路的上拉场效应管T1截止。P0口的锁存器为“1”时,输出驱动器中的两个场效应管均截止,引脚浮空;由于P0口输出电路是漏极开路的电路,必须外接10kΩ拉高电阻才能有高电平输出。而写入“0”时,下
[单片机]
51<font color='red'>单片机</font>P0口的特性及使用方法解析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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