求助!CAN总线的设计 点击:2114 | 回复:12



Jordan

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2004年3月19日
发表于:2004-04-01 12:21:00
楼主
大家好!小弟现在作一个基于CAN的数据采集系统,采用8051+SJA1000+P82C250, 数据通过传感器传于51,通过51对sja1000的控制,将数据传于CAN BUS ,之后怎么进行与上位机的连接?



远 方

  • 精华:1帖
  • 求助:0帖
  • 帖子:18帖 | 401回
  • 年度积分:0
  • 历史总积分:561
  • 注册:2002年1月29日
发表于:2004-04-01 12:26:00
1楼
编写CAN的应用层协议,简单点就好 实现站与站之间的数据交换。

Jordan

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2004年3月19日
发表于:2004-04-01 12:44:00
2楼
可以赐教一下硬件电路吗?是否需要加一个CAN与RS232的转换电路才能实现与上位机的通讯?

PRETTYBUDDY

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 16回
  • 年度积分:0
  • 历史总积分:61
  • 注册:2003年9月15日
发表于:2004-04-01 12:45:00
3楼
远方老师,能否说得详细些,协议不是CAN协议吗,自己如何编?

远 方

  • 精华:1帖
  • 求助:0帖
  • 帖子:18帖 | 401回
  • 年度积分:0
  • 历史总积分:561
  • 注册:2002年1月29日
发表于:2004-04-02 12:30:00
4楼
CAN控制器提供了数据传送的协议,但你拿到的数据是按CAN报文的格式来组织的,你要有一个应用层的解析协议才可以达成各种各样的功能啊。 与上位机的连接,我想你是基于CAN的采集系统,一般情况下是使用CAN卡,作为PC与CAN网络的接口,然后在PC上使用CAN卡的驱动开发自己的应用软件。如果你的数据采集系统是使用RS232传到PC,则为什么要使用CAN如此复杂的通讯呢,直接使用串行通讯就可以了,如果要使PC高速的采集到数据,自然要用CAN接口卡

lboobim

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2004年4月01日
发表于:2004-04-02 14:17:00
5楼
你好: 我也在做这方面的东西,毕设. 想法和你的差不多,现在还没做出来,感到有点困难,特别是在编程那方面,交流一下经验吧

老牛拉车

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2004年3月16日
发表于:2004-04-23 21:25:00
6楼
对呀,就是软件编程不知怎么办???需要作些什么工作?

划一

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2004年2月12日
发表于:2004-04-23 22:51:00
7楼
高手们,帮忙看一下啊,为什么这个自发自收的程序一发送就出错,显示是帧开始出错,状态寄存器显示为0F4H ;CAN控制器SJA1000片外存储器起始地址为0000H MODE EQU 0000H CMR EQU 0001H SR EQU 0002H IR EQU 0003H IER EQU 0004H BTR0 EQU 0006H BTR1 EQU 0007H OCR EQU 0008H ALC EQU 000BH ECC EQU 000CH EWLR EQU 000DH RXERR EQU 000EH TXERR EQU 000FH TXB EQU 0010H RXB EQU 0010H RXCMD EQU 0015H RTRDLC EQU 0010H ACR EQU 0010H AMR EQU 0014H RMC EQU 001DH RBSA EQU 001EH CDR EQU 001FH jieshou EQU 30H ;CPU里接收报文存储区 fasong EQU 40H ;CPU里发送报文存储区 ORG 0000H LJMP MAIN ORG 0003H LJMP CUOWU ORG 0030H MAIN: MOV SP,#6FH ;SP初始化 MOV R0,#6FH CLR A CLAIR: MOV @R0,A DJNZ R0,CLAIR MOV A,#0AAH MOV R0,#4 MOV R1,#40H lOOP1: MOV @R1,A INC R1 DJNZ R0,LOOP1 LCALL CANINI MOV IE,#81H MOV P1.0,#0 LCALL TDATA TLOOP: MOV DPTR,#SR MOVX A,@DPTR JB ACC.3,PUT1 JMP TLOOP PUT1: SETB P1.0 LCALL CANREC RET CANINI: MOV DPTR,#MODE MOV A,#01H MOVX @DPTR,A MOV DPTR,#CDR MOV A,#88H MOVX @DPTR,A MOV DPTR,#IER MOV A,#8CH MOVX @DPTR,A MOV DPTR,#AMR MOV R0,#4 MOV A,#0FFH AMRINI: MOVX @DPTR,A INC DPTR DJNZ R0,AMRINI MOV DPTR,#ACR MOV R1,#4 MOV A,#80H ACRINI: MOVX @DPTR,A INC DPTR DJNZ R1,ACRINI MOV DPTR,#BTR0 MOV A,#07H MOVX @DPTR,A MOV DPTR,#BTR1 MOV A,#0FFH MOVX @DPTR,A MOV DPTR,#OCR MOV A,#0AAH MOVX @DPTR,A MOV DPTR,#RBSA MOV A,#0 MOVX @DPTR,A MOV DPTR,#TXERR MOV A,#0 MOVX @DPTR,A MOV DPTR,#ECC MOVX @DPTR,A MOV DPTR,#MODE MOV A,#04H MOVX @DPTR,A RET TDATA: MOV DPTR,#SR MOVX A,@DPTR JB ACC.4,TDATA TS20: MOVX A,@DPTR JNB ACC.3,TS20 TS21: MOVX A,@DPTR JNB ACC.2,TS21 TS22: MOV DPTR,#TXB MOV A,#84H MOVX @DPTR,A MOV R0,#4 LOOP2: INC DPTR MOV A,#80H MOVX @DPTR,A DJNZ R0,LOOP2 MOV R0,#4 MOV R1,#fasong LOOP3: INC DPTR MOV A,@R1 MOVX @DPTR,A INC R1 DJNZ R0,LOOP3 MOV DPTR,#CMR MOV A,#10H MOVX @DPTR,A RET CUOWU: MOV DPTR,#IR MOVX A,@DPTR MOV 50H,A MOV DPTR,#ECC MOVX A,@DPTR MOV 51H,A SETB P1.2 RET CANREC: MOV DPTR,#SR MOVX A,@DPTR ANL A,#0C3H JNZ TIAO RET TIAO: JNB ACC.7,PROCI BUSERR: MOV DPTR,#IP MOVX A,@DPTR MOV DPTR,#MODE MOV A,#08H MOVX @DPTR,A RET NOP PROCI: MOV DPTR,#IR MOVX A,@DPTR JNB ACC.3,OTHER OVER: MOV DPTR,#CMR MOV A,#0CH MOVX @DPTR,A RET NOP OTHER: JB ACC.0,RECE LJMP RECOUT NOP RECE: MOV DPTR,#RXB MOV R1,#jieshou MOVX A,@DPTR MOV @R1,A ANL A,#0FH ADD A,#4 MOV R6,A RDATA0: INC DPTR INC R1 MOVX A, @DPTR MOV @R1,A DJNZ R6,RDATA0 SETB P1.1 MOV DPTR,#CMR MOV A,#04H MOVX @DPTR,A RECOUT: MOV DPTR,#ALC MOVX A,@DPTR MOV DPTR,#ECC MOVX A, @DPTR NOP RET

划一

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2004年2月12日
发表于:2004-04-24 09:40:00
8楼
自发自收时 只在82C250的6,7脚之间接一120的电阻,不接双绞线,这样没问题吧 82C250的8脚接的电阻是47K的 我发送时出现帧开始错 这可能是什么原因呢? 高手们,指教指教啊

asic

  • 精华:8帖
  • 求助:0帖
  • 帖子:12帖 | 119回
  • 年度积分:0
  • 历史总积分:249
  • 注册:2003年6月15日
发表于:2004-04-26 13:15:00
9楼
典型的错误!

冰剑

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2004年4月26日
发表于:2004-04-26 20:07:00
10楼
我也是做有关CAN总线的毕设,请问几位高手,如果想在PC和CAN网络中间用ISA总线,再用双口RAM做,该如何连接?可有相应的电路图参考? 我的邮箱:bingjian1981@yahoo.com.cn tel:207-50104176

kongxincai

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2005年3月22日
发表于:2005-05-04 22:47:00
11楼
大家好: 我的毕业设计也是can的数据采集单元,可以交流一下吗? houzhoufeng@163.com

陈卫华

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 30回
  • 年度积分:0
  • 历史总积分:207
  • 注册:2003年4月16日
发表于:2005-05-13 10:27:00
12楼
要通信,自然是在上位机中插入can接口卡最理想了!北京华控技术有限公司提供ISA、PCI等接口卡,可以先看看华控网站的介绍:www.huakong.com.cn.

热门招聘
相关主题

官方公众号

智造工程师