您的位置 首页 硬件

SSPA电源作业状况长途监测体系规划

固态功率放大器SSPA(SolidStatePowerAmplifier)具有体积小、重量轻、工作电压低、稳定性高等优点,被广泛用于各个领域中,在通信系统中也占据着越来越重要的地位。固态功率放大器需要

固态功率放大器SSPA(Solid State Power Amplifier)具有体积小、重量轻、作业电压低、安稳性高级长处,被广泛用于各个领域中,在通讯体系中也占有着越来越重要的位置。固态功率放大器需求将多路功率器材进行组成,这就需求多路电源进行安稳供电,在作业中需求对每一路电源的作业状况进行监测,首要监测电源的作业电流。对固态功率放大器作业时的电源作业状况进行监测,并经过网络发送至长途主机进行剖析和处理,以保证体系能够正常作业。
1 体系硬件结构
SSPA长途监测体系由电源模块、模仿开关、嵌入式处理器AT91SAM7X256和DM9161网卡等构成。多路电源的作业电流经过电路转换为电压,输入到体系中,体系经过模仿开关的切换完结分时采样,得到137路电源的作业电流数据,并将数据打包,然后DM9161经过网络将数据发送至长途主机,完结了长途收集和监测功用,当收集的作业参数超越设定值时完结报警,保证体系作业正常。监测体系构成如图1所示。

2 体系软件规划
2.1
μC/OS-II体系移植
μC/OS-II是一个优异的嵌入式实时操作体系,运用中首要应完结体系的移植。所谓移植,便是使一个实时内核运转在某个微操控器或微处理器上,并对与处理器相关的代码进行修正。体系移植首要包含以下几个内容:
(1)在OS_CPU.H头文件中完结装备和界说。其间首要包含与编译无关的数据类型的界说;OS_ENTER_CRI-TICAL、OS_EXIT_CRIT%&&&&&%AL、OS_TASK_SW 3个宏的界说,这3个宏界说别离表明进入间断、退出间断和使命切换;还需求完结仓库成长方向的界说[1]。
(2)编写OS_CPU_C.C,其间首要的作业是编写6个C言语的函数。其间OSTaskStkInit()是使命仓库初始化函数,这是进行移植时有必要注重的函数,其他5个函数都是Hook函数,供体系内核扩展。
(3)编写OS_CPU_A.ASM,首要需求编写3个汇编言语函数,别离是高优先级安排妥当使命发动函数OSStartHighRdy()、使命级的切换函数OSCtxSw()和间断下的使命切换函数OSIntCtxSw()[2]。
2.2 uIP网络协议移植
uIP由瑞典计算机科学学院(网络嵌入式体系小组)的Adam Dunkels开发,是一种免费的、可完结的、极小的TCP/IP协议栈。它能够看作是一个代码库,经过一系列函数为体系底层和运用程序之间供给通讯,关于体系自身,它内部的协议是通明的,提高了协议的适用性[3]。
uIP运用前需求进行移植,移植的首要内容便是修正网络驱动部分的内容,包含以下几个过程:
(1)编写EMAC网络接口库,该库文件中首要供给了一系列对ARM操控器中EMAC接口进行操作的函数,操控器对网卡的操作都是经过该接口进行,包含了EMAC模块的初始化作业以及与网卡芯片的通讯函数等。
EMAC_Init(AT91C_ID_EMAC,MacAddress.addr,EMAC_CAF_ENABLE, EMAC_NBC_DISABLE);//初始化EMAC接口
……
(2)编写网卡芯片DM9161的驱动程序,包含了DM9161的芯片初始化以及数据发送和数据接纳操作等。
MACB_Init(pMacb, BOARD_EMAC_PHY_ADDR);
//初始化DM9161
……
(3)完结本体系uIP的装备选项,包含数据存储方法、缓存区巨细、IP地址、MAC地址、默许路由、子网掩码、uIP 1 s时刻所需求的间断数和一些根本数据类型的界说,以及最大衔接数、数据包长度以及运用层协议的支撑等[4]。
(4)编写运用层函数UIP_APPCALL,uIP协议在接纳究竟层数据之后,需求上层函数处理时,会调用函数UIP_APPCALL。本体系中经过运用宏界说#define UIP_
APPCALL sample_appcall将该函数定向到sample_appcall。该函数经过查询当时状况来完结各种处理机制。当长途主机树立一个衔接后,初始化缓存区给当时衔接运用;有新数据抵达时读取数据包,剖析数据包的信息后,回来给长途主机所需求的信息。当衔接轮询次数抵达设定值时,间断当时衔接,当长途主机宣布断开衔接指令或衔接超时后,断开当时衔接[5]。uIP协议栈经过调用该函数完结网络数据的收发。
2.3 体系使命规划
体系的实践使命有发动使命AppStartTask()、AD收集使命AD_sampleTask()、网络主使命Network_MainTask()、网络周期使命Network_PerioTask()及网络数据包接纳使命Network_PollTask(),其优先级从高到低。
AppStartTask()是在开始时发动其他使命以及在体系运转时经过LED” style=”color: rgb(229, 0, 20); text-decoration: none; font-weight: bold; “>LED灯指示体系是否正常作业。AD_sample-
Task()是采样使命,担任各监测点数据的获取和处理作业。Network_PollTask()、Network_MainTask()和Network_PerioTask() 3个使命是网络部分的内容,而且运用一个信号量pNetwork_newdata来完结使命之间的通讯。
数据包接纳使命Network_PollTask()是3个网络使命中优先级最低的一个,担任监听在指定的端口上是否有衔接恳求或数据恳求,当一个新的恳求抵达该监听端口后,该使命将收到的数据包缓存到uip_buf中,设置数据长度变量uip_len,然后该使命会发送一个信号量pNetwork_newdata给网络主使命Network_MainTask()。
网络主使命Network_MainTask()是网络使命中优先级最高的,完结网络数据处理并向运用层分发。平常一向处于挂起的状况,当收到数据包发送使命发送的信号量之后,该使命调用函数uip_process()处理数据包信息,依据不同信息完结数据包的发送,然后持续被挂起。
Network_PerioTask()则是周期性运转的使命,其优先级处于另两个使命之间,用于对衔接的办理,处理衔接超时数据包重发。这3个使命相互协作,完结了网络的通讯[6]。
3 上位机规划
上位机部分是根据VC6.0编写的,首要运用网络套接字和多线程编程技能等完结。上位机运转时,首要读取注册表中保存的设定值,然后对保存的指定IP的指定端口发送衔接恳求,衔接树立后,向下位机发送数据恳求包,而且在主线程之外创立一个接纳线程,接纳线程经过Socket套接字接纳上传的网络数据,主线程中完结各个监测点的数据显现以及报警信息等,并能够发送相应的功用指令给下位机,以抵达一些简略的操控功用。上位机运转界面如图2所示。

本体系完结了μC/OS-II操作体系和uIP网络协议的结合,并运用到电源监测体系中。本体系经调试,软硬
件作业均正常。实践运转成果证明,本监测体系在安稳性和实时性方面都有很好的体现,彻底适用于实践体系的运用。跟着嵌入式技能以及网络技能的开展,未来数据监测体系的开展和运用将会有更大的空间。
参考文献
[1] 邵贝贝.μC/OS-II—源代码揭露的实时嵌入式操作体系 [M].北京:我国电力出版社,2001.
[2] 赵伟国,李文军,梁国伟.实时嵌入式操作体系μC/OS-II 在AT91上的移植[J].我国计量学院学报,2005,16(2):137-139.
[3] DUNKELS A.The uIP 1.0 reference manual[D].Swedish:Swedish Institute of Computer Science,2006.
[4] DUNKELS A.uIP-A free small TCP/IP stack[Z].2004.
[5] 张永涛,黄丹丹,李欧.uIP协议剖析及其运用[J].信息工程大学学报,2006,7(2):147-149.
[6] 刘春风,张代远.?滋C/OS-II下协议栈uIP的移植与运用[J].计算机技能与开展,2012,22(9):143-145.

共享到:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/239971.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部