基于ARM9的嵌入式电力监控系统的设计与实现
电力监控系统又称电力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、选择必要的动态共享库、初始化脚本等。
- ARM7和ARM9双核平台的技术分析(02-27)
- 基于WinCE的液位遥测系统软件设计(04-13)
- 基于ARM920T的嵌入式电力参数检测系统设计(02-14)
- 基于ARM9的道路交通数据采集系统设计(03-12)
- 基于ARM9的电梯缓冲器复位时间测试仪的设计(06-05)
- 基于嵌入式ARM9的USB设计与实现(07-16)