CAN总线智能测控节点的设计
- 格式:pdf
- 大小:147.72 KB
- 文档页数:4
基于CAN总线的智能控制系统设计摘要本文介绍了智能控制系统中CAN总线现代通讯技术的应用,设计了智能控制系统中的CAN总线网络结构模型,阐述了基于该网络结构模型实现数据传输的方法,为系统智能化控制的实现提供了理论基础和理论依据,同时论文结合智能控制系统中通讯总线的特征,对控制系统中CAN总线的智能节点进行了设计。
关键词智能控制系统;CAN总线;智能节点0 引言智能控制系统中,各单元和部件的运行情况复杂,涉及大量的数据交换和实时处理。
CAN控制器局域网络为智能控制系统中的各部件、各单元稳定、高效、协调的运行提供了有力的通讯支撑。
基于CAN总线的通讯网络在分布式控制或实时控制方面具有优势,主要体现在无论基于高速网络还是多线路网络,多主站可依据优先权进行总线访问、通过接收滤波的多地址帧传送,以及中心控制器可基于优先权进行仲裁等;同时CAN总线具备全系统数据相容性,错误检测和出错信令,暂时错误或者永久性故障节点的判别以及故障节点的自动脱离等优点。
很好的满足了现代控制理论对智能控制系统对象分散,处理高速,策略多样的潮流。
1 基于CAN总线的智能控制系统网络结构整个智能控制系统的双层网络拓扑结构请参照图1,即将智能系统控制分为两层,其中底层为智能控制系统内部各子系统,顶层为智能系统的中心控制器,在底层控制系统中,任意一子系统都有一块微处理器管理该子系统中的各智能仪器,该子系统的微处理器与各智能仪器之间的数据通讯均基于CAN总线,在底层CAN总线网络中各设备的CAN通讯接口和子站控制器CAN通讯接口通过组网构成为底层的CAN总线网络,在顶层系统中,智能系统中心控制器基于CAN 总线与各子系统的微处理器进行数据通讯,完成对整个智能控制系统的数据管理和指令控制。
中心控制器的CAN总线通讯接口和各子站控制器的CAN总线通讯接口通过组网构成为顶层CAN总线网络。
2 CAN智能节点硬件设计CAN的智能节点主要由四个部分组成,包括单片微处理器、总线通信控制器、总线收发器、电气隔离装置等。
智能传感器的CAN总线接口设计智能传感器的CAN总线接口设计引言测控系统离不开传感器。
由于各种传感器的工作原理不同,其最终输出的电量形式各不相同。
即使同一类传感器,其灵敏度、测量范围不同,相同电信号代表的物理量也不尽相同。
因此,传统的测控系统,必须对系统中的每一个传感器进行配置,传感器类型、灵敏度、测量范围等的细微改变都将导致系统(主要是软件和部分硬件)的重新设置。
若要增/减传感器,以改变测控系统的规模,则需对整个系统(软件、硬件及布线)。
进行重新配置。
这无疑极大地限制了测控系统的灵活性,制约了测控系统的扩展性。
CAN的通信硬件接口简单,通信线少,通信介质可以为双绞线、同轴电缆或者光缆。
将测控系统配置为CAN总线结构,将目前广泛应用的各种模拟传感器,配以CAN总线接口,使之成为CAN总线上的一个智能节点,即易于实现传感器的即插即用,也提高了测控系统的灵活性和可扩展性。
1传感器/CAN智能接口系统构成传感器/CAN智能接口的作用主要有两点:一是控制传感器的信号调理,将传感器的输出模拟信号转换为数字量,并进行相应的处理,形成可发送的CAN报文信息;二是控制CAN驱动器,收/发CAN总线上的报文信息,并执行相应的智能控制。
智能接口系统构成。
针对大多数模拟传感器输出信号较弱的特点,接口首先对传感器信号进行一级放大和滤波的预处理,预处理后的传感器信号幅度在200mV左右,单端输出。
此后对该信号的处理完全由基于SOC技术的混合信号微处理器C8051F041自动完成,如信号的程控放大、信号的零点校准、信号的A/D变换、信号的数字滤波以及CAN报文的形成和收发控制等;C8051F041是该接口的核心,它不仅完成传感器信号到CAN报文的转换;更通过对传感器信号调理的智能控制和对CAN应用层的编程,实现传感器的即插即用。
2传感器信号调理考虑到绝大多数传感器信号较弱,且包含大量的噪声信号,因此需首先对传感器输出的模拟信号进行必要的调理,信号调理由信号预处理电路结合S0c中的模拟外设实现,。
基于CAN总线的分布式监控系统智能节点设计基于CAN总线的论文来自网络,仅供参考,请勿抄袭,后果自负关键词:CAN总线;分布式系统;智能节点;P87C591Abstract: Countering the problems existing in the submersible motor, such as the complex condition of running, high malfunction ratio, many parameters influenced, This paper introduces the design of the distributed monitor system about the submersible motor based on CAN bus, and presents the hardware schematic circuits, software initial programs and communications flow of the intelligent monitor node. Practical using shows that this monitor system hasthe better control effect and is suitable for similar practical engineering.Keywords: CAN bus; distributed system; intelligent node; P87C5911 引言现场总线控制系统(FCS)是继直接数字控制(DDC)、集散控制系统(DCS)之后的一种新型的控制系统,是一种全开放、全数字、多点通信的底层控制网络,具有全分散性控的体系结构[1]。
其显著特点是通过开放性总线把现场设备连接成网络,各智能设备能够完成自动控制和运行状态的自行诊断,并且能够通过总线实现设备之间的通信,从而简化了系统结构,提高了可靠性。
CAN智能节点的设计摘要总线是一种流行的实时性现场总线,文中提出了一种基于430单片机,并以2510为控制器的智能节点设计方案,该方案利用430通过标准接口可实现对2510的控制,并能够完全实现总线规范。
关键词智能节点;430;2510;数据通信1引言CAN总线是控制器局域网ControllerAreaNet-work总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,范文先生网收集整理并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。
CAN总线智能节点在分布式控制系统中起着承上启下的作用。
它位于传感器和执行机构所在的现场,一方面和上位机PC或者工控机进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。
它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。
因此,智能化模块设计在CAN系统中有着十分重要的作用。
本文将给出一种用MSP430单片机和MCP2510CAN控制器组成的总线智能节点的设计方案见图1,该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。
为了调试简单,本方案作了一些改动一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。
2硬件设计本设计的整个接口模块主要由两部分组成CAN控制器MCP2510和微控制器MSP430。
基于单片机的CAN智能总线节点的设计陈涛东北大学信息学院模式识别与智能系统,沈阳(110004)E-mail:chentaobnbb@摘要:基于单片机介绍了CAN总线节点的硬件电路结构和软件设计流程图。
完成一个CAN智能节点的主要电路的设计和对于单片机的软件设计中SJA1000的程序初始化,数据发送和数据接收的一般程序流程。
关键词:CAN总线;智能节点;硬件设计;软件设计1.引言CAN(control area network)总线是全数字式现场控制设备互连总线,属于现场总线的范畴[1]。
以其高性能!高可靠性!实时性等优点而被广泛应用于控制系统的数据通信。
CAN总线的硬件接口简单,编程简便,系统便于集成,检错能力强,可在高噪声干扰环境下使用。
所谓智能节点是由微控制器和可编程的CAN控制芯片组成,它们有二者合一的,如芯片P8xC591[2];也有下面介绍的由独立的通信控制芯片和单片机接口构成。
而后者可以采用通用的单片机仿真器,所以设计时更为灵活方便,用的也更多。
2.CAN智能节点的硬件设计智能节点的典型构成如图1所示:智能节点具体由四部分[3]组成:①微控制器②CAN控制器③CAN收发器④外围电路图1 CAN总线智能节点结构图(1)微控制器:微控制器采用单片机89C51。
单片机控制信号(CPU)接受信号,并加以比较判断然后发出命令,是本节点的重要组成部分。
(2)CAN控制器:所设计的CAN节点,其核心器件就是CAN控制器SJA1000,通过单片机初始化后,按照CAN协议内容,SJA1000可以自动完成帧结构的位填充,无需CPU 的参与SJA1000就可独立工作。
SJA1000之所以能完成复杂的电路数据流错误检验,主要归功于其内部大量分工合作的寄存器。
这些寄存器主要包括模式寄存器、状态寄存器、中断寄存器、中断使能寄存器、总线时序寄存器、输出控制寄存器、总裁丢失捕捉寄存器、错误代码捕捉寄存器、错误报警限额寄存器、发送错误计数器、接收错误计数器、时钟分频寄存器以及接收缓冲器、发送缓冲器等寄存器,由于这些寄存器的存在,SJA1000控制器通常被看作外部RAM来访问。
文章编号:1000-2375(2005)02-0133-04CAN总线智能测控节点的设计
王月姣,朱家驹(中南民族大学电子信息工程学院,湖北武汉430074)
摘 要:分析了P87C591这种Philips公司近期推出的内带CAN控制器的8位高性能的微处理器的结构,给出了CAN定时寄存器的设定,提出了以P87C591为主构成的CAN智能节点的硬件框图,并提供了CAN通信的初始化、发送、接收各部分的程序设计.关键词:CAN总线;P87C591单片机;智能节点;CAN通信中图分类号:TP303 文献标志码:A
收稿日期:2004-12-28作者简介:王月姣(1946- ),女,副教授
目前的测控系统一般以单片机为核心器件,基本具有二方面的功能:一方面是对工业现场各量进行采集、处理、控制;另一方面是通信.对于前者,主要要求是要达到测控量的各项技术指标,如精度、速度及合理控制方案的选择与现场的抗干扰处理等.这些已经历了近20年的开发与应用,技术较成熟,单片机的选择也较广.对于后者,由于以往没有更好的选择,大都采用主从通信,标准为RS-485.这种通信方式由于结构网上只能有一个主站,且数据通信为命令响应型,各从节点的通信都必须通过主站点,使得通信在很大程度上依赖主节点,造成网上的数据传输效率低下,且错误处理及抗干扰能力较差.特别是当从节点多而通信距离远时,更是难以满足工控现场通信的需要.基于此,本文以一个中小企业的生产现场为例,给出了一种性能优越、结构简单、易于实现的CAN总线通信的智能节点的设计及通信实现的方法.1 CAN总线的主要特点
CAN(ControllerAreaNetwork)是德国Bosch公司开发的一种有效支持分布式实时控制的串行通信网络,总线最大传输速度可达1Mbit/s(40M以内),最大传输距离为10kM(速率为5kbit/s以下).其主要优点是:(1)多主工作方式.节点之间不分主从,每个节点均可成为主机,向其他节点主动发送信息,而无需都要通过主节点,保持了通信的实时性.(2)CAN总线提供了数据帧和远程帧.2帧的区别仅是帧信息中的RTR位的为0或为1,这样,任何节点发送数据与/远段请求0命令有了明显的区别,任何节点可通过远程帧主动要求其他节点发送数据、索取信息,而无需等待信息的到来,大大提高了通信的效率.(3)CAN协议废除了传统的站地址编码,而代之以对报文的编码.总线上的报文内容具有优先级的ID标识符和欲传送的数据长度、数据字节及RTR位,根据帧格式的不同,ID可定义为211(SFF)或229
(EFF)个不同的编码,利用这种编码,不仅可使不同的节点同时接收到相同的数据,而且便于节点的扩展,对于新挂上总线的节点,CAN总线只需根据报文的内容进行处理,无需对所有的节点重新编程.(4)CAN总线不仅提供了报文的优先级判别技术,还提供了对通信帧数据的CRC循环冗余校验,并有相应的错误处理.另外,当网络节点在错误严重的情况下,CAN具有自动关闭输出、切断与总线的联系,使总线上其他节点不受影响,保证了通信的可靠性.2 智能节点单片机的选择
性能价格比高是智能节点设计力求的目标,作为核心器件的单片机无论从测控与通讯的角度都希
第27卷第2期2005年6月湖北大学学报(自然科学版)JournalofHubeiUniversity(NaturalScience) Vol.27 No.2 Jun.,2005望内含的功能越多越好,这样可减少外扩器件,简化应用系统的硬件设计,有利于系统的小型化及现场的抗干扰.根据实际需要,选用P8xC591系列中的P87C591单片机.它是PHILIPS公司继P8xC592之后近期推出的又一款内带CAN控制器的8位高性能的微控制器.它采用了强大的80C51指令集并包含了PHILIPS半导体SJA1000CAN控制的PeiiCAN功能.其结构框图如图1所示.
图1 P87C591结构方框图图2 智能节点硬件结构框图
P87C591(也可指P8xC591系列)为44引脚,内部有16KB的程序存储器,512字节的RAM,2个8位分辨率的脉宽调制输出(PWM),6路逐次逼近式的10位ADC或快速的8位ADC(P1.2~P1.7),用于带字节的主从功能的I2C总线串口I/O口(P1.6~P1.7),CAN控制器等.内部功能较齐全,可设计成在最小数量的器件下满足本节点CAN、模拟量的精度、抗干扰等的要求.
3 智能节点的硬件设计智能节点的硬件结构如图2所示.包括测控与通信2部分.对于不同的生产现场,被测控的量有所不同,构成智能节点的测控部分的电路会有所差异.这里设计的节点主要监控6路模拟量,2路开关量,一路电网补偿电容(交流负载)的投切.6路模拟量先经信号调理,变成0~5V的直流电压,再由1B1的隔离放大器送P87C591的10位ADC(P1.2~P1.7).10位ADC的选择与转换的操作,由P87C591内部的特殊功能寄存器AUXR1(页寄存器)的D7位(ADC8=0)及ADCON(控制寄存器、IEN0(中断允许寄存器)、IPO(中断优先级寄存器)、ADCH(数据寄存器)编程控制完成.SSR(过零触发型交流固态继电器)用于CPU与交流负载的接口,实现对交流负载的控制.图2中扩展的RS-232总线用于与PC机的串口就近直连,便于PC机设置参数与监视现场的运行.为抑制现场的干扰入侵,单片机与外部输入、输出的量仅保持信号的联系而无电的直接联系.智能节点往往不光是局限于测控,根据需要还必须随时接收其他节点的远端请求与远端调度,接收或发送信息.实时、安全可靠地通信是智能节点设计的重要内容.选择CAN总线通信的方案也很关键,由于P87C591单片机内含有SJA1000CAN控制器,无论从硬件、还是软件的设计都要比采用独立的CAN控制器外接一个微处理器的方案简单、方便.硬件电路只需在P87C591的P1.0(CAN收发器输入脚)与P1.1(CAN发送器输出脚)外接CAN总线驱动器即可.图2中PCA82C250是CAN的收发器,它是连接CAN控制器和物理总线之间的接口.提供了CNA控制器向总线的差动发送和差动接收的能力.使用PCA82C250作为CAN总线的收发时,通信速率最高可达1Mbit/s(传输距离40m).CAN总线信号传输介质使用特性阻抗为1208的屏蔽双绞线.高速的光电耦合器6N137是将微控制器与CAN总线部分的电源隔离,分开供电,能有效抑制由总线引入的干扰.
4 CAN总线智能节点CAN通信软件的设计P8xC591中的CAN操作不支持SJA1000的BasicCAN模式,只支持SJA1000的PeliCAN模式.并扩展了其功能.为保证通信的成功,软件设计要合理选择CAN总线传输的波特率;并针对P87C591内部的PeliCAN的具体结构,正确完成其通信的初始化、发送、接收等操作.
134湖北大学学报(自然科学版)第27卷4.1 CAN总线传输的波特率与定时寄存器的设定 CAN控制器中提供了2个可编程的总线定时寄存器BRT0、BRT1.BRT0(决定BRP与同步跳转宽度SJW);BRT1(决定每个位周期长度,采样点位置和每个采样点进行的采样次数,由时间段TSEG1和时间段TSEG2决定).波特率是CAN总线传输的一个重要参数.它与两节点之间的最大距离有一定的对应关系,不同的系统可根据不同的传输距离来选择、调整.(1)CAN系统时钟周期的设定.P8xC591中CAN系统时钟的周期tsc1是可编程的.只是与独立的SJA1000CAN的tsc1计算有异.tsc1=(波特率预计值BRP+1)/fXTAL.式中 fXTAL)))P8xC591的晶振频率,BRP=(32@BRP.5+,+2@BRP.1+BRP.0).(2)位周期与波特率的计算.一个位周期tBIT=(tSYNCSEG+tTSEG1+tTSEG2).其中:tSYNCSE=1@tSCL,tTSEG1=tSCL@(8@TSEG1.3+,+TSEG1.0+1),tTSEG2=tSCL@(4@TSEG2.2+,+TSEG2.0+1).波特率=1/tBIT.若P8xC591晶振为12MHz,根据两节点的最大距离,选波特率为100kbit/s.设预设值BRP=11,tSYNCSEG=1tSCL,tSJW=2tSCL,tTSSEG1=6tSCL,tTSSEG2=3tSCL.则tSCL=(11+1)/12M=1Ls,tBIT=(1+6+3)@1Ls=10Ls.波特率=1/tBIT=100kbit/s.选SAM=0,则总线定时器BTR0、BTR1的初始值为BTR0=4BH,BTR1=25BH.4.2 软件设计 P87C591内部80C51CPU是通过5个特殊功能寄存器CANADR(地址)、CANDAT(数据)、CANMOD(模式)、CANSTA(状态)、CANCON(控制)对PeliCAN模块进行访问.其中CANSTA读是状态,写是中断使能,CANCON写是命令,读是对PeliCAN的中断寄存器访问.下面针对P87C591中PeliCAN的具体结构,进行了初始化,发送、接收的软件设计.(1)初始化.P87C591中的CAN控制器在上电或硬件复位后必须进行初始化设定,以实现CAN通信的初始化处理.其内容包括:操作模式;TXDC输出管脚的配置;总线定时寄存器BTR0、BTR1的设定;验收滤波器中的ACRn、AMRn及ACFMOD、ACFEN、ACFPRIO的设定;中断使能与优先级的设定.(2)发送.P87C591中peliCAN提供2种报文帧格式:分别是标准帧格式(SFF)与扩展帧格式(EFF).SFF有11位的ID标识码,EFF有29位的ID标识码,二种帧格式最多传送的数据为8个字节,可满足一般工业领域中的控制命令、工作状态及测试数据的要求.本节点采用SFF帧格式,其发送缓冲区(地址112~122)的配置及发送帧、标识码的位分布见图3所示.图3中:FF:为0/1表SFF/EFF帧格式的标志.DLC3)DLC0:发送数据长度代码位.ID28-ID18:11位的ID标识码.RTR:远程发送请求位,为0/1表数据帧/远程帧.
址名称D7D6D5D4D3D2D1D0112TX帧信息FFRTR00DLC3DLC2DLC1DLC0113标识码1ID28ID27ID26ID25ID24ID23ID22ID21114标识码2ID20ID19ID18RTR0000115字节1TX数据字节1116字节2TX数据字节2,,,,122字节8TX数据字节8
图3 SFF的发送缓冲器及帧格式、标识码的位分布
报文的发送.首先将发送的顺序存入微处理器RAM中定义的TransmitMessage[]中,然后通过CANADR、CAN-DAT由CAN控制器根据CAN协议规格自动完成.若Pel-iCAN的地址大于等于32,任何对CANDAT的访问将使CANADR自动增加.(3)接收.P87C591中的peliCNA接收的帧格式与发送缓冲器的相同,RXFIFO共有64字节的报文空间.与独立的SJA1000CAN控制器不同的是,接收缓冲区的地址(96~108)与发送缓冲区的地址(112~124)彼此是分开的.