- 相关推荐
CAN智能节点的设计
摘要:CAN总线是一种流行的实时性现场总线,文中提出了一种基于MSP430单片机,并以MCP2510为CAN控制器的智能节点设计方案,该方案利用MSP430通过标准SPI接口可实现对MCP2510的控制,并能够完全实现CAN总线规范。1 引言
CAN总线是控制器局域网(Controller Area Net-work)总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。
CAN总线智能节点在分布式控制系统中起着承上启下的作用。它位于传感器和执行机构所在的现场,一方面和上位机(PC或者工控机)进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。因此,智能化模块设计在CAN系统中有着十分重要的作用。
本文将给出一种用MSP430单片机和MCP2510 CAN控制器组成的总线智能节点的设计方案(见图1),该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。为了调试简单,本方案作了一些改动:一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。
2 硬件设计
本设计的整个接口模块主要由两部分组成:CAN控制器MCP2510和微控制器MSP430。图2所示是该智能节点的部分电路硬件原理图。下面对主要部分功能作一介绍。
2.1 MSP430F1232简介
MSP430系列微控制器是TI公司推出的功能强大的超低功耗16位微处理器。它集成了丰富的片上外围资源,因而开发方式十分简便,可以用C语言编写出效率很高的程序。所选MSP430F1232的工作电压为1.8~3.6V,内含8kB FLASH存储空间。片内集成了看门狗定时器(WTD)、基本时钟模块、US-ART、10位ADC、和带有3个捕获/比较器的16位定时器,因而片上资源十分丰富,完全可以满足一般的需要,同时减少了设计的复杂度。与其它单片机相比,MSP430的I/O端口功能更强,可实现双向的输入、输出,并可完成一些特殊的功能,如A/D转换、捕获比较等;另外,它还可以实现I/O的各种中断。
本设计中,MSP430的作用有两个:一是对执行机构的控制以及对输入模拟量或者开关量的信号采集;二是利用UART模块通过SPI模式与MCP2510通信并控制MCP2510以实现CAN规范。
2.2 MCP2510简介
MCP2510?1?是Microchip公司推出的功能很强的CAN控制器芯片,它支持CAN1.2、2.0A及2.0B规范;其内部结构见图3所示。该芯片内含3个发送缓存和2个接收缓存,可以对发送优先级进行管理,可滤除无用信息,MCP2510有6个可编程滤波器,而且中断资源十分丰富。最可贵的是,它可以通过标准的SPI接口与微控制器进行通信,从而放宽了MCU的选择范围?使得所有单片机都有接入的可能。
MCP2510的主要功能是在MCU的控制下实现CAN规范,它内部的所有寄存器和控制寄存器都映射到一个地址表上,MCU可以使用相应的命令格式通过标准的SPI接口来完成对MCP2510的初始化、工作状态的控制以及数据的读写。此外,MCP2510产生的中断还可以反馈给MCU来处理。
2.3 系统时钟
由于MSP430的时钟频率决定着指令周期,因而该时钟直接影响SPI接口的速率。MSP430F1232有两个可选的时钟:一是外部低速32.768kHz的时钟晶体;二是采用内部数控DCO的可调频率。本设计直接采用它内部的数控DCO作为它的主时钟MCLK和SMCLK,由于直接工作在800kHz,因而免去了使用晶体。MCP2510采用标准的4MHz晶体。MSP430中USART模块的CLK可由系统时钟分频得到,速率设定也十分方便。实际上,MCP2510输出到总线的速率也可通过设置内部寄存器的控制分频系数来调节。
此外,由于MCP2510的输出信号驱动能力不够,而且与CAN总线物理接口的要求存在很大的差异,所以,在实际应用中必须使用CAN收发器(如MCP2551等),它可支持的CAN速率最高可达1Mbps,而且容错能力很强。此外,它内部还有很强的保护电路,可以防止总线的其它节点对它的影响。
3 软件设计
在进行本系统节点的软件设计前,首先简要说明一下MCP2510的指令格式,MCP2510的5条指令如表1所列。
表1 MCP2510指令格式
【CAN智能节点的设计】相关文章:
光纤CAN总线自愈环网的研究06-01
浅谈智能移动电话与移动智能网的发展08-08
LED农业智能化与光通讯智能化05-01
智能网业务的网间互通05-30
智能住宅中的信息家电05-30
移动智能网中的呼叫前转08-10
Smart HLR与固网智能化06-17
crm中的决策支持系统与贸易智能02-23
基于软交换的固网智能化05-11
制造产品智能集成报价系统研究08-26