μC/OS-II在数字微波监控系统中的应用
随着嵌入式系统开发的普及和深入,在更加复杂的应用中传统软件开发手段难以满足需求,嵌入式操作系统在开发中扮演着越来越重要的角色,已经被广泛应用于手机、移动计算机设备、网络设备和工控仿真等领域。嵌入式操作系统μC/OS-II源码是公开的,而且它是可移植、可固化、可裁减及可剥夺型的多任务实时内核,可用于各类8位、16位和32位单片机和DSP,目前得到广泛应用。本文给出一种数字微波设备监控系统的设计,该系统引入μC/OS-II之后,系统的开发效率得到提高,整个系统的健壮性得到增强,文中对软件设计应用中遇到的关键问题作了深入讨论并给出了相应的解决方案。
1 数字微波设备监控系统的设计
微波通信是一种利用微波传输信息的通信手段,数字微波采用数字信号处理技术,利用微波信道传输数字信号,以下给出一种数字微波通信系统中监控系统的设计[1]。由两个端站组成一条微波链路,每个端站含一个室内单元IDU(In-Door Unit)、一个室外单元ODU(Out-Door Unit)、连接室内单元和室外单元的同轴电缆、以及微波天线。本文主要讨论IDU监控部分CPU相关内容的软硬件设计。
1.1 微波监控IDU部分硬件设计
IDU组成框图如图1所示,主要由业务接口、辅助业务、复分接、微波帧分复接、中频调制解调、中频分合路器、电源、CPU及相关接口组成。
主业务数据通过业务接口电路复接后,与公务、辅助数据信号等一起进入微波帧复接模块,复接成微波帧信号,由调制模块完成调制,通过中频分合路器送往ODU。从ODU送来的中频信号经过中频分合路器送往解调模块解调出数据,送到微波帧分接电路,分接出主业务、公务以及辅助数据信息,通过主业务接口电路分接出各支路主业务数据。CPU对所传输的业务数据进行监视和控制,监视所传数据的状态、性能等信息,可设置所传数据的各种参数,通过辅助业务接口可提取和插入各种控制信息。
CPU采用PHILIPS公司的32位ARM芯片lpc2214[2],该芯片接口丰富,硬件设计时CPU相关接口完成功能如下:输入接口提供按键设置扫描电路,输出接口通过液晶、告警灯及蜂鸣器输出信息,通过I2C接口CPU可实现对串行E2PROM、时钟芯片的存取,CPU本身提供SPI接口,通过该接口实现本端与远端控制信息的交换。串行接口提供一种监控手段,可实现CPU与PC机的通信,完成状态读取和各种命令的设置,以太网接口通过扩展以太网接口芯片实现,通过以太网接口建立与网管中心的通信,可实现网络化的管理。OOK(On/Off—Keying)调制解调电路完成IDU与ODU之间的通信,通过该电路,IDU可对ODU进行设置发功率、收发频率、监视ODU的工作状态等。
1.2 软件结构
软件总体分为应用程序和μC/OS-II两部分,应用程序是用户代码部分,采用C语言编写,完成对整个系统的监控;μC/OS-II为一种嵌入式多任务实时操作系统,其大部分程序使用C语言编写,还有一小部分和处理器密切相关的代码使用汇编语言编写,μC/OS-II包括了三部分,即μC/OS-II核心代码、配置代码和移植代码[3]。
其中,核心代码:包括10个C程序文件和一个头文件,主要实现了系统调度、任务管理、内存管理、信号量、消息邮箱和消息队列等系统功能,而这些功能的实现与处理器类型无关。
配置代码:包括2个头文件,用于裁剪和配置μC/OS-II,这部分代码根据用户的实际需求来配置μC/OS-II系统。
移植代码:这部分主要包括1个汇编文件、1个C程序文件和一个头文件,这部分根据具体的处理器移植μC/OS-II系统的需要修改,它和处理器关系密切。
2 μC/OS-II在微波监控系统中的应用
2.1 应用程序中任务的设计与划分
根据实际的需要,应用软件划分为7个任务:液晶显示、按键接收和告警、时间标志处理、远端信息处理、数据处理、串口任务处理,如图2所示。
图2 应用程序中任务的划分
(1) Task_LCD_OP:主要是处理菜单的显示,根据不同的菜单显示设备的相关信息,并且完成将设置数据保存到公共变量中。
(2) Task_KEY:主要完成外部按键信号的扫描,按照不同的按键转换为不同的编码,并把其值保存到公共变量中。
(3) Task_TIME_FLG:实现设置时间标志,以使其它任务完成定时任务,因为有许多的定时任务,所以设立了一个单独的任务来设置或取消时间标志。
(4) Task_SPI_OP:通过SPI接口完成远端信息交换处理以及数据链路各接口环回等设置。
(5) Task_DATA_OP:主要完成网络数据管理、AD转换、公务的控制,控制微波接口、时钟芯片的设置和读取,完成误码率的计算以及对串行E2PEOM存储芯片数据的存取。
(6) Task_COMM1: