打印
[CAN-bus/DeviceNet]

在传一次试试-can总线调试记录

[复制链接]
2450|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1181zjf|  楼主 | 2007-7-30 09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
1181zjf|  楼主 | 2007-7-30 09:33 | 只看该作者

以下就是调试的主要内容

                           CAN总线调试记录
一.说明:
最近一个项目用到了CAN总线,借此机会学习了CAN总线.有关CAN总线的协议在这不再详述,可以在网络上搜到相关资料.
二.实验平台:
   CAN232MB+SJA1000+AT89C52+MCP2551
   CAN232MB----232转CAN模块(广州周立功邮购)
   SJA1000----CAN控制器(广州周立功邮购)
   AT89C52----这个不用介绍了吧 ^_^ 
   MCP2551----CAN总线收发器
三.实验电路
   
电路说明:
电路参考ZLG网站上的资料,并加了一些测试用的发光二极管.
         CPU晶振11.0592M
         SJA1000晶振16M  
片选地址 :由于SJA1000的片选信号接了P2_7,所以片选地址为0x0000到0x7f00
之间的值(实验用的是0x7f00).
四.开发记要:
          1.Basic模式
          2.zlg网站提供的测试程序中sja1000的晶振为12M,sja1000初始化配置为100kpbs,测试失败,换为16M晶振,串口调试助手看到了数据.
          3.验收代码寄存器ACR验收屏蔽寄存器 AMR分别配置为0xff 0xff,无条件接收.
          4.第3步通过后,再做选择性的接收测试,例如,将can232MB(ZLG网站有说明书)配置为ID为00 00 05 50,ACR=0x02,AMR=0x00; SJA1000的ID配置为0x02,ACR =0xaa,AMR=0x00;实验用了两台电脑对发数据,单片机从串口接收到的数据通过sja1000传给CAN232MB,最后传到另一台计算机上显示出来
            例如:PC1发送一组数据到89C52,00 48 01 02 03 04 05 06 07 08(前两个字节为ID标识符和数据长度,是CAN232MB能通过验收的标识符,注意哦!!!),单片机收到数据后,转发到PC2。通过PC2用串口调试助手发数据,如:01 02 03 04 05 06 07 08(这里没有标识符,已经在CAN232B中设置,自动加的)。不用CAN232MB也可以做实验,做两块一样的sja1000实验板,对发数据。
          5.最后加上高速光耦6n136或6n137,电路如下图
             
                    
注意:使用6n136时,第7脚不与VCC相连。
五.程序
  实验的代码来自zlg网站,略做修改即可。我实验用的是basic模式,peli模式自检测发送也测试成功,还没做进一步研究,确保硬件无误后,再调试程序,以免多走弯路。还有波特率的设置,验收代码寄存器,验收屏蔽寄存器,标识符的设置是重点。还有就是下载的代码中sja1000用的是12M晶振,不过没调通(乱码都看不到),换为16M的调试成功,最后一点,用STC89C52调试不成功,可能是时续的问题,AT89C52可以。



你一定会成功!只是时间问题,希望以上几点能加快你的开发进度^_^                     
                 欢迎交流------1181zjf@163.com    

使用特权

评论回复
板凳
coolhu| | 2007-7-30 20:46 | 只看该作者

赞下能给新手提供一种思路

使用特权

评论回复
地板
1181zjf|  楼主 | 2007-8-2 10:23 | 只看该作者

是仿真吗

89c52可以运行的,编好程序,我直接烧进去的.

使用特权

评论回复
5
cyongkai| | 2007-8-17 16:54 | 只看该作者

好的!

谢谢!!LZ的鼓励!!
我会努力的
!!!

使用特权

评论回复
6
wyhkerry| | 2007-8-18 22:26 | 只看该作者

最近也在做这个项目 多谢谢

非常感谢!

使用特权

评论回复
7
ourdoctor| | 2007-8-19 22:00 | 只看该作者

re

分享你的经验,大家可以借鉴很多,你辛苦了!希望以后能更多的看见你的大作!

使用特权

评论回复
8
1181zjf|  楼主 | 2007-8-20 10:51 | 只看该作者

mega16+mcp2515+mcp2551

最近在搞基于avr的can总线调试,因为avr带spi接口和ad转换.
有兴趣的朋友一块研究!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

25

帖子

0

粉丝