基于CAN总线的数据采集记录装置设计

发布者:彭勇最新更新时间:2015-07-30 来源: eefocus关键字:CAN总线  数据采集  以太网 手机看文章 扫描二维码
随时随地手机看文章
1.绪论


现场总线作为生产现的场数据通信与控制的网络技术,在测量控制领域随着信息技术的发展已得到广泛的应用。现在的工业现场总线控制网络技术已经被认为是一种比较的成熟的技术,同时也被认为是目前最具有前途的一种现场总线之一。然而,CAN现场总线作为一种面向工业底层控制的通信网络,其局限性也是显而易见的。首先,它不能与Internet互连,不能实现远程信息共享。其次,它不易与上位控制机直接接口。因此,我们在本文中引入以太网技术。

以太网是在上个世纪70年代为连接多个实验室而开发出的一种局域网技术,随着互联网技术和计算机的迅猛发展,以太网已成为当今世界上应用范围最广、最为常见的一种网络技术。他在工业控制中的优势是显而易见的:首先,基于TCP/IP协议的以太网是一种标准开放式的网络,由其组成的系统兼容性和互操作性好,资源共享能力强,可以很容易的实现将控制现场的数据与信息系统上的资源共享;其次,数据的传输距离长、传输速率高,而且很容易与Internet连接。

本设计利用基于ARM7内核的LPC2294处理器,在深入分析了以太网、TCP/IP协议和CAN总线的基础上,实现了两路CAN总线和以太网的通信互联。

2.系统硬件结构设计

本设计使用的处理器是PHIIPS公司推出的LPC2294,他是一款基于支持实时仿真和跟踪的ARM7TDMI内核,功能强大且功耗低。

其显着的优点是非常适合于通讯网关、协议转换器以及其它各种类型的应用。设计中围绕LPC2294内核,进行了最小系统和相应的扩展器件电路设计,设计里包括了复位电路、晶振电路、电源电路等关键电路。

2.1系统电源电路设计

由于核心控制器LPC2294需要2组电源:

1.8V的内核供电电源和3.3V的IO口供电电源,而以太网控制器RTL8019AS需要的供电电源为5V.因此,我们设计了3个电压转换电路:采用降压稳压器LM1575将输入电压转换为稳定的5V输出,再通过低压差(LDO)稳压器SPX1117M-3.3把LM1575稳压输出的5V作为输入电源,转换为3.3V输出电源,同时利用SPX1117M-1.8得到了1.8V电源。

2.2以太网电路设计

以太网通信模块采用了以太网控制器RTL8019AS(5V供电)和隔离接口HR90117A的组合方式。设计中使用两路CAN进行数据采集,由于LPC2294具有4路CAN控制器,其功能与SJA1000相似,因此只需外接两个高速CAN隔离收发器便可达到通信的目的[2].

2.3 CAN电路设计

CAN总线模块是本设计的核心部分,负责实现数据采集的功能。设计中使用的CTM1050T是一款带隔离的高速CAN收发器芯片,该芯片内部集成了所有必需的CAN隔离及CAN收、发器件,这些都被集成在不到3平方厘米的芯片上,芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC2500V的隔离功能及ESD(Electro-Static Discharge,静电释放)保护作用。

本记录仪使用CTM1050T向上兼容的3.3V和5V CAN控制器,实现了两路CAN数据采集,所以LPC2294和CTM1050T之间数据发送接收引脚可以直接连接,同时我们还需加入一个电阻阻值为20Ω的终端电阻来提高数据通信的抗干扰性及可靠性。

3.系统软件设计

3.1程序设计开发环境及设计流程

设计以VC++6.0为开发环境,C语言为开发语言,首先完成了系统的移植,接着完成了RTL8019AS软件设计与CAN控制器软件设计,实现了CAN与以太网网关协议转换。

3.2μc/os-Ⅱ的移植

为了使一个内核能够运行在微处理器或微控制器上,我们首先需要做的便是进行移植。完成移植的过程中我们修改了3个和CPU相关的文件,分别是os_cpu.h、os_cpu_a.asm和os_cpu_c.c,移植的过程中发现:

根据处理器的不同,一个移植实例需要编写或改写的代码数量不尽相同,可能介于50~500行之间。

3.3 RTL8019AS软件设计

RTL8019AS的工作模式有查询和中断两种模式,本设计中考虑到实时性、多任务,以最大限度的利用CPU与μc/os-Ⅱ系统的实时性、提高系统的响应速度为目的,采用了中断的方式来实现RTL8019AS的收发功能。

当所谓的中断过程既在中断服务子程序(ISR)的入口处,程序的走向由读取到的ISR的值来确定。如果收到一个新的帧,则首先清除接收中断标志,接着读取帧数据,等待接收缓冲区空;如果没有收到新的帧,则判断帧是否发送完毕,若一帧已发送完则清除发送中断标志并读取状态寄存器,并进一步判断发送队列是否还有未发送的数据帧,如果有则继续发送。如果全部数据发送完,则从中断子程序返回。主程序流程图如图1所示。[page]

 



3.4 CAN控制器软件设计

设计中使用的处理器LPC2294内部集成了4个独立的CAN模块,并且为所有的CAN控制器提供了全局的可以接受标识符查询的功能。设计中只使用到CAN控制器1和CAN控制器2两个控制器,CAN模块的存储器在处理器中的地址映射如下:

AF RAM(2KB):E0038000~E00387FF;

AF RAM寄存器:E003C000~E003C017;

中央CAN寄存器:E0040000~E004000B;

CAN控制器1寄存器:E0044000~E004405F;

CAN控制器2寄存器:E0048000~E004805F;

CAN的驱动程序主要包括四个部分:CAN的初始化、CAN的数据接收、CAN的数据发送和异常处理。

另外,由于CAN通信中没有物理地址,只是采用软件ID辨识的方式来对总线上的信息进行过滤的,并且ID还决定当有多个节点需要同时传送数据时的优先级,故对ID设置要格外注意。

3.5 CAN与以太网网关协议转换

由于以太网和CAN是两个不同的通信系统,当连接在CAN总线上的设备向以太网发送数据时,数据必须通过CAN接口电路发送到主系统上,通过协议转换程序,提取要传送的数据,然后对数据添加TCP和IP协议所需要的帧信息。

在本设计中用到的μc/os-Ⅱ操作系统下,应用层功能是以5个主要的任务来实现的,按优先级从高到低依次为:CAN总线接收数据包;CAN总线发送数据包;TCP/UDP协议数据包接收;TCP/UDP协议数据包发送;主系统协议转换。

4.系统测试

接通电源,程序正常启动后,数据记录仪开始工作。连通后的ip地址为192.168.

1.102,物理地址为00-26-18-20-d9-f0,通过ping命令测试,证明数据包收发成功,设备联通正常。

程序运行后,依次完成获取数据容量、读取时间、设定时间、清空记录仪、获取坏块、初始化记录仪,接着数据记录仪开始工作,程序运行结果如图2所示。

 


5.结束语

测试证明:系统完成了CAN和以太网互联的功能,具有较高的可靠性和易用性。记录仪具备了在以太网高速数据传输下记录、储存、分析总线数据的能力,使设备在调试阶段、实际运行工作阶段以及日常维护阶段具备了完善的电子数据诊断和故障定位能力

关键字:CAN总线  数据采集  以太网 引用地址:基于CAN总线的数据采集记录装置设计

上一篇:CAN总线轿车车窗智能控制系统实现的原理
下一篇:基于CAN总线的电流、电压变送器的设计与实现

推荐阅读最新更新时间:2024-05-02 23:50

AD7674和C8051F060构成的数据采集系统
   1 AD7674和C8051060简介   1.1 AD7674简介   AD7674是一款高精度 18位逐次逼近(SAR)型ADC,具有采样速率高、精度高、功耗低、无管道延迟的特点,其采样速率最高可以达到800 kHz,积分非线性误差(INL)最大为±2.5 LSB,在整个工作温度范围内可保证无丢码。该器件是全差分输入,5 V单电源供电,可接5 V或3.3 V数字电源。AD7674还具有许多其他特点,包括1个内部变换时钟、1个内部基准缓冲器、误差修正电路以及串行(SPI)与并行(18、16或8位总线)接口。   AD7674采用逐次逼近结构。由于逐次逼近结构的多路技术和低功耗,使此器件比一般∑-△ A/D转换器的性
[模拟电子]
用无扼流圈收发器简化CAN总线实现方式
由于汽车内电子元器件的密度在逐年增加,我们需要确保车内网络在电磁兼容性(EMC) 方面保持高性能。这样的话,当不同子系统被集成在一个较大解决方案中,并且在常见(嘈杂)环境中运行时,这些子系统能够正常运转。虽然有很多不同的车内网络互连标准,并且汽车原始设备制造商 (OEM) 对于EMC也有多种不同的要求,这篇文章主要讨论一个已经被证明具有特别挑战性的话题:一个控制器局域网 (CAN) 总线的射频 (RF) 放射。 CAN使用均衡的差分信令来发送波特率,高达1Mbps(或者更高,前提是使用 灵活数据速率 变量)的二进制数据。理想情况下,差分信令的使用避免了所有外部噪声耦合。由于每一半差分对(被称为CANH和CANL)在变化时是对称的
[汽车电子]
用无扼流圈收发器简化<font color='red'>CAN总线</font>实现方式
基于HMS30C7202处理器和CAN总线实现客车液晶显示系统的设计
混合动力汽车HEV(Hybrid-Electric Vehicle)在解决能源利用和环境保护上具有广阔的前景,目前在国内的研制尚处于起步阶段。由于涉及到两套系统(发动机与电动机)的协调工作、发动机的动力性能的控制、降低能源消耗以及污染气体排放等问题,需要对客车的内部参数进行实时观测,以详细了解它的运行状态。因此,一款能够直观地显示客车运行状态的仪表是必不可少的。对于这样一个集内燃机动力和电动机动力为一体的高复杂的系统,若要显示其内部大量的状态参数,仅依靠传统的传感器来传递信息显然是不切实际的,因此充分利用其内部现有的CAN(Controller Area Network)通讯网络,开发一款CAN通讯接口的液晶显示系统尤为重要。
[单片机]
基于HMS30C7202处理器和<font color='red'>CAN总线</font>实现客车液晶显示系统的设计
基于ARM Cortex-M3的多路数据采集系统的设计
0 引言 数据采集系统是将采集传感器输出的温度、压力、流量、位移等模拟信号转换成计算机能识别的数字信号,进行相应的计算存储和处理;同时,可将计算所得的数据进行显示或打印,以便实现对某些物理量的监测和控制。 嵌入式系统是以应用为中心,以计算机为基础,软硬件可剪裁,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的核心是各种类型的嵌入式处理器。目前,采用ARM技术的微处理器占据了主流,其应用遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。而 ARM微处理器的Cortex系列专为安全要求较高的应用而设计。其中,Cortex-M3适于高性能、低成本需求的嵌入式应用。 1 多路数
[测试测量]
基于ARM Cortex-M3的多路<font color='red'>数据采集</font>系统的设计
10G以太网:并不只是一个大型光纤通道
2010年12月7日消息,通过多队列技术,10G 以太网 的速度可以达到9Gbit/s,我们拿它和用4个千兆 网卡 端口链路集合进行对比,从性能和经济角度来看,四端口链路聚合( IEEE 802.3ad)被认为是"最佳点",但10G以太网比四端口链路集合解决方案消耗的CPU周期更少,并且速度也将近其2倍(9.5Gbit/s对比3.8Gbit/s),延迟也更小。前沿追踪:10G以太网:数据中心敢不敢尝试? 10G以太网卡也不是太贵,最贵的双口10G以太网卡大约600-700美元,而普通的四端口千兆网卡也要400-500美元,更贵的10G以太网卡( 1000美元)提供的带宽也更具竞争力(2x10G),每1美元换来的速率和每1瓦电
[网络通信]
基于USB 2. 0数据采集系统的实现
   1 引言   在工业生产和科学技术研究的各行业中, 常利用PC或工控机对各种数据进行采集, 如压力、频率、液位、温度等。常用的采集方式是通过数据采集板卡, 其不仅安装麻烦, 易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制, 不可能挂接很多设备。而通用串行总线( Universa l Ser ia l Bus, USB )的出现, 很好地解决了以上这些冲突, 可实现低成本、高可靠性、多点的数据采集。USB 2. 0 是一种计算机外设连接规范, 除了USB1. 1中规定的1. 5Mb it / s和12Mb it / s两个模式以外, 还增加了480Mbit / s( 60MB / s)这一 高速 模式
[嵌入式]
采用虚拟仪器和高速数字化仪实现的数据采集系统
传统数据采集系统一般由单片机与硬件采集电路或数据采集卡配置计算机组成。这种数据采集系统存在开发难度大、可移植性差、数据采集效率低、实时存储容量小等缺点。其存储容量取决于数据采集卡的板载内存的大小,一般只有8 MB或12 MB,而现代工程运用中的数据采集系统需具有很高的采样速率,完成海量数据的实时存储。针对传统数据采集系统存在的不足,这里采用虚拟仪器(LabVIEW)和高速数字化仪NI PCI-5124设计一种可以长时间连续采集、实时存储的数据采集系统。 本系统只使用PC机、数据采集卡以及编程语言即可在Windows操作系统下实现对数据的采集、存储、处理,开发成本低,通讯能力强,易于使用。系统改善了传统数据采集系统的存储量小、采
[测试测量]
采用虚拟仪器和高速数字化仪实现的<font color='red'>数据采集</font>系统
经典的CAN总线现场故障
CAN L对带电源(正极)短路 当出现CAN L 对电源(正极)短路这种故障时,根据CAN总线的容错特性,可能出现整个CAN网络无法通信的情况或产生相关故障码。 由于CAN L 对电源短路,因此CAN H 电压也被置于12V。CAN L 对电源短路的总线波形如下图所示。 实际测量CAN导线的电压,若CAN L 和CAN H 导线电压都约为12V,则说明出现此类故障。 故障原因:如果不是CAN L 导线对外部电源短路引起的,那么这种故障就有可能是控制模块内部的CAN收发器损坏造成的。故障查找方法同上。 CAN H断路 当某个控制模块CAN H导线断路时,会导致该控制模块无法实现通信,但其他控制模块的通信还是有的。在其他的控制
[嵌入式]
经典的<font color='red'>CAN总线</font>现场故障
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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