基于CAN总线智能节点的设计

发布者:乐呵的挑最新更新时间:2014-12-29 来源: e-works关键字:CAN总线  智能节点  通信系统 手机看文章 扫描二维码
随时随地手机看文章

    CAN总线最早是德国的BOSCH公司为解决汽车的监测,控制系统而设计的。现在,已由汽车行业扩展到过程工业,机械工业,机器人和楼宇自动化等领域。总结各个领域中的应用实例,CAN通信设计的关键在于各个通信模块的设计与实现。通信信号一般有模拟量输入/输出(电压电流采集模块),开关量输入\输出,数字量输入\输出(如计数器模块)等。本文重点就模拟量输入模块和开关量输入模块的设计,采用具有CAN接口的C8051F550单片机作为系统设计的从节点,用来采集模拟量和开关量,实现与上位机中央控制器的通信。

1 CAN总线通信网络系统

    如图1所示,本设计中通过带有终端器(120欧电阻)的通信介质(双绞线)将上位机和底层模块连接起来。实验中,终端电阻和双绞线阻抗的匹配确保了数据信号不会在总线的两端反射。上位机(主节点)采用USB—CAN接口适配器(型号GYB507),使PC机直接通过USB接口就可连入CAN总线网络,成为一个标准的CAN节点。配合总线通信测试软件CANtool的使用,可直接配置PC机的发送与接收状态,通信速率和报文滤波功能等。同时,还可实时监测显示网络中各从节点与PC机的数据通信,应用简单、方便。

 

图1 CAN总线通信网络结构

2 智能节点硬件设计

    传统的从节点设计是将CPU与CAN总线控制器和总线收发器相连后再连入总线网络,这样使CPU外围电路复杂化,整个系统受外部影响较大。为了解决这一问题,很多单片机厂商都将CAN控制器集成在单片机上。本文中选用C8051F550该单片机,它是内部集成的CAN控制器,完全按照BoshchCAN全功能的CAN模块实现,符合CAN2.0B协议,工作位速率可达1Mpbs。控制器包含有一个CAN内核,消息缓冲区,报文处理状态机和CAN控制寄存器。通信控制器有32个消息对象,可以配置为发送或接收数据。输入数据,消息对象及其标识符存储在CAN消息缓冲区中,能实现CAN协议的数据链路层的全部功能及物理层大部分功能。CIP-51CPU可通过特殊功能寄存器直接或间接访问CAN控制寄存器(CANOCN),测试寄存器(CANOTST)和状态寄存器(CANOSTA)。所有其它寄存器只能通过CANOADR,CANODATH和CANOTAL寄存器以地址索引方式间接访问。

    CAN总线的驱动器采用隔离CAN总线收发器CTM1050,通信速率1Mbps,至少可连接110个节点。内部集成的电气输入级隔离电路,可隔离高达2 500V的直流电压。输入级兼容3.3V和5V的CAN控制器,输出级驱动具有温度保护,内部TVS管可防止总线过压功能。与传统的PCA82C250总线收发器相比,主要优点是无需外加光耦可直接使用,外围电路简单,安全,可满足工业现场恶劣条件的使用。图2所示为C805117550与CTM1050的接口电路。

 

图2 C805F550与CTM1050的接口电路

3 智能节点软件设计

    图1中三个节点与上位机的通信方式采用的是节点1、3与上位机实现点对点通信工作方式。节点1、3的微处理器C8051F550上电复位后,自动采集模拟电压信号,通过C8051F550内部集成的12位A/D转换,将数字量发送到上位机。上位机实时进行数据监控,如果收到的数据出现错误,可以通过CANtool软件,发送自定义的错误数据标识给两个节点,两节点收到该数据后,停止A/D采样工作。节点1、3与节点2是主从工作方式。当节点2的开关量有按键按下时,1、3节点将实时采集到的数据在发送给节点2,并在节点2的LCD上显示。[page]

    3.1 初始化CAN控制器

    C8051F550上电复位后,控制寄存器CANOCN的INIT位和CCE位置‘1’。允许寄存器初始化并写入设置信息。需要写入的寄存器主要包括位定时寄存器和扩展寄存器,命令掩码寄存器。主要完成时序参数的配置和消息对象的初始化。本设计中,使用晶振频率为11.05MHz,位定时设置为996.65~1000ns。初始化程序如下:

    3.2 CAN中断服务程序

    C8051F550的CAN支持的中断方式有状态中断和模块中断。状态中断方式是在报文成功传输或检测到CAN总线出错时发生的。模块中断也称消息中断。CAN控制器允许用户按需求配置消息对象成为中断源。通过设置消息控制寄存器的中断悬挂位可实现此功能。在CAN中断寄存器中以最高优先级来指向这些挂起的中断,而不考虑时序。状态中断有最高优先级,读取状态寄存器会自动清除状态中断值(8000h)。消息中断优先级是随消息编号的增加而减小。消息中断是由清除消息对象的INTPND位来清除的。中断服务流程图如图3所示。

 

图3 中断服务流程

4 结束语

    本系统的总线通信网络已实现三个节点与上位机的连调,系统软件采用结构化程序设计方案,使其具有较好的模块化和可移植性,对于不同的系统功能或不同的应用环境,可以方便地进行编程重组。

    本文设计的CAN总线通信网络中的主从智能节点经过试验调试,硬件电路工作正常,在总线数据采集系统中抗干扰能力强。软件部分实时性强,准确率高。从节点可以实时地将信息传送给主节点,以便主节点实时监控。整个节点通信系统工作稳定,可以满足现场环境要求。

    在设计过程中,认识到目前基于CAN2.0B协议的CAN控制器无法为实时和非实时性数据动态分配优先权,基于事件触发模式的访问机制无法满足众多节点的实时访问。

关键字:CAN总线  智能节点  通信系统 引用地址:基于CAN总线智能节点的设计

上一篇:基于FPGA的高速串行传输系统的设计
下一篇:基于CAN总线和PSA模型的AMT在线故障诊断系统

推荐阅读最新更新时间:2024-05-02 23:24

CAN总线—PROFIBUS-DP总线网关的实现方法
1 引言   在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术垄断范围。但每种现场总线都以一个或几个大型跨国公司为背景,公司的利益与总线的发展息息相关。这些公司竞争的结果是多种总线协调共存。据不完全统计,目前国际上有200多种现场总线,而其中占据市场主流的现场总线有十几种 。现场总线的多样性,为总线设备用户提供了更多产品选择的同时,也为总线用户带了总线设备间兼容性问题。工厂在扩建,改建等过程中很可能会选用与原先现场设备总线标准不同的产品,这些设备由于使用不同的现场总线,彼此间不能实现数据共享,于是就降低了设备间功能互补的优
[网络通信]
基于单片机的数字通信系统位同步提取的设计及分析
在 数字通信系统 中,发送端按照确定的时间顺序,逐个传输数码脉冲序列中的每个码元。而在接收端必须有准确的抽样判决时刻才能正确判决所发送的码元,因此,接收端必须提供一个确定抽样判决时刻的定时脉冲序列。这个定时脉冲序列的重复频率必须与发送的数码脉冲序列一致,同时在最佳判决时刻(或称为最佳相位时刻)对接收码元进行抽样判决。可以把在接收端产生这样的定时脉冲序列称为码元同步,或称位同步。   实现位同步的方法和载波同步类似,有直接法(自同步法)和插入导频法(外同步法)两种,而直接法又分为滤波法和锁相法。本文介绍的方法就是用直接法中的 锁相环 实现的。   1 数字锁相位同步提取原理   数字通信系统接收端位同步提取通常采用如图1所示的数字
[模拟电子]
基于单片机的数字<font color='red'>通信系统</font>位同步提取的设计及分析
CAN总线在家庭智能化控制系统中的研究与应用
    0 引言   家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。   CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检
[嵌入式]
CAN总线解决方案在小儿尿裤包装机的应用
  尿裤生产线是一个对系统的协调性要求很高的一种机械设备,要求控制系统能够提供很好的协调能力,协调各个伺服之间的动作流程,不能出现系统动作间断的情况,同时还要求伺服系统具有很好的反应能力,及时处理来自PLC的命令,以达到很高的生产效率。我们所做的这套系统是用来包装尿裤的,同时也可以用来包装卫生巾,系统各方面要求很高,整个系统控制工艺复杂,控制设备繁多,各个电机之间要求很高的协调性.该系统采用5套伺服电机控制,而每套伺服电机间均有数据交换,且数据通讯也要求很强的实时性,也就是要求系统具有总线通讯能力,这样就要求伺服驱动器拥有非常强大的功能才能满足控制要求,而Kinco伺服驱动器则能满足此类系统控制要求,下面是我们驱动器的一些功能特点:
[嵌入式]
采用can总线技术解决电动汽车充电机模块间的通信问题
1、 引言 电动汽车(ev)是由电机驱动前进的,而电机的动力则是来自可循环充电的 电池 ,并且电动汽车对电池的工作特性的要求远超过了传统的电池系统,因此电动汽车电池系统电压高而且 电流 大,所以对电动汽车充电机的要求比较高。 电动汽车充电机需要能够在以分钟计算的时间内完成对电池的充电,而不是通常的以小时来计算。以一个电池容量为30kwh的电动汽车蓄电池来计算,如果在15分钟内将它充满,那么充电功率将达到120kw,假设电动汽车的充电电压在200~400v,那么相应的他的充电电流将会达到300a。如此大的充电电流,如果仅用单一的 电源模块 很难实现。面对充电机的日益大容量化,并联均流是一个很好的解决方法。因为软件均流具有成本
[汽车电子]
采用<font color='red'>can总线</font>技术解决电动汽车充电机模块间的通信问题
变压器油温测量及光纤通信系统的设计
1 引言 变压器的绝缘老化,主要是由于温度、湿度、氧化和油中分解的劣化物质的影响所致。但老化的速度主要由温度决定,绝缘的工作温度愈高,化学反应进行的愈快,绝缘的机械强度和电气强度丧失的愈快,绝缘老化速度愈快,变压器使用年限也愈短。实际上绕组温度受负荷波动和气温变化的影响,变化范围很大。因此,对变压器的温度进行实时采集,使其维持在一定的范围内,对变压器的寿命有重要的意义。 在线监测变压器油温对早期诊断变压器故障十分重要,但是因变压器结构复杂,影响其安全运行的因素较多,使得在线监测的难度很大。油温测量过去一般是采用间接的模拟测量方法,准确性差,而且不及时。 2 变压器散热原理分析 变压器在运行时产生的损耗以热的形式通过油、
[单片机]
变压器油温测量及光纤<font color='red'>通信系统</font>的设计
基于AVR单片机CAN总线的显示板设计
简介:随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作 ... 随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供
[单片机]
基于AVR单片机<font color='red'>CAN总线</font>的显示板设计
STM32中CAN总线接口发送和接收数据
☆ CAN协议基础知识 I2C.SPI总线多用于短距离传输,协议简单,数据量少,主要用于IC之间的通讯,而 CAN 总线则不同,CAN(Controller Area Network) 总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。与I2C、SPI有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。 CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的
[单片机]
STM32中<font color='red'>CAN总线</font>接口发送和接收数据
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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