嵌入式系统便携式数据采集装置设计
随着计算机科学技术的飞速发展和普及,数据采集技术已经渗透到雷达、通信、水声、遥感、地质勘探、振动工程、语音处理、智能仪器、工业自动控制以及生物医学工程等众多领域。本设计借助于嵌入式系统设计技术和微处理器技术来实现的低功耗、大容量存储的便携式数据采集装置。该装置具有如下特点:多通道数据采集(包括8路模拟量采集通道)、16路开关量采集通道、海量数据实时显示存储、集成度高、携带方便。
本文引用地址://m.amcfsurvey.com/article/78247.htm嵌入式平台的构建
20世纪90年代后,嵌入式实时操作系统在嵌入式系统中确立了主导地位。典型产品如VxWorks、PSOS、VRTX、Nucleus、Lynx、WindowsCE、RTLinux、μC/OS-II等等。
μC/OS-II嵌入式操作系统简介
μC/OS-II的特点如下:公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。是一个经实践证明好用且稳定可靠的内核,被成功地移植到了许多不同架构的处理器上。目前国内对μC/OS-II的研究和应用都很多。
MSP430系列单片机介绍
MSP430系列单片机是美国德州仪器公司(TI)近几年开发的新一代16位单片机,MSP430F169是其中一款,具有强大的处理能力,RISC结构,125ns的指令周期,丰富的片内外设,内部具有2kB的RAM和60kB的FLASH,寻址空间达64k。
本设计中所用到的嵌入式处理器是TI公司的MSP430F169;操作系统是μC/OS-II。
μC/OS-II在MSP430F169上的移植
移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。虽然μC/OS-II大部分源代码是用C语言写成的,但是仍然需要用汇编语言完成与处理器相关代码的编写。要使μC/OS-II能正常移植到处理器,处理器必须满足以下要求:①处理器的C编译器能产生可重入代码;②能用C语言打开或关闭中断;③处理器支持中断,并且能够产生定时中断;④处理器能支持一定数量的数据存储硬件堆栈;⑤处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令。
硬件设计
本数据采集装置的硬件设计主要分三个模块进行:主控单元、数据采集单元、实时时钟。主控单元主要完成了人机接口和存储电路的设计,其中存储电路选用USB接口电路作为数据存储,对采集数据及时可靠的存储保护,数据采集单元主要是模拟量、开关量输入通道设计。系统实时时钟是由MSP430F1222实现的,其与专用的RTC器件相比还具有可扩展性。
核心电路的设计
图1 系统功能结构框图
微处理器是整个电路的核心器件,其性能的优劣直接影响和决定着系统的功能指标。
晶振电路作为时基发生器的时钟振荡电路,为整个单片机芯片内部各个部分电路及单片机与其他数字系统或者计算机系统之间通信,提供可靠的同步时钟信号。MSP430F169单片机有3个时钟输入源:低速晶体振荡器(32k)、高速晶体振荡器(450k~8M)和DCO振荡器。无论系统上电或掉电都需要保证正常复位。复位电路本系统选用的CAT809微控制器监控电路符合要求。
电源设计
电源模块是数据采集系统硬件设计的重要组成部分,直接影响系统的精度和可靠性。输出质量高、稳压效果好、高效率和微功耗、可靠性强、微型化等是其设计原则。
数据存储电路
完成采集数据及时可靠的存储保护是本系统的一项重要功能,设计选用南京沁恒有限公司的纯粹USB接口CH375,它的主要特点是价格便宜、接口方便、可靠性高,尤其适用于产品的改型设计。
软件设计
主程序设计
主程序负责系统的初始化及任务的创建。基本流程如图2所示。主控单元的软件设计主要包括键盘扫描任务,液晶显示任务,数据存储任务、UART通信任务等。主要介绍数据存储任务和UART通信任务。
数据存储任务
采集数据及时可靠的存储保护是本采集装置的一项重要任务,U盘的读写方式下,仅仅是将U盘当作可移动的存储器,所以读写方法与读写闪存差不多,操作简单,速度快,只要几十条语句就可以读写数据。但计算机不能直接读取写入的数据。
Voidx Write CH375 Cmd(UINT8mCmd)/*向CH375写命令*/
{
P2DIR|=0x0F;/*设置P2口A0,CS,WR,RD为输出控制信号*/
P4OUT=mCmd;/*向CH375的并口输出数据*/
}
Void xReadCH375 Data(void) */从CH375读数据*/
{
UINT8mData;
P4DIR=0;/*读操作所以数据输入*/
mData=P4IN;/*从CH375的并口输入数据*/
P2OUT|=0x07;
/*输出无效的控制信号,完成操作CH375芯片,A0(P2.3)=0;CS(P2.2)=1;WR=(P2.1)=1;RD(P2.0)=1;*/
return(mData);
}
UART通讯任务
数据采集单元的软件设计包括8路模拟量的采集任务、16路开关量的采集任务和UART通讯任务的编写,UART通讯任务主要是完成数据采集模块和主控单元的数据交换。
本设计是结合先进的嵌入式技术、微处理器技术及USB总线技术,基于低功耗、大容量存储原则设计的便携式数据采集装置;对其主要功能模块进行了原理设计,部分实验进行了验证,证明该装置适用于工业控制等较为复杂的测控场合。软件设计上,μC/OS-II的应用使数据采集具有更好的实时性。但是系统功能的扩展和通信方面还具有更深的研究空间。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论