基于嵌入式的变电站蓄电池远程监测平台的设计与实现

最新更新时间:2012-03-15来源: 中华电源网关键字:嵌入式  变电站  蓄电池 手机看文章 扫描二维码
随时随地手机看文章
0 引言

变电站蓄电池是变电站电力电源断电后的最后一道保护屏障,其运行状态关系到供电系统的安全性,因而对变电站蓄电池的监测也是保障电力系统稳定运行的重要措施之一。本文基于ARM嵌入式实现对蓄电池实时、智能的远程数据测量与控制。

嵌入式微处理器有许多种流行的处理器核,其中ARM以其小体积、高性能、低成本、低功耗等特点而得到广泛的应用,它已成为移动通信、手持设备、多媒体数字消费等嵌入式解决方案的RISC标准。根据嵌入式处理器类型还需配备一定的嵌入式操作系统。国外操作系统已经从简单走向成熟,有代表性的主要有VxWorks、Windows CE、Linux等。其中Linux操作系统具有开放的源代码、良好的用户界面、丰富的网络功能、可靠的系统安全、标准丰富的API、良好的可移植等优点,受到全球计算机人员的关注。本文以ARM9系列处理器为核心的工业级开发板及Linux操作系统为基础平台进行开发,所设计的蓄电池监测平台具有实时性强、稳定性高、可互操作性等优点,而且具有良好的可扩充性,为进一步开发与研究提供了便利。 

1 远程监测系统结构

远程监测系统的硬件一般由现场量测终端、传输通道和远程计算机三大部分。测量终端的任务就是采集被监测对象的测量和状态量等数据,对数据作简单的处理后按通讯规约传送给计算机,并接收上位机下达的命令,对现场设备进行控制。传输通道是指信号传送时所经过的通道,即传输媒体[1]。本文设计所基于的硬件结构包括TM模块、CM模块和PC模块三个部分,如图1所示。TM模块即数据采集与控制输出板,采用C8051单片机及ADC模/数转换器等外围器件,对现场数据采集并对数据作简单的处理。PC模块即远程计算机,作为远程监测及控制平台。CM模块即ARM开发板采用ARM9处理器,集中处理数据和与远程机的通信等。



CM模块中嵌入式芯片是一个嵌入式系统的核心,是整个系统功能的实现及稳定性的保证。它采用基于Atmel公司ARM920T(核)微控制器的16/32位 RISC处理器AT91RM9200工业级开发板。ARM9处理器提供1.1MIPS/MHz的哈佛结构,具有全性能的MMU和MPU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统或实时操作系统;具备5级整数流水线特性,指令执行效率高。外围电路包括64M的同步动态存储器SDRAM、8M的外部存储器NOR FLASH,一个调试串口,两个三线的 RS232串口(通过跳线与RS485进行转换),以及DM9161E以太网芯片(100Mbit/s的网络速度)等,可供平台功能进一步开发,而不须作大的变动。其具体结构如图2所示。



[page]本文基于以上的硬件,对CM模块和PC机端进行软件设计,实现CM端与TM模块和PC的通信以及PC机端与CM模块的通信这两大功能,如图1虚线所框部分。 

2 CM模块端的通信软件设计与实现

软件的设计主要是模块之间数据的交换及处理, CM模块端即ARM上的软件设计包括两大部分。一是与TM模块的通信,采用传统系统中的现场总线 RS485进行串口数据通信。接收单片机的检测、报警、等数据,并把接收到的PC机控制命令传送至TM模块。另一部分是与PC机的通信,通过Socket的UDP协议进行数据传输,两者之间形成C/S结构模式。应用以太网通信(基于TCP/IP)的通信方式进行数据传输共享,实现交互操作。系统通信流向如图3所示。

CM模块端与单片机和PC机两方数据通信采用多进程方式来实现,与单片机串口通信和PC机的套接口通信分别在CMTM和CMPC这两个进程中完成,两进程之间通过共享内存和信号量实现数据的共享及进程间的同步。 

2.1  串口通信(CMTM进程)

利用串口进行文件传输首先要打开和配置串口,按要求设置好速度和传送方式之类的参数;然后,选择一定的传送协议和方式,设置好传送双方的同步方式;接着就可以按照选择的传送协议和同步方式来传送数据或文件了。Linux平台下串口属性参数全部反映在一个struct termios结构体中,其结构如下:

struct termios{

tcflag_t c_iflag;//输入模式标志

tcflag_t c_oflag;//输出模式标志

tcflag_t c_cflag   //控制模式标志

tcflag_t c_lflag;//线路选项

cc_t c_line;//行控制

cc_t c_cc[NCCS];//控制字符

};

其中含有大约50个标志位,这些标志位在头文件termios.h中定义。串口编程的关键是对串口的配置,为了编程方便,Linux系统还包含了一系列针对 termios结构的设置函数,用来完成获取和设置串口属性[2]。Linux下串口设置很多,本设计主要的设置有如下几方面:

①c_cflag的基本参数设置,如波特率(Baudrate)、数据位(Bits)、停止位(Stops)及校验方式(Parity)等。配置过程如下:

struet termios options;//termios的变量声明

option s c_cflag|=B9600;//波特率为9600bps

option s c_cflag|=CS8;//采用8个数据位

option s c_cflag|=~CSTOPB;//使用1个停止位

option s c_cflag&=~PARENB;//取消校验位

②输入输出方式设定。根据是否对传输的数据进行预处理,可分为预处理方式(Canonical)和原始(Raw)方式。预处理方式常用于Modem通信。如果只是串口传输数据,而不需要串口来处理,则使用原始模式(Raw Mode)方式来通讯,本文采用原始输入方式:

options.c_lflag &=~(ICANON|ECHO| ECH-OE|ISIG);//Raw Mode for lnput 

options.c_oflag & =~OPOST;//Raw Mode for Output    

③控制字选项

c_cc包含一些控制字的定义和读取等待定时器 (Read Timeout Timer)配置选项。其中,V START和VSTOP参数设定软件流控制的起始和停止字符 (默认是11H和13H)。VMIN和VTIM E参数用来控制系统的读操作,VMIN设置每次读取的最少字节数,VTIME设置读取操作的等待时间(以0.1 s为单位)。这2个参数的具体值影响了读操作的行为。本文无软件流的控制。所以设置如下:

Options c_cc[VTIME]=150;

Options c_cc[VMIN]=0;

除了上述的配置,传送协议和方式的设定也是很关键的一环。结合实际情况,基于modbus协议的RTU传输模式作了相应的小变动。由于变电站蓄电池数目较多,实现通信信息的识别,在发送包含自检信息的字节前,先发送4个字节用于接收端的判断,然后是帧长度(1byte)、目标地址(1byte)、源地址(1byte)、命令字 (1byte)、标志数据(2byte)、数据(n*3byte),最后是帧数据的CRC校验值(2byte)。这里通讯数据采用不定长帧格式,便于后序功能的扩展。串口配置、通讯协议和方式规定完成后,便可用read()和write()等函数进行数据的接收和发送了。ARM与单片机串口数据交换实现在CMTM进程中完成,其主流程图如图4(a)所示。进程TMCM通过串口监听并接收单片机发送的检测信号以及发送PC机的操作命令,负责将TM模块发来的串口数据接收后存人相应的反馈数据共享内存SHM_ TMCM中去,同时负责检查共享内存SHM_CMTM中是否有新的控制或操作命令到来,若有则将其转发到串口。试运行时编写相关的串口软件,手动和自动对CM模块发送和接收数据,此进程能准确实时地与软件进行数据交换,通信效果良好。 



[page]2.2  套接口通信(CMPC进程)

ARM与PC机的通信采用Socket套接口实现跨平台的C/S(Client/Server)模式,即客户应用层和服务层。客户应用层提供的是管理人员与工业设备的交互通信界面,而服务层则提供管理人员所需的数据采集、存储和处理。这两层通过计算机网络相互连接。

一个套接口为三个因素所确定:协议族、套接口类型和协议。协议族说明套接口交互所使用的网络媒介,它包括AF_UNIX(UNIX域协议)、AF_INET(互联网协议)、AF ISO(1SO标准协议)、AF NS(Xerox网络系统协议);套接口类型表明交流数据的方式,常用的Socket接口有两种:流式接口(SOCKET-STREAM)和数据报接口(SOCKET-DGRAM)。协议是所创建的套接口类型的低层传输机制,一般由套接口协议族和套接口类型决定[3]。SOCKET-STREAM是面向连接的接口,底层协议为TCP协议,用于面向连接的应用。本文采用的是数据报接口UDP通信,Socket的UDP通信是一种无连接通信方式,比TCP/IP更灵活、方便,只要CM模块 IP地址及端口固定后,客户端PC的IP及端口可自由设定。Linux下同样具备一系列的套接字接口函数,服务器端程序首先由socket()函数创建一个套接字,并用 bind()函数将套接字与服务器的公认地址绑定在一起;然后就可用recvfrom()、sendto()函数进行通信了。

ARM与PC机的通信服务程序主要由CMPC进程实现,其主流程图如图4(b)。其主要功能是负责接收PC发来的数据或命令,若收到的是数据索取命令则从反馈数据共享内存SHM_TMCM中的相应单元取出数据通过SOCKET返回给PC;若收到的是控制或参数设置等命令则将其暂存人命令共享内存SHM _CMTM中去,以待TMCM进程转发给TM模块。试运行中,CM模块能实时准确地与PC机进行数据交
关键字:嵌入式  变电站  蓄电池 编辑:冰封 引用地址:基于嵌入式的变电站蓄电池远程监测平台的设计与实现

上一篇:基于单片机的铅酸蓄电池智能充电器设计
下一篇:多回路分散型嵌入式电池化成充放电控制器

推荐阅读最新更新时间:2023-10-18 16:30

USB-HOST实时数据采集嵌入式模块的实现
引言 随着数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,传统的通过软盘、串行口(RS232/RS485)或以太网等传输数据的方式已不能满足当前数据存储和交换的需求。如何在嵌入式模块中实现USB移动存储已成为急需解决的问题。 本文提出利用SL811HS和8位单片机实现USB-HOST嵌入式模块的一种方案。它带有标准USB数据总线接口,完全遵守USB 1.1协议和大规模存储协议规范。移动存储设备的文件操作方式支持FAT16文件系统。 1 USB-HOST嵌入式模块原理 USB技术规范将使用USB进行数据传输的双方划分为两种角色——Host和Slave,并且规定,数据传输只能发生在Host和Slave之间。目
[嵌入式]
基于时间触发嵌入式系统的设计与应用(1)
简介:本文设计了基于AVR微控制器的时间触发多任务调度器并应用于实际。该调度器使用传递消息(message)的方式使得微控制器在多个任务及设备间切换。 1.引言 近年来,嵌入式发展迅速,采用51单片机死循环的事件触发编程方式已逐渐不能满足企业对产品稳定性和安全性的要求。目前,嵌入式系统软件有VxWork、Linux、WinCE、μC/OS-II等,可出于成本和技术上的考虑,微控制器往往不会选取其进行设计。在实际应用中,往往会面临同时应付多外设、多任务的情况,则对它们的相互调度必不可少。时间触发嵌入式系统就是这样的简单实用的操作系统。 本文设计了基于AVR微控制器的时间触发多任务调度器并应用于实际。该调度器使用传递消息(
[单片机]
基于时间触发<font color='red'>嵌入式</font>系统的设计与应用(1)
不可不知的嵌入式工程师经验
    本文将从技术和就业经验等角度为即将进入嵌入式开发的工程师们,详细讲述了嵌入式的概念,嵌入式开发之间的异同以及应该如何做出选择。以下都是前辈的一些经验之谈,希望对大家有所帮助。 第一 . 工程师眼中的 “ 嵌入式系统 ” 在工程师看来:着重理解“嵌入”的概念,主要从三个方面上来理解。 1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片 要靠外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现。目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有 显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义
[嵌入式]
基于AT91R40008的嵌入式GPRS传输终端的设计
1 引言 随着Internet的快速发展,Internet已成为信息流通的重要渠道,Internet接入终端在各种远程监控系统中得到广泛应用。采用GPRS无线移动互联网接入技术的终端,使得现有工业总线的监控系统直接通过Internet进行远程数据传输,解决了采用以太网或电话线接入Internet的有线通讯布线困难、覆盖范围小、无法移动通信等问题。Internet接入终端已经成为工业控制、远程测量、交通管理等应用热点。本文给出了基于ARM处理器和GPRS Modem嵌入式数据传输终端的设计与实现。 2设计原理 将嵌入式系统接入Internet涉及两个关键问题,即传送信息的媒质和采用的协议,传输媒质可以是以太网或者电话线
[单片机]
基于AT91R40008的<font color='red'>嵌入式</font>GPRS传输终端的设计
蓄电池全新的充电模式
摘要:从阀控蓄电池内部氧循环的设计理念出发,分析了现有各种充电方法存在的问题,提出了蓄电池全新的充电模式--自然平衡充电法,并对此方法的原理进行了浅述,使用根据这一原理设计的充电装置,才会使蓄电池的循环使用寿命有真正意义上的保障和提高。 关键词:蓄电池;内部氧循环;充电器;自然平衡充电法 引言 发展中的民用电动交通产品,是未来蓄电池的最大市场。该市场能否获得快速平稳的发展,关键取决于电动交通产品的运行成本。其中围绕着蓄电池的几项技术指标,如蓄电池的单位储能指标,循环使用寿命,放电后的充电是否安全、方便,环境温度变化的适应能力等,又是影响运行成本的核心。以上任一个技术指标的突破,都将会使蓄电池在电动交通产品上的应用,向前迈出
[应用]
基于FPGA的嵌入式Linux软硬件设计
  FPGA是通过逻辑组合电路来实现各种功能的器件。由于FPGA内部集成了大量的逻辑资源和可配置的I/O引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的配置和管理,以及内外各种接口数据的传输。现在开发厂商又在FPGA 内部加入了大量的DSP和Block RAM资源,非常适合图像处理、数字信号处理等运算密集的应用,因此在这些领域取得了广泛的应用。但是由于FPGA 程序编写的灵活性和功能的多样性,使得它在一个复杂工程中对各个程序的使用调度、统筹管理上有很大的局限性,这样就必须引入操作系统进行统一的管理。Linux 系统则因为其良好的可裁减、可配置等特点在嵌入式领域应用广泛。 Linux操作系统提供了许多系统级的应用,例如
[嵌入式]
基于Internet的嵌入式设备状态监测系统开发与研究
前言 随着计算机网络技术的发展,多数企业的内部网络已经建成,网络化的设备状态监测及故障诊断系统成为企业设备管理的发展方向。设备状态监测网络化特点在于:一方面,设备监测分析人员和专家们不再局限于在工业现场对设备进行状态监测,他们完全可以通过企业Intranet或Internet对设备运行状况进行远程状态监测和故障诊断;另一方面,由于单机版的设备状态监测数据就存在本地机中,整个企业工厂的设备状态数据分布在各个监测点上,较为凌乱,要统一集中化管理整个企业的设备数据较为困难。 基于此,作者开发了一种基于Internet的嵌入式设备状态监测和故障诊断系统,将整个企业的设备监测数据放在服务器进行集中式管理,设备监测人员通过网络,经过服
[嵌入式]
SQLite在嵌入式系统Wince中的应用
随着科学技术的发展,嵌入式系统成为了科技发展的主要领域, Linus和Wince是比较常见的嵌入式系统。嵌入式开发过程离不开数据库的应用,对于嵌入式数据库的选择是必要的。通常,嵌入式系统选择的数据应该尽量小,SQLite 在Linux中的应用很广泛,本设计介绍了SQLite作为一款小巧的嵌入式数据库在Wince 中的应用实例。 1 SQLite数据库的介绍与选择 1.1 SQLite数据库结构 SQLite数据库结构图如图1所示。 1.2 SQlite数据库的特点 SQLite是一个开源的嵌入式关系数据库,结构紧凑,可靠性强 。有以下特点: (1)使用非常简单。只需要掌握3个核心API函数,大多数的S
[工业控制]
SQLite在<font color='red'>嵌入式</font>系统Wince中的应用
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved