论文部分内容阅读
【摘要】分析了地铁车辆级网络结构,利用NI(美国国家仪器)硬件,自主开发CANopen应用层协议。测试效果表明总线通讯数据正常,未出现错误帧,误码率低,通讯质量好。
【关键词】地铁网络;CANopen;Labview
一、概述
为提高主机厂系统集成能力和对部件供应商的控制能力,自主研发国产网络控制系统。依托NI(美国国家仪器)公司强大的硬件实力,自主开发软件,搭建有自主知识产权的网络控制系统。
车辆级的网络采用CANopen以及HDLC485,分别负担不同的设备,这部分CANopen是在标准的CAN模块上进行的二次开发,适应范围相对更广范。网络拓扑结构见图1:
本系统CANopen总线结构示意图如图1所示:
二、CANopen总线概述
CAN(Controller Area Network)现场总线仅仅定义了第1层、第2层(见ISO11898标准);实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware)。CANopen是在CAN基础上开发的,使用了CAN通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展。
CAN(Controller area network)最初是由德国BOSCH公司于1986年为解决现代汽车中众多测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。现已成为国际标准ISO11898(高速应用)和ISO11519(低速应用),获得了非常广泛的应用,CAN总线在列车通信中也得到了应用。CAN作为数字式串行通信技术,在可靠性、实时性和灵活性方面具有独特的优势。
三、CANopen总线系统设计
(一)系统硬件设计
系统硬件选用NI(美国国家仪器)公司的CompactRIO系列产品,质量可靠,振动冲击和电磁兼容等参数均符合地铁车辆应用的标准要求,可靠性高。控制器选用CompactRIO9074,其带有8个扩展槽,用来扩展模块。扩展模块9853是专用的标准高速CAN模块(包括两路独立的CAN接口),在CAN的基础上自主开发CANopen系统。
NI CompactRIO是一款工业级嵌入式测控系统,集成了嵌入式实时(Real-time)控制器、可编程硬件逻辑(FPGA)和可重配置的I/O模块。由于采用嵌入式设计,整个系统具有低功耗的优点,而创新的集成FPGA更使系统具备高速并行的运算能力。NI CompactRIO系统设计精巧而坚固,支持热插拔的I/O模块内置了信号调理和数模转换电路,可直接与外部的传感器/驱动器互联。NI CompactRIO和Labview开发环境无缝连接是用户可以轻松的通过图形化开发环境访问底层硬件,快速建立嵌入式系统控制和数据采集应用,可大大缩短设计系统原型的时间,降低系统开发、生产的技术风险。实时控制器和FPGA具备以下功能特点:
1.实时控制器(Real-Time Control,RT)
(1)内置主频高达800M的微处理器和VxWorks实时操作系统;
(2)系统进程调度完全按照优先级进行,不会“死机”;
(3)系统确定性、可靠性高,循环周期抖动在微秒量级;
(4)可通过USB接口、SD存储模块或网络硬盘等方式扩展数据存储容量。
2.FPGA
(1)提供大容量的可编程逻辑阵列,40MHZ基准时钟,可满足复杂的高速并行处理要求;
(2)以25ns时间分辨率执行定时、触发和自定义控制循环,实现高确定、高可靠性的硬件决策;
(3)FPGA直接与IO模块互联,可进行高速的数据采集、计算和控制操作PID控制速率高达200KHZ。
(二)系统软件设计
系统软件使用Labview编程实现。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW的程序模块。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。前面板创建完毕后,便可使用图形化的函数添加源代码来控制前面板上的对象。在程序框图上添加图形化代码,即G代码或程序框图代码。因此又被称作程序框图代码。
软件设计又分为FPGA编程和RT编程。由于FPGA的运行速度快,在FPGA上主要实现对CAN端口的读写和数据存储工作;在RT上主要实现CANopen应用层的协议。
由于车辆上的子系统应用的是非标准的CANopen协议,根据给出的通讯规格书编写软件。软件流程图如图2所示。
四、应用测试
(一)总线物理层测试
CAN总线节点的收发环节通过CAN-High(CANH)和CAN-Low(CANL)两条线路被动的连接到总线电缆上。实际的数据传输采用具有良好干扰免疫性的差分电压信号。在这个过程中,两条总线电缆之间的电压差被计算。为了表示总线上传输的数据,ISO1898中定义了两个不同的差分电压范围,也就是隐形和显性的总线等级。
由以上波形可以看出,总线电压波形正常,电压等级符合ISO1898标准。
(二)总线应用层测试
用以确定从站工作正常,通讯周期正常,总线干扰情况:
1.用CANalyzer记录总线通讯数据
选取其中部分数据(如图6所示)。
2.误码率测试
由CANalyzer分析总线数据得出:
由以上数据可以看出,总线通讯数据正常,未出现错误帧,误码率低,通讯状态良好。
五、结束语
自主开发的CANopen总线能正常有效的工作,总线负载率低,总线干扰对通讯影响小,在测试期间未出现错误帧,总线运行状态良好。
自主开发的CANopen总线有以下几个优势:
(1)灵活性高,可以与标准及非标准的CAN-open总线通讯,更能适用于现车实际情况(现车网络系统的并不是标准CANopen总线),可以方便的与第三方非标准的CANopen接口连接。
(2)自主性高,可以及时快速的响应通讯协议内容改动,及时更新软件版本。
参考文献
[1]陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].清华大学出版社,2007.
[2]饶运涛.现场总线CAN原理与应用技术[M].北京航空航天大学出版社,2007.
[3]CIA,CANopen Application Layer and Communication Profile[M].1-312.
作者简介:
尹法伟(1981—),男,山东青岛人,大学本科,工程师,现供职于南车青岛四方机车车辆股份有限公司。
王云飞(1982—),男,山东齐河人,硕士,工程师,现供职于南车青岛四方机车车辆股份有限公司。
杨朝青(1983—),男,吉林长春人,大学本科,工程师,现供职于南车青岛四方机车车辆股份有限公司。
【关键词】地铁网络;CANopen;Labview
一、概述
为提高主机厂系统集成能力和对部件供应商的控制能力,自主研发国产网络控制系统。依托NI(美国国家仪器)公司强大的硬件实力,自主开发软件,搭建有自主知识产权的网络控制系统。
车辆级的网络采用CANopen以及HDLC485,分别负担不同的设备,这部分CANopen是在标准的CAN模块上进行的二次开发,适应范围相对更广范。网络拓扑结构见图1:
本系统CANopen总线结构示意图如图1所示:
二、CANopen总线概述
CAN(Controller Area Network)现场总线仅仅定义了第1层、第2层(见ISO11898标准);实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware)。CANopen是在CAN基础上开发的,使用了CAN通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展。
CAN(Controller area network)最初是由德国BOSCH公司于1986年为解决现代汽车中众多测量控制部件之间的数据交换问题而开发的一种串行数据通信总线。现已成为国际标准ISO11898(高速应用)和ISO11519(低速应用),获得了非常广泛的应用,CAN总线在列车通信中也得到了应用。CAN作为数字式串行通信技术,在可靠性、实时性和灵活性方面具有独特的优势。
三、CANopen总线系统设计
(一)系统硬件设计
系统硬件选用NI(美国国家仪器)公司的CompactRIO系列产品,质量可靠,振动冲击和电磁兼容等参数均符合地铁车辆应用的标准要求,可靠性高。控制器选用CompactRIO9074,其带有8个扩展槽,用来扩展模块。扩展模块9853是专用的标准高速CAN模块(包括两路独立的CAN接口),在CAN的基础上自主开发CANopen系统。
NI CompactRIO是一款工业级嵌入式测控系统,集成了嵌入式实时(Real-time)控制器、可编程硬件逻辑(FPGA)和可重配置的I/O模块。由于采用嵌入式设计,整个系统具有低功耗的优点,而创新的集成FPGA更使系统具备高速并行的运算能力。NI CompactRIO系统设计精巧而坚固,支持热插拔的I/O模块内置了信号调理和数模转换电路,可直接与外部的传感器/驱动器互联。NI CompactRIO和Labview开发环境无缝连接是用户可以轻松的通过图形化开发环境访问底层硬件,快速建立嵌入式系统控制和数据采集应用,可大大缩短设计系统原型的时间,降低系统开发、生产的技术风险。实时控制器和FPGA具备以下功能特点:
1.实时控制器(Real-Time Control,RT)
(1)内置主频高达800M的微处理器和VxWorks实时操作系统;
(2)系统进程调度完全按照优先级进行,不会“死机”;
(3)系统确定性、可靠性高,循环周期抖动在微秒量级;
(4)可通过USB接口、SD存储模块或网络硬盘等方式扩展数据存储容量。
2.FPGA
(1)提供大容量的可编程逻辑阵列,40MHZ基准时钟,可满足复杂的高速并行处理要求;
(2)以25ns时间分辨率执行定时、触发和自定义控制循环,实现高确定、高可靠性的硬件决策;
(3)FPGA直接与IO模块互联,可进行高速的数据采集、计算和控制操作PID控制速率高达200KHZ。
(二)系统软件设计
系统软件使用Labview编程实现。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是LabVIEW的程序模块。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。用户界面在LabVIEW中被称为前面板。前面板创建完毕后,便可使用图形化的函数添加源代码来控制前面板上的对象。在程序框图上添加图形化代码,即G代码或程序框图代码。因此又被称作程序框图代码。
软件设计又分为FPGA编程和RT编程。由于FPGA的运行速度快,在FPGA上主要实现对CAN端口的读写和数据存储工作;在RT上主要实现CANopen应用层的协议。
由于车辆上的子系统应用的是非标准的CANopen协议,根据给出的通讯规格书编写软件。软件流程图如图2所示。
四、应用测试
(一)总线物理层测试
CAN总线节点的收发环节通过CAN-High(CANH)和CAN-Low(CANL)两条线路被动的连接到总线电缆上。实际的数据传输采用具有良好干扰免疫性的差分电压信号。在这个过程中,两条总线电缆之间的电压差被计算。为了表示总线上传输的数据,ISO1898中定义了两个不同的差分电压范围,也就是隐形和显性的总线等级。
由以上波形可以看出,总线电压波形正常,电压等级符合ISO1898标准。
(二)总线应用层测试
用以确定从站工作正常,通讯周期正常,总线干扰情况:
1.用CANalyzer记录总线通讯数据
选取其中部分数据(如图6所示)。
2.误码率测试
由CANalyzer分析总线数据得出:
由以上数据可以看出,总线通讯数据正常,未出现错误帧,误码率低,通讯状态良好。
五、结束语
自主开发的CANopen总线能正常有效的工作,总线负载率低,总线干扰对通讯影响小,在测试期间未出现错误帧,总线运行状态良好。
自主开发的CANopen总线有以下几个优势:
(1)灵活性高,可以与标准及非标准的CAN-open总线通讯,更能适用于现车实际情况(现车网络系统的并不是标准CANopen总线),可以方便的与第三方非标准的CANopen接口连接。
(2)自主性高,可以及时快速的响应通讯协议内容改动,及时更新软件版本。
参考文献
[1]陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].清华大学出版社,2007.
[2]饶运涛.现场总线CAN原理与应用技术[M].北京航空航天大学出版社,2007.
[3]CIA,CANopen Application Layer and Communication Profile[M].1-312.
作者简介:
尹法伟(1981—),男,山东青岛人,大学本科,工程师,现供职于南车青岛四方机车车辆股份有限公司。
王云飞(1982—),男,山东齐河人,硕士,工程师,现供职于南车青岛四方机车车辆股份有限公司。
杨朝青(1983—),男,吉林长春人,大学本科,工程师,现供职于南车青岛四方机车车辆股份有限公司。