关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于LPC2378的数据采集系统的设计

基于LPC2378的数据采集系统的设计

—— Design of Data Acquisition System Based on LPC2378
作者:许婧 付少锋 西安电子科技大学多媒体研究所(西安 710071)时间:2008-09-18来源:电子产品世界收藏

摘要:本文介绍了以微处理器为核心的及处理系统,给出了各模块、接口和软件设计。

本文引用地址:http://www.eepw.com.cn/article/88160.htm

关键词:

引言

  在系统中,为了更好地实现对系统的控制,除了控制单元和执行单元外,还必须有反馈环节。在反馈环节中,最重要的就是对数据的采集和处理。一般的中,数据有很多种形式,最常见的有电流、电压的模拟量、以二进制形式输入的开关量以及以脉冲形式输入的脉冲信号。

  本文主要讨论了以微处理器为核心的和处理系统的实现过程。

系统结构

  以NXP公司LPC2378为核心构成的控制系统的结构如图1所示。该控制系统主要包括:嵌入式主控模块、电源控制模块、数据采集和处理模块(A/D、D/A、R/D)、串口扩展模块(SC16C554)。由主控模块进行控制,其他模块协同工作,共同实现数据采集和处理的功能。处理器和CPLD模块是整个系统的核心,它控制各模块间的协同工作;电源控制模块负责为芯片提供所需要的工作电压,并对电压进行监测,同时提供系统的复位功能;数据采集和处理模块由A/D、D/A、R/D构成,实现数据的数模或模数转换;串口扩展模块实现了与LPC2378之间数据的串、并行转换,并完成与上位机的通讯功能。


图1 数据采集处理系统框图

  SC16C554扩展出4路UART接口,波特率等底层协议由程序独立设置,每个通道具有16字节的FIFO,兼容16C550。通过线路板接插件引入2组外部双口RAM的存取接口,符合IDT7130的时序要求,数据、地址及控制信号等驱动。为方便客户未来的扩展应用,系统向外部预留2组CAN总线接口。系统中实现2路A/D,2路D/A,2路R/D;并预留12位IO控制口,每位可单独设置为输入或输出。

硬件设计

  主控模块

  该模块由LPC2378和CPLD (EPM7128AE)构成。LPC2378是一款基于ARM7TDMI-S核的高性能32位 RISC微处理器。处理器带有Thumb指令扩展;主频高达72MHz;片内集成512KB Flash,支持ISP及IAP,58KB SRAM,PLL加强型矢量中断控制器,10/100M以太网带DMA,USB2.0全速设备接口,2路CAN 2.0接口,通用DMA控制器,4个UART接口,1个具有全功能Modem的接口,3个I2C串行接口,3个SPI/SSP串行接口,一个I2S接口,SD/MMC记忆卡接口,8路10位 ADC,1路10位DAC,4个32位捕获/比较时钟,看门狗时钟,PWM模块支持3相马达控制,RTC实时时钟带可选后备电池,通用I/O等。CPLD主要负责整个系统的译码工作,从而为系统中的某些芯片产生片选和控制信号。

  电源控制模块

  通过接插件向线路板提供±15V、±12V、+5V的直流电源。由于系统中大多数芯片的工作电压均为3.3V或5V,故选择的电源电压调节器为TPS76633,它能对外提供3.3V的电压及250mA的电流,且误差在3%以内。为了使系统能稳定的工作,抑制信号线、电源线上的高频噪声和尖峰干扰,需要使用磁珠进行系统的模数隔离。

  系统工作时,会经常要求进入复位工作状态,所以,系统的复位电路必须能准确、可靠地工作。这里的复位电路采用LTC1326芯片,同时实现低电平复位和手动复位功能。LTC1326能够在有多种电压供电的系统中实现同时对3种电压的监控功能。为了提高芯片的抗干扰能力,应给每个Vcc引脚接一个0.1μF的对地旁路电容。

  数据采集和处理模块

  ·A/D接口电路
  LPC2378本身提供有8路10位ADC和1路10位DAC,而该系统要求提供的A/D和D/A精度均为12位,故需要扩展外部A/D和D/A。

  AD7922是12位逐次逼近型高速、低功耗的A/D转换器,吞吐率最高可达 1MSPS。本系统采用通过LPC2378的SPI接口直接与其相连,不需要其他的附加逻辑电路。在采集过程中,选择不同的通道进行采集。

  ·D/A接口电路
  DAC7574是12位、低功耗、4路带缓冲器的电压输出型D/A转换芯片,最高速率可达3.4Mbps。外部为该芯片提供的工作电压为5V,故转换后的电压输出范围是0~5V,需要设计D/A转换后输出电压范围是-10V~+10V,所以要用到两级运算放大器,第一级构成反相求和电路,第二级构成反相比例运算放大电路。经过第一级运放后,得到-2.5V~+2.5V的电压值,再经过第二级运放后得到-10V~+10V的电压范围。为了在第一级运放的输入端获得精准的-2.5V电压,这里使用LM236,它是能够提供精确的-2.5V电压的稳压芯片。                          

  R/D接口电路

  AD2S80A是最新一代旋转变压器数字转换芯片,又叫角分解器(Resolver),是一种特殊的模数转换器,用来测量旋转物体的转轴角位移和角速度。AD2S80A的分辨率有10、12、14、16bits几种可选。用户通过选择不同的外接电阻和电容,可以得到不同的带宽和跟踪速率。本系统中只用到了R/D的8条数据线(DB1~DB8),其余8条数据线(DB9~DB16)接地。LPC2378负责处理AD2S80A送来的信号,AD2S80A与LPC2378的相关引脚直接相连,接口电路如图2所示。


图2  AD2S80A与LPC2378的连接图

  串口扩展模块

  MAX3074是RS-422总线的收发器,其功能是实现RS-422总线信号电平到SC16C554可接受信号电平的转换。该系统中共使用6片MAX3074,其中4片与SC16C554的4路UART端口连接(其中两路做为备用),其余2片与LPC2378的两路UART端口相连。

  MAX3221是RS-232总线的收发器,其功能是实现RS-232总线信号电平到LPC2378可接受信号电平的转换。系统中使用2片MAX3221与LPC2378其余两路UART端口相连(图3)。


图3  总线电平转换示意图

系统软件设计

  系统的软件开发工具采用ADS1.2,设计语言使用ARM C。为了实现系统各部分的正常运行,在进行软件设计时必须充分考虑3个因素:程序的可靠性;程序的严密性;程序的稳定性。

  软件程序由主程序和中断服务程序构成。主程序中首先完成系统的初始化,接着进入一个无限循环的后台程序,巡回地执行多个事件,完成相应的操作;使用向量IRQ中断,中断服务程序采用基于定时器的巡回服务流程,完成事务处理。对于CPLD的软件设计工具采用Altera公司的MAX PlusII,使用VHDL编程语言。


结语

  本文从硬件设计和软件设计两方面对基于LPC2378微处理器的数据采集系统的设计进行了介绍。该系统现已在中国兵器工业集团某研究所的一大型系统中得以应用,工作可靠、稳定。

参考文献:

  1.  周立功等,ARM嵌入式系统基础教程,北京航空航天大学出版社,2005
  2. 杜春雷,ARM体系结构与编程,清华大学出版社,2003
  3. 杨宗德,嵌入式ARM系统原理与实例开发,北京大学出版社,2007
  4.  ADS1.2 Online books
  5. 裘雪红、顾新、侯伯亨等,微型计算机原理与接口技术,西安电子科技大学出版社,2001
  6. 周立功等,深入浅出ARM7,北京航空航天大学出版社,2005

模数转换器相关文章:模数转换器工作原理


矢量控制相关文章:矢量控制原理


评论


相关推荐

技术专区

关闭