CAN—CEPARK硬件经典

来源:互联网 发布:mac有什么好玩的网游 编辑:程序博客网 时间:2024/06/08 09:39

这一讲我们详细介绍一下CAN总线通讯模块硬件设计CAN总线学习板上CAN通讯模块的设计。包括三个部分:

1CPU的接口;

2CAN控制器SJA1000驱动82C250接口及其他外围电路

382C250外围电路 在选定了CAN控制器SJA1000CAN驱动器82C250后,我们肯定很想知道它的硬件电路怎么设计。其实这个比较简单,一般我们会遵循下面的步骤:

(1) 在网络上搜索相关的资料,学习一下别人的设计,分析一下各自的优缺点。

(2) 仔细研读SJA100082C250的芯片资料,最终确定自己的硬件设计。

(3) 使用EDA软件实施自己的设计,制作PCB电路板,这个过程中需要细心,耐心。

(4) 焊接元器件。焊接过程中中时常检测焊接是否牢固,是否短路。

(5) 接下来就是和软件配合调试了。硬件设计部分就到此为止了。

CAN总线硬件设计过程中需要注意的地方有以下几点:

(1) 电源的设计。这个应该是所有硬件设计的关键,所以在此也必须提醒一下!

(2) 复位电路的设计。其设计方法分为三类:上电复位;手动按键复位;软件复位; 这三种复位都是可以的,但我认为如果您是初学者,选择硬件复位中的手动按键复位比较好,容易调试的过程中控制。软件复位比较灵活,您可以在程序中控制其复位。

(3) 时钟电路的设计。这部分是非常重要的,不过一般都有成熟的电路,所以不用担心这个。SJA1000有一个可编程的时钟输出,可以连接到CPU的时钟输入管脚,提供时钟信号。但是对于初学者而且对面积要求又不是很苛刻的,建议您给CPU一个单独的晶振电路提供时钟信号。

(4) CANHCANL管脚上最好增加电容滤波,提高抗干扰,电阻限流电路,提高电路保护。

(5) 匹配电阻电路设计

  我相信大家如果考虑到了这5个方面的问题,而且搞清楚了,您设计的电路应该没有问题。下一部的工作就是准备相关的只是,进行软件设计。 电路如下:

1.jpg

 

1 SJA1000CPU接口

我们在学习单片机原理的时候,我相信大家都学习过RAMROMI/O口扩展。大家可以把SJA1000看作一个外部的RAM,扩展电路十分简单。SJA1000支持两种模式单片机的连接,我们选用的是8051系列的单片机,所以选择的是Intel模式。

1SJA1000的数据线和地址线是共用的,STC89C52的数据线和地址线也是共用的,这就更加方便了,直接连接就OK了。

2)既然数据线和地址线共用,必须区分某一时刻,AD线上传输的是地址还是数据,所以就需要连接地址锁存信号 ALE

3)随便使用一个单片机管脚作为SJA1000的片选信号,我们学习板使用的是P20。当然你也可以直接接地。

4)读写信号直接和单片机连接就行了,就不必多说了!

5)我们采用单片机的IO口线控制SJA1000RST管脚,是为了软件可以实现硬复位SJA1000芯片。

6SJA1000的中断管脚连接单片机的INT1外部中断。当收到一包数据后,通知CPU

2 SJA100082C250的接口及其他外围电路

1SJA1000有两路发送和接收管脚,CAN总线学习板使用了第0路。与82C250的连接比较简单,直接连接就可以了。但应该数据发送和接收管脚不要接反了。而且我们增加了通讯状态指示灯,便于调试。

2)时钟电路:SJA1000的最高时钟可达24M,我们学习板使用的是16M的晶振。另外增加了一个启动电阻R910M欧姆)。

3  82C250外围电路

 CANHCANL管脚增加阻容电路,滤除总线上的干扰,提高系统稳定性。

 RS管脚为斜率电阻输入。通过这个管脚来选择82C250的工作模式:高速模式(应用与对数据传输速率高的情况,通讯数据线最好是屏蔽的);斜率模式(速度较低,通讯线可以是普通的双绞线)。准备模式(应用于对功耗要求比较高的场合)。我们的学习板采用的是斜率模式,方便大家学习。

 J3是外部总线的连接口,J4是终端电阻的选择端

 到现在为止,CAN总线学习的硬件部分就介绍完了,其实还有很多地方值得讨论,比如隔离的问题,但是为了进行助学活动,考虑成本因素,隔离暂时没有加入学习版,但是对于初学者来说已经完全够用了。相信这块CAN开发板能够为你的总线学习带来方便

原创粉丝点击