添加到收藏夹 | 设为首页    首页 | 会员登录 | 我的电子助手 | 电子网站地图 | PD资料站 | 联系我们  
51电子网LOGO
 
  首 页  | 供应信息   |  求购信息  |  非IC专区   
   电子资讯   |  电子论坛
 
 
 
位置:首页 > 技术文章 > 单 片 机 > 详细内容  

单片机和MCP2510的CAN息线通信模块设计

发布时间:2008-9-2   访问次数:

  摘要 can总线上的分布式控制节点一般由单片机和可编程的can通信控制器组成。硬件方面介绍了节点的电路原理,软件方面给出了系统程序设计流程及其需要注意的问题。

  can(controller area network)总线,即控制器局域网。由于具有高性能、高可靠性以及独特的设计,can总线越来越受到人们的重视。德国的bosch公司最初为汽车监控和控制系统设计了can总线,现在,其应用已面向过程工业、机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。can总线已经形成国际标准,并已经公认为是最有前途的现场总线之一。can总线规范已经被国际标准化组织制订为国际标准isoll898,并得到众多半导体器件厂商的支持,推出各种集成有can协议的产品。can总线系统智能节点是网络上报文的接收和发送站,一般由单片机和can控制器或二者合二为一组成。

  mcp2510是microchip公司生产的一种独立的可编程can控制器芯片。本文将介绍新型的独立can通信控制器mcp2510,并给出其在can总线系统智能节点中的应用实例。

  1 mcp2510芯片介绍

  mcp2510是一种带有spi接口的can控制器,dip封装如图l所示。它支持can技术规范v2.oa/b。能够发送或接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。mcp2510通过si接口与mcu进行数据传输,最高数据传输速率可达5mbps,mcu可通过mcp2510与can总线上的其他mcu单元通信。mcp25lo内含3个发送缓冲器和2个接收缓冲器,同时还具有灵活的中断管理能力,这些特点使得mcu对can总线的操作变得非常简便。

  1.1 mcp2510的主要特点

  ◇支持canv2.oa/b;

  ◇具有spi接口,支持spi模式0,o和l,1;

  ◇内含3个发送缓冲器和2个接收缓冲器,可对其优先权进行编程;

  ◇具有6个接收过滤器,2个接收过滤器屏蔽;

  ◇具有灵活的中断管理能力;

  ◇采用低功耗cmos工艺技术,其工作电压范围为3.0~5.5v,有效电流为5ma,维持电流为10μa;

  ◇工作温度范围为-40~+125℃。

  1.2 结构及工作原理

  mcp25lo有pdip、soic和tssop三种封装形式。图2是mcp2510的内部结构框图。can协议机负责与can总线的接口,spi接口逻辑用于实现同mcu的通信,而寄存、缓冲器组与控制逻辑则用来完成各种方式的设定和操作控制。现结合其工作过程将各部分的功能、原理作一介绍。

  (1)收发操作

  mcp2510的发送操作通过3个发送缓冲器来实现。这3个发送缓冲器各占据14字节的sram。第1字节是控制寄存器txbnctrl,该寄存器用来设定信息发送的条件,且给出了信息的发送状态;第2~6字节用来存放标准的和扩展的标识符以及仲裁信息;最后8字节则用来存放待发送的数据信息。在进行发送前,必须先对这些寄存器进行初始化。

  (2)中断管理

  mcp2510有8个中断源,包括发送中断、接收中断、错误中断及总线唤醒中断等。利用中断使能寄存器(caninte)和中断屏蔽寄存器(canintf)可以方便地实现对各种中断的有效管理。当有中断发生时,int引脚变为低电平并保持在低电平,直到mcu清除中断为止。

  (3)错误检测

  can协议具有crcf错误、应答错误、形式错误、位错误和填充错误等检测功能。mcp2510内含接收出错计数器(rec)和发送出错计数器(tec)两个错误计数器。因而对网络中的任何一个节点来说,都有可能因为错误计数器的数值不同而使其处于错误一激话、错误一认可和总线一脱离3种状态之一。

  2 mcp2510在智能节点中的应用实例

  利用mcp2510和can总线收发器tjal050可构成一个can总线分布式测控网络。系统可包括一个主控制器和多个节点控制器,这种节点控制器可对电动机的电流、电压及周围的温度进行监控,其结构如图3所示。

  这种网络拓扑结构采用了总线式结构和无源抽头连接,且结构简单、成本低,因而系统的可靠性较高。其信息传输采用can通信协议,通信介质采用双绞线。由于can总线是基于发送报文的编码,不对can控制节点进行编码,故系统的可扩充性比较好,同时增删can总线上的控制节点不会对系统的其余节点造成任何影响。

  节点控制器的mcu可选用具有spi接口的微处理器,也可采用不带spi接口的微处理器。本系统采用的是不带spi接口的微处理器at89c5l。at89c51可通过p1口与can控制器的spi接口直接相连,并用软件算法来实现spi接口协议。can总线收发器tjal050则作为mcp2510与物理总线的接口。如果需要进一步提高系统的抗干扰能力,则可在mcp2510和tjal050之间再加一个光电隔离器。

  智能节点电路原理图如图4所示。

  2.1 软件设计

  mcp2510正常工作之前,需要进行正确的初始化,包括设置spi接口的数据传输速率、can通信的波特率、mcp25lo的接收过滤器和屏蔽器以及发送和接收中断允许标志位等。与sjal000不同的是,单片机对mcp2510的接收缓冲器和发送缓冲器的操作,必须通过spi接口用mcp25lo内置读写命令来完成。其读、写命令时序图如图5和图6所示。

  本文中mcp2510主要采取中断模式进行总线数据的接收和发送。整个系统主序提供两种中断:定时器中断和外部中断。定时器中断的中断子程序主要负责处理来自模拟通道aino~ain7的a/d数据,向mcp25lo发送“数据发送请求命令”以及发送数据。外部中断的中断处理子程序主要包括can总线错误处理子程序和数据接收子程序。

  2.2 软件主体设计流程

  软件主体设计流程如图7所示。软件设计时需要注意以下问题:

  ①因为mcp2510在初始化完成后处于默认config-uration模式下,所以就需要在mcp2510的初始化完后将其置为normal模式,否则mcp2510将一直停留在configuration模式下,不能正常进行工作。将mcp2510置normal模式可通过使用mcp2510内置的bitmodify(位修改)4指令向canctrl控制字写入一个0字节来实现。

  ②在对mcp2510进行任何操作之前,都要由微处理器向mcp2510的片选cs输出一个低电平,使得mcp2510选通。

  ③在执行mcp2510的“读”操作时,发送完读指令及其地址码之后,仍然需要向mcp2510提供时钟,以接收“读”到的数据。可以通过向mcp2510发送一个o字节来实现。

  ④在对mcp2510完成任意操作后,都要延时一段时间,使其有足够的时间来准备接收下次操作的命令,防止出现mcp2510“忙”的情况。

  3 总 结

  can总线已被公认为是最有前途的几种现场总线之一。因其性价比高、实现简单等突出优点深受越来越多的研发人员的青睐。本文的智能节点可联结多个集散控制系统,其软硬件电路的设计方法同样适合于其他基于can总线的分布式控制系统的节点设计。

  请登陆: 维库电子市场网(www.dzsc.com) 浏览更多信息

 
 关闭窗口  打印本页
高速ADC THS1041的钳位功能 [2008-9-2]
  此篇文章推荐型号 2SK2611  的供应信息
用CPLD实现的数字钟控系统 [2008-9-2]
  此篇文章推荐型号 SC1485ITS  的供应信息
扩展数字家庭的存储容量 [2008-9-2]
  此篇文章推荐型号 AT28C64-15PC  的供应信息
存储器管理部件的设计实现 [2008-9-2]
  此篇文章推荐型号 TPS3823-33DBVR  的供应信息
FPGA将可满足便携式存储应用的低功耗要求 [2008-9-2]
  此篇文章推荐型号 MAX766CPA  的供应信息
单片机和工业无线网络 [2008-9-2]
  此篇文章推荐型号 LT1624CS8  的供应信息
单芯片以太网连接解决方案 [2008-9-2]
  此篇文章推荐型号 HI5741BIB  的供应信息
单片机和MCP2510的CAN息线通信模块设计 [2008-9-2]
  此篇文章推荐型号 TDA9302H  的供应信息
采用混合信号高电压单片机实现LED降压-升压驱动电路 [2008-9-2]
  此篇文章推荐型号 MAX392CSE  的供应信息
单片机控制红外编码探测障碍物 [2008-9-2]
  此篇文章推荐型号 FDS6676S  的供应信息
单片机系统多串行口设计技术 [2008-9-2]
  此篇文章推荐型号 LC46  的供应信息
单片机CF卡接口设计 [2008-9-2]
  此篇文章推荐型号 EL1508CL  的供应信息
嵌入式操作系统SMARTOS介绍 [2008-9-2]
  此篇文章推荐型号 NJM2058M  的供应信息
一种基于以太网的嵌入式数字监控系统 [2008-9-2]
  此篇文章推荐型号 PCA8550  的供应信息
Linux中的冲突问题及其应对策略 [2008-9-2]
  此篇文章推荐型号 TPS76318DBVT  的供应信息
 
 
 

 
版权所有:51电子网-中国最专业的电子元件交易平台 2000-2005 → 给本站留言 粤ICP备06016101
服务热线 深圳:0755-83754112、83754219 传真:0755-83752517 
库存上载:51dzw_stock@163.com  在线MSN咨询:jing_51dzw@hotmail.com OICQ:点击这里给我发消息  点击这里给我发消息