压,开关量信息,并送到LCD进行显示,控制和协调系统各模块的工作。
模拟量采集接口模块用于对模拟量进行预处理,使其转化为单片机能够处理的数字量。开关量采集接口模块用于对数字量进行预处理,使其转化为单片机能够处理的数字量。例如,控制芯片处理电压信号范围为0V—5V,所以开关量的高电平状态的电平值要先转化为5V以下。
键盘输入模块用于输入用户命令,如改变开关量状态,显示开关量等。 LCD显示模块用来显示待采集的信号的数值或状态以及相关的提示信息。
电源模块为各个模块提供工作电源。
多路数据采集系统硬件部分的总框图如图1-1所示:
模拟量采集接口模块LCD显示模块单片机模块开关量采集接口模块 键盘输入模块
图1-1 系统硬件的总框图
1.4 软件设计方案
根据方案要求多路数据采集系统软件部分采用结构化程序设计。采用结
构化程序设计可以使程序结构清晰,层次分明,易于编写与调试。本软件系统主程序的总框图见图1-2。
主程序键盘扫描计算和显示模拟电压值检测和显示开关量状态LCD显示
图1-2 主程序的总框图
主程序扫描键盘,显示相应的开关量状态。
主程序和定时中断服务程序通过全局变量进行数据传递。定时中断服务程序向主程序递AD转换结果,供主程序计算模拟电压值。LCD显示程序接收数据,显示模拟电压值和开关量状态。
第2章 多路数据采集系统的硬件设计
在硬件的设计前期,根据框图对系统中可能出现的电路,进行了模拟实验,并根据实验结果对后期的硬件设计进行了合理化的修改完善。在第一章中已分析了系统并绘制了框图,多路数据采集系统硬件设计部分采用模块化的设计思想,将整个系统分成几大模块:ARM芯片控制模块、模拟量采集接口模块、开关量采集接口模块、LCD显示模块。通过模块化的方法先焊接和调试各个单元模块,最后进行组装和测试,从而使复杂的问题简单化,提高了系统设计的效率。
2.1 ARM芯片控制模块
ARM控制模块是整个系统的核心。本系统采用LPC2124芯片为核心元件。 2.1.1 LPC2124芯片概述
LPC2114/2124是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S CPU,并带有128/256 k字节(kB)嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
由于LPC2114/2124非常小的64脚封装、极低的功耗、多个32位定时器、4路10位ADC、PWM输出、46个GPIO以及多达9个外部中断使它们特
别适用于工业控制、医疗系统、访问控制和电子收款机(POS)。由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其它各种类型的应用。
2.1.2 主要特性
> 16/32位ARM7TDMI-S核,超小LQFP64封装。 > 16 kB片内静态RAM。
> 128/256 kB片内Flash程序存储器,128位宽度接口/加速器可实现高达60 MHz工作频率。
> 通过片内boot 装载程序实现在系统编程 (ISP) 和在应用编程 (IAP) 。 512 字节行编程时间为1ms。 单扇区或整片擦除时间为400ms。
> Embedded ICE可实现断点和观察点。当使用片内RealMonitor软件对前台任务进行调试时,中断 服务程序可继续运行。
> 嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的高速实时跟踪。 > 4路10位A/D转换器,转换时间低至2.44μs。
> 2个32位定时器(带4路捕获和4路比较通道) 、PWM单元(6路输出) 、实时时钟和看门狗。
> 多个串行接口,包括2 个16C550工业标准 UART、高速I2C接口(400
kbit/s)和2个 SPI接口。
> 通过片内锁相环(PLL)可实现最大为60MHz 的 CPU操作频率。 > 向量中断控制器。可配置优先级和向量地址。
> 多达46个通用I/O口(可承受5V电压) ,9个边沿或电平触发的外部中断引脚。
> 片内晶振频率范围:1~30 MHz。 > 2个低功耗模式:空闲和掉电。
> 通过外部中断将处理器从掉电模式中唤醒。 > 可通过个别使能/禁止外部功能来优化功耗。 > 双电源
-CPU操作电压范围:1.65~1.95 V(1.8 V± 0.15 V)
-I/O操作电压范围:3.0~3.6 V(3.3 V± 10%),可承受5V电压。 根据以上特性LPC2124芯片足以满足本次实验的要求. LPC2124的管脚图如下: