当前位置: 时代头条 > 正文

基于S3C2410的工频通信系统子站设计

摘要:应用以ARM9为核心的处理器S3C2410设计了一种用于三相工频电参数远程抄送和采集系统。实现三相电量和三相交流参数(电压、电流、功率因数)进行采集和远程抄收功能。系统硬件电路设计采用S3C2410的接口电路,实现了工频通信的基本功能,并将子站设计为接收单元与调制单元分离的结构,二者通过CAN总线作为数据传输通道,提高了子站的安装适应性。用以太网控制器RTL8019AS设计了网络接口电路,实现了子站与后台间的网络通信。通过移植实时嵌入式操作系统μC/OS-II对所有任务进行调度管理,同时在系统中使用了TCP/IP协议建立网络连接,并采用UDP协议实现了网络数据的传输。

0引言

在电力部门的日常生产中,电能计量、供电量考核、电费核算的及时性和准确性已成为供电企业的重要课题,而目前我国电能数据的采集基本上为手工抄表,需要抄表人员每月或每两个月对每个台区变压器抄表一次,再通过微机或手工制作的报表输出,存在错抄、漏抄、估抄等问题。此外配电台区的负荷、有功功率、无功功率、功率因数、电压、电流等交流参数信息也无法通过有效途径得以实时监控。工频通信技术的出现,使电力部门实现真正意义上的配电台区的自动化管理成为可能,但工频通信系统还存在诸如调制变压器选择受到调制电缆长度限制致使系统的安装性不好、系统工作效率有待提高、采集处理的用电信息内容有待扩充、用电信息传输精度需要进一步提高等问题。采用基于ARM9内核的处理器所具有的优良性能实现工频通信技术[12],能提高系统的工作效率,并研制结构更合理、功能更完善的子站设备,可以满足现场实际应用的要求。

1系统硬件电路组成及实现

1.1系统硬件结构设计

基于S3C2410的工频通信系统子站设计

本设计使用如图1所示的电力线工频通信系统结构,图中子站部分为本文的主要研究内容,具体包括:(1)CAN总线 ;(2)以太网络接口。

子站接收单元需要完成对以太网数据的及时收发、CAN总线的通信控制、A/D采集、数据解码等工作,对处理器的性能要求较高,在本设计中选择由Samsung公司生产的基于ARM920T内核的微处理器S3C2410[34],以该处理器为核心的接收单元硬件结构见图2。本设计中重点设计CAN总线接口、多支路输入切换控制、RAM、A/D采集电路接口、B相电流信号合成电路、以太网接口电路。

子站调制单元通过CAN总线接收采集单元发送的控图1电力线工频通信系统示意图

基于S3C2410的工频通信系统子站设计

制命令并调制下行信号,调制完成后,通过CAN总线将工作状态传递回采集单元,使用普通的8051单片机就能满足实际需要,因此选择ATMEL公司生产的AT89C52单片机作为调制单元的控制器,子站调制单元的硬件结构见图3。

基于S3C2410的工频通信系统子站设计

1.2S3C2410的CAN总线接口设计

基于S3C2410的工频通信系统子站设计

图4为S3C2410 CAN总线接口电路,从图中可以看出电路主要由四部分构成:微处理器S3C2410、CAN总线收发器82C250[56]、高速光电耦合器6N137和电源隔离模块。微处理器S3C2410负责内部CAN控制器的初始化并实现数据的接收和发送等通信任务。

2软件设计与实现

2.1嵌入式TCP/IP协议栈的实现

要完成网络通信数据的正常处理,需要使用网络通信协议,在本系统中使用了嵌入式TCP/IP协议。TCP/IP协议相当复杂,而且系统资源有限,没有必要全部实现,根据系统的使用要求,主要实现网络接口驱动、数据链路层ARP协议、网络层ICMP和IP协议、传输层UDP协议[7],嵌入式TCP/IP的数据流见图5。

基于S3C2410的工频通信系统子站设计

(1) ARP代码的第一部分把IP地址映射到物理地址上,即给定一个目的节点的IP地址,用软件查询ARP缓存是否有该IP的物理地址映射。该功能通过子程序void Arp_Request(uint8 *ip_address,uint8 num)来实现,其中ip_address即为要解析的IP地址,使用该子程序处理后,即可以获得该IP的物理地址[8]。

(2) 网际协议(IP)是一个网络层协议,它是TCP/IP协议栈中最为核心的协议。IP协议中定义了数据包,称为IP数据报文,它是Internet上数据通信的基本单位。

(3) ICMP协议同样位于网络层,主要负责接收、解释、发送ICMP报文。ICMP报文主要有两种功能:报告出错信息、传送控制信息。在本系统中选择实现ICMP协议,主要是为了响应对方主机使用Ping命令发出的回应请求。通过Ping命令和响应可以判断网络的连接是否可靠[9]。

2.2以太网硬件接口驱动的实现

RTL8019AS的驱动程序主要包括芯片初始化、发送数据包、接收数据包三部分,实现以太网络通信的物理层驱动。

初始化程序主要完成以下功能:芯片复位、设置芯片的物理地址、设置接收缓冲区的起始地址和大小、设置发送缓冲区的起始地址和大小。

RTL8019AS数据发送流程如图6。

在接收数据时,需要判断中断状态寄存器ISR的Bit4(OVW),以查询在RTL8019接收缓冲区里是否有新接收的数据包。当OVW=1时有新数据包,这时该数据包存于以CURR寄存器值为首址的RAM中。此时启动远程DMA读操作(通过写CR寄存器值为0x0A实现),然后读取接收缓冲区中的数据,当CURR=BNRY时,接收缓冲区图4S3C2410 CAN总线接口电路

中的数据读取完毕[10]。

2.3系统功能的多任务实现

在实现系统功能时,共建立了三个任务:操作系统启动运行的第一个任务(Task0)、Ping命令响应处理任务(TaskB)、工频通信处理任务(TaskD)。操作系统的主函数流程如图7所示。

基于S3C2410的工频通信系统子站设计

工频通信系统子站的改进采用基于ARM9内核的S3C2410处理器和μC/OSII操作系统,设计了系统功能应用程序,实现子站功能。根据实际使用要求,设计子站为接收单元与调制单元分离的结构,两单元间使用CAN总线作为控制/数据线,设计了RTL8019AS网络控制芯片与S3C2410的接口电路,并根据使用需要嵌入相关的TCP/IP协议,使子站具备网络通信的能力。

参考文献

[1] 高红玉, 徐建城, 曾成奇. 基于ARM的CAN总线智能节点的设计[J]. 电子技术应用, 2005,31(4):2426.

[2] 胡友水, 李汉强. 基于ARM的嵌入式TCP/IP协议的实现[J]. 电子技术应用, 2003,29(12):2527.

[3] 段海龙, 彭辉俊, 程健. 基于ARM的嵌入式以太网通信的实现[J]. 机械与电子, 2006(2):911.

[4] 朱伟华,索大翔,谭微. 4G技术应用于电能质量监测的分析研究[J].电测与仪表,2015(52)6:4447.

[5] 吴广霖, 白瑞林. 基于μC/OSII的μC/IP协议栈在ARM系统中的实现[J]. 计算机工程与应用, 2005(18):99102.

[6] 杨华, 陈明义, 胡晖, 等. 基于嵌入式的CAN总线智能数据采集器开发[J]. 湖南大学学报(自然科学版), 2005, 32(6):110112.

[7] 张静, 张凯. 实时操作系统μC/OSII在ARM7上移植的研究与实现[J]. 计算机工程与应用, 2004(4):100102.

[8] 贾衡天,管康,范锦辉,等.随钻井下32位信号采集系统设计[J].微型机与应用,2014,33(13):1619,24.

[9] 李文进, 韩晓萍. ARM平台在嵌入式远程数据采集系统中的设计与实现[J]. 继电器, 2006, 34(5):6467.

[10] 王浩宇,王珏.一种节能型电子站牌硬件系统的设计[J].微型机与应用,2014,33(9):2829,32.

最新文章