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

发布者:DelightfulGaze最新更新时间:2015-11-30 关键字:CAN总线  智能节点  STM32F107 手机看文章 扫描二维码
随时随地手机看文章
  摘要:CAN总线性能优越,是当前的研究热点,本文提出一种基于STM32F107和SN65HVD230组成的CAN总线智能节点测试系统。分别设计了基于CAN总线智能节点系统的硬件结构和软件设计,实现了稳定可靠的数据测量控制,提高了工业现场的可操作性。实际应用表明,该方案提出的智能节点组态灵活、结构简单、性能稳定、扩展性好。

关键词:CAN总线;智能节点;STM32F107

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

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

1 总体结构设计

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

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

a.jpg

智能节点设计使用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总线输入端和地之间的瞬态突变干扰。

b.jpg

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

3 系统软件设计

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

c.jpg

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

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

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

4 结束语

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

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

上一篇:USB Type-C 接口上的大统一?
下一篇:基于AVR单片机的自行车行车记录仪,包括软硬件具体方案

推荐阅读最新更新时间:2024-05-03 00:07

汽车内部网络系统—汽车can总线
  从布线角度分析,传统的电气系统大多采用点对点的单一通讯方式,相互之间少有联系,这样必然需要庞大的布线系统。据统计,一辆采用传统布线方法的高档汽车中,其导线长度可达2 000 m,电气节点达1 500个,而且根据统计,该数字大约每10年增长1倍,从而加剧了粗大的线束与汽车有限的可用空间之间的矛盾。无论从材料本钱还是工作效率看,传统布线方法都将不能适应汽车的发展。    从信息共享角度分析,现代典型的控制单元有电控燃油喷射系统、电控传动系统、防抱死制动系统(ABS)、防滑控制系统(ASR)、废气再循环控制、巡航系统和空调系统。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,但
[嵌入式]
CAN总线软件编程
在编写CAN总线通讯程序时,主要编写函数由初始化函数,发送函数和接收函数组成。 其中发送函数一般写为主动发送函数,接收函数一般采用中断接收。下面就简单介绍一下三个函数的编写。 1 SJA1000寄存器初始化配置顺序 (1)进入复位模式,进行配置 (2)配置时钟分频寄存器,决定Peil模式还是Basic模式。 (3)配置总线定时寄存器,确定波特率。 (4)配置中断使能寄存器,决定使用那几个中断 (5)配置输出控制寄存器 (6)配置验收码和屏蔽码,决定接收哪一类节点的数据 (7)退出复位模式,进入正常工作模式。 2 发送数据顺序 (1)查询状态寄存器,判断是否正在接收,是否正在发送,是否数据缓冲区
[嵌入式]
解决所有车辆的CAN总线安全漏洞 UltraSoC推出CAN Sentinel
解决所有车辆的CAN总线中内在的安全漏洞 德国纽伦堡嵌入式世界大会和英国剑桥 – 2020年2月24日 UltraSoC 今日宣布推出CAN Sentinel,从而推动其汽车网络安全产品实现重要迈进。全新的知识产权(IP)在CAN总线中增加了一个亟需的基于硬件的安全层,CAN总线是汽车制造商和整车厂(OEM)所遵循的互连技术的全球性行业标准。UltraSoC的CAN Sentinel驻留在总线上,可以监测与车辆电子控制单元(ECU)之间的事务,识别可疑行为,防止恶意消息,并抑制攻击。 CAN Sentinel可以用户自定义的安全规则进行配置,从而提供保护以防范诸如框架欺骗等常见的漏洞利用手段,并且允许系统随着威胁态势的
[汽车电子]
基于单片机和CAN总线的车灯控制系统设计
1 、引言 CAN(Controller Area Network)是德国 Bosch 公司最先提出的,是目前汽车 控制器 局域网中最流行、最常用的总线。它的主要特点是:CAN 总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN 总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN 总线具有点对点、一点对多点及全局广播传送数据的功能;CAN 总线上每帧有效字节数最多为 8 个,并有 CRC 及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN 总线只有 2 条导线,系统扩充时可直接将新节点挂在总线上
[汽车电子]
基于单片机和<font color='red'>CAN总线</font>的车灯控制系统设计
大众汽车的Telematics OCU3单元
5月份的时候,大众把 Golf 8 和斯柯达明锐等车型暂停交付,这款大众的畅销车配置了最新的 MIB3 和 OCU3(低配),而遭遇了 Telematic 传输数据的软件问题,按照大众的说法是 OCU3 控制单元中的软件可能无法可靠地传输数据。通过检索信息和材料,我们仔细来看这个 OCU3 不同变种的材料,事实上由于 EE 掌握这个部件,未来整车不同部门都需要这个部件可靠的运行把数据传回来,在紧急的功能下能够完成预警,比如配合新能源汽车热失控的 5 分钟预警,Telematics 需要肩负的责任更重。 01 Golf 上的 OCU3 OCU3 大众已经用了好几代,可追溯的是 OCU1 是在 2012 年左右开发的。这一代
[嵌入式]
大众汽车的Telematics OCU3单元
基于LPC2292的CAN总线智能节点设计
引言 CAN(Controller Area Network)总线控制器局域网络是在1986年2月的SAE大会上,由RoberBosch公司首先提出的。CAN总线是一种串行通信协议,它能有效支持高安全等级的分布式实时控制,其最初的目的是用在汽车上。但由于采用了许多新技术及独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性,目前的应用范围已不局限于汽车行业,而是扩展到了机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、家用电器及传感器等诸多领域。CAN节点的设计多采用单片机,为此,本文给出了一种基于本身已经嵌入了CAN控制器的单片机LPC2292的CAN总线智能节点的设计方案。 1
[工业控制]
基于LPC2292的<font color='red'>CAN总线</font><font color='red'>智能</font><font color='red'>节点</font>设计
基于CAN总线的电动车控制系统设计
当前全球汽车工业面临金融危机和能源环境问题的巨大挑战,实现汽车能源动力系统的电气化,已经成为汽车产业的趋势。提高电动汽车上的各个控制单元间通信的可靠性和实现高传输速率,选择CAN总线协议。CAN总线为多主工作方式,网络上任何节点均可在任意时刻向其他节点发送信息。它采用非破坏性的基于优先权的总线仲裁技术,可靠性高。CAN总线通信距离长达10 km,通信速率最高可达1 Mb/s。CAN通信系统抗干扰性好,工作稳定。某个节点出现故障,不会导致整个系统通信的不正常。由于采用短帧的报文结构,数据传输时间短,具有很强的抗干扰性,具有高效的非破坏总线仲裁,出错检测和故障自动关闭等优点。 1 控制系统整体结构     电动车控制系统由电池管理、充
[工业控制]
SJA1000在CAN总线系统节点的应用
    摘要: 介绍CAN总线控制器SJA1000;给出其在CAN总线系统节点中的应用方法、节点电路原理图及初始化程序;针对用户SJA1000容易出现的问题进行了解说。     关键词: CAN总线 SJA1000 节点 单片机 CAN总线是德国Bosch公司20世纪80年代初,为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发一种串行数据通信协议。1993年11月,ISO正式颁布了道路交通运载工具,进行数据信息交换用的高速通信控制局部网(CAN)的国际标准(ISO11898)。PHILIPS、Intel、MOTOROLA等公司出品了很多支持CAN协议的集成芯片,如82526、SJA1000、68HC
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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