首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||||||||||||||||||||
CAN智能节点的设计 | |||||||||||||||||||||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 23:51:17 点击数:[] ![]() |
|||||||||||||||||||||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 关键词:CAN智能节点;MSP430;MCP2510;数据通信 1 引言 CAN总线是控制器局域网(Controller Area Net-work)总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统, CAN总线智能节点在分布式控制系统中起着承上启下的作用。它位于传感器和执行机构所在的现场,一方面和上位机(PC或者工控机)进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。因此,智能化模块设计在CAN系统中有着十分重要的作用。 本文将给出一种用MSP430单片机和MCP2510 CAN控制器组成的总线智能节点的设计方案(见图1),该方案中的单片机和CAN控制器通过标准的SPI接口进行通信,因此,该节点能够完成对被控器件的数据采集上报,并接受上位机的命令,进而进行解析以完成对执行机构的控制。为了调试简单,本方案作了一些改动:一是使MCP2510工作在环回模式,也就是数据由发送缓存直接发送到接收缓存,由于不经过CAN收发器和CAN总线,而只是使用了它的一个发送缓存和一个接收缓存,因而方便了调试;二是把被控器件的数据采集和对执行机构的控制部分略去,而这些功能在以后可以方便地添加,这样,在实际使用时,只要对程序稍作修改就可应用。 本设计的整个接口模块主要由两部分组成: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规范。 MCP25101是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 系统时钟 此外,由于MCP2510的输出信号驱动能力不够,而且与CAN总线物理接口的要求存在很大的差异,所以,在实际应用中必须使用CAN收发器(如MCP2551等),它可支持的CAN速率最高可达1Mbps,而且容错能力很强。此外,它内部还有很强的保护电路,可以防止总线的其它节点对它的影响。 在进行本系统节点的软件设计前,首先简要说明一下MCP2510的指令格式,MCP2510的5条指令如表1所列。
在使用时,可以把这些指令直接编写成函数形式,这样可使程序简练易读。同时,发送请求的硬件触发只需把TXnRTS置低即可。实际上,接收缓存收到信息后也能产生硬件触发,并在TXnRTS引脚产生低电平输出。 本设计的主程序流程图如图4所示。 上电复位后,MSP430首先完成自身外围模块的初始化,其任务主要是选择时钟模块中的时钟、使USART模块工作于SPI模式、以及对看门狗定时器的配置等;然后对MCP2510进行初始化,以对寄存器进行设置。需要注意的是,MCP2510只有在配置模式下才可以对控制参数进行配置,但它在复位以后就是配置模式。 当配置MCP2510到环回模式后, 在实际应用中,MSP430和MCP2510都可以进入睡眠模式,并可以由中断来激活。整个节点的主要功能均由中断子程序来完成,其中的一部分是MSP430自身的中断(看门狗定时器溢出中断、SPI接收发送中断、ADC中断等),另一部分是MCP2510引起的中断,这部分中断资源十分丰富,包括信息接收发送中断、信息错误中断、总线激活中断等。它产生的所有中断都能使INT引脚为低电平, 单片机在检测到这些中断后,将通过SPI接口读取MCP2510内部的中断标志寄存器以判断是何中断,然后再进行进一步处理。 MSP430和MCP2510的很多实用功能本文还没有进一步开发,只是作了一个简单测试系统,而且许多实际应用中需要注意的问题也没有考虑到,需要进一步完善。此外,由于MCP2510使用标准的SPI接口与单片机通信,所以加上它可以不更换单片机,而只需对程序稍作修改即可,因此,采用该方案几乎可以在任何现有系统上实现CAN总线功能。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
最新热点 | 最新推荐 | 相关新闻 | ||
|
|
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |