CAN总线在家庭智能化控制系统中的研究与应用

发布者:哈哈哈33最新更新时间:2011-10-12 关键字:CAN总线  家庭智能化控制 手机看文章 扫描二维码
随时随地手机看文章

    0 引言

  家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。

  CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检测控制而开发的一种串行数据通讯协议,它是一种多主机总线,通讯介质可以是双绞线、同轴电缆或光导纤维,通讯速率为1Mb/s。CAN总线具有卓越的性能,极高的可靠性和独特的设计,广泛应用于工业自动化、交通工具、医疗仪器以及建筑、环境控制等众多部门。

  1 家庭智能化控制系统的组成

  家庭智能化控制系统是电视、洗衣机、空调及水表、电表、燃气表等设备的指挥通信和信息管理的核心,主要功能是与远程控制系统进行数传通信,接收各种控制口令,完成对相应设备的实时控制。

  控制系统中凡具有嵌入式微处理器或微计算机的单体均通过CAN总线相互连接。组成分布式局部网,实现数据交换和信息资源共享。这种设计具有以下优点:减少了通信端口、连接电缆;抗干扰能力强;配置灵活、系统扩展和升级方便;调试简单,检修方便。

  由CAN总线组成的家庭智能化控制系统原理如图1所示。


  2 PLC与CAN总线的连接

  现以GE FANUC系列90 PLC为例,给出一个PLC与CAN总线的连接方案。

  GE系列90 PLC都带有经转换的RS 232串行通讯口,编程计算机通过此串口与PLC进行通讯和编程。RS 232标准电平采用负逻辑,规定+3~+15V之间的任意电平为逻辑“0”电平,-3~-15V之间的任意电平为逻辑“1”电平。而CAN信号则使用差分电压传送,两条信号线称为“CAN _H”和“CAM_L”,静态时均为2.5 V左右,此时的状态表示为逻辑“1”,也可以叫做“隐性”;用CAN_H比CAN_L高表示逻辑“0”,称为“显性”。显性时,通常电压值为:CAN_H=3.5V,CAN_L=1.5V。

  RS 232串口的帧格式为:1位起始位,8位数据位,1位可编程的第9位(此位为发送和接收的地址/数据位),1位停止位。而CAN的数据帧格式为:帧信息+ID+数据(可分为标准帧和扩展帧两种格式)。因此,设计时就需要有一个微控制器来实现电平和帧格式等的转换,其转换方式如图2所示。


  用单片机AT89C52作为微处理器;用SJAl000作为CAN微控制器,SJAl000中集成了CAN协议的物理层和数据链路层功能,可被动局面对通信数据的帧处理;高速光电隔离用6N137实现,其作用是防止串入信号干扰;MAX232用来完成RS 232电平到微控制器接口芯片TTL电平的转换。具体的硬件接口电路参见SJAl000的资料,但有以下几点需要注意:

  (1)CAN总线两端接有一个120 Ω的电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠性。但实际上只需保证CAN网络中“CAN_H”和“CAN_L”之间的跨接电阻为60 Ω即可。

  (2)SJAl000的20引脚RXl在不使用时可接地,配合CDR.6的置位可使总线长度大大增加。

  (3)引脚TX0,TXl的接法决定了串行输出的电平。具体关系可参考输出控制寄存器OCR的设置。

  (4)AT82C250的RS引脚与地间接有1个斜率电阻。电阻大小可根据总线通信速度作适当调整,一般在16~140 kΩ之间。

  (5)MAX232外围需要4个电解电容C1,C2,C3,C4,这些电容也是内部电源转换所需电容,其取值均为1μF/25 V,宜选用钽电容并且位置应用量靠近芯片,电源Vcc和地之间要接1个0.1μF的去耦电容。

  在微处理控制下,RS 232和CAN进行数据交换时,采用串口接收和CAN中断方式可提高工作效率。SJAl000的初始化在复位模式下才可以进行,主要包括工作方式的设置、时钟分频和验收滤波寄存器的设置、波特率参数的设置以及中断允许寄存器的设置等。其主程序流程图如图3所示。


  数据能否准确传递还取决于波特率和流量控制,这也是软件设计时不可忽略的地方。因此接下来主要介绍CAN波特率的设置、串口波特率的自动检测、串口数据流量控制。

  CAN协议中的要素之一是波特率。可以设置位周期中的位采样点位置和采样次数,以使可以自由地优化应用网络性能,但在优化过程中,要注意位定时参数基准参考振荡器的容差和系统中不同信号传播延迟之间的关系。

  系统的位速率fbit表示每单位时间传输数据位的量,即波特率fbit=1/tbit。额定的位定时由3个互不重叠的段SYNC_SEG,TSEGl和TSEG2组成,这3个时间段分别是tSYNC_SEG,tTSEGl和tTSEG2。所以,额定位周期tbit是3个时间段的和:tbit=tSYNC_SEG+tTSEGl+tTSEG2。位周期中这些段都用整数个基本时间单位来表示。该时间单位叫时间份额TQ,时间份额的持续时间是CAN系统时钟的一个周期tSCL,可从振荡器时钟周期tCLK取得。通过编程预分频因数(波特率预设值BRP)可以调整CAN系统时钟,即tSCL=BRP×2tCLK=2BPR/CLK。

  对CAN位定时计算的另一个很重要的时间段是同步跳转宽度(SJW),持续时间是tSJW。SJW段并不是位周期的一段,只是定义了在重同步事件中被增长或缩短的位周期的最大TQ数量。此外,CAN协议还允许用户指定位采样模式(SAM),分别是单次采样和三次采样模式(在3个采样结果中选出1个)。在单次采样模式中,采样点在TESG1段的末端。而三次采样模式比单次采样多取两个采样点,它们在TSEGl段末端的前面,之间相差一个TQ。上面所提到的BPR,SJW,SAM,TESGl,TESG2都可由用户通过CAN控制器的内装中寄存器BTR0和BTRl来定义。设置好BTR0和BTRl后,实际传输的波特率范围为:最大=1/(tbit-tSJW),最小=1/(tbit+tSJW)。

  检测转换装置的串口波特率,首先可对主机的接收波特率(以9600 b/s为例)进行设定,并在终端发送一个特定的字符(以回车符为例),这样,主机根据接收到的字符信息就可以确定转换装置的通信波特率。回车符的ASCII值是0DH,在不同波特率下接收到的值如表1所列。


  数据在两个串口之间的传输时,常常会出现丢失数据的现象。由于单片机缓冲区有限,如接收数据时缓冲区已满,那么此时继续发送来的数据就会丢失。而流控制能有效地解决该问题,当接收端数据处理不过来时,流控制系统就会发出“不再接收”的信号,而使发送端停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据丢失。常用的两种流控制是硬件流控制(包括RTS/CTS,DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面仅就硬件流控制RTS/CTS加以说明。

  采用硬件进行流控制时,串口终端RTS,CTS接到单片机的I/O口,通过置I/O口为1或0来接收和发出起停信号。数据终端设备(如计算机)使用RTS来起始单片机发出的数据流,而单片机则用CTS来起动和暂停来自计算机的数据流。实现这种硬件握手方式时,在编程时根据接收端缓冲区的大小设置一个高位标志和一个低位标志,当缓冲区内数据量达到高位时,就在接收端将CTS线置低(送逻辑0),而当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高为止。RTS则用来标明接收设备有没有准备好接收数据。

  以下是CAN接收子程序:



  3 结语

  通过对家庭智能控制系统的分析,采用PLC与CAN总线构建成控制性局域网,通过仿真系统的测试,该总线完全能完成对家庭智能终端设备实行控制,但要使它控制的稳定性和实时性得到进一步提高,还需在此基础上作更加深入的研究。

关键字:CAN总线  家庭智能化控制 引用地址:CAN总线在家庭智能化控制系统中的研究与应用

上一篇:基于上位机与FPGA开发板的光纤通道接口适配器
下一篇:嵌入式系统中I2S总线数据通信的软件模拟

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

CAN总线在CFA6470混合动力汽车中的应用
【摘要】 根据CFA6470长丰混合动力汽车的特点,运用TMS320LF240X系列数字信号处理器和89C52单片机,组建了基于CAN总线多主分布式控制技术的控制网络。提出了一种基于TMS320LF2407A内嵌式CAN控制器的混合动力汽车能源总成控制系统设计与实现方案。 【关键词】混合动力汽车,CAN,分布式控制,能源总成控制系统 1 引 言   混合动力汽车(HEV)表示有多种动力参与汽车驱动,一般指的是燃油发动机和电机这两种动力。目前,国内和国际上对混合动力汽车的研究和开发方兴未艾,这种车综合了传统汽车引擎驱动与电机驱动的两大优点。主要能源仍然是汽油、柴油。混合动力汽车既充分发挥了燃料发动机持续工作时间长、动力性
[汽车电子]
<font color='red'>CAN总线</font>在CFA6470混合动力汽车中的应用
基于CAN总线数据采集的远程抄表系统设计
  引言   随着计算机技术、现代通信技术和自动控制技术的迅速发展,智能化建筑在许多国家应运而生。自动抄表系统是大力发展中的智能建筑、楼宇自动化的重要组成部分,是家庭自动化的必然,因而日益受到关注。与传统抄表方式相比,智能抄表系统具有方便快捷、节省人力物力、提高工作效率、精确度高等优点。本文主要提出一种小区电能表自动抄表的系统设计方案。   系统构成   如图1所示,自动抄表系统主要由电能表、数据采集器、集中器、数据传输通道和后台管理服务器等组成;其中电能表主要是在传统机械式电表基础上将转盘适当改造,以便能将其转动圈数被数据采集器采集转化为电脉冲数,以达到数据采样的目的;采集器主要完成将电表用电量转换成电脉冲信号以完成数据的
[嵌入式]
车用线束与CAN总线控制车内通信技术动向
在现代汽车上,电子控制系统与线束有着密切关系。如果把微机、传感器与执行元件的功能用人体来比喻,可以说微机相当于人脑,传感器相当于感觉器官,执行元件相当于运动器管。显然,只有头脑和各种器官,没有神经和血管,人体的手足将不能发挥应有的功能。 连接汽车的电气电子部件并使之发挥功能的电线束,就是起汽车中“神经与血管”的作用。线束是由构成电路的电线组成,它既要确保传送电信号,也要保证连接电路的可靠性,向电子电气部件供应规定的电流值,防止对周围电路的电磁干扰,并要排除电器短路。 汽车的线束从功能来分,有传递传感器输入指令的信号线和运载驱动执行元件(作动器)电力的电力线二种。信号线是不运载电力的细电线(光纤维通信),电力线
[汽车电子]
光纤CAN总线集线器及其组网研究
1 引言     CAN是一种采用无破坏性位竞争机制实现串行多主通信的现场总线。由于具有抗干扰能力强、报文短、实时性好和组网成本低等优点,CAN总线被广泛地应用于环境恶劣、电磁辐射大、对可靠性要求高的工业自动化现场和汽车部件控制等领域。     最常用的CAN总线物理层传输介质是双绞线。ISO11898-2定义了以双绞线为介质的高速CAN总线物理层标准。在CAN总线中,网络可实现的最高速率与总线的尺寸有关。例如当线缆长度不大于40 m时可实现的最高速率为1 Mb/s。实际使用时,以下几个原因会造成最高可实现速率的下降:     1)总线上接入的节点过多造成总线参数失配;     2)节点上加装的过压过流保护电路造成
[嵌入式]
如何运用Specman Elite实现汽车CAN总线的全面验证
    CAN是汽车产业中得到广泛应用的数据与控制通信网络,汽车环境中有许多应用要求极高的可靠性和容错能力,本文介绍如何运用Specman Elite的强大功能为含有控制器局域网络或CAN接口的待测设计提供全面的验证。      当今采用HDL原始程序代码的先进验证工具广泛采纳了系统工程知识,并与代替专门测试装置的可再使用验证组件整合在一起,为设计师提供了丰富的支持能力。Cadence公司的Specman Elite验证工具就是这样一款验证技术工具,它能提供可配置、可再使用和可扩展的验证组件,这些组件被称为eVC。这些组件采用高级验证语言e编写,能够产生足够多的测试激励讯号,并能对设计行为与预期结果进行检查确认。eVC可以极大地缩短
[嵌入式]
CAN总线技术在工业码垛机器人控制系统中的应用研究
目前在用的工业码垛机器人种类繁多,但根据其多轴控制系统的技术特点一般可分为三种类型:1)基于PLC的多轴控制系统;2)基于PC的多轴控制系统;3)基于总线的多轴控制系统。其中,总线控制系统具有数字信号传输、系统完全开放等优点,得到广泛的应用。笔者通过研究发现,基于现场总线,尤其是CAN总线的工业码垛机器人在实际应用中具有便于组网、性价比高、扩展性强等特点,在大工业生产中具有广阔的发展前景。 工业码垛机器人 笔者所在科研团队开发的新型工业码垛机器人(机构简图如图1所示),其主体机械结构是基于平衡吊原理的七杆机构,具有承载力大、稳定性好、结构紧凑、节省能耗等特点。机器人的动力由四台交流伺服电机提供,分别负责机器人沿水平方向、沿垂直方
[工业控制]
<font color='red'>CAN总线</font>技术在工业码垛机器人<font color='red'>控制</font>系统中的应用研究
基于μC/OS-II实时系统的CAN总线远程通信模块设计
     引言   应用实时多任务操作系统(RTOS)作为嵌入式设计的基础和开发平台将成为嵌入式应用设计的主流。μC/OS-II是一种源码公开、可移植性、可固化、可裁剪、占先式的实时多任务操作系统,目前已经得到广泛的应用。   在为电力系统接地选线装置开发的数据采集监测系统的设计中,笔者设计了集散式的数据采集结构,灵活的组态适应了目前国内多数中低压输配电网的数据采集需求。在此硬件平台上,笔者将实时操作系统μC/OS-II移植到TMS320LF2407A型号的DSP上,实现了多任务的并行执行,系统的可靠性和实时性得到大幅提升;设计了CAN总线驱动程序,使得下位采集处理模块与上位的主控制器具备了可靠快速的通信功能和协调功能。
[嵌入式]
CAN总线错误分析与解决
1、CAN总线的常见故障 CAN总线错误分析与解决 当CAN总线出现故障或数据传输异常时,往往会出现多种奇怪的故障现象,如仪表板显示异常,车辆无法启动,启动后无法熄灭,车辆动力性能下降,某些电控系统功能失等。 这是因为相关数据或信息是通过CAN总线传输的,如果传输失败,那么会产生多种连带故障,甚至造成整个网络系统瘫痪。 最为常见的故障症状是仪表板的显示异常,如下图所示。 在检修过程中,首先应查看具体的故障症状,根据故障症状和网络结构图来初步分析有可能是哪些原因造成的,然后使用相关的诊断仪器进行诊断,根据诊断结果制定相关检修方案,做到心中有数,目标明确。接着查找具体的故障部位和原因,同时结合相应的检测方法和测量结果找到故障点,从
[嵌入式]
<font color='red'>CAN总线</font>错误分析与解决
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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