当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于Linux多任务操作系统扫频仪的研究

1 引言

扫频仪是适用于测量系统频率响应的仪器。系统的频率响应包含幅频响应和相频响应2个方面。目前,在扫频仪的实现中,硬件平台一般基于8位或16位单片机,软件实现大多采用单流程循环控制方式,这种方法存在以下缺点:

(1)除中断服务程序以外,各程序模块没有优先级的区别,被主循环简单地轮转调用,实时性差,响应时间无法预料;

(2)运算能力较差,难以完成较复杂的控制算法;

(3)硬件平台依赖性强,不利于应用软件的开发、升级与移植;

(4)针对较复杂的控制系统,在缺乏有力的多任务调度机制的情况下,应用软件不仅实现难度大,且可靠性难以保证;

(5)分布式多任务处理能力差,网络化、智能化支持难以适应长远发展需要。

嵌入式Linux可以很好地解决上述问题。Linux不仅源代码免费开放和拥有世界范围内广泛的技术支持,而且具备多硬件平台支持;核心代码效率高、代码量小;系统稳定性和可靠性高;系统可根据特定需求进行定制与组态,且易于升级等特点,是真正的多用户、多任务操作系统

本文在系统分析扫频仪硬件结构基础上,根据Linux的多任务并行处理的特点,进行扫频仪的软件设计。

2 系统硬件组成

系统的硬件设计方案,如图1所示。

(1)DDS信号源以高集成度频率合成器AD9854为核心,S3C2410X通过向AD9854发送频率控制字使其产生多种正弦波,然后经过7阶低通滤波、信号放大、幅度控制、输出低杂散高稳定度的正弦波。

(2)由于扫频仪按键较多,不能按照传统的设计方式设计键盘电路,本文以ZLG7290芯片为基础,键盘通过I2C总线连接CPU,这样节省CPU的接口资源。

(3)信号检测调理电路主要用来对参考信号和被测信号进行放大和幅度相位检测,然后通过低通滤波送A/D转换。

3 系统软件设计

Linux具有内核小、效率高、源代码开放、内核直接提供网络支持等优点。但嵌入式系统的硬件资源毕竟有限,因此不能直接把Linux作为操作系统,需要针对具体的应用通过配置内核和嵌入式C库对系统进行定制,使整个系统能够存放在容量较小的FLASH中。Linux的动态模块加载,使Linux的裁减极为方便,高度模块化的部件使得添加和删除变得非常容易。基于Linux的上述优点,本文实现平台使用的操作系统是对Linux进行定制的arm-linux

3.1 软件总体设计

扫频仪的软件设计主要分为2部分:硬件驱动程序;多任务应用程序。扫频仪系统软件结构图如图2所示,其中最内层为操作系统层,中间层为应用层,最外层为硬件驱动层。当操作系统启动后,首先加载硬件驱动层接口程序,然后系统内核按照应用层的各个任务优先级及其就绪状态在任务间切换运行。

3.2 系统多任务设计

在将一个软件系统划分为并行任务时,首先要分析数据流图中数据的变换,确定哪些变化可以并行,哪些变换本质上必须顺序执行。一个变换可以成为一个任务,或者几个变换组成一个任务。决定系统中任务划分的最主要因素是系统中所实现功能间的异步关系,即任务与任务间是如何相互触发和协调的,这可以通过任务间的通信来解决。按照并发性以及任务之间同步等特点和要求,对扫频仪系统进行任务划分,如图3所示。

系统监测与保护任务保证系统安全可靠,出现故障可以被自检出来,同时能诊断出扫频仪发生故障的部位。

数据采集任务由于扫频仪需要不断从A/D芯片读取采集到的幅度和相位信号数据,否则会被后来的数据覆盖,从而造成掉点,因此开辟一个数据采集进程专门处理读取数据。数据采集进程利用互斥锁保护输入缓冲区,避免竞争;利用消息驱动数据处理模块和显示模块进行相应操作。

数据处理任务首先通过数字滤波技术,滤出干扰源;然后进行计算处理,判断扫描频率点数是否到达要求,决定扫频是否结束,将数据转换成图形显示格式;最后送显示模块显示。由于数据处理模块计算量较大,因此也为其开辟一个单独的进程来计算,避免影响其他模块工作。

显示任务图形界面开发采用的开发工具为MiniGUI,使用MiniGUI的图形控件资源,软件的界面开发非常方便。显示模块主要负责将相位和幅度信号以图形的方式显示出来。由于绘图是一件相当耗费资源的工作,故用一单独的进程实现。

USB通讯任务 对被测物体测试完成后,进行测试数据的拷贝或打印。

3.3 多任务通信

在扫频仪程序中引入消息概念,将进程的执行条件转换为消息,由消息对相应的进程进行激活,并由进程调度模块实现调度。消息定义为:当某进程完成时,进程设置相应标志,不同的标志代表不同的消息。消息在多进程中的作用相当于桥梁,使进程间既相互独立又有机关联,进程之间不能直接调用,需借助消息,由进程调度模块实施。例如:数据显示模块中有一部分内容是将分析计算的结果打印到屏幕上,为了节省资源开销,将其放在主进程里,通过消息机制处理。

中断服务程序则是通过发送信号给进程调度模块,说明已经发生中断。例如按下扫频功能键,中断处理程序产生一个信号就退出中断,而调度模块则依据接收的信号,激活数设置模块工作。

4 结 语

应用基于Linux嵌入式多任务操作系统的扫频仪,结合S3C2410X的32位微处理器,不仅简化软硬件设计,能够方便地测量被测网络的幅频曲线和相频曲线,更重要的是减少扫频响应时间,增加数据打印和分析处理功能。利用MiniGUI开发的图形界面友好,人机交互性强。基于Linux多任务操作系统进行程序编写,能减少程序设计的工作量和复杂程度,大大缩短开发周期。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭