关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于STM32F1O5的CAN总线中继器的设计与实现

基于STM32F1O5的CAN总线中继器的设计与实现

作者:时间:2011-04-14来源:网络收藏

摘要:提出了一种用MCU自带的双接口中继器的方法,并给出了STM32F105的中继器的软硬件方案。采用单CPU的可以很好地解决两个CAN接口的主从状态转换,使系统具有结构简单、性能稳定、实时性高等特点。
关键词:CAN;中继器:STM32F105;CAN控制器;

0 引言
CAN总线最初是为了解决汽车内部的信号传输问题而提出来的,目前广泛应用于工业现场控制单元、智能楼宇单元、矿业控制通讯、远程通讯节点等控制领域。受到CAN收发器的闲宣,总线上挂接的节点不能超过110个,两个节点间的最大通讯距离为10km,挂在总线上的节点要通讯必须具有相同的波特率。
为了能够在总线上挂接更多的节点,增加通信距离以及使具有不同波特率的节点或网络间进行通信,本文提出了一种使用具有双CAN口的MCU的CAN总线中继器。该中继器可大大缩短采用两个CPU时CAN接口的主从状态切换和CPU间通信的时间,提高系统的实时性。

1 CAN中继器硬件的
1.1 系统的硬件结构
本文设计的CAN总线中继器的系统框图如图1所示。此中继器以带有双CAN接口的STM32F105为核心,外围电路主要由光电隔离电路、DC /DC电路、CAN收发器、状态显示电路、波特率设置电路、ID设置电路和电源电路组成。光电隔离电路采用高速光耦将主控电路CPU的I/O口和收发器进行电气隔离,可消除总线上的噪声对主控电路的干扰;为了能使总线和主控电路完全的电气隔离,用DC/DC隔离电源单独对CAN收发器电路部分供电;状态显示电路指示当前各个CAN口的收发状态;波特率设置电路可分别设置两个CAN接口的波特率;ID设置电路可根据用户需求设置当前CAN中继器的ID;电源电路主要将输入的9~36V的直流电压转成5V和3.3V两种电压,分别给DC/DC电路和主控电路供电。CAN总线A上的各节点发送的信息经过CAN收发器将差分信号转换为TTL电平的报文,经过隔离后进入主控CPU,主控CPU将收到的CAN报文进行ID过滤后由另一个CAN接口经过光电隔离传送到另一路的CAN收发器,CAN收发器将TTL电平的报文转换为差分信号后发送到CAN总线B上。
图1 CAN总线中继器系统框图

本文引用地址:http://www.eepw.com.cn/article/162174.htm

a.JPG


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭