DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 820|回复: 0
打印 上一主题 下一主题

[安防] 基于ARM9的嵌入式电力监控系统的设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:40:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
电力监控系统又称电力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.
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-5 20:59 , 耗时 0.080230 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表