微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 以 μC/OSII 为平台的数据采集系统设计

以 μC/OSII 为平台的数据采集系统设计

时间:02-09 来源:互联网 点击:

无线数据采集系统的应用范围非常广泛,涉及电力、水利、交通和安防等行业。通用分组无线业务GPRS(General Packet Radio Service),由Nokia、Ericsson等公司开发。该技术建立在GSM网络的基础上,被称为2.5代移动通信技术,它将无线通信与Internet紧密结合,是一种先进的、全新的无线网络承载手段,具有独特优势。随着GPRS技术在移动通信领域的发展,为数据采集传输及监控提供了一种新的高性价比的数据通信方案。

同时,嵌入式系统以其高效的开发、低廉的成本、方便的使用和维护等优点受到信息业界的广泛推崇。嵌入式系统在工农业控制领域主要用于对现场的监视和控制。而传统监控产品的设计目标往往为保护大型企事业单bit的安全,不同程度地使用了凌乱的布线和较大型的硬件,其造价高昂、安装繁琐、操作复杂,必须有人长时间专门值守,且不具备远程控制功能。这些缺点使它们很难走进中小型工农企业和家庭中。因此开发一种小型的、模块化的、无须专人随时维护、能够方便地使用无线网络进行操作的采集监控系统,已成为必然的趋势,并拥有巨大的需求。随着系统复杂度的提高,应用嵌入式操作系统是一个流行的趋势。笔者以μC/OSII为操作系统平台,基于ARM7系列处理器,对一种高性能的数据采集系统开发进行了探索。

1μC/OSII嵌入式操作系统简介

嵌入式操作系统μC/OSII(microcontroller operating system)是专为微控制器系统和软件开发而设计的公开源代码的抢占式实时多任务操作系统内核,是一段微控制器启动后首先执行的背景程序,作为整个系统的框架贯穿系统运行的始终。对于对实时性和稳定性要求很高的数据采集系统来说,引入μC/OSII无疑将大大改善其性能。

μC/OSII的特点可以概括为以下几个方面:公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。μC/OSII自1992年的第一版(μC/OS)以来已经有好几百个应用,是一个经实践证明好用且稳定可靠的内核。目前国内对μC/OSII的研究和应用都很多。

2系统基本工作原理

应用时,数据采集系统置于被监控的设备处,通过传感器对设备的电压或者电流信号进行采样、保持,并送入A/D转换器变成数字信号,然后将该信号送到FIFO中。当FIFO中存放的数据到了一定数目时,由ARM7从FIFO中读出,然后通过ARM7的以太网接口或者RS232送给上位机。考虑到要监控的设备可能会很多,所以设计了多路采集通道,他们经过模拟开关后再进入A/D转换器。CPLD是整个系统的控制核心,他控制采集通道的切换、A/D转换器的启/停、转换后的数据在FIFO中的存放地址发生器、产生中断请求以通知ARM7读取存放在FIFO中的数据等。

3系统硬件结构

系统采用了Samsung公司的S3C4510B作为系统与上位机沟通的桥梁,S3C4510B是基于以太网应用系统的高性价比16/32位RISC微控制器,他有如下几个主要特点:

硬件方面内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核,最适合用于对价格及功耗敏感的应用场合。S3C4510B通过在ARM 7TDMI核内容基础上扩展一系列完整地通用外围器件。

片上资源包括2个带缓冲描述符(buffer descriptor)的HDLC通道;2个UART通道;2个GD M A通道;2个32位定时器;18个可编程的I/O口。还有中断控制器;DRAM/SDRAM控制器;ROM/S RAM和FLASH控制器;系统管理器;1个内部32位系统总线仲裁器;1个外部存储器控制器等片内的逻辑控制电路。

这些为μC/OSII的移植提供了优良的物理资源。

软件支持方面他有配套的代码编辑调试环境ADS12和JTAG在线调试功能,使S3C4510B芯片软件可以直接用C编写,这就使μC/OSII的植入成为可能。

12位高速A/D转换电路采用Analog Devices的AD574,该电路输出具有三态锁存功能。预处理电路包括了电流电压互感器、隔离电路和同步采样电路,他可以将信号转换成与AD574相匹配的量值,供后续处理。通讯电路采用常用的以太网接口与上位机相连,而232接口可作为备用,这样该装置既可作为便携式系统使用,也可通过网络来对设备实施实时监控。

4软件设计部分

软件部分要分别编写S3C4510B部分的程序和CPLD控制程序。前者可分为μC/OSII的移植和各个应用程序的编写,后者用VHDL语言实现。

对于S3C4510B部分,根据整个装置实现的功能和对他的要求进行系统任务分割,并根据实际需要为各个任务分配优先级。系统大致可分为如下几个任务:初始化CPLD控制参数;对FI FO的读取;与上位机的TCP/IP通讯;与上位机

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

网站地图

Top