历史上的今天
今天是:2025年02月26日(星期三)
2018年02月26日 | 基于GPRS通信和uC/OS-ii的网络电能表设计
2018-02-26 来源:eefocus
随着技术的发展, 抄表方式也从现场人工抄表到远程自动抄表转变, 目前用于抄表的技术有多种, 如RS 485 总线 、红外和电力线载波等, 这些抄表技术相对比较成熟, 但应用却各有其局限性, 如RS 485 总线抄表需要布线而增加投资, 且传输距离不能超过1 200 m,红外抄表需要人工现场抄表, 电力载波抄表由于电磁干扰等的影响传输距离受限。GPRS 通信技术成熟, 网络覆盖广, 可以永久在线, 按 流量计 费, 费用低廉, 且不受距离和空间的限制, 使得在抄表行业的应用非常适合。
1 GPRS 网络电能表
GPRS 网络电能表就是GPRS 通信技术和 电表 技术的结合体, 他将三相多功能电能表和GPRS 通信模块相结合, 形成具有无线网络通信能力的 电能计量 装置。GPRS 网络电能表由基表和GPRS 无线通信模块 两部分组成。
1. 1 基表
基表可实现普通三相多功能电能表的基本功能, 在未接入GPRS 通信模块的情况下, 不影响其作为普通多功能电能表的使用。它对交流模拟量进行实时采样、处理和存储, 实现电能计量、需量测量、复费率、负荷曲线计算和存储、数据冻结、事件记录、复费率等, 可实现用户预购电控制、负荷控制、远程控制等功能。具备RS 485通信接口、红外通信接口、GPRS 通信模块接口,以实现数据的抄读和设置; 基表还具有本地液晶显示,可支持本地巡显和键显功能。
1. 2 GPRS 通信模块
GPRS 通信模块是GPRS 网络电能表的数据上传的关键节点, 作为网络电能表的一个独立模块, 在不影响基表计量的情况下, 满足用户抄表系统的技术要求和传输规约, 实现数据的可靠传输。GPRS 通信模块与基表的下行通信满足DT / L645 多功能电能表通信协议,与主站的上行通信满足《电力用户用电信息采集系统通信协议》( Q / GDW 376. 1-2009) 标准。
在此着重描述GPRS 通信模块的软硬件设计。
2 GPRS 通信模块硬件结构
2. 1 系统框图
GPRS 无线通信模块的系统框图如图1 所示。系统包括: ARM 微处理器( LPC2138 ) 、GPRS 模块、 FLASH 和铁电 存储器 、红外收发、RS 232 串行调试接口、RS 485 通信接口、JT AG 仿真接口、 LED 指示及 电源 转换等。

图1 GPRS 网络电能表系统框图
2. 2 模块功能
2. 2. 1 微处理器
采用基于ARM7TDMI??S 内核的32 位微处理器LPC2138, 其内嵌了512 KB 的高速 FLASH 存储器和32 KB 的RAM, 具有丰富的外设资源, 如: 2 个32 位 定时器 ( 带捕获、比较通道) ; 2 个10 位8 路ADC; 1 个10 位DA C; PWM 通道; 47 路GPIO; 9 个边沿或电平触发的外部中断; 具有独立电源和时钟的RTC; 多个串行接口( UART, I2 C, SPI, SSP) ; 内含向量中断控制器, 可配置中断优先级和向量地址; 片内Boot 装载程序, 可以实现在系统/ 在应用编程( ISP/ IAP) , 通过片内 PLL 可实现60 MH z 的CPU 操作频率, 具有空闲和掉电2 种低功耗模式, 并且可通过外部中断唤醒。
2. 2. 2 GPRS 模块
采用深圳有方科技出品的 M580 z 模块, 其内部集成了T CP/ IP 协议栈, 具有两个通信链路, 一路标准TT L 串行通信端口, 精简的AT 指令集, 通过AT 命令可实现模块的参数设置和数据发送。M580 与CPU 通过一个TT L 电平的串行口连接。
2. 2. 3 存储器
由于与主站的上行通信应满足 电力用户用电信息采集系统通信协议!, 需要存储规约要求的一类数据( 实时数据) 、二类数据( 曲线数据、统计数据) 和三类数据( 事件) , 特别是曲线数据要求存储的数据量大, 因此采用大容量的FLA SH 存储器来存储二类和三类数据。
由于铁电存储器可无限制的擦写, 所以用来存储需要经常更新的实时数据和设置参数。存储器与MPU 的接口为SPI 接口。
2. 2. 4 串行接口和JTAG 仿真端口
利用RS 232 串行口、红外通信口可实现模块参数的本地设置和维护。其中, RS 232 串口 可实现对GPRS 模块状态的监测, 通过RS 485 串行口可抄读满足 电力用户用电信息采集系统通信协议!的数据; JTAG 仿真端口可对ARM 处理器进行仿真和程序烧写。
2. 2. 5 LED 指示
LED 指示灯 用来指示模块的电源状态、模块登陆状态、网络通信状态及保电状态等。
2. 2. 6 三相电能表
三相电能表实现电能量及电压电流等数据的采集与计算。它与MPU 通过一个串行口连接, 通信规约满足DT / L645 协议, 模块定时抄读三相表数据, 包括电量、需量、电压、电流等实时数据, 并将抄读到的数据进行转换和存储, 以满足主站对模块的访问要求。
3 软件设计
3. 1 总体架构
软件设计基于uC/ OS-ii嵌入式操作系统的多任务设计, 整体架构如图2 所示。

图2总体架构框图
系统软件包括: 主任务、上行任务、下行任务、模拟串口任务、事件处理任务和控制处理任务。
3. 1. 1 主任务
实现全局变量初始化, 硬件环境初始化, 信号量和消息队列的建立、其他任务的创建和启动、键盘扫描、系统时间和定时处理、复位处理等功能。
3. 1. 2 上行任务
上行任务实现GPRS 通信链路的建立、维护及与主站的数据交换, 包括链路维护、数据收发、协议解析等功能。
3. 1. 3 下行任务
实现对基表数据定时抄读、数据处理、数据存储、数据的转发等功能。
3. 1. 4 模拟串口管理任务
由于系统必须实现上行通信端口、下行通信端口、RS 485 通信端口、RS 232 通信端口和红外通信端口5 个串行通信口, 而LPC2138 内部只有两个串行口, 所以必须对串口进行扩展。在此, 用软件来模拟串口通信, 以实现串口扩展。建立一个模拟串口管理任务, 专门管理下行抄表模拟串口、红外通信模拟串口和调试模拟串口。
3. 1. 5 事件处理任务
事件处理任务处理系统发生的各类事件, 包括事件记录、事件上报等。
3. 1. 6 控制任务
控制任务执行一些控制操作, 包括预购电控制、保电控制、告警控制等。
3. 1. 7 任务间的通信
任务与任务之间数据传递通过消息发送和接收来实现, 消息结构为:

消息传递函数定义为:

3. 2 软件模块实现流程
软件采用模块化设计, 每个任务包含不同的功能模块, 由于系统包含模块较多, 在此只给出主任务模块流程图及上行任务中的GPRS 链路维护模块流程图。
3. 2. 1 主任务流程
主任务程序流程如图3 所示。

图3 主程序流程图
3. 2. 2 GPRS 链路维护流程
上行任务中的链路维护模块包括: GPRS 网络登陆、链路状态检测以及心跳维护等。其中, GPRS 网络登陆程序流程如图4 所示。在GPRS 通信链路建立后,如果长时间无数据传输, 则GPRS 网络连接将被断开,所以必须在一定时间间隔内发一个心跳帧至主站, 确认主站应答后说明链路状态正常。不同品牌GPRS 模块的AT 指令集不同, 因此在编程前须熟悉相关GPRS 模块的指令集, 以实现链路的建立和维护。

图4 GPRS 链路维护流程图
4 结 语
介绍了GPRS 网络电能表的功能和GPRS 无线通信模块的软硬件设计, 它是对GPRS 网络电能表开发项目的总结。系统软件移植了??C/ OS??嵌入式操作系统, 采用多任务设计, 提高了系统的实时性, 对实现远程无线抄表具有积极意义, 设计的产品已在国家电网公司成功应用, 且运行稳定, 应用效果良好。
史海拾趣
|
看了我们历年来的部分招聘试题,大家一定会觉得太容易了,但大多数学生还是做不出来,包括研究生在内,比例达到98%以上,所以我不得不投入到创新教育实践活动之中去。我们每次出题之前都要翻看各种版本的教材与实验指导书,如果只有一本书上有类似 ...… 查看全部问答> |
|
安防监控系统是一门被人们日益重视的新兴专业,就目前发展看,应用普及越来越广,科技含量越来越高。几乎所有高新科技都可促进其发展,尤其是信息时代的来临,更为该专业发展提供契机。但就监控业界而言,系统组成一直没得到明确的划分,这使工程商 ...… 查看全部问答> |
|
1,最近调试pxa270开发板,发现很奇怪的现象,采用的是pxa270主芯片,2片16bits norflash,组成32bits的总线与pxa270相连,共32MB,,intel strata flash,TE28F128J3A-150,内存是两片美光的16M16,组成64MB SDRAM. 现在我采用简易的Jtag下载线,只能 ...… 查看全部问答> |
|
为什么TIM_ARRPreloadConfig在我的程序中没有作用 他到底有什么作用? 我用TIM2定时一秒,可是 不管我将TIM_ARRPreloadConfig设置为DISABLE 还是ENABLE,结果都不变。我都不明白TIM_ARRPreloadConfig有什么作用了; 另外,TIM_TimeBaseStructure.TIM_Prescaler=0还是9我都试过,定时还是一秒;不知道为什 ...… 查看全部问答> |
|
事情是这样子的:昨天有个工程师(一直都是在做山寨产品)来我们电子系开讲座,大概介绍了电子行业的一些规则,当我问到你们公司会不会用FPGA来开发产品,他这样跟我说:现在FPGA用得很少,只有IC方面的才用到,我做了十年的工程师都没用到, ...… 查看全部问答> |
|
下面就由福州卓跃教育为您具体介绍单片机编程经验之用“软件陷阱+程序口令”对付PC指针的弹飞。 当CPU受到外界干扰,有时PC指针会飞到另一段程序中,或跳到空白段去。其实,如果PC指针飞到空白段去,倒也好处理。 ...… 查看全部问答> |




