1 CAN通讯设计
选用的DSP TMS320LF2407A芯片集成了CAN控制器
的功能模块,简化了CAN的硬件电路设计E3】。集成的CAN
控制器支持CAN2,0B协议,有6个数据长度为0一-8个字节
的邮箱,可通过软件灵活设计接收和发送功能。该接口电路
设计利用高速光电耦合器件6N137,将CAN的收发信号
(CANTX和CANRX)与CAN总线隔离,同时隔离后的电路
部分单独供电,避免CAN总线对DSP的干扰,提高了系统的
电磁兼容性。CAN总线与DSP的连接如图所示
CAN总线接口电路设计注意事项
:
http://blog.ednchina.com/piae/153518/message.aspx
2.故障分析:
以前我做了一个小板子,使用mega16 芯片 +sja1000+82c250+4位数码管 做了一个Can节点,
使用zlg Canbus2.0 的 zlgcantest 通讯成功!
于是我又将此板子升级,在can部分增加了光耦隔离,和电源隔离
变为:mega16+sja1000+6n137+82c250+4位数码管+dc0505
结果就是通讯不成功!最后没办法,就又写了一个can自收自发的自检测程序
结果原先的小板子,速度非常快的就可以得到自己发送的数据,
而通过改进的光耦隔离板子,在发送的时候需要3秒才能得到自己发送的数据
while(!(read_sja(SR) & 0x08));//检测SR.3位,判断发送是否完成
一直在这个循环中3秒才行!
目前,使用的芯片为贴片的,并且都焊在pcb上啦.
在准备拆除6n137测试前,我想请教大家是否遇到过此类问题!
另外,sja1000自检测(自收自发)是否走了82c250的接收和发送?
昨天晚上,找了个朋友帮忙解决,告诉我说可能是cpu运行慢,这让我想到我的晶振换成
16M的,于是下载程序时设置了下熔丝,结果,锁住一块板子,今天吃完饭还要去解锁!
备注: 原先板子 mega16L 8MAU
光耦板子 mega16 16MAU
积分:
19派别:
等级:
------来自:
各位老大,老师们,感谢大家的建议!!
问题已经解决啦!
原因是我的 sja1000 的晶振电容 用的是 100nf,改为 22pf 一切OK ,速度飞快 ,与Can Bus 通讯正常,!!
谢谢!现在结贴,也算给大家一个交代!!
真乃晕菜也!!
100nf ,卖电容的伙计估计是喝多了,给标成 20pf!太离谱啦
转自:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4434342&bbs_page_no=2&bbs_id=1003
CAN-bus网络电缆与插座的选择.pdf:
http://www.vdisk.cn/down/index/7505953A3255
3.while ( (CANTFLG & TxBuffer) != TxBuffer)
程序运行到此处程序不能往下运行了,(调试MC9SDZ60的CAN程序用的是1040CAN收发器)
故障未解决