基于CAN总线的家庭控制器的设计与实现_第1页
基于CAN总线的家庭控制器的设计与实现_第2页
基于CAN总线的家庭控制器的设计与实现_第3页
基于CAN总线的家庭控制器的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于CAN总线的家庭控制器的设计与实现        摘要:CAN总线是一种新型网络协议,是一种有效支持分布式控制和实时控制的串行通信网络,它具有传输速度快、自动解决总线竞争、实时性好、可靠性高、纠错能力强等特点,目前已成为一种国际总线标准。本文介绍一种基于CAN总线的家庭控制器的实现方案。   引言CAN(Controller Area Network)总线是德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线

2、、同轴电缆或光导纤维,通信速率可达1Mbps,通信距离可达10km,CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。因此,CAN协议对于许多领域的分布式测控是很有吸引力的。目前CAN已成为ISO11898标准,其特性如下:(1)CAN是一种有效支持分布式控制和实时控制的串行通信网络。(2)CAN协议遵循ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。(3)CAN可以多主方式工作,本质上也是一种CSMA/CD方式,网络上任意一个

3、节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从,节点之间有优先级之分,因而通信方式灵活;CAN采用非破坏性位仲裁技术,优先级发送,可以大大节省总线冲突促裁时间,在重负荷下表现出良好的性能;CAN可以点对点、一点对多点(成组)及全局广播等几种方式传送和接收数据。(4)CAN的直接通信距离最远可达10km(传输速度为5 Kbps);最高通信速率可达1Mbps(传输距离为40m)。(5)CAN上的节点数据实际可达110个。(6)CAN数据链路层采用短帧结构,每一帧为8个字节,易于纠错;CAN每帧信息都有CRC校验及其它检错措施,有效地降低了数据的错误率;CAN节点在错误严重的情况下

4、,具有自动关闭的功能,使总线上其它节点不受影响。(7)信号调制解调方式采用NRZ编码/解码方式,并且采用插入填充位(位填充)技术。(8)数据位具有支配“0”(Dominant bit)和退让“1”(Recessive bit)两种逻辑值,采用时钟同步技术,具有硬件自同步和定时时间自动跟踪功能。基于CAN总线的家庭控制器总线设计方案图1是基于CAN总线的总体结构示意图,系统采用支持CAN标准的总线型网络。中央计算机系统(上位机PC)通过CAN接口适配卡与CAN总线相连,进行数据交换。通过双绞线把中央计算机系统和家庭控制器(下位智能节点)挂接在一条总线上,构成低层通信网络。由于采用了CSMA/CD

5、的信息传输控制技术,允许总线上各节点平等争用总线,从而可构成具有多主节点的冗余网络结构。在数据链路层中,规定了支持CAN协议的两种帧类型:数据帧和远程帧。数据帧用来发送数据,用于一个节点传送信息到其它任一或所有节点;远程帧用来“远程发送请求”,用于一个节点主动要求其它节点发送信息,两种帧的具体格式如图2所示。硬件电路设计家庭控制器硬件设计本系统是由许多智能家庭控制器通过CAN总线相连而组成的一个控制器局部网,因此,CAN总线的设计就显得极为重要。其中,CAN控制器的选取、CAN收发器以及抗干扰措施将成为设计的关键。CAN控制器的选取CAN收发器PCA82C250是PHILIPS公司的CAN控制

6、器和物理总线间的接口,提供对总线的差动发送和接收能力。它与ISO11898标准完全兼容,有三种不同的工作方式即高速、斜率控制和待机,可根据实际情况选择。光电隔离为了进一步提高系统的抗干扰能力,在控制器SJA1000和收发器PCA82C250之间增加了由高速隔离器件6N137构成的隔离电路,电源采用DC-DC变换器。硬件电路中使用PCA82C250是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。CAN器件与微处理器的硬件结构图如图3所示。CAN接口适配卡和CAN总线中继器CAN接口适配卡完成CAN-PC总线的通信。适配卡由单片机89C51、CAN控制

7、器SJA100、CAN收发器89C250及其控制电路组成。由于CAN收发器的限制,在一个CAN总线网络中,最多只能有110个CAN节点,最多只能有110个CAN节点。利用中继器可对CAN总线进行扩展,不但可使CAN节点总数达到2032个,而且可使CAN通信距离成倍增加,同时也可以把两个不同速率的CAN网连接在一起,组成更复杂的CAN网络。中继器采用特定的控制逻辑控制一对CAN收发器82C250.CAN收发器背-背相接,连接两个物理上独立的CAN网,双向传输数据。从物理层上看,中继器实现CAN总线信号的透时中继。软件设计上位机软件家庭控制器(节点)软件实现与上位机及其它节点的信息交换。在软件设计

8、中, 遵循模块化设计思想,采用结构化程序设计方案,使之具有良好的模块性、可修改性和可移值性。CAN总线系统的初始化设计是软件设计的关键,这一部分设计不好,系统将不可能正常工作。因此初始化设计是一个难点,又是一个重点。在初始化之前,应设置输出控制寄存器(OCR)的复位请求位为高,再设置其它寄存器。控制寄存器(CR)设定中断;命令寄存器(CMR)控制缓存器的接收状态;中断寄存器(IR)、状态寄存器(SR)查询SJA1000的工作状态;接收码寄存器(ACR)设定工作地址;接收屏蔽寄存器(AMR)设定工作形式,总线定时寄存器(BTR0、BTR1)设定工作频率、采样频率;输出控制寄存器(OCR)一般为正常输出方式,最后应使复位请求位从高变低,使CAN控制器进入正常工作状态。因此,对CAN控制器进行初始化,实际上就是对ACR,AMR,BTR0,BTR1和OC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论