CAN总线学习心得重要[推荐]_can总线学习心得摘抄
CAN总线学习心得重要[推荐]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“can总线学习心得摘抄”。
CAN总线学习心得--重要
SJ A1 0 0 0 的常用标准波特率设置,为什么基本上都是单次采样?即使是低速的时 候也是这样的,既然T SEG1 的设置周期都很大,比如都大于1 0 了,为什么不让 他采样三次呢?答: 是不好理解,但那是Ci A 推荐的值。用5 1 系列芯片和两个SJ A1 0 0 0 接口还要外扩一个RAM,请问5 1 的AL E 能否同时 与三个芯片的AL E 管脚相连(地址不同)有哪位高手做过双SJ A1 0 0 0 冗余的请指 教!答: 能同时连接。请问CAN 总线在想传输1 0 0 0 m 的情况下, 最快的速度能到多少呢?答: 5 0 k b p s = 1 3 0 0 m。如果一个网络中只有2 个节点, 其中一个处于监听模式,另一个节点发送报文会 使处于监听模式的节点进入中断吗?答: 能进入接收中断,你自己的试验也可以证明。想组建一个简单的CAN 网络, 已经有两个节点, 我想问CAN 总线如何组建, 终端电 阻安装在哪里?小弟还没有入门, 大虾们指点一下。答1 :直接将节点CANH 和CANL 连到总线上,终端电阻接在总线两端,大约1 2 0 欧。答2 : 推荐北航出版《现场总线CAN 原理与应用技术》,研读一下。请问各位老师:我是一名c a n 总线的新手,我正在做c a n 总线的开发,控制器用 s j a 1 0 0 0 t(我自己两个控制板互通), 但我在发送数据后将出现总线关闭,我看到 发送错误计数器在不断增加,直到0 x f f 最后恢复到0 x 7 f , 谢谢各位老师帮我解 答这个问题。或者对我给与启发 答1 ;首先调通单个节点。答2 :这是单节点发送没有成功(或者由于网络中其他节点没有收到帧并在响应 场响应)建议参考网站CAN 应用方案。我想请教各位c a n 远程贞有何作用?如何应用?在什么情况下才需要用到远程 贞?谢谢了!答:远程帧的用与不用完全取决你自己的协议,c a n 有远程帧的功能,是可用可 不用的!用网站提供的计算波特率的工具算出的数,1 2 k 以上的都正确,无论是自接收还 是两个节点通讯都没有任何问题。但是1 2 k 以下的数据一个都不能用,两个节点 通讯没有成功的,自接收有1 0 k 的几个数据成功。我们的项目要求必须在1 0 k 以下,最好是5 k,但是不成功,自己计算的数据也没有成功的。(我们至少试 验了3 0 多个,所有情况都考虑了。)我现在怀疑s j a 1 0 0 0 的波特率根本达不到5 k 和相对应的传输1 0 k m。或者可以谁能提供个经过实践检验的正确的总线定时器0 和1 的设置呢?要求低 于1 0 k。答:PCA8 2 C2 5 0 / 2 5 1 可以保证5 KBPS 的速率;比如Z L GCAN 系列接口卡。答:t j a 1 0 5 0 在低速时好像有问题。我用1 0 5 0 进行5 k 的时候不行,用8 2 c 2 5 0 很好,你可以试一试。我本想双机调试,一边收,一边发,但跑程序后,发送方会不断进入复位模式,所以现在进行自测试模式,我先进入复位模式,设置进入PEL I CAN 模式,对寄存 器初始化后,设置接收,发送中断使能,最后设置进入自接收,单滤波模式,这 样初始化就结束了,我的ACR0 ~ ACR3 为0 x 5 5 , 0 x 5 5 , 0 x 5 5 0 x 5 0 , AMR0 ~ AMR3 为 0 x f f , 之后,我就往BUF F ER 里填数,0 x 8 8 , 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x 5 0 , 0 x 3 0 , 0 x 3 1 ,.0 x 3 7 , 之后,启动自接收请求命令,但是程序只进入了中断一次,是发送空中断,接收中断没有产生,我读发送错误 寄存器,发现有错误产生,我读接收计数寄存器,为0,说明我没有收到数,但 我读接收BUF F ER 时,值为 0 x 5 5 , 0 x 5 5 , 0 x 5 5 , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 x f f , 0 , 0 , 0 , 0 , 0 , 以上测试时,我在CANH 和CANL 之间加入了两个1 2 0 欧的匹配电阻并联在一起的,请各位高手指点呀,谢谢了 答:在总线上加个CAN 接口卡会方便许多,或者加个捕获功能的示波器也可以检 测波形。仿真环境:k e i l u v 2 编译器:k e i l c 5 1 7.0 仿真器:t k s4 个CAN 通道。s j a 1 0 0 0 出现错误而中断的几率由多大呢?特别是发送错误,总线关闭等。答:注意CAN-b u s 是一个网络,调试网络时需要在另一端连接一个正常工作的 CAN 节点。CAN 是可靠的网络;测试过2RS-4 8 5 升级...》中有一些性能比较。单片机用的是5 1 系列,c 语言,如果SJ A1 0 0 0 模式寄存器的地址为 OXC0 0 0,请 问用什么样的命令来读写,然后判断该寄存器可以被正常读写。答:可以通过写入并验证SJ A1 0 0 0 测试寄存器(地址:0 x 0 9,名称:REG_ CAN_ T EST)的数值来判断CPU 与SJ A1 0 0 0 的硬件连接是否正确。例如,第1 次向SJ A1 0 0 0 测试寄存器REG_ CAN_ T EST 写入0 x 5 5 并读出验证;如果 通过,则再次向寄存器REG_ CAN_ T EST 写入0 x AA 并读出验证;如果2 次验证均通 过,说明CPU 与SJ A1 0 0 0 连接正确,否则需要检查相关的硬件连接。在《基于CAN 控制器SJ A1 0 0 0 控制器的Ba s i c CAN 控制模块》、《基于SJ A1 0 0 0 CAN 控制器的Pe l i CAN 模块》源代码中均有测试SJ A1 0 0 0 硬件接口函数,函数名称为: SJ AT e s t I n t e r f a c e,用户可直接调用。以下程序为《基于CAN 控制器SJ A1 0 0 0 控制器的Pe l i CAN 模块》中关于 SJ AT e s t I n t e r f a c e 函数的源代码。c h a r SJ AT e s t I n t e r f a c e(u n s i g n e d c h a r t e s t v a l u e){ c h a r s t a t u s = 0;b i t Er r o r F l a g = 1;u n s i g n e d c h a r Er r o r Co u n t = 0 x 2 0;u n s i g n e d c h a r t e mp = t e s t v a l u e;wh i l e(-CANT X(CAN2), CANRX(CAN1)-;i f(Se c Da t a = = 0){ Se c Da t a = 0 x 1 0;T H0 = 0 x 8 0;T L 0 = 0 x 6 0;Se c F l a g = 1;Se c o n d + +;} T R0 = 1;} v o i d I n i t Cp u(v o i d){ PX0 = 1;I T 0 = 1;EX0 = 1;ET 0 = 1;EA= 1;Se c Da t a = 0 x 1 0;} v o i d I n i t T 0(v o i d){ T mo d Da t a = T MOD;T mo d Da t a &= 0 x f 0;T mo d Da t a │= 0 x 0 1;T MOD = T mo d Da t a;T H0 = 0 x 8 0;T L 0 = 0 x 6 0;T R0 = 1;Se c Da t a = 0 x 2 0;Se c o n d = 0 x 0 0;} v o i d Sj a 1 0 0 0 I n i t(v o i d){ BCAN_ ENT ER_ RET MODEL()BCAN_ SET _ BANDRAT E(0 x 0 4);/ / 1 0 0 k BCAN_ SET _ OBJ ECT(0 x a a , 0 x f f);BCAN_ SET _ OUT CL K(0 x a a , 0 x 4 8);BCAN_ QUI T _ RET MODEL();SJ A_ BCANAd r = REG_ CONT ROL;* SJ A_ BCANAd r │= 0 x 0 a;/ / } 现在用示波器测CAN_ H 和CAN_ L,没有信号,请问是什么问题?注:这个参考一下吧,呵呵 问: 请教各位大虾:有没有CAN 局部测试程或意见?急需!谢谢!有没有人能给他的自测程序给我看看?帮帮我呀!答:网上有b a s i c CAN 例程,CANs t a r t e rI I 开发套件中提供的资源。问:请问各位高手,作为一个初学者应该如何学习CAN 总线技术?应该先学习哪 一些基本知识,请推荐妨相关书籍一二。谢谢!答:现场总线CAN 原理与应用技术 作者:饶运涛 邹继军 郑勇芸 出版社:北京航空航天大学出版社 问:又没有带CAN 控制器的可在线编程的8 位单片机呢,麻烦推荐一款吧 答:AT MEL AT 8 9 C5 1 CC0 X 系列不错!答:i n t e l 的8 9 C5 9 1 , 8 9 C5 9 2 都是片内带c a n 的8 位单片机。问:本来应用了CAN232,但是想提高系统的速度,想用PCI-CAN,做USB-CAN,但是想借此学习PCI,或USB,ZLG这里能想CAN 232一样,如果买了板子,提供代码,原理图吗?如果没有哪种开发板有呢,能推荐一下吗?答:系统而理论地学习CAN,建议选择CANs t a r t e r0 4-2 8 1 1 : 0 2 问:第一,接收信息的工作节点需要什么响应来确认?第二,接收的子程序未调 好是否意味收发两方均无法调试?如何确认发送成功?答:网络上同一速率的正常工作节点响应:1、已设定速率;2、在工作状态。完 全是由硬件(比如:SJ A1 0 0 0 芯片)完成ACK 确认。问:请问单个c a n 节点可以进行调试吗?是一块一路的c a n 适配卡,使用端口 地值3 0 0 h , 我使用wi n i o 进行读写的,可为什么,所有的单元读出来得数据都是 f f ?是因为只使用了单个节点c a n 控制器不能正常工作吗?答:s j a 可实现单节点调试;f f 应该是地址空间错误;问:我还是不太明白,你说的地址空间错误,是说s j a 1 0 0 0 的地址没有选通,地 址没有指向s j a 1 0 0 0 的寄存器吗?答:首先把读写片选信号产生了再去管s j a 1 0 0 0 吧。问:我用验收滤波器来选择接收CAN2.0 B 的一帧数据,2 9 位中只对其中几位进 行判别,其他位又不是定值,请问这该怎么办?可不可以掩住不关心的位?用范 围应该也可以实现,不过那样感觉不好,请教大家,谢谢!答:相关/ 不相关位最终都可以转化为范围描述。问:请教关于2 1 1 9 c a n 验收过滤器的问题 请问:1、在c a n s t a r t e r-i i 应用指南第4 2 页中提到的“f u l l c a n 标准地址” 与“标准单个地址”有何区别?2、第4 5 页表2.3 4 的“值”“字”“行”“i d 索引”是什么概念?答:f u l l c a n 标准地址放置的是需要自动执行接收存储的i d 索引表格(f u l l CAN 功能,查看相关的介绍);标准单个地址仅仅是AF 接收/ 屏蔽标准i d 的索引表格,即和一般的接收过滤理解一致。答:f u l l c a n 模式下自动把符合的帧放在后面的r a m 里