ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
针对目前海事应用中液位遥测系统的现状,基于ARM9芯片的WinCE嵌入式开发平台,开发一套智能的液位遥测系统。
该系统采用CAN总线,遵循CANopen协议,在EVC开发环境下结合多线程技术和数据库技术实现遥测系统的通信和界面显示功能。实验结果表明,该系统稳定、实时、生动地实现了通信、显示、存储、打印等功能,具有很高的应用价值。
引言
液位遥测系统是油轮和化学品船的核心部分[1],直接关系到船舶在海上航行的安全性和可靠性。目前国内该行业还处于低技术的恶性竞争,要改变这种状况,只有通过提升技术水平才能实现。本系统就是在此背景下进行研究设计的。
该系统是以ARM9为内核,在WinCE操作系统平台下,以CAN通信为基础,CANopen协议为规范,综合应用EVC编程、CAN通信、数据库、多线程等技术设计的一个智能液位遥测系统。
ARM9的工作频率最高为200 MHz,微处理器内置彩色图像处理电路,因此可以直接外接TFTLCD/VGA显示屏。
CAN(Controller Area Network)总线是一种多主从结构,具有报文仲裁,错误自检测、处理机制,较强的通信能力,较强的短路保护能力,通信方式灵活多样等优点。船舶液位遥测系统是一个局域网控制系统,选用CAN总线更能满足其传输的高可靠性[2]。
1 CANopen协议
CANopen最初由从事工业控制的CiA会员开发,由于CANopen是一种公共、开放、通用的协议,而且精练透明、容易开发,如今已经被接受为CAN高层协议的标准之一。[3]
图1 CANopen设备模块
一个CANopen设备模块可分为3部分,如图1所示。通信接口和协议软件用于提供在总线上收发通信对象的服务;不同CANopen设备间的通信都是通过交换通信对象来完成的, 这一部分直接面向CAN控制器进行操作。对象字典描述了设备使用的所有数据类型、通信对象和应用对象;对象字典位于通信程序和应用程序之间,用于向应用程序提供接口。应用程序对对象字典进行操作,即可实现CANopen通信。它包括功能部分和通信部分,通信部分通过对对象字典进行操作实现CANopen通信;而功能部分则根据应用要求来实现。
在CANopen网络系统中每个节点都有唯一的一个对象字典,而且每个节点的对象字典都具有相同的结构;但具体的内容要根据不同的设备而定,包含了描述该设备及其网络行为的所有参数。CANopen协议还定义了4种报文(通信对象),用于对不同作用的信息进行处理,分别为管理报文(NMT)、服务数据对象(SDO)、过程数据对象(PDO)和预定义报文或特殊功能对象。
2 液位遥测系统总体结构
液位遥测系统主要实现2项功能:
① 对各舱的液位、温度、压力等进行实时监测;
② 当监测高于报警值时发出报警信号。
针对这2项功能,采用了CAN总线的网络拓扑结构,系统总体结构框图如图2所示。
图2 液位遥测系统总体结构
由图2可知,整个系统以CAN总线进行通信,然而CAN芯片只提供了开放系统互连参考模型(OSI)中的物理层和链路层功能,一般用户必须直接用驱动程序操作链路层。不能直接满足控制网络的组态和产品互连要求。为了以CAN芯片为基础构成完整的工业控制现场总线系统,必须制定相应的应用层协议,实现系统的组态、设备互连和兼容功能。下面分别介绍各部分的功能。
2.1 分布式处理单元DPU
DPU是采用模块化设计、具有通信功能的智能化远程I/O单元。DPU单元分布在船舱各处,作为传感器和执行器的接口,直接与传感器和执行器相连。各个DPU单元可以用两根普通的双芯屏蔽电缆( 或双绞线等)连接到CAN总线上,将定时采集的各船舱液位高度、温度等各种实时数据发送到总线上。
目前,基于CANopen的DPU的各种模块(模拟量输入/输出、数字量输入/输出等)可以根据具体的监测点连接到网络中,完成液位、温度、压力等的监测。
图3 上位监测点结构图
2.2 上位监测点
在本系统中,上位监测点主要实现通信和应用两个方面功能,具体结构如图3所示。
ARM9的开发平台已将CAN驱动嵌入,根据CAN2.0协议,可以直接完成物理层和数据链路层的通信,因此,在WinCE操作系统下,实现CANopen通信,解析通信对象,调用应用程序,完成整个上位系统的CANopen通信。
3 CANopen通信的实现
3.1 CAN通信
CAN通信通过调用底层封装的接口函数实现,主要包含:
开端口CAN_StartChip;
关端口CAN_StartChip;
接收CAN数据CAN_GetNextReceivedFrame;;
发送CAN数据CAN_SendFrame。
具体通信流程如图4所示。
图4 CAN通信流程
3.2 CANopen通信
CANopen协议是CAN通信应用层的协议。通信标准定义了不同的通信对象,这些通信对象通过标识符(COB_ID)来进行区分。
网络管理报文(NMT):提供网络管理服务,例如初始化、错误控制和设备状态控制。NMT对象映射到一个单一的带2字节数据长度的CAN帧,它的标识符为0。在本系统中主要用于系统启动的初始化。
过程数据对象(PDO):过程数据对象用来传递实时数据,数据传输被限制在1~8字节,每个PDO有一个唯一的标识符。标识符具有优先级,遥测系统主要是对实时的液位等信息进行显示,大量的PDO数据进行实时传送。
服务数据对象(SDO):SDO的传送是有证实的服务,可靠性比较高,主要用于对系统中各节点的配置或信息的设置。
以上4种对象都有不同的优先级。对于接收到的报文根据其COB_ID进行解析,分送各不同的应用变量,即可实现CANopen通信。
4 应用模块实现
4.1 系统配置
本系统中采用了配置文件的形式增强配置的灵活性,配置文件是根据下位DPU中各模块、通道的现场分布汇总成的txt文件。首先,利用移动磁盘或者Remote File Viewer在PC机上载入配置文件。其次是读取工作,通过函数GetProfileString,根据不同的字段获取需要的内容。最后,对所获得内容赋给相应的变量,并进行显示更新。
具体配置形式如图5所示。由图可知,可以对系统中模块的使用、舱名、信号类型、单位、范围、报警上下限、报警延时等进行设置。因此,在集控室就可完成基本的配制,大大减轻了工作人员的负担。
图5 系统配置
4.2 实时显示
为了实现实时、准确、生动地显示系统运行状况,在该模块中利用了文本加图形的方式。因为数据量较大,界面类型较多,切换频繁,故主要采用了动态创建控件的解决方法。
液位遥测系统主要完成各舱液位的实时显示。此外,还包括货舱的温度、压力,以及管路管道的压力等重要信息。
4.3 数据存储
在本系统中,数据存储主要完成的是对报警数据的存储和对舱容信息的监测,利用的是WinCE自带数据库系统。
系统存储的主要是报警数据,因此数据量比较小,采用自带数据库可以很方便地实现所需功能。此外,EVC4.0没有提供访问外部数据库ADOCE的接口。
4.4 实时打印
在本系统中实现了实时打印,即只要出现报警信息,立即将该信息进行打印输出;当故障排除后,重新进行打印,以便对数据进行保存分析。
5 结论
本文所研究的是基于CANopen协议,在ARM9的WinCE嵌入式开发平台上的船舶液位遥测系统软件。CANopen作为CAN总线的应用层协议,在船舶遥测系统中有着广阔的应用前景。
系统中CAN总线的应用大大提高了系统总体传输速率,双CAN机制更加增强了整个系统的容错能力,保证了船舶运行的安全性。整个软件系统实现了CANopen通信,完成了数据显示、存储、打印、报警,并使配置更智能,实验证明了其运行的可靠性。
参考文献
[1] 崔晓俊.船舶液位遥测系统中的新技术应用[J].船舶工程,2007(3): 72-74.
[2] 邬宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社,1996.
[3] 汪兵,李存斌.EVC高级编程及其应用开发[M]. 北京: 中国水利水电出版社,2005.
[4] Robert Bosch GmbH,CAN Specification Version 2.0[S],1991,Postfach 30 02 40, D70442 Stuttgart. 赵卫丽(硕士),主要研究方向为通信与测控技术;
王志刚(教授、硕士生导师),主要研究方向为计算机测控技术。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号