基于CAN总线的智能节点的设计

发布者:EtherealLove最新更新时间:2021-03-08 来源: eefocus关键字:CAN总线  智能节点 手机看文章 扫描二维码
随时随地手机看文章

现场总线是工业自动化领域中实现分布式控制而产生的工业级局域网,其可以实现控制系统内各节点的实时数据通信,具有良好的可靠性,成为当前工业控制领域内的研究热点。在众多现场总线中,CAN总线以其高性能的特点,被广泛应用于航天航空、工业控制、环境监测,医疗设备等多个方面。基于CAN总线的控制节点可实现对工业控制中多点


的分布式控制,具有重要的研究价值。


1 总体结构设计


CAN总线采用了不同于传统的分布式控制系统的构架,由分散于工业控制中现场智能节点完成传统系统中主机的常规测试与控制。因此基于CAN总线的分布式控制系统的主机不必监控底层设备,实现高性能的高层次控制与管理。一般基于CAN总线的工业分布式控制系统中由主机、数据转换器以及智能节点组成。


整个系统的结构如图1所示,主机和智能节点通过CAN总线连接,智能节点作为从机通过CAN接口连接CAN总线。主机由基于LabVIEW设计的监测软件和硬件资源组成,主要实现对智能节点的监测以及测试数据的显示和存储。数据转换器是串口转CAN总线实现数据的转换,并实现转发。各个智能节点都挂接到 CAN总线上,将采集到的数据发送到CAN总线上或者接受CAN总线上数据进行处理。智能节点主要由微控制器、CAN收发器以及相应I/O接口组成。


智能节点设计使用STM32F107作为其主控芯片,集成多项高性能工业标准接口的互联型微处理器,其采用32位ARM Cortex—M3核心,主频高达72 MHz,其出色的兼容性以及高性能,低价格,具有较大的RAM和ROM,对于程序量较大的嵌入式系统有良好的支持,广泛应用于工业控制中。

新STM32外设丰富强大,包括10个定时器,其中一些不仅可以进行普通的定时还可以进行脉冲捕获、以及PWM生成;2个12位AD模数转换器,其最大采样率高达2M sample/s、2个12位DA数模转换器、2个I2C接口、5个UART接口支持最高921 600 bps和3个SPI端口和高质量数字音频接口IIS,拥有全速USB(OTG)接口,支持2路CAN2.0B接口,以及高速以太网10/100 MAC模块接口。


CAN收发器选择德州仪器的SN65HVD230,该器件具有高速率、高抗干扰能力和高可靠性CAN总线的串行通信。该芯片在CAN总线系统中具有广泛的应用,便于更换。


2 系统硬件设计


一般的CAN总线智能节点由三个部分:微控制器、CAN总线控制器以及CAN总线收发器组成。微控制器STM32F107内部已经集成了CAN总线控制器,故本文涉及的智能节点主要由STM32F107和CAN总线收发器组成。


图2是基于STM32F107智能节点系统的CAN总线部分原理图。图中STM32F107的PD0和PD1脚分别为CANRX和CANTX引脚,为 CAN总线的输入输出管脚,连接CAN总线收发器才能与CAN物理总线相连。CAN收发器SN65HVD230,具有速度高达1 Mbps的差分发送、差分接收能力,提供三种工作模式:高速、低电流待机和斜率控制。自身具有短路保护、失地保护、过压保护和过热保护。常态下工作电压是 -2V~7V,瞬时耐压范围是-25V~25V。CAN收发器SN65HVD230第8引脚经10 k电阻与PD15连接,这样可以由微控制器控制其工作模式,当PD 15为低电平时为高速工作模式,PD15为高电平时为低电流待机模式。CAN收发器SN65HVD230与CAN总线的接口设计时采用较强的抗干扰措施,以及过流保护等方式。其中与CANH、CANL串连的5 k电阻可起到一定的限流作用;并联在CANH、CANL和地之间的32 pF的小电容,防止高频干扰,同时具有一定的防电磁辐射能力;在CAN总线的输入端与地之间接的防雷击管,可以滤除CAN总线输入端和地之间的瞬态突变干扰。


复位电路则是包括按键复位电路和上电自动复位电路组成,加强其可靠性。本文为了系统的调试,集成了JTAG的调试接口。

3 系统软件设计


基于CAN总线的智能节点主程序流程如图3所示,其发送方式通过查询实现,而发送数据方式通过中断来实现。智能节点的主程序主要包括系统及外设初始化、CAN控制器初始化、数据发送、数据接收部分。


在CAN控制器初始化时,必须要求其控制寄存器中复位位置较高时,才可以访问寄存器。因此,在初始化寄存器前,系统必须确保已经进入复位状态,在访问CAN总线时寄存器中的内容决定波特率的大小。总线定时寄存器的初始化值应根据CAN控制器的晶振频率进行设计。


数据发送时,CAN控制器将数据发送到CAN总线是由CAN控制器自动完成的,发送主程序将发送数据的信息帧发送到CAN的发送缓冲区,然后启动发送命令即可。


数据接收时,CAN控制器从CAN总线将数据读取到CAN接收缓冲区也是自动完成的。接收程序需要从接收缓冲区读取数据。设计时充分考虑读接收缓存器(RBF0和RBF1)内容后,微控制器必须通过置释放接收缓存位为高,从而释放缓存器,使得另一个立即变为有效。


4 结束语


以STM32F107微处理器为核心,设计了CAN总线的智能数据采集节点,该系统充分发挥CAN总线的优点,具有高可靠性、高抗干扰性、高传输率以及灵活的组网方式等。该智能节点可实现分布式多节点测试,实现了测试过程智能化和网络化,在工业测控领域有广阔的应用前景,尤其是处理数据较多和实时性严苛的环境下,该设计节点会更加有优势。


关键字:CAN总线  智能节点 引用地址:基于CAN总线的智能节点的设计

上一篇:STM32 IIC难点易错点
下一篇:关于STM32数据手册中的定时器信号

推荐阅读最新更新时间:2024-11-13 14:55

基于CAN总线GaAs光电阴极制备测控系统的研究
  GaAs光电阴极是一种负电子亲和势光电阴极,具有量子效率高、发射电子能量和角度分布集中的优点,因而在微光像增强器、半导体敏感器件、自旋极化电子源等众多领域得到了广泛的应用,但GaAs光电阴极的制备过程却极为复杂,对制备工艺和条件都有严格要求。目前GaAs光电阴极的制备都主要依赖熟练操作人员进行手工操作,这种操作方式不尽浪费大量人力物力,而且制备质量和效率得不到保证。而在制备过程中普遍采用的在线光谱响应测试仪,只能用于阴极制备后的光谱响应曲线测试,评估阴极的制备质量,它对阴极制备过程中的许多其它信息量,如真空度、铯源和氧源电流等,都没有实时采集功能,更没有对铯(氧)源电流的计算机控制和制备过程的自动化,从而大大的制约了我国GaAs
[单片机]
基于<font color='red'>CAN总线</font>GaAs光电阴极制备测控系统的研究
CAN总线在织机状态远程集中监控系统应用
1 织机状态远程集中监控系统方案     织机工作状态参数众多,对于织机状态远程集中监控系统来说,其主要目标是在异地对织机群整体状态数据完成采集,提供计算、统计、分析和查询功能,并能够存储、浏览和打印各类报表,为生产提供信息管理服务。主要包括:     (1)织机主要工作参数的监测。如生产班次、织机机台号、车速、引纬率、产量、织物品种、织疵类型、停机时数、故障原因等。     (2)织机生产数据的分析与处理。如岗位、车间和企业层次的不同产品产量报表、各织机的工作效率、故障分类及原因等。     根据这一目标要求,加上织机正常工作时工作参数较多,没有必要将单台织机的各种数据全部集中到监控端处理,因此织机状态远程集中监
[嵌入式]
CAN总线在自动化系统中的应用
1.前言   随着微机和电子技术的飞速发展,越来越多的智能装置在变电所中得到应用,极大地提高了变电所测量和控制系统的自动化水平。变电所强电磁干扰的工作场所,对自动化设备尤其是对其中涉及到的通信网络的抗干扰能力提出了很高的要求。根据变电所中开关设备和互感器的安装方式、环境以及对系统自动化程度的不同要求,整座变电所的测量控制系统一般采用集中与分散结合的方式构成,控制既可以做到集中控制(在主控制室中的集中控制台或屏上进行),也可对各开关进行分散控制(由安装在开关设备跟前的控制箱完成)。      变电所自动化系统主要由各种开关的智能控制单元、电气参数测量单元和继电保护装置构成,在这些智能化设备之间存在着信息交换的需要,同时整个变电所
[嵌入式]
CAN总线BusOff原理
汽车内部挂有很多的ECU节点,当其中一个节点发生故障进入总线关闭状态时,会很大程度上影响整车CAN网络的通讯。例如,当汽车发生碰撞时,传感器将电信号传送给安全气囊ECU,将信号进行处理,当确定需要打开安全气囊时,ECU会立即发出点火信号,气体发生器才会充满气囊,对驾驶员和乘客提供安全保护,如下图1所示。若此时安全气囊ECU处于总线关闭状态,则无法正常弹出气囊,会导致严重后果。 图1 ECU工作示意图 因此,对于新能源汽车行业工程师,了解CAN总线Bus Off原理是非常有必要的。CAN控制器可以判断出错误的类型是总线上暂时的数据错误(如外部干扰等)还是持续的数据错误(如单元内部故障、驱动器故障、断线、短路等)
[汽车电子]
看整车厂如何实现信号电压幅值的一致性
  CAN总线设计规范对于CAN节点的输出电压有着严格的规定,单个节点的输出电压如果不符合规范,则在现场组网后容易出现信号电平不可靠的情况,导致错误帧的出现,各节点间无法进行通信。具体要求如表 1所示,为测试标准“ISO 11898-2输出电压标准”。   表 1 ISO 11898-2输出电压标准   测试参数测试值(V)条件   最小值典型值最大值   显性VCAN_H输出电压2.753.54.5总线负载电阻60Ω   显性VCAN_L输出电压0.51.52.25总线负载电阻60Ω   显性Vdiff输出电压1.52.03.0总线负载电阻60Ω   显性Vdiff输出电压   (高负载)1.41
[嵌入式]
基于ARM微控制器AT91M40800和CAN总线的煤矸石分选系统设计
  引言   随着嵌入式技术的不断发展,高性能、低功耗、低价格的32位RISC芯片的ARM微控制器呈现出强劲的发展趋势,嵌入式系统和现场总线技术结合,结合二者的优点,为传统的选煤技术提供了新的改造方案。将嵌入式技术和现场总线技术相互融合,设计了一种新的煤块和矸石在线识别与自动分选系统。   煤矸石在线识别与自动分选系统   煤块和矸石在线识别与自动分选系统的原理框图如图1所示。根据选煤工艺要求,本系统主要由下面三大部分构成:      图1 煤矸石在线自动分选系统框图   (1)检测部分:由进料斗、输送带、CCD摄像头、图像数据采集电路等组成。开采出来的原煤常含有矸石,必须将矸石从传送带上挑选出来。CCD摄像头将
[单片机]
基于ARM微控制器AT91M40800和<font color='red'>CAN总线</font>的煤矸石分选系统设计
CAN总线在家庭智能化控制系统中的应用研究
O 引言 家庭智能控制系统的主要功能集中在家庭安全报警、电话或电脑远程控制、红外遥控、自动抄表控制、灯光和湿度控制等方面。根据智能终端设备传输数据和功能的不同可以把它分成两类子网,一类是传输数据以数据量小、速率低的家庭自动化控制设备;另一类是传输多媒体信息、(视频、音频信号),信号量大、速率快,如视频会议、音频点播等。家庭智能终端设备可以采用总线结构组建成有线子网和无线子网,因各设备分布在家中不同的地方,对于组建成有线子网布线比较复杂,但是如果采用PLC与CAN总线构建成网络,将降低成本。 CAN(Controller Area Network,控制器局域网)是德国Bosch公司在20世纪80年代初为汽车检测控制而开发的一种串行数据
[嵌入式]
基于stm32的can总线彻底研究
1、CAN总线的初始化 void can_init(void) { CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitTypeDef CAN_FilterInitStructure; /* CAN register init */ CAN_DeInit(); CAN_StructInit(&CAN_InitStructure); /* CAN cell init */ CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISA
[单片机]
基于stm32的<font color='red'>can总线</font>彻底研究
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved