can总线第二讲
一 CAN总线拓扑结构
CAN是一种分布式的控制总线,总线上的每一个节点一般来说都比较简单,使用MCU控制器处理CAN总线数据,完成特定的功能;通过CAN总线将各节点连接只需较少的线缆(两根线:CAN_H和CAN_L),可靠性也较高。
ISO11898定义了一个总线结构的拓扑:采用干线和支线的连接方式;干线的两个终端都端接一个120欧姆终端电阻;节点通过没有端接的支线连接到总线;对干线与支线的参数都进行了说明。
在实际应用中可以通过CAN中继器(增加信号强度)将分支网络连接到干线网络上,每条分支网络都符合ISO11898标准,这样可以扩大CAN总线通讯距离,增加CAN总线工作节点的数量。
二 CAN总线的节点构成
CAN总线节点的硬件构成方案有两种:
(1)、MCU控制器+独立CAN控制器+CAN收发器。独立CAN控制器如SJA10000、MCP2515,其中MCP2515通过SPI总线和MCU连接,SJA1000通过数据总线和MCU连接。
(2)、带有CAN控制器的MCU+CAN收发器。目前,市场上带有CAN控制器的MCU有许多种,如P87C591、LPC2294、C8051F340等。
两种方案的节点构成都需要通过CAN收发器同CAN总线相连,常用的CAN收发器有PCA82C250、PCA82C251、TJA1050、TJA1040等。
两种方案的节点构成各有利弊:
第一种方案编写的CAN程序是针对独立CAN控制器的,程序可移植性好,编写好的程序可以方便的移植到任意的MCU。但是,由于采用了独立的CAN控制器,占用了MCU的I/O资源,并且电路变得复杂。
第二种方案编写的CAN程序是针对特定选用的MCU,例如LPC2294。程序编写好后,不可以移植。但是,MCU控制器中集成了CAN控制器单元,硬件电路变得简单些。
最新文章
- ASP.NET MVC使用动态产生meta
- QQ群笔记
- Mysql查询优化器
- sqlite使用小结
- ☀【canvas】直线 / 三角形 / 矩形 / 曲线 / 控制点 / 变换
- JS-日期框、下拉框、全选复选框
- Eclipse中debug调试java代码一直报Source not found的解决办法
- [No0000C1]Excel 删除空白行和空白列VBA代码
- 访问远程的docker
- [BZOJ]4644: 经典傻逼题
- Linux(CentOS) 查看当前占用CPU或内存最多的K个进程
- ApacheTraffic Server 使用ssd 以及裸盘
- ABP框架提示框
- Linux下运行Shell脚本或者可执行文件Executable方法
- Delphi之Exception获得错误信息(简单好理解)
- 洛谷P3724 大佬 [AH2017/HNOI2017] dp+bfs
- Python3基础 list del 从内存中删除整个列表
- 微信正式开放内测“小程序”,不开发APP的日子真的来了?
- nfd指令的详细说明
- 查询红帽linux/Oracle Linux的发行版本的方法