做CAN总线的朋友看过来,我可帮你们解决问题 点击:25787 | 回复:195



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-03-02 12:58:00
楼主
朋友们,大家好! 我已经开发出CAN到PCI插槽的转接卡,现正在了解市场应用。如果你在做CAN总线的时候遇 到问题,可与我联系,我将尽量解答,但是作为交换,必需将你们的系统及应用场合跟我介 绍一下。我的Email:samcan@163.com



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-10-26 14:21:00
101楼
我需做一82C200+82C250的can中继器(纯硬件),请给以指教,谢谢! 信箱:lys78@etang.com

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-11-14 10:59:00
102楼
我们在做一个基于can总线的系统。电网电压经整流逆变后给电机供电。can总线上挂有四个节点,分别为整流器,两个逆变器,伺控台。在整流器工作时对can通信部分干扰很大,致使其发生错误,不能正常工作。请问如何改善?

wsgjyq

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2003年11月18日
发表于:2003-11-18 18:42:00
103楼
阿静: 用光电隔离了吗?

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-12-15 15:55:00
104楼
to wsgjyp: 我们用的6N137光耦.

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-12-15 15:56:00
105楼
to wsgjyp: 我们用的6N137光耦.

iceflame

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2003年10月23日
发表于:2004-03-02 12:58:00
106楼
请问p80c592和80c592有区别么?非常感激赐教!

瑞传

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 44回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2003年4月02日
发表于:2004-03-17 15:38:00
107楼
华控公司主要产品包括:符合HART协议、FF协议标准的OEM仪表嵌入产品和测试工具及系列配套产品,符合CAN总线标准,modbus协议、pofibus协议的智能分布式系统(SDS)和集散控制系统、现场总线综合控制系统、智能模块、信号调理模块、数据采集系统、I/O板卡及之配套的软件产品。华控公司于1996年成为现场总线基金会(FF)成员、HART通讯基金会成员、OPC基金会成员,华控公司积多年自动化控制方面的经验,致力于现场总线技术的研究,做为国家"九五"、"十五"科技攻关项目承担单位,完成了新一代现场总线技术的攻关项目。 北京华控技术有限责任公司 北京市海淀区上地创业路8号群英科技园3号楼2层 邮箱:100085 网址:http://www.huakong.com.cn 市场部:010-62960717/62965630

jawen

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:17
  • 注册:2003年11月28日
发表于:2004-03-23 09:51:00
108楼
请问: 6N137多少钱,

划一

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2004年2月12日
发表于:2004-03-23 16:43:00
109楼
转帖: 我在学习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引脚上,再把S51的XTAL的两个引脚连接到 SJA晶体的上,可惜系统还是不工作,这次电路板设计失败了。 在总结了第一次失败的经验后,参看了21IC上的一个设计,决定把AT89S51和SJA的晶体分开。 并且用单片机的一个IO引脚来控制对SJA的复位。 第二次的电路板比较成功,焊接好了之后首先测试单片机的串口和LED指示灯,一切OK。然后 就开始测试SJA。ZLG提供了一个BASIC模式下的参考例程,我看了一下,然后又找了本《现场总线 CAN的原理和测试》把SJA的寄存器详细看了看(由于开始的时候比较忙,所以直到这个时候才算是 仔细看了看SJA的内部,至于CAN的基础协议我是根本没有看,这给我后面带来了极大的麻烦)。然 后就参考ZLG的程序开始写SJA的测试程序,那个程序写的很大,也很全,因为我想快点把东西给做 出来,于是弄了一个1000多行的程序,以前我的调试程序一般都很小的。写好程序之后就开始测试 ,首先测试的是测试寄存器,然后一步步测试下去,在BASIC模式下所有的寄存器都正常,但是在 发送的时候是总是不正常,启动发送之后就一直在发送,状态寄存器的标志位一直处在发送的状态 下,然后就是报总线错误,不知道是怎么会事情,很郁闷,上bbs看了一下。bullfrog告诉我单个 CAN节点发送是成功不了的,如果没有收到接受CAN节点的应答,发送节点就会一直发送,直到超出 错误计数器的允许值使得总线关闭。同时在精华区发现在peli模式下有ECC(错误寄存器),可以跟 踪错误,于是开始看peli模式操作过程。这个东西比较麻烦,zlg没有提供公开的c代码,我找了一 个汇编的作为参考。 我第一步的目标是自发送,在peli模式下有自发送这种模式,在有匹配电阻的情况下可以进行 单个节点的接收和发送。第一次调试的时候没有成功,给北京zlg打电话,北京分公司说让我给广 州打电话,给广州打电话,几个问题都得到了很好的解答(在此谢谢zlg的工程师了): 1、自发送的时候必须加上匹配电阻; 2、5欧的限流电阻可以不需要; 3、每次发送完成之后 4、建议使用中止发送来进行单步发送; 另外他告诉我可以在zlg的论坛上找到很多很有用的东西。 听了他的建议,我第一件事情就是检查我的电路板,检查的结果让我大吃一惊——我的ch和cl 竟然是短路的,万用表的狂叫不止。一步步检查,发现那个110欧的匹配电阻有问题,万用表碰上 去就叫,于是把那个电阻剪下来,量量还是短路。于是我怀疑把5欧的限流电阻当成了110欧的电阻 ,于是把匹配电阻都去掉了。没有想到的是当我把新的110欧电阻拿来的时候,万用表还是叫,这 时候才发现这块万用表在300欧姆以下都要叫,可怜我又打理了n长时间的电路板...... 再仔细阅读了一次peli模式下的操作指南,又仔细阅读了zlg提供的初始化规范,发现在子发 送的时候发送的命令应该是0x10或者是0x12(即CMR寄存器里面有一个专门的控制位是用来控制自发 送的,和普通的发送命令位是不同的)。在发现了这个问题之后,自发送一切顺利的通过了。 接下来就是两个节点的互调了,我首先用自发送程序把两个节点都调试了一下,保证单个节点 发送硬件没有任何问题。然后就用双绞线通过接线端子把两个系统连接到了一起。第一次调试采用 的是1M的波特率(由于ZLG只给出了16M晶体下的BTR0和BTR1的初始值,我在ZLG的论坛上找到了一个 网友自己计算的数值,后来证明这个东西有些问题),没有成功。发送节点通过串口利用串口调试助 手来控制发送,接收节点通过仿真器观察数据。虽然没有发送成功,但是通过串口的反馈数据和仿 真器的观察窗,可以看到ECC寄存器都发生了变化,证明数据线上有数据过去(由于我没有示波器, 只有采用这种办法)。于是我改变了两次波特率,最低到了5k,都没有成功,最后我从21IC上的一 篇应用文章上找到了两个参数,这次就成功了,通讯速率20k。现在一切稳定,在写这篇文章的时 候哪几个LED正欢快的闪烁着。 最后,总结几个经验: 1、一定要详细的阅读sja的手册和CAN的相关知识; 2、SJA的复位是低电平,而且不是用一个非们把单片机的RST反相就可以的,有两种解决方式 :第一种是使用单片机的IO引脚来控制SJA的复位引脚,好处是单片机完全控制SJA的复位过程;第 二种是采用适当的复位芯片,ZLG给我推荐的是CAT1161,我没有用过,其好处是同步复位。 3、在自发送的模式下,需要匹配电阻,而且自发送的启动命令和普通发送的启动命令不相同 ; 4、BRT0和BRT1的选择,和串口通信中只要两个的误差一样就可以了不同,一定要精心选择, 建议SJA的外部晶体选择16M的,这样有利于参考ZLG的标准数值 5、SJA和其他外部器件连接的时候,数据线在373前后都可以; 6、最好有一个示波器; 7、不要太大意的相信万用表的蜂鸣器; 8、这是从ZLG网站上转载过来的peli模式下的初始化流程 a)检测硬件连接是否正确 b)进入复位状态 c)设置时钟分频寄存器 d)设置输出控制寄存器 e)设置通讯波特率 f)设置代码验收寄存器 g)设置代码屏蔽寄存器 h)退出复位状态 i)设置工作模式 j)设置中断使能寄存器 这是一个自发收程序,采用at89s51+sja1000,分离晶体,at89s51晶体11.0592 sja1000外部晶体为12M,通过串口进行监控 ****************************************************** 以下为头文件定义 copyright by alloy ****************************************************** #define SJA_REG_BaseADD 0x7800 #define REG_MODE XBYTE[SJA_REG_BaseADD + 0x00] #define REG_CMD XBYTE[SJA_REG_BaseADD + 0x01] #define REG_SR XBYTE[SJA_REG_BaseADD + 0x02] #define REG_IR XBYTE[SJA_REG_BaseADD + 0x03] #define REG_IR_ABLE XBYTE[SJA_REG_BaseADD + 0x04] #define REG_BTR0 XBYTE[SJA_REG_BaseADD + 0x06] //05保留 #define REG_BTR1 XBYTE[SJA_REG_BaseADD + 0x07] #define REG_OCR XBYTE[SJA_REG_BaseADD + 0x08] #define REG_TEST XBYTE[SJA_REG_BaseADD + 0x09] #define REG_ALC XBYTE[SJA_REG_BaseADD + 0x0b] //0a保留 #define REG_ECC XBYTE[SJA_REG_BaseADD + 0x0c] #define REG_EMLR XBYTE[SJA_REG_BaseADD + 0x0d] #define REG_RXERR XBYTE[SJA_REG_BaseADD + 0x0e] #define REG_TXERR XBYTE[SJA_REG_BaseADD + 0x0f] #define REG_ACR0 XBYTE[SJA_REG_BaseADD + 0x10] #define REG_ACR1 XBYTE[SJA_REG_BaseADD + 0x11] #define REG_ACR2 XBYTE[SJA_REG_BaseADD + 0x12] #define REG_ACR3 XBYTE[SJA_REG_BaseADD + 0x13] #define REG_AMR0 XBYTE[SJA_REG_BaseADD + 0x14] #define REG_AMR1 XBYTE[SJA_REG_BaseADD + 0x15] #define REG_AMR2 XBYTE[SJA_REG_BaseADD + 0x16] #define REG_AMR3 XBYTE[SJA_REG_BaseADD + 0x17] #define REG_RxBuffer0 XBYTE[SJA_REG_BaseADD + 0x10] #define REG_RxBuffer1 XBYTE[SJA_REG_BaseADD + 0x11] #define REG_RxBuffer2 XBYTE[SJA_REG_BaseADD + 0x12] #define REG_RxBuffer3 XBYTE[SJA_REG_BaseADD + 0x13] #define REG_RxBuffer4 XBYTE[SJA_REG_BaseADD + 0x14] #define REG_TxBuffer0 XBYTE[SJA_REG_BaseADD + 0x10] #define REG_TxBuffer1 XBYTE[SJA_REG_BaseADD + 0x11] #define REG_TxBuffer2 XBYTE[SJA_REG_BaseADD + 0x12] #define REG_TxBuffer3 XBYTE[SJA_REG_BaseADD + 0x13] #define REG_TxBuffer4 XBYTE[SJA_REG_BaseADD + 0x14] #define REG_DataBuffer1 XBYTE[SJA_REG_BaseADD + 0x15] #define REG_DataBuffer2 XBYTE[SJA_REG_BaseADD + 0x16] #define REG_DataBuffer3 XBYTE[SJA_REG_BaseADD + 0x17] #define REG_DataBuffer4 XBYTE[SJA_REG_BaseADD + 0x18] #define REG_DataBuffer5 XBYTE[SJA_REG_BaseADD + 0x19] #define REG_DataBuffer6 XBYTE[SJA_REG_BaseADD + 0x1a] #define REG_DataBuffer7 XBYTE[SJA_REG_BaseADD + 0x1b] #define REG_DataBuffer8 XBYTE[SJA_REG_BaseADD + 0x1c] #define REG_RBSA XBYTE[SJA_REG_BaseADD + 0x1e] #define REG_CDR XBYTE[SJA_REG_BaseADD + 0x1f] #define REG_Receive_Counter XBYTE[SJA_REG_BaseADD + 0x1d] #define OK 1 #define Fail 0 #define ON 1 #define OFF 0 #define True 1 #define False 0 sbit SJARst = P2 ^ 6; //复位控制 sbit LED0 = P1 ^ 0; sbit LED1 = P1 ^ 1; sbit Key0 = P1 ^ 2; sbit Key1 = P1 ^ 3; sbit Key2 = P1 ^ 4; sbit Key3 = P1 ^ 5; bit step_flg; bit Tx_flg; bit Rx_flg; unsigned char step_counter; unsigned char Tx_counter; unsigned char PC_RX_Buffer; unsigned char temp_data1; unsigned char Rx_Buffer[6]; void MCU_Init(void); void SJA_Init(void); void send(unsigned char S_Data); void Serial(void); void Delay(unsigned char Delay_time); void step(void); ******************************************************* 以下为c的主程序 copyright by alloy ******************************************************* #include <stdio.h> #include <string.h> #include <REG51.h> #include <TxMCU.h> #include <absacc.h> main() { unsigned char i; MCU_Init(); SJA_Init(); REG_MODE = 0x01; //进入复位模式 temp_data1 = REG_MODE; temp_data1 = temp_data1 & 0x01; if(temp_data1 == 0x01) //在复位模式中 { REG_BTR0 = 0x85; REG_BTR1 = 0xb4; //100k REG_OCR = 0x1a; REG_CDR = 0xc0; REG_RBSA = 0x00; REG_ACR0 = 0xff; REG_ACR1 = 0xff; REG_ACR2 = 0xff; REG_ACR3 = 0xff; REG_AMR0 = 0xff; REG_AMR1 = 0xff; REG_AMR2 = 0xff; REG_AMR3 = 0xff; REG_IR_ABLE = 0xff; } REG_MODE = 0x0c; //进入自接收模式 REG_MODE = 0x0c; for(i = 0;i<100;i++); temp_data1 = REG_Receive_Counter; send(temp_data1); for(;;) { while(Tx_flg == False); Tx_flg = False; Tx_counter++; send(Tx_counter); temp_data1 = REG_SR; while((temp_data1 & 0x10) == 0x10); temp_data1 = REG_SR; if((temp_data1 & 0x04) == 0x04) { REG_RxBuffer0 = 0x08; //标准帧,长度为8 REG_RxBuffer1 = 0xff; REG_RxBuffer2 = 0xff; REG_RxBuffer3 = 0x01; REG_RxBuffer4 = 0x02; REG_DataBuffer1 = 0x03; REG_DataBuffer2 = 0x04; REG_DataBuffer3 = 0x05; REG_DataBuffer4 = 0x06; REG_DataBuffer5 = 0x07; REG_DataBuffer6 = 0x08; REG_DataBuffer7 = 0x09; REG_DataBuffer8 = 0x0a; } REG_CMD = 0x10; temp_data1 = REG_SR; temp_data1 = temp_data1 & 0x20; while(temp_data1 == 0x20) //检查是否发送完成 { //send(0xaa); temp_data1 = REG_ECC; send(temp_data1); temp_data1 = REG_SR; temp_data1 = temp_data1 & 0x20; //send(temp_data1); } send(0x66); temp_data1 = REG_ALC; send(temp_data1); temp_data1 = REG_ECC; send(temp_data1); temp_data1 = REG_SR; send(temp_data1); temp_data1 = REG_Receive_Counter; send(temp_data1); PC_RX_Buffer = 0x77; LED0 = ~LED0; // Tx_counter = 0x00; } } void MCU_Init(void) { SJARst = 1; LED0 = OFF; LED1 = OFF; PC_RX_Buffer = 0x77; step_counter = 0x00; step_flg = False; Tx_flg = False; temp_data1 = 0x00; TMOD = 0x20; TH1 = 0xff; TL1 = 0xff; TR1 = 1; SCON = 0x50; PCON = 0x80; EA = 1; ES = 1; Tx_counter = 0x00; } void SJA_Init(void) { unsigned char i; for(i = 0;i < 125;i++); SJARst = 0; for(i = 0;i < 125;i++); SJARst = 1; for(i = 0;i < 125;i++); } void send(unsigned char S_Data) { SBUF = S_Data; while(TI == 0); TI =0; } void Serial() interrupt 4 using 2 { if(RI == 1) { PC_RX_Buffer = SBUF; RI = 0; if(PC_RX_Buffer == 0xaa) { send(0x13); Tx_flg = True; PC_RX_Buffer = 0x77; } else if(PC_RX_Buffer == 0x55) { send(0x14); Rx_flg = True; PC_RX_Buffer = 0x77; } else { send(0x15); PC_RX_Buffer = 0x77; } } } 请问samcan,为什么你们用的收发芯片都是PCA82C250,而不用TJA1050或TJA1040?按理说,TJA1050的电路连接比82C250更简单,82C250还须使用共模扼流圈,同时还要计算接8管脚的电阻大小,而价格跟TJA1050是一样的!!!!!!!!! 我也正在作CAN总线的毕业设计,欢迎大家跟我交流,我的QQ是57707371 邮箱是huayi0796@yahoo.com.cn 另外,我给大家推荐一本书,还不错的 北航出版的《现场总线CAN原理与应用技术》(饶运涛等)

naplon

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2004年3月20日
发表于:2004-03-27 15:39:00
110楼
请问各位前辈在那可以买到关于SAE J1939协议的书

whowho

  • 精华:2帖
  • 求助:0帖
  • 帖子:7帖 | 13回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2004年3月14日
发表于:2004-03-27 21:56:00
111楼
致huayi0796: 朋友,我服了你了!看了你的帖子,我不再抱怨论坛上找不到有用的东西了!

小恬

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2004年3月31日
发表于:2004-03-31 12:08:00
112楼
我是一名计算机设计工程师,最近,接了一个用CAN总线通讯的工作。我使用的是TMS320LF2407 评估板来做一个仿真。主要以前没弄个这个,所以不是很熟悉。现在我要做的就是,利用板上面的CAN2.0B模块,来实现一个自发自收的功能。我发现我初始化晚了之后,进行发送,和接收,根本没有写道寄存器中间去。(在自测试模式下,参考北航的TMS320LF240xDSP C语言开发应用)我怀疑是CAN根本没有发送出去,或者根本没有接收到。请教各位高手,不吝赐教!谢谢! 我的QQ:104115511,E-MAIL:Jacken_0530@163.com

mlml

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:63
  • 注册:2004年4月02日
发表于:2004-04-05 09:11:00
113楼
各位兄: 我也是用我用的也是2407和pc通讯。我用一仿真板测试的时候,连自发自收都没办法,我也很迷惑,请指点!   e_mail:dair0731@sohu.com   tel:021-57778888-6153 找明工   各位兄,我可以给你们打过去!

iceflame

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:19
  • 注册:2003年10月23日
发表于:2004-04-06 22:09:00
114楼
有两款单片机at89c51cc01/02,内置can控制器,flash rom,adc,wdt,支持isp,功能十分强大,可以最大限度的提高系统集成度,减少故障点。 请问有没有人用过?有谁知道它的开发工具用什么?那位能指点该到哪去查相关开发工具呢?

在风中遗忘

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2004年4月12日
发表于:2004-04-12 08:40:00
115楼
我想问一下哪里有关于CAN的外文影印版资料下载?

wkingw

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年4月12日
发表于:2004-04-12 21:06:00
116楼
各位前辈,请问can的安全性是怎么实现的?我在看通信程序例子时,没发现程序对错误有具体解决方法的部分。还不太清楚错误帧,超载帧怎么用,以及在591中,仲裁丢失捕获,错误代码捕获这两个寄存器在通信编程中具体用在什么地方上。

Liping

  • 精华:2帖
  • 求助:0帖
  • 帖子:11帖 | 29回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2003年8月15日
发表于:2004-04-13 13:45:00
117楼
对于工控这一块,我是一个新手,我也有个CAN总线的问题想请教一下,公司里现在是用CAN总线来连现场设备的,现在从现场设备到后台PC的中间有一个转发装置,CAN接到这台装置上,这台装置跟PC机用rs232连接,我想请问一下,现场装置可不可以直接用rs485或rs232或rs422来跟PC机连?

wkingw

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年4月12日
发表于:2004-04-13 19:21:00
118楼
to liping can有很多接口卡可用于与电脑连接。rs232太慢。有些是pci插槽的,也有usb的。直接就插在电脑里了,不用再加转发装置了。

Liping

  • 精华:2帖
  • 求助:0帖
  • 帖子:11帖 | 29回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2003年8月15日
发表于:2004-04-14 08:38:00
119楼
to wkingw: 我现在在做的项目中除了CAN网外,还要考虑跟别的厂家的设备相连,但是跟别的厂家的设备就不一定用CAN网了,有可能是用rs485的.因为没有这方面的经验,所以不知道CAN适配卡在PC上处理起来跟串口会不会有差别,是不是有CAN转rs232的产品,这样的话我就可以把它作为串口来处理了. 我的QQ:282831487

lwl_seu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2004年4月16日
发表于:2004-04-16 11:23:00
120楼
请问采用 sja1000+82c250是否一定要采用 6n137隔离? 而用6n137隔离的话是否要接不同的地?

热门招聘
相关主题

官方公众号

智造工程师