CAN总线(硬件篇)

来源:互联网 发布:心知天气的账号 编辑:程序博客网 时间:2024/06/06 22:17

 

转载请注明出处

作者:小马


CAN总线, 这是我毕设的最后一部分, 截至到今天晚上, 硬件部分已完成,软件完成有90%。PCB板老师已经拿去加工, 后天估计可以到. 板子到之前可以接着写代码。焊好板子就可以直接调试了. 这里把做硬件部分的一些心得体会写下来, 软件部分等我程序调试成功会再写一篇文章.


先简单介绍一下我的任务. 一个PCB板上三个CAN节点,  模拟485的主从通信, 其中一个是主机,其它两个是从机. 从机分别带一个步进电机。 过程是电脑通过串口发一串指令, 下位机把指令解析为CAN的协议, 通过CAN总线控制两个从机的电机转动.


刚开始做这个东西的时候,心里有点发毛. 因为以前从来没做过CAN, 而且实验室也没人做过。 大三刚进实验室那会, 虽然很多东西也不懂, 但是我可以请教老师,可以请教实验室的研究生师兄. 但是现在他们都没做过CAN,要完全自己做. 老师之所以让我做这个CAN,就是因为实验室以前没人做过, 实验室以前开发的医疗仪器都是用485做总线, 老师想做一些新的技术储备。


其实针对我这个任务, 硬件上东西倒不多. 主要是软件工作量比较大. 我设计的电路就是lpc2109(内置1路CAN控制器) + CTM1050(CAN收发器)组成一个节点. 整个板子上三个这样的节点,另外再加上串口接头, 蜂鸣器做调试用. 两层PCB板就可以搞定。


其中一个节点收发器那部分的电路如下:

 

 

大家看一下CTM1050的手册可以了解各引脚的作用. 这里就说两点:

1 120欧的终端电阻是一定要接的. 它可以过滤掉总线通过程中的自激振荡.


2 覆铜的时候如果方便的话, 最好把收发器这部分单独覆铜. 我布板子就没有这样做, 我当时是考虑到三个节点在一块板子上,干扰应该很少. 所以就没有单独覆铜. 这个建议是后来打电话到周立功,那边的工程师给的建议.


其实一个基于CAN的大系统硬件部分是有很多东西要做的.现在很多汽车都是用的CAN总线。我这里只是一点皮毛。.