原创 CAN总线学习系列之六——SJA1000重要的寄存器

2007-11-24 17:51 7039 8 9 分类: 汽车电子

 


  要编写CAN总线通讯程序,只要了解CAN总线协议,熟悉SJA1000寄存器的配置,就可以完成CAN总线通讯。所以我们首先必须要详细了解SJA1000的寄存器。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1SJA1000 的两个工作模式Basic Peli)所使用的寄存器数目不同,功能也不尽相同。Basic CAN 有从0-31 32 个寄存器可用,Peli CAN 有从0-127 128 个寄存器可用。要实现CAN通讯,主要就是怎么配置这些寄存器。


2)要掌握的重要寄存器:模式寄存器;命令寄存器;状态寄存器;中断寄存器;中断使能寄存器;总线定时器0,总线定时器1;输出控制寄存器;时钟分频寄存器;屏蔽寄存器0-3;验收代码寄存器0-3


3)模式寄存器的作用:控制SJA1000的运行在什么模式下。包括:睡眠模式;自检测模式;复位模式;只听模式。


4)命令寄存器的作用:启动发送或自发送;释放接收寄存器;中止发送


5)状态寄存器的作用:指示SJA1000的状态,以判断是否可以进行下一步操作。


6)中断寄存器的作用:当发生中断后,读其值可以判断是什么原因引起的中断。


7)中断使能寄存器的作用:打开相应的中断。


8)总线定时器的作用:设置通讯的速率。


9)输出控制寄存器的作用:控制输出模式


10)时钟分频寄存器的作用:控制CAN总线采用那种模式。


11)验收代码寄存器和屏蔽寄存的作用:决定接收哪类标志码的数据。注意验收滤波器的设置。


 


点击看大图

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1361860 2009-9-25 15:12

rdboy,抱歉,上面只是我的一个想法,后来没有时间去做,最终没有实现

用户1190478 2009-9-25 11:40

楼主,有代码可以共享给小弟么?谢谢了。

用户1327154 2008-8-10 14:23

学习中

用户143405 2008-4-20 21:08

真有才!
相关推荐阅读
用户393569 2011-10-14 10:26
ucos-ii 中断服务程序需要做的事情
用户中断服务子程序需要按以下顺序完成这些工作:保存全部CPU寄存器; (1)调用OSIntEnter或OSIntNesting直接加1; (2)执行用户代码做中断服务; (3)调用OSIntExit(...
用户393569 2011-10-14 10:17
ucos-ii 任务状态
下图是μC/OS-Ⅱ控制下的任务状态转换图。在任一给定的时刻,任务的状态一定是在这五种状态之一。   ...
用户393569 2011-01-15 09:59
与书配套-CAN学习板第六版照片
...
用户393569 2009-10-27 07:17
【转载】hxhxin网友:我的自收发实验成功了.........
 当买来CAN学习板时,看着板子精致的,说实话,都不舍得碰,怕碰坏了。更别说用板子来做实验了,简直是无从下手。因为我的专业是电力系统自动化,学的都是强电类的,对这个小板子还真的不了解。经过近一个半月的...
用户393569 2009-10-23 20:07
【推荐!】akuei2网友的CAN学习笔记分享
akuei2网友一直在我们小组很活跃,积极发表自己的一些学习经验。这几天有机会看了他在EDN博客上发表的几篇CAN的学习笔记,觉得写得非常好!还没有征得他的同意我就想转载进来,这里把连接标出来,供大家...
用户393569 2009-08-23 19:30
出差了!
今晚就要出差了,出差过程中白天不方便上网,不能看大家的发帖了.晚上有时间会尽量来EDN上转转,与大家共同学习!在这器件如果您有问题,可以发邮件给我.如果你购买了无线模块,而还没有收到程序,那么请将你付...
EE直播间
更多
我要评论
1
8
关闭 站长推荐上一条 /3 下一条