首要对CAN总线控制器SJA1000的管脚咱们有必要了解。下面是其各个管脚的功用参数。
各个管脚的符号功用什么的上面的表里介绍的很详细,我就不多废话了。
接着咱们看SJA1000的这些管脚在实践电路中是怎样进行衔接的,由于只谈SJA1000的硬件电路设计,所以就截一张PIAE供给的电路原理图里关于SJA1000的部分。
下面咱们要详细解析这个电路图。
AD0-AD7是地址/数据复用总线。由于这个电路是把SJA1000做外部RAM扩展了,所以它的电路衔接也势必要契合外部RAM的衔接要求。(特权同学也是第一次触摸单片机的外部存储器扩展使用,所以开端的时分也很是疑惑,然后拿起讲义一阵恶补后才茅塞顿开。)先补一下外部扩展RAM的常识,然后再谈这个电路就简单多了:51单片机外部RAM的扩展最多是能够寻址64KB的,也便是最多能够有16条地址线来寻址,P0口是低八位地址扩展口,P2口是高八位地址扩展口。假如外部RAM不需要用到悉数16条地址线(SJA1000就只有8条地址线),那么只需把低位地址线和外部RAM的相应地址线衔接,高位的地址线在寻址时都默以为1,比方这儿的SJA1000,它的8条地址线是和P0口相衔接的,所以对SJA1000的寄存器寻址时的地址应该是FF00H-FFFFH,可是为什么PIAE供给的程序里的地址界说却是FE00H-FEFFH呢?这就要评论CS信号的衔接问题了,咱们知道,CS是片选输入信号,只有当它是低电平时才干拜访SJA1000。再看看它和谁连了?是P2.0口,正好是地址线高八位的最低位,假如按常理来说,寻址FF00H,那么P2.0便是高电平,SJA1000就不能被拜访。所以寻址FE00H时才选通SJA1000,这时才是SJA1000寄存器的地址。
上面评论了寻址的问题,仅仅就事论事,假如还不了解,我主张找本书详细了解下单片机的外部存储器的扩展后就会理解的。别的,咱们知道单片机的P3.0和P3.1有第二功用,便是做RD和WR用,所以它们就和外部寄存器(这儿指SJA1000)的RD和WR相衔接了。单片机的ALE脚和存储器的ALE脚也有必要相衔接。以上的这些衔接使得SJA100成为了单片机的外部存储器。
再看INT脚是和单片机的INT1相连,也便是作为接纳中止信号来告知单片机接纳到了新的数据帧。RST脚是复位脚,接P2.3成为可编程的。
TX0\RX0衔接82C250的对应脚,数据帧是经过这两个脚传送出去的(详细的作业原理能够参阅82C250的材料,这儿就不评论了)。MODE脚接正,阐明作业在INTER形式下。XTAL1和XTAL2两个脚接16MHz的晶体,SJA1000的作业是有必定的时序的,它能够完结数据的发送以及数据的校验等功用,这完全是IC设计者考虑的东西,咱们只需了解它的作业原理,经过单片机装备SJA1000的作业方式,而且向SJA1000写数据或许读数据就能够到达CAN总线通讯的意图了。