土木在线论坛 \ 电气工程 \ 工业自动化 \ 转贴学习CAN应用设计中的心得

转贴学习CAN应用设计中的心得

发布于:2005-02-17 11:33:17 来自:电气工程/工业自动化 [复制转发]
转贴:huayi0796@yahoo.com.cn
    
    我在学习CAN应用设计中的一点心得体会,也算是走了一些弯路,现在把它写出来和大
      家共同交流。
      
       不知道各位注意到没有,大多数情况下,SJA1000是与8250+51系列单片机的方式来做
      CAN的控制应用。如果是1M/s的通讯速度的话,实际上的流量只有大概500多K的样子,此点
      希望大家在以后的应用设计中需要考虑周到。
       上诉问题产生的原因是SJA1000的发送缓冲区只有1个,应用程序在判断发送完一幀
      数据后,需要计算下一幀需要装载的数据长度,然后根据长度再装载相应的数据到缓冲区
      ,这个过程要消耗掉了一定的时间(特别是标准51内核的单片机),因此CAN总线上的数据
      流实际上是发送一幀就有一个比较长的空闲区(单片机装载数据的时间),这样一来就浪费
      了总线资源。
       微芯的MCP2510有3个发送缓冲区,在5V的电源下以5Mb/s的SPI端口读写数据,可以较好
      的解决这个问题,但是多数的51单片机都无SPI,这样也给单片机的选择上带来了一定的麻
      烦。具体选择怎样的方案,只能看各自的应用情况来定了!
    
    
    BCD—锁存/7段译码/驱动器。数码显示器与配套的驱动器集成器件一起工作。这些驱动器常称BCD-7段译码器。不同的显示器配用相应的驱动器件,如CD4055专配液晶显示用的。CD4547是BCD-7段译码大电流驱动器,这些都属于BCD-7段译码器。图18中配LED的驱动器,是用CD4543集成器件,该器件是一种可驱动LED的,也可驱动LCD的7段译码器。用CD4543驱动LED时的配接电路如图22所示。图中R1~R7是LED的限流电阻
    
    
    
    
    
    sja1000调试经验
    
     去年年底的时候,一个公司给我打电话,问我最近有没有空,说要请我帮忙做一个基于CAN总
    
    线通讯的东西,我去看了看,是一个数据采集系统,下面是一系列数据采集的智能板卡,上位机是
    
    基于WINBOND的一块486的工业嵌入式控制板,操作系统使用的是WINCE。智能板卡通过工业底板和数据线两种方式和上位机通讯,通信协议选择的是CAN,其中底板上的通信选用高速波特率(1Mbps),数据线选用低速(100kbps)。
     去公司的时候,公司给了我一个参考的东西,采用SST单片机+SJA1000的方案构成的智能板卡
    
    ,同时告诉我可以自己设计方案。考虑到SST的东西没有用过,P8X591是PLCC封装的,烧写起来不
    
    方便,于是我设计了如下的方案:
     1、智能板卡上的通讯采用AT89S51+两块SJA1000的方式进行;
     2、上位机通过PC104总线和一块CAN控制板卡连接,CAN控制板卡上同样采用AT89S51+两块
    
    SJA1000的方案。AT89S51和上位机通过PC104总线共享内存(使用IDT的双口RAM);
     3、采用西门子的组态软件进行WINCE下的板卡驱动开发;
     由于以前没有做过CAN的东西,于是决定了先调试CAN通信,然后设计板卡的方案。
     方案确定之后,首先是上www.zlgmcu.com上下载了全部的SJA1000和PCA82C250的资料。然后开
    
    始设计电路板。采用了SJA1000应用指南中推荐的方案,采用SJA1000的时钟输出为AT89S51的时钟
    
    ,没有采用光电隔离芯片,把TX1接地,TX0和RX0分别连接到PCA82C250的TXD和RXD引脚上,RX1连
    
    接到PCA82C250的VR上;加上了5欧姆的限流电阻和120欧姆的匹配电阻(用110欧姆替代),另外加上
    
    了一个调试用的串口。没有注意而且要命的是把SJA1000的复位引脚和单片机的复位引脚连接到了
    
    一起。
     第一次的板子用的加急,用了三天,结果那次的板子做的极差——连铜皮都翻起来了;我马上
    
    让那个电路板厂重新做了三块。在做板的过程中我发现了复位引脚的错误,SJA1000的文档上提供的
    
    是一个复位电路,但是没有给出电路的详细组成,于是我就误以为和单片机的复位电路是一样的了
    
    。在设计这块电路板的时候,最担心的事情就是SJA1000的输出时钟能不能够驱动AT89S51,如果不
    
    能够驱动,那么一切就OVER了,可惜的是我的担心成为了现实,板子焊好之后系统不工作,在
    
    SJA1000的时钟输入引脚上有信号输入,而且输出时钟也正常,但是单片机就是不工作。于是我先
    
    把SJA1000的复位引脚连线割断,连接到了AT89S51的IO引脚上

全部回复(2 )

只看楼主 我来说两句抢地板
  • hdsr178
    hdsr178 沙发
    通常CAN总线电缆是一对特性阻抗为120欧姆的屏蔽双绞线,并不支持模块供电。
    有一款CAN总线综合电缆,含有一对信号线和一对电源线,通过屏蔽隔离的解决了电磁兼容(类似于DeviceNet电缆),也解决了模块供电问题。
    2005-09-26 13:16:26

    回复 举报
    赞同0
  • hdsr178
    hdsr178 板凳
    需CAN总线电缆资料的网友,请留下邮箱。
    hdsr178@yahoo.com.cn
    2005-09-22 22:20:22

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 347 人订阅

猜你喜欢

阅读下一篇

《变频器维修与应用》作者:李春发

最近维修一台三菱A540-55K变频器,是一位维修新手维修不好才拿到我们这里来,这台机本来是坏了一个模块,换好模块后,这位新手想测量驱动是否正常,把模块触发线拨掉,结果一通电就跳闸,检查后发现又烧掉一个模块!他想很久都弄不明白为什么会这样! 原来IGBT模块的触发端在触发线拨掉后有可能留有小量电压,此时模块处于半导通状态,一通电就因短路而烧坏,GTR模块没有这特性,才可这样测试!  我们维修不少三菱A240-22K变频器,都是坏模块!原因是保养不好,如散热器尘多堵塞、电路板太脏、散热硅脂失效等,这变频器的输出模块(PM100CSM120)是一体化模块,就是坏一路也要整个换掉,维修价格高!好的模块也难找!如果你的变频器还没坏,则要多加小心保养!特别是这几天天气炎热!

回帖成功

经验值 +10