CAN总线系统的设计与实现

技术分类: 工业电子  | 2008-05-14
来源:电子产品世界 | 李胜明 初光宇 吕实诚

 
     {
       return 1;
     }  
     SJA_BCANAdr = REG_TxBuffer1;        //访问地址指向发送缓冲区1
   if((SendDataBuf[1]&0x10)==0)        //判断RTR,从而得出是数据帧还是远程帧
   {
     TempCount =(SendData Buf[1]&0x0f)+2; //输入数据帧
     }
     else
     {
       TempCount =2;                     //远程帧
  memcpy(SJA_BCANAdr,SendDataBuf,TempCount);
    return 0;
  }

  此函数将待发送的特定帧各式的数据,送入SJA1000发送缓存区中,然后启动,函数返回0表示将数据成功的送至发送缓冲区,返回1表示上一次的数据正在发送。

  系统组网相对容易只需把各个节点挂在同一条双绞线上即可,启动上位机的CAN收发器,用来监视总线数据状态。每当启动一个下位机CAN收发器,上位机的测试软件就可以每隔一秒钟收到由同一CAN收发器发送的数据帧。实验结果显示当3台下位机CAN总线同时发数时数据接收端没有数据丢失和总线冲突现象。

  结语

  现场总线有着巨大的发展潜力,它将给自动控制领域的变革带来深远的影响。我们设计的CAN总线收发器具有通用性,在本系统设计的基础上只需要相应的修改数据传输协议即可应用于各个CAN总线的数传系统。

  参考文献:

  1. 陈立元主编. Visual Basic实现串并行通信技术. 清华大学出版社,2001

  2. 张学忠,王福成主编. Visual Basic控件应用编程实例教程. 北京希望电子出版社,2002

  3. 马希荣主编. Visual Basic 6.0 程序设计. 机械工业出版社,2004

  4. 彭禹皓. 基于单片机和CAN控制器的嵌入式系统. 微计算机信息,2007,4-2:33-35

0
0
(请您对文章做出评价)
1】【2】【3
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

工业信号链路解决方案

时间:2008-08-06 10:00:00-12:00:00
简介:工业应用常常需要进行高精度的信号检测和高可靠性的处理。有些应用还要求以非常高的速度来执行精准的信号处理。为了有效地构建整体…

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会