微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM9高速实时多任务数据采集系统的算法优化

ARM9高速实时多任务数据采集系统的算法优化

时间:03-08 来源:互联网 点击:

摘要: 针对高速实时多任务数据采集系统的高速性、实时性、并发性、安全性要求,提出了基于ARM9和μC/OSII操作系统的多频道数据采集系统的智能化设计方案。实现了任务优先级动态调度、动态设置、系统工作参数动态设定。针对低速外围设备进行了系统工作时间优化,对软件关键区进行了必要的保护,提高了系统安全性,改善了内部任务同步性,保障了各个通道的实时并发性。对数据采集系统各个通道的极限工作频率进行了实验室测定,对相关设计电路进行了简要说明。

关键词: ARM9;μC/OSII;优先级动态调度;关键区

Intelligent Highspeed Realtime Multitasking Data Acquisition System Algorithm Based on ARM9
SunYongfang1,Qin Xu2,Wang Xiaosong3(1. Shaanxi Defense Industry Professional Technology Institute, Xi,an 710300, China; 2. Northwestern Polytechnical University; 3. Baoji Fenghuo Communication Group Co., Ltd.)
Abstract: This paper introduces an intelligent design for multichannel realtime data acquisition system based on ARM9(S3C2440A) and μC/OSII Operating system, meeting the requirements of highspeed, realtime and simultaneity. Task priority dynamic scheduling and system parameter dynamic settings are realized. System time optimization is made for lowspeed peripheral devices and necessary protection for critical sections of the software is given. The limit frequency of data acquisition system in the laboratory is measured and a brief description of the design circuit is given.
Key words: ARM9;μC/OSII;priority dynamic scheduling;critical sections

引言

随着IT技术、电子技术、通信技术、以及自动控制技术的飞速发展,对工业现场数据的高速实时采集就成为电子产品和工业控制技术发展不可避免的一个环节。

本文针对高速实时多任务数据采集中的多任务实现算法以及实时性、实效性和高速性的要求,提出了基于ARM9和μC/OSII操作系统的智能化设计方案,实现了任务优先级动态调度、系统工作参数动态设定、系统内部软件智能化设计,针对低速外围设备进行了系统优化,并提高了系统可靠性改善了内部任务同步性。

1 整体电路设计

整个采集系统的硬件电路如图1所示。首先利用多路调制电路对12路信号进行调制,这部分包含相应的信号转换、抗干扰、以及初步的信号处理等,使得各路采集信号能够达到ARM9内核对信号采集的要求。经多路选择和ADC采样后进入ARM9内核。为了实现对整个系统工作状态的实时监视、实时控制和实时调节,设置了上位机监视器和现场显示触摸屏,将用户所有要求显示的信息在上位机显示输出或者在现场LCD同步显示输出。采样按照采样频段分为高频段(300~200 ksps)、中频段(200~100 ksps)、和低频段(小于100 ksps)3个频段,每个频段由4个外部采样通道组成。ARM9内核与上位机的通信利用UART和RS232转换电路来实现。系统工作电源由统一的电源供给,在实现电压转换后对PC机和ARM9内核以及相应的工作电路提供电源支持。

图1 数据采集系统硬件电路

2 系统总体软件设计思路

系统的软件设计原理如图2所示。12路采集信号经调制电路多路选择和ADC采样后进入各个采集任务内部通道。每一路采集通道都设计独立的数据采集、数据存储、数据处理以及数据提交任务。也就是说,每一路外部采集通道都对应一个独立的内部数据通道,而且本通道数据只在本通道内进行存储、处理和传递。各个内部数据通道任务之间只有在系统调度时执行时间上的先后关系、优先级关系,没有数据耦合关系。

图2 系统软件设计原理图

命令扫描部分由独立的上位机和下位机扫描任务完成对上位机监视器和下位机触摸屏的实时监控,一旦检测到用户命令,立即将其发送给命令解析和处理任务,由该任务对用户命令进行分析处理。命令处理完后将提取的结果发送给用户要操作的采样通道,使之按照用户要求运行。

各个频段的各个通道采集任务均设置两个数据缓冲区。双数据缓冲区为采样任务顺利存储提供了双重保证,使得采样工作一旦结束就有可用缓冲区,就可立即将数据存储而后进行下一次采集。也使得后续的数据处理任务减少数据等待时间,能迅速得到当前采样通道需要处理的数据,并在最短的时间内处理发送给下一级任务。

采样、数据显示、命令扫描都涉及外围设备,是整个系统所有任务里面运行速度最慢的,针对采样任务设置双数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top