APP下载

基于嵌入式Linux电网集抄系统数据集中器设计

2018-09-05邱丽莉

智能计算机与应用 2018年3期

邱丽莉

文章编号: 2095-2163(2018)03-0154-04中图分类号: 文献标志码: A

摘要: 关键词: reading system based on embedded Linux

(Experimental Center, Zhengzhou University of Science and Technology, Zhengzhou 450064, China)

Abstract: With the rapid development of information technology in the new era, the grid collection system has become a hot technical issue in the industry system of supply and sale. According to the design of intelligent power supply and sale of electricity in the core of the data concentrator in the system, based on embedded Linux operating system, the artificial leakage copy, wrong copy could be solved,which is beneficial to evaluate power loss for power management department, and promotes to maximize energy efficiency greatly. The research provides the convenient and efficient collecting means for the supply and sale of electricity industry.

Key words:

作者简介:

收稿日期: 引言

随着新时代信息化技术的飞速发展,电网集抄系统成为供用、售电行业系统的一个技术性热点问题。高科技信息技术为供用、售电行业系统的发展提供了强有力的保障。信息技术集抄系统将不再单纯依靠某一种通讯方式和网络技术,将逐渐向信息网络技术的综合化方向发展,从而保证数据的及时性和精准性。供用、售电行业单位为了提供有力的数据依据更好地服务经营决策,供用、售电部门数据的信息化集抄和自动化运作采用计算机信息技术来实现将势在必行[1]。嵌入式系统是以计算机信息技术为基础,以应用为中心,软硬件可筛减,适用于对效能、成本、可靠性、能耗要求严格的计算机系统 [2]。目前,嵌入式Linux系统的设计研究已成为该领域嵌入式系统操作中的热点问题。

1嵌入式Linux系统的构建

1.1构建交叉编译环境

交叉编译环境是由编译器、解释器库和连接器等组成的研发环境。环境的构建需要很多的系统模块一起工作。例如,目标板为AT91SAM9261研发板,宿主机为Linux系统Ubuntu 10.04。

1.2引导加载程序

引导加载程序(BootLoader)是启动嵌入式系统之后运行的首段代码。在启动系统时,引导加载程序负责存储空间的映射、硬件的初始化以及整个操作系统的加载。

BootLoader最终的作用就是用来加载内核{3]。BootLoader的启动过程分为State1和State2这2个阶段,BootLoader的启动过程如图1所示。

当前主流嵌入式引导加载程序包括:VlVl、U—Boot、RedBoot和ARMBoot。每种BootLoader都有自身优势。该系统依照硬件的具体配置进行移植以实现各自的功能,所采用的BootLoader是VlVI。

1.3Linux内核

嵌入式Linux操作系统与专用嵌入式实时操作系统相比,几乎所有流行的CPU均能够正常运行。Linux的移植可以分为板级移植和片级移植。由于该系统采用的Linux2.6.30版本的内核中己经包含AT91SAM9261处理器的移植包,所以移植过程比较简单。在移植过程中,首先配置Linux内核,配置完成后进行编译,生成Linux映像文件zlmage,然后通过SAM_BA软件或Uboot下的tftp命令将该文件下载并执行[4]。移植流程如图2所示。

2数据集中器

数据集中器在系统中起着极其关键作用。集中器可支持服务器、客户端2种通讯模式,并且采用模块化设计,可通过更换通信模块直接改变通信方式。集中器原理结构如图3所示。

数据集中器在整个自动集抄系统中起到一个桥梁的作用,是整个自动集抄系统的核心单元,主要功能就是要进行年、月、日数据的抄送或根据系统要求接收某个电表或某组电表的数据;另外,对电能表的远程监控以及异常情况的主动输送,将单元用户(每月1日零点)冻结电能数据。

2.1集中器结构设计

数据集中器由AT91SAM9261微处理器、GPRS通信模块GTM900C、键盘控制模块、LCD显示模块、Flash存储模块、SDRAM模块和USB接口模块等组成。由于AT91SAM9261速度比较快,操作LCD时还需加软延时。微处理器是整个系统的核心部分,实时地采集和处理电表的数据,同时接收并执行管理中心的操作指令。集中器硬件结构如图4所示。

2.2集中器硬件设计

2.2.1集中器设计与实现

集中器硬件设计要求从根本上保证系统稳定、精确、可靠。载波集中器系统由2部分构成:主CPU和载波部分。具有強弱电隔离、电源净化的作用。集中器的管理容量:某个辖区内用户电表的实际数据与该辖区变压器的容量相关。因为集中器是安装在变压器下的,管理着整个辖区的用户电表。

湿度范围:RH10%~85%

一次抄表成功率=抄表成功的次数/应抄表的总次数×100%

2.2.2主处理器AT91SAM9261

AT91SAM9261是以ARM926EJ-S ARM Thumb 处理器为核心部位的完全的片上系统,扩展了DSP 指令集和Jazelle Java 加速器。主时钟频率为190MHz 时性能高达210 MIPS。AT91SAM9261 是一个为携带LCD 显示应用而优化的主机处理器[5]。AT91SAM9261 还包括JTAG-ICE,专用的UART 调试通道(DBGU)和嵌入式实时追踪。

2.2.3电力载波模块

集中器与采集器是利用内部的载波Modem模块,主要完成该系统的底层数据传输。利用电网传送数据信息,Modem模块由载波芯片SC1128、前级放大模块、前端滤波模块、输出功率放大模块和电源电路组成。电力载波通信结构如图5所示。

2.2.4GPRS模块

因为该系统设计是覆盖各种有无网络环境的地区,所以增加了GPRS传输数据的系统方式。GPRS即通用无线分组业务,是在GSM上发展起来分组交换的新型的资料承载和传输方式[6]。本系统采用华为的GTM900C模块含有完整TCP/IP协议,GTM900C模块功能非常强大。GPSR通信模块示意如图6所示。

2.2.5TCP/IP协议的实现

(1)协议分析

TCP/IP协议即为传输控制协议/因特网互联协议,也称为网络通讯协议。因此嵌入式系统接入Internet最终必须通过TCP/IP链接。 TCP/IP一般情况下是由链路、网络、传输、应用4层协议组成。

(2)接口设计

台湾Realtek公司生产的RTL8019AS以太网控制,在一块芯片上集成了一個16KB的SDRAM存储器和RTL8019内核。其兼容NE2000 8bit和RTL8019控制软件的传输,支持PNP、BNC、AUI和UTP自动检测模式,支持外接FLASH模块读写操作,支持I/O口地址的完全解码,具有LED模块指示功能。

2.3集中器软件设计

2.3.1基于AT91SAM9261嵌入式系统软件的建立

(1)ncurses库(ubuntu默认是未安装的)

编译内核时make menuconfig动态配置内核时需要curses库。

终端下输入命令:

$ sudo apt-get install build-essential

$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz

$ tar zxvf ncurses-5.6.tar.gz

$ cd ncurses-5.6

$ ./configure—prefix=/usr/local

$ make

$ sudo make install

进入内核代码根目录

$ cd /usr/src/linux-headers-2.6.32-21

如果没有找到该目录,可以在/usr/src 下找到内核代码根目录

$ makemenuconfig

正常出现菜单则ok

(2)arm-linux-gcc(使用linux系统)

终端下输入命令:

$ wget http://arm9download.cncncn.com/linux/arm-linux-gcc-4.3.2.tgz

$ sudo tar zxvf arm-linux-gcc-4.4.3.tar.gz -C /

添加环境变量

$ gedit ~/.profile

末行添加 export PATH=$PATH:/usr/local/arm/4.3.2/bin

更新环境变量

$ source ~/.profile

取消~/.profile文件中刚添加的内容,否则系统重新启动都需添加

$ gedit ~/.profile

关闭。

进入根目录

$ cd /

$ arm-linux-gcc -v

安装成功则会显示 arm-linux-gcc 的版本信息等

(3)内核配置

linux-2.6.30.tar.bz2

2.6.30-at91-exp.3.tar.gz

2.6.30-at91.patch.gz

at91sam9261ek_defconfig

zcat 2.6.30-at91.patch.gz | patch -p1

tar xvzf 2.6.30-at91-exp.3.tar.gz

for p in 2.6.30-at91-exp.3/*; do patch -p1 < $p ; done

cp at91sam9261ek_defconfig .config

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- xconfig

编译完成后执行

cd /opt/linux/kernel/linux-2.6.30/arch/arm/boot

2.3.2通讯程序的设计和实现

(1)TCP/IP协议的实现

TCP/IP协议称为网络通讯协议,即为传输控制协议/因特网互联协议[7]。因此嵌入式系统接入Internet最终必须通过TCP/IP链接。TCP负责发现传输问题,有问题则发出信号,要求重新传输,直到所有的数据准确传送到目的地。

TCP状态的变迁过程如图7所示。

(2)实现RTL8019AS驱动程序

①RTL8019AS停止运行,设置数据配置寄存器16位,复位RTL8019AS,选中页0寄存器。

②远程DMA计数器及中断寄存器清零,启用自动校验和CRC自动生成。

③初始化组播物理地址,选择页0寄存器,设置当前的CURR,启动RTL8019AS执行。(3) GPRS通讯软件设计

GPRS是在GSM上发展起来分组交换的新型的资料承载和传输方式,即通用无线分组业务[8]。本系统采用华为的GTM900C模块,该模块含有完整TCP/IP协议。由AT命令或嵌入式应用进行访问其TCP/IP协议栈。同时为了确保智能集抄的顺利完成,进行软件设计时必须采取Linux多任务执行方式。

3结束语

基于嵌入式Linux的电网集抄系统数据集中器设计,實现了一个自动电网集抄系统中的核心设备数据集中器的调试运行。根据集抄系统的需求进行体系结构的设计,对该系统的软、硬件方面进行了详尽设计。还遵循规约设计实现了应用层程序。极大地提高了电力行业管理人员或集抄人员工作效率,给供用、售电行业和广大用户带来巨大社会效益和经济效益。

参考文献

[1] 黄英. 基于电力载波通信的集抄控制系统的设计[D]. 株洲:湖南工业大学,2011.

[2]陈京育. 嵌入式智能电表数据集中器的设计与实现[D]. 郑州:郑州大学,2010.

[3] 蒋维. 基于 ARM53C2410嵌入式系统的Bootloader分析与设计[D]. 电子工程师,2008(10):49-52.

[4] 李超,肖建. 嵌入式Linux开发技术与应用[M]. 北京:电子工业出版社,2008.

[5] 吴军,周转运. 嵌入式Linux系统应用基础与开发范例[M]. 北京:人民邮电出版社,2007.

[6] 陈学珍. 交流采样的设计与实现[J]. 微计算机信息(测控自动化),2006, 22(31):97-98.

[7] 贾东耀. 彭树林.网络控制器DM9000A在嵌入式系统中的应用[J]. 电子产品世界,2008(8):94-96.

[8] 白文保,马旭东. 支持多种通信模式的远程抄表系统采集终端设计[J] . 仪器仪表与分析检测,2010( 1) : 6-8.

[9] 咸金龙,羊阳. 基于GTM900的粮情远程测控系统的研究与实现[J]. 河南工业大学学报(自然科学版),2011(5):79-82.

[10]阎浩,叶崧. 远程抄表系统中集中器软件的模块化设计与实现[J]. 现代电子技术, 2011(4):198-200.(上接第153页)

参考文献

[1] 冯兴杰. Hadoop与Spark应用场景研究 [J/OL]. 计算机应用研究,2018,35(9).[2017-10-10].http://www.arocmage.com/article/02-2018-09-065.html.

[2] 李博. 基于Hadoop的超市数据分析系统的设计[J]. 武汉轻工大学学报,2015,34(4)35-39.

[3] 郝增勇. 基于Hadoop用户行为分析系统设计与实现[D]. 北京:北京交通大学,2014.

[4] 李爽. 基于Spark的数据处理分析系统的设计与实现[D]. 北京:北京交通大学,2015.