《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于ARM9的嵌入式电力监控系统的设计与实现
基于ARM9的嵌入式电力监控系统的设计与实现
赵丽敏1, 岳 宁2
1. 德州学院 计算机系,山东 德州 253023;2. 华北计算机系统工程研究所, 北京 1000083
摘要: 介绍了一种嵌入式系统,该系统以ARM9硬件平台和Linux操作系统为核心结合GPRS技术对现场进行监控。给出了其具体实现方法,很好地解决了电力监控中遇到的实际问题。
关键词: ARM SCADA GPRS ARM9 电力监控
中图分类号: TP89
文献标识码: B
Design and realization of SCADA based on embedded ARM9
ZHAO Li Min1, YUE Ning2
1. Computer Department, Dezhou University, Dezhou 253023, China;2. National Computer System Engineering Research Instituted of China, Beijing 100083, China
Abstract: This article introduces a kind of embedded system, which takes the ARM9 hardware platform and the Linux operating system as the core and combined with the GPRS technology to carry on the monitoring to the scene. It also introduces concrete method to realize, and is a good solution to meet the actual problem.
Key words : embedded; SCADA; GPRS

    电力监控系统又称电力SCADA(Supervisory Control And Data Acquisition)系统或远动系统,是在对供电系统设备的远程状态监视、数据采集和远程控制的需求基础上发展起来的。用于实现对沿线各变电所内主要电气设备的遥控、遥信、遥测、遥调和遥视等功能。它对提高电网运行的可靠性、安全性与经济效益,减轻调度员的负担,实现电力调度自动化与现代化,提高调度的效率和水平等方面有着不可替代的作用。电力系统的特点是站点比较分散,而站点的正常运行又十分重要,一旦站点出现任何异常情况,监控系统需要把实时数据(温度、风力、震动、电压等)传送到调度员手中,以便及时采取应对措施。传统的人工监控现场不仅浪费大量的人力物力,而且效率十分低下[1]。ARM微处理器是一种高性能、低功耗的32位微处理器,广泛应用于嵌入式系统。ARM9代表了ARM公司主流的处理器,在数字消费品、成像设备、工业控制、存储设备和网络设备等方面应用广泛。本文设计了一种新型的嵌入式系统,该系统以Linux操作系统和ARM9硬件平台为核心实现了现场的实时监控,并通过GPRS模块及时地把数据传送到监控中心,监控中心对数据进行储存处理。同时,监控中心一旦接收到新的数据,马上以短消息形式发送到手机(MT)上,而手机也可以向监控中心发送查询请求,监控中心通过认证其权限大小向其发送数据。
1 系统组成及原理
1.1 数据采集端

      如图1所示,整个系统由现场监控终端、GSM网络、数据交换中心,监控中心、移动接收终端五部分组成。

  一般情况下,由本地监测系统采用SM业务发送变电所的工况数据。当变电所出现故障时,变电所本地监测系统主动呼叫远程监测计算机并建立数据连接,发送报警信息;根据实际生产中的需要,生产管理人员可以决定何时建立GSM数据电路连接,进行实时监测。
  本系统的发送端如图2所示。其中,控制单元的芯片选用S3C2410嵌入式处理器,该处理器是Samsung公司基于ARM公司的ARM920T处理器核、采用0.18 μm制造工艺的32位微控制器。该处理器基本特性:独立的16 KB指令Cache和16 KB数据Cache、MMU、支持TFT的LCD控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的Timer、I/O口、RTC、8路10位ADC、Touch Screen接口、I2C-BUS 接口、I2S-BUS接口、2个USB主机、1个USB设备、SD主机、MMC接口及2路SPI。S3C2410处理器最高可运行在203 MHz频率下。

  GPRS模块采用SIMCOM公司出品的工业级模块SIM300C,该模块支持GPRS与内嵌TCP协议。它是一个完整的手机模块,属于移动设备端,负责与GSM、GPRS 网络进行信令交换。通过串口可以实现对它的控制并进行数据传输,包括短信息和GPRS等。该模块需要一张开通GPRS 业务的SIM卡与其配套使用。
1.2 服务器端
    鉴于电力系统的特殊性,其监控中心不允许直接接入Internet,所以需要一个数据交换中心来进行数据处理转发。信息采集点的控制器定时或根据监控中心的指令把数据由GSM/GPRS模块经过GSM网络传送到监控中心,监控中心对数据进行储存处理。
1.3 数据发布端
    监控中心一旦接收到新的数据,马上通过短消息形式发送到值班人员手机(MT)上。而值班人员也可通过手机向监控中心发出查询请求,监控中心通过认证其权限大小向其发送数据。如图3所示。

2 操作系统定制
  设计中嵌入式操作系统选用Linux。Linux是一套免费使用和自由传播的类Unix操作系统,它充分利用了X86 CPU的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级,特别适用于嵌入式系统。应用程序开发工具则采用ADS1.2(ARM Developer Suite)[2]。
2.1构建交叉编译环境
  由于嵌入式硬件上无法安装所需要的编译器,所以只能借助于PC机,而PC机和嵌入式硬件基于两种不同的处理器类型,因此需要在PC机上生成能够在ARM上运行的软件,这就要求构建交叉编译环境。本设计选用开源Crosstool来构建交叉编译工具链[2]。
2.2 移植Bootloader
    Bootloader类似于PC机上的Bios,是系统启动时运行的第一个程序,主要作用就是在操作系统内核运行之前,初始化硬件设备,屏蔽中断,设置启动参数等,为操作系统创造一个良好的环境,然后加载操作系统。本设计同样使用开源项目U-boot。
2.3 内核移植
    尽管最新的Linux内核已经增加了对S3C2410 CPU的支持,但是仍然需要根据实际需要对内核做一些修改,并且重新配置、编译生成新的内核映像。
2.4 定制根文件系统
    根文件系统是指Linux系统启动时所使用的第一个文件系统,在启动内核时需要挂载根文件系统来支持外部设备,以及装载和运行内核模块与应用程序。通常,定制根文件系统需要以下步骤:创建空的目录树、移植BusyBox、选择必要的动态共享库、初始化脚本等。
3 软件设计
3.1 信息采集点与监控中心的通信

    GPRS模块的控制通过AT指令完成,而模块与监控中心的通信则由WinSock完成。当信息采集点传送数据时,GPRS模块会根据预先设定在其内部的IP地址来主动访问监控中心服务器,通过防火墙和监控中心建立TCP/IP链路[3]。同时,监控中心维护接入的每个信息采集点的IP地址和序号,并且根据需要定时向某个信息采集点发出数据请求,信息采集点接收到请求后作出响应,完成通信过程[4]。具体协议栈如表1所示。

3.2 监控中心软件结构
    监控中心软件结构共分为3层:操作系统和系统软件层、系统软件支持层和基础应用层。
    (1) 操作系统和系统软件层
  操作系统为使用者屏蔽了底层硬件的具体细节,程序员可以利用底层硬件提供的函数开发包来为上层软件服务。
    (2) 系统支持软件层
    系统支持软件层包括数据库系统、电力系统模型、数据采集和传输等,其主要功能是实现数据存储和转发,并为上层软件服务。
    (3) 基础应用层
    基础应用层的主要功能是将采集到的数据进行处理、对调度人员进行管理并通过GUI界面显示出来[5]。
  监控中心如图4所示。

3.3 管理中心与调度员的通信
    在数据发布端,无线模块通过RS232与上位机进行通信,采用串口异步通信,波特率为9 600 Kb/s。串口程序使用的是MOXA公司的Pcomm串口通信库,Pcomm提供了简单方便的串口操作函数,常用的函数有:
  int  WINAPI sio_ioctl(int port, int baud, int mode);
                      //设置串口参数,包括波特率、数据位、停止位等
  int  WINAPI sio_read(int port, char *buf, int len);
                      //从输入缓冲区读指定个数的字符
  int  WINAPI sio_write(int port, char *buf, int len);
                      //写指定个数的字符到输出缓冲区
  int  WINAPI sio_cnt_irq(int port, VOID (CALLBACK *func)(int port), int count);
                     //中断函数,当接收到指定个数字符时响应事件
    本系统基于S3C2410平台和Linux操作系统,通过SIM300C经GPRS网络与远程监控中心进行信息交互,传输距离远、可靠性高、实时性强,并且价格低廉,具有很高的实用价值。
参考文献
[1]   汪明虎,欧文盛. ARM嵌入式Linux应用开发入门(第1版)[M].北京:中国电力出版社,2008.
[2]   全茜,郑雪峰.基于GPRS的电力线路监控系统[J].计算机工程与设计, 2005,26(11):3053-3055.
[3]   文志成.GPRS网络技术[M].北京:电子工业出版社,2005.
[4]   ANDREW  S T. 计算机网络(第4版)[M].北京:清华大学出版社, 2004.
[5]   BLANCHETTE J, SUMMERFIELD M著. C++ GUI Qt4 编程(第2版).闫锋欣,译.北京:电子工业出版社.2008.

此内容为AET网站原创,未经授权禁止转载。