0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PXA255处理器实现移动天线控制系统的应用方案

电子设计 来源:微计算机信息 作者:杜宝林;毕清波;姚 2021-06-08 15:01 次阅读

作者:杜宝林;毕清波;姚敏立

随着信息社会的到来,人类的生产方式、生活方式以及工作方式也随着现代技术的不断发展而发生变化。无论在民用还是军用方面,都需要一种可以在移动中实时、大容量、不间断地传递语音、数据、动态图像等多媒体信息的卫星天线跟踪系统的出现。因此,机动性能强、抗干扰能力强、保密性强的卫星通信系统理所当然地成为了当前移动通信研究领域的热点与重点。

本文所介绍的基于XScale微处理器的“动中通”移动卫星天线控制系统,能够在各种条件下保证天线高精度地对准目标卫星,准确而快速实现平台天线和卫星之间的实时通信。由于采用了嵌入式控制系统进行开发,该卫星移动天线控制系统体积小,性价比优良,实时性好。

1 系统总体设计

1.1 总体方案

采用“开环稳定+闭环跟踪”的控制方案。总体思想如下:通过GPS接收机得出载体方位信息,使用姿态传感器敏感载体的姿态角,快速初始对准卫星,将惯性角速率陀螺仪作为电机伺服控制的反馈元件,敏感载体运动过程中天线平台在方位和俯仰方向的变化,通过反馈补偿保证载体运动过程中平台的稳定。同时,为克服载体姿态变化快、幅度大,以及陀螺的漂移和电机的特性等诸多复杂因素的影响,满足卫星通信对跟踪精度的要求,在陀螺稳定的基础上还配以电平信号步进跟踪以达到高精度稳定跟踪目标卫星的目的。

采用方位和俯仰两轴控制,虽可以避免三轴控制的复杂性,但是天线俯仰轴相对于水平面的横滚变化却无法消除。该变化对螺旋天线、平板天线影响不大,但是会影响抛物面天线接收信号的强度。这时可以在两轴稳定控制的基础上增加极化轴,用电机寻找最佳极化角度。

1.2 嵌入式系统组成

嵌入式系统设计是本文的重点内容。嵌入式系统是一种将嵌入了软件的计算机硬件作为其最重要的一部分的系统。它是一种专用于某个应用或者产品的基于计算机的系统,既可以是一个独立的系统,也可以是更大系统的一部分[1]。总体而言,一个嵌入式系统有三个主要组成部分:支撑硬件、主应用软件和实时操作系统(RTOS)。实时操作系统和主应用软件集成于计算机硬件系统之中,也就是软件与硬件的一体化。软件和硬件之间由BSP层(板极支持包)连接。嵌入式系统的体系结构如图2所示:

1.3 硬件支持

设计中首先要考虑的是如何使操作系统能更有效的管理资源并支持多任务环境。为了移植Windows CE操作系统与开发相关的程序,我们选用基于Intel XScale PXA255处理器的高端嵌入式解决方案XSBASE255作为实验平台。

该开发板具有我们系统实验所需的大部分硬件配置。同时,硬件设备厂商为客户提供了Windows CE.NET下PXA255的BSP,所以在硬件扩展加以改动时,可以很方便的进行BSP开发,只需对现有的源代码进行修改。

Intel XScale PXA255是32位RISC处理器,支持ARMv5TE指令集,采用7级超流水线,32KB指令缓存和32KB数据缓存,主频为400MHz,具有MMU(Memory Management Unit)。XSBASE255采用两片16MB的Flash Rom提供了32MB的非易失存储,采用两片32MB SDRAM组成64MB作为主内存。引导程序、Image等所有的软件都是存储在Flash中。同时,PXA255提供众多的外设接口为开发提供了极大的扩展性和适应性。

2 系统软件实现

2.1 软件支持

在嵌入式计算机应用中使用实时操作系统,可使控制系统的实时性得到保证,同时良好的多任务规划设计及根据需求对软件进行裁剪,有助于提高系统的稳定性和可靠性。

Microsoft Windows CE是一个开放的、可裁剪的、32位的实时嵌入式窗口操作系统。可以工作在12种不同的处理器体系结构、180余种CPU上;紧凑、高效和可扩展的特性,使它适用于各种嵌入式系统和产品。拥有多线程、多任务、确定性的实时、完全抢占式优先级的操作系统环境,专门面向只有有限资源的硬件系统[2]。同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它。

Windows CE内核是Windows CE操作系统的核心。系统运行时,Windows CE的内核表现为NK.EXE进程。NK.EXE是所有基于Windows CE的系统中都存在的核心进程,它实现了Win32 API核心进程创建加载、线程调度、中断处理和内存管理等核心功能[3]。

当Windows CE加载一个应用程序时,它就产生了一个进程。多个进程使用户可以同时工作于多个应用程序,而多个线程可以使一个应用程序同时完成多个任务。在任务调度过程,内核维护一个当前操作系统所有线程的优先级列表。每个进程可能包含多个线程,而每一个线程都是一个可执行单元。调度系统控制这些执行单元的执行顺序,并允许他们相互之间以可预测的方式交换数据[4]。当中断发生时,调度系统重新排列所有线程的优先级。

下面是一些与调度有关的主要函数介绍[5]:

1、MakeRunIfNeeded(HANDLE hth)函数:主要功能是在需要时调度线程;

2、MakeRun(PTHREAD pth)函数:如果当前没有可运行的线程,或者指定的线程pth是优先级最高的线程,那么把pth插入到可运行队列的最前面,并判断是否需要重新修改调度策略;

3、RunqDequeue(PTHREAD pth,DWORD cprio)函数:从运行队列中删除一个线程;

4、SleepqDequeue(PTHREAD pth)函数:把一个线程从睡眠队列中删除;

5、ThreadSleep(DWORD time)函数:让线程睡眠一段时间。

2.2 任务划分

天线控制系统功能复杂、任务繁多,且各个任务之间需要进行信息交流,彼此联系,互为因果。利用多任务机制对各个功能进行管理调度,保证了系统的实时性和可靠性。

对本系统而言,任务划分实际上就是对天线控制系统的工作流程做一个分解,使其每一动作都对应在一个任务中实现,由动作的执行顺序确定多任务中每一任务的优先级。系统进入开机状态后,通过选择输入卫星参数(卫星参数信息固化在程序中),系统开始初始化。通过串口提取GPS提供的有用信息,通过姿态解算计算出天线的初始对星角度,并在基准确定的基础上进行角度修正,通过嵌入式控制系统驱动完成初始对星。在对星状态完成之后,开始进行电平搜索,得到准确的天线指向并锁定该位置,之后系统进入自动跟踪状态,同时陀螺进入闭环工作状态。

2.3 Windows CE移植

引导加载程序(Boot Loader)是在操作系统内核运行之前运行的一段小程序。虽然在Boot Loader中并不严格规定如何获得操作系统映像,但绝大多数Boot Loader都会从开发机下载映像到目标机,然后把映像放到内存里执行。在所有下载映像的Boot Loader中,通过以太网进行下载的Boot Loader占绝大多数,称为Etherent Boot Loader,简称EBoot。在本系统中,EBoot主要有以下功能:

1、初始化目标硬件设备,包括初始化内存、中断控制器时钟和MMU等;

2、控制启动过程,提供简单的菜单与用户交互,让用户选择启动过程;

3、下载并执行操作系统映像。

总体而言,EBoot的唯一目标就是加载并执行操作系统映像。因此,Boot Loader必须在OS被下载前就先安装在目标机上,并与Platform. Builder交互。

在ARM/ XScale系统中,我们使用JTAG将Boot Loader程序烧写到Flash存储器中,待系统加电或重置时自动执行。

2.4 软件开发与调试

基于Windows CE设备的开发过程是由不断修改、增加配置特征、构建、下载、调试等组成的一个递归开发过程。每当在Platform. Builder中添加或修改一个特征时,都必须重新构建操作系统映像,并将它下载到目标设备硬件上进行执行和调试。一旦完成操作系统配置,我们就可以利用Platform. Builder提供的导出SDK工具,为应用程序开发者导出一个定制的SDK,应用程序将导出的 SDK安装到eMbedded Visual C++ 4.0后,就可以为特定的硬件平台开发应用程序,并在特定硬件上进行调试和测试了。

在天线控制系统工作原理的基础上,采用多线程、分时共享技术,根据任务规划流程建立多任务和用户应用程序,具体划分如下模块:用户界面线程、信号采集线程、数据处理线程、初始对准线程、动态跟踪线程、状态判断线程、卫星搜索线程、稳定控制线程。相关算法集合在各个任务之中。

软件移植主要包括Windows CE操作系统内核代码定制、裁剪,实现其核心代码在XScale处理器上的移植,针对系统实际需求对Windows CE进行操作系统本身的功能扩展,并移植到硬件平台,实现天线的每一步具体动作。主要实现“陀螺闭环稳定+程序跟踪+步进跟踪”控制跟踪方案的算法实现与优化,并把用C++语言实现的控制程序移植到XScale处理器上,最后基于Windows CE建立完整实用的RTOS对天线控制系统进行控制。

3 结束语

基于Intel XScale PXA255处理器作为硬件设计、移植Windows CE操作系统并在天线控制系统整体方案的基础上,开发了天线控制系统的多任务软件系统。整个系统的模块化设计,为日后的扩展、移植和维护工作提供了方便。同时表明,应用嵌入式实时操作系统Windows CE开发天线控制系统软件能够有效地降低软件设计的复杂度,显著提高软件的可靠性和运行效率。该设计方案在实际中有很好的应用前景。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18219

    浏览量

    221938
  • 控制系统
    +关注

    关注

    41

    文章

    5950

    浏览量

    108589
  • 卫星
    +关注

    关注

    17

    文章

    1611

    浏览量

    65819
收藏 人收藏

    评论

    相关推荐

    实现PXA255处理器与CF卡的接口设计

    和高性价比等优点,十分适合嵌入式系统的应用。因此,可选择CF卡作为地理信息数据的存储载体。PXA255处理器提供了PCMCIA/CF卡控制器,可以方便地
    发表于 04-08 09:36

    如何在Intel XScale PXA255上构建嵌入式Linux应用平台

    的多媒体手提设备和无线设备越来越受到市场的欢迎,Intel XScale PXA255处理器正是针对这一情况推出的。它采用Intel XScale微结构体系框架,采用ARMV5TE的7级超流水线,可以
    发表于 07-17 08:11

    如何利用PXA255处理器的Sitsang开发平台实现红外模块的设计?

    本文将详细讲解基于Inte1的PXA255处理器的Sitsang开发平台红外模块的设计,其中包括Linux下的IrDA驱动程序的开发和基于MC68HC908AP64红外发射的软硬件设计两个部分。
    发表于 04-27 06:03

    PXA255在CCD图像采集中的应用

    介绍了Intel 公司的PXA255 处理器的特点及内部结构,并讨论了在移动测试领域的具体应用,介绍了基于PXA255 的CCD 图像的采集,压缩编码和传输的理论分析和可行性分析;并把
    发表于 07-10 15:09 21次下载

    基于XScale 处理器天线控制系统的设计

    介绍一种基于Intel XScale PXA255 处理器天线控制系统及其设计与实现,介绍了该系统
    发表于 08-14 09:30 16次下载

    Intel Xscale PXA255 USB主控制器的实现

    本文介绍了Intel Xscale PXA255 嵌入式处理器与USB 主控制器ISP1160 的硬件接口设计及软件设计,给出了一种嵌入式系统中USB 主机
    发表于 08-31 16:42 22次下载

    应用处理器PXA255上的嵌入式Linux系统开发

    介绍了Intel公司新近推出的一种嵌入式应用处理器——Plx舵55,研究了PXA255的开发平台DBPXA255,着重阐述了如何在基于嵌入式应用处理器
    发表于 11-06 15:10 9次下载

    基于PXA255的GPRS图像传输系统设计

    提出了一种基于Intel PXA255 嵌入式微处理器和MC55 无线通讯模块的图像采集、压缩与传输的设计方案。在PXA255 的平台上,通过选择适合的芯片、无线传输模块并利用MPEG
    发表于 12-29 23:55 51次下载

    基于PXA255的嵌入式智能减振系统设计

    以一悬臂梁为例,介绍了一个基于Intel PXA255处理器的嵌入式智能减振系统的硬件与软件的设计与实现,Windows CE操作系统的移植
    发表于 07-27 15:11 25次下载

    PXA255上的嵌入式Linux应用平台

    PXA255上的嵌入式Linux应用平台 PXA255是Intel继PXA250后的第二代XScale处理器,也是一款高档的Intel个人互联网架构(PCA)网络
    发表于 06-25 08:15 970次阅读

    Intel Xscale PXA255嵌入式处理器与CF卡的

    Intel Xscale PXA255嵌入式处理器与CF卡的硬件接口设计 以导航设备存储系统应用为例,本文讨论了Intel Xscale PXA255嵌入式
    发表于 09-26 17:39 813次阅读
    Intel Xscale <b class='flag-5'>PXA255</b>嵌入式<b class='flag-5'>处理器</b>与CF卡的

    PXA255处理器与CF卡的接口设计

    以导航设备存储系统应用为例,本文讨论了Intel Xscale PXA255 嵌入式处理器与 CF卡 的硬件接口设计,并以读写CF卡扇区的程序为例,给出了CF卡软件编写的技巧。该设计为基于PX
    发表于 06-01 15:27 29次下载
    <b class='flag-5'>PXA255</b><b class='flag-5'>处理器</b>与CF卡的接口设计

    基于PXA255的自动聚焦及图像采集模块设计

    本文介绍了一种基于Intel公司 PXA255嵌入式处理器的自动聚焦图像采集系统
    发表于 09-26 12:02 1702次阅读
    基于<b class='flag-5'>PXA255</b>的自动聚焦及图像采集模块设计

    PXA255处理器在WinCE系统下的BootLoader的设计与实现

    PXA255处理器在WinCE系统下的BootLoader的设计与实现
    发表于 10-25 10:04 4次下载
    <b class='flag-5'>PXA255</b><b class='flag-5'>处理器</b>在WinCE<b class='flag-5'>系统</b>下的BootLoader的设计与<b class='flag-5'>实现</b>

    探究PXA255的VoIP语音传输系统

    摘要:文章研究IP语音传输系统的总体架构,实现了一个基于PXA255处理器的嵌入式IP电话终端硬件平台,为该平台建立
    的头像 发表于 04-23 15:23 1851次阅读
    探究<b class='flag-5'>PXA255</b>的VoIP语音传输<b class='flag-5'>系统</b>