基于ARM7处理器LPC2104的嵌入式数据采集系统
1 概 述
嵌入式处理器是嵌入式系统的核心部分 ,处理器的选择是关键 。目前 ,ARM处理器已遍及工业控制 、消费电子产品 、通信系统等各类 产品市场 ,基于ARM 技术的微处理器应用约 占了 32位 RISC处理器 75%以上的市场份 额I】1。ARM 处理 器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、Intel的 Xscale、In— tel的 StrongARM等几个 系列 1,其 中 ARM7、ARM9、ARM9E和ARM1OE为 4个通用处理器系列 。
ARM7系列微处理器为低功耗的32位RISC处理器 ,适合用于对价位和功耗要求较高的产品应用中。ARM7微处理器 系列具有如下特点 :
(1)极低 的功耗 ;
(2)提供 0.9MIPS/MHZ的三级流水线结 构(取 指 、译码 、执行 );
(3)最高主频可到达 13OMIPS;
(4)代码密度高并支持 16位 的 Thumb指令集 ;
(5)对操作系统的支持广泛 ,包括 Windows CE、Linux、 Palm OS等 。
ARM7系列微处理器包括ARM7TDMI、ARM7TDMI—S、 ARM720T、ARM7EJ等4种类型 。其中T代表支持16位Thumb指令集 ,D代表支持片上 Debug,M 表内嵌硬件乘法器 ,I代表支持嵌入式ICE。按照低功耗 、低成本 、小体积 、多功能及实时性的要求 ,Philips公司 的LPC2104是一 个非 常好 的 选择 ,LPC2104处理器就是属于ARM7TDMI—S系列的ARM处理器的一种。
本文内容组织 如下:第 2部分是LPC2104处理器介绍 ,第3部分是系统硬件的设计 ,第4部分是软件的设计 ,第 5部分是结束语。
2 LPC2104处理器介绍
LPC2104微控制器是飞利浦半导体公司推出的16/32位 ARM7TDMI—S CPU,并带有128/256K字节 的高速Flash存储器的微控制器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%.而性能的损失却很小。由于LPC2104微控制器采用非常小的64脚封装 、极低的功耗 、多个32位定时器以及多达9个外部中断 .这使它们特别适用于工业控 制 、医疗系统 、远程访问控制和电子收款机等小型化 的应用领域 。由于内置 了宽范围的串行通信接 口,它们也 非常适合 于通 信网关协议转换器 、嵌入式 软件调制解调器 以及其它各种类型的应用。
LPC2104带有一个支持实时仿真和跟踪的ARM7TDMI—SCPU。并嵌入了 128KB高速 Flash存储器。与片内存储器控制器接口的ARM7局部总线 、与中断控制器接 口的 AMBA高性能总线(AHB)和连接片 内外设功能的 VLSI外设总线 。
AHB外设分配了 2M字节的地址范围 ,它 位于 4G字节ARM 存储器空间的最顶端 。每个AHB外设 都分 配了16K字节的地址空间 。LPC2104的外设功能 (中断控制器除外 )都连接到VPB总线。AHB到 VPB的桥接将 VPB总线与 AHB总线相连。VPB外设也分配了 2M 字节的地址范 围。从 3.5G地址 点开 始。每个 VPB外设在 VPB地址 空间 内都分配了16K字节 地址空间 。LPC2104内部存储空间如图1所示 :
主要的特征如下:
极小封装 :TQFP48(7 7mm2);
128K字节片内 Flash程序存储器 ,具有 ISP(In—SysteProgramming,在线可试试编程 )和I AP(In-Application Program一ming,在应用 中可编程 )功能;16K静态 RAM;
双UART。其中一个带有完全的调制解调器接口;I2C、S串行口:
两个定时器 。具有4路捕 获/比较通道 ;6路输出的 PW单元 :实时时钟 ;看门狗定时器 ;
32位通用 I/0 口;
CPU操作 频率可 达 60MHz;双 电源 (CPU操 作 电压范围1.65V~1.95V.I/0电压范 围 :3.0V~3.6V);两个低 功耗模 式 (闲和掉电)。
LPC2104的内核结构 如图 2所示 。
3 系统设计
3.1 系统功能概述
本系统采用模块 化的结构设 计思想,将设备分为主控模块和各个功能模块。如图 3所示 。主控模块和各功能模块之间有统一的或者特定的接口形式 .用户可根据 不同的需要选用不同的功能模块 .各种类型的数据可以同时传输而不相互干扰时。也可根据市场的需求 继续扩展 其它功能模块 ,例如光电通信模块等。这样的设计结构,不仅方便了使用 ,也有利于以后统的升级。
主控模块主要负责人机交互、与功能模块通信、数据存储数据传输等功能。用户通过控制主控模块来对功能模块和系统的其它功能进行操作 .数据存储在主控模块内。然后,主控模块可以通过电话线拨号上网或者通过USB口接入联网的PC机向服务器发送数据或者与掌上电脑通过红外模块通讯。这样的三种数据传输方式,可以满足大多数用户的需要。
主控模块在整个系统具有很重要的作用,相当于人的中枢神经。以下就是对主控模块硬件和软件设计的具体介绍。
3.2 系统硬件设计
根据整个系统的设计思想,在对主控模块进行硬件电路设计时,处理器的选择是关键的问题。按照低功耗、低 成本、小体积、多功能的要求,Philips公司的LPC2104是一个非常好的选择。
由功能框图4可以看出,只需要 在 LPC2104周围增加较少的元器件和电路,就能设计出功能较强的、符合要求的主控模块的电路。
3.3 LPC2lo4引脚分配及模拟总线
LPC2104只有 64个引脚,无外部总线控制器 .因而它没有外部总线,外接扩展芯片不是很方便。不过因为它们的速度很快。所以即使使用软件模拟总线外接扩展芯片也比普通的单片机快得多。因此,我们应用LPC2104的模拟总线外扩芯片能够满足设计要求。
除了电源、复 位、晶振等引脚,LPC2104有32个功能复用的可编程的通用IfO 口(P0.0一P0.31)。在系统设计中。UART0 占用了 P0.0和P0.1;I2C 占用了 P0.2和 P0.3:UART1占用了 P0.8和 P0.9;按键占用了 P0.14和 P0.15。在剩余的引脚中 ,将 P0.17一P0.24这 8个连续的I/O 口来模拟八位数据/地址总线,P0.4模 拟地址锁 存信 号 ALE,P0.5模 拟读 信号 RD.P0.6模拟写信号 WR,如图5所示。
模拟总线是为 了弥补LPC2104无外部总线的缺点而设计的 。因为在总线操作的过程中,不能被中断,所以总线访问前后要关开中断 。要对模拟总线进行初始化。
3.4 人机交互部分
人机交互部分的设计本着使用最简化的原则,采用了点阵液晶显示模块和 3个按键的组合形式。液晶选用了信利的MG12864—7型点阵液晶模块,其显示容量为 128x64个点,体积 只有 54cmx50cmx6.5cm,内部带有一10v电压 产生器和EL背光逆变器 .使 用单 5V电源供电,非常适合便携式的产品应用。
由于液晶模块的工作电压为5V,LPC2104的 I/O 口电压是3.3V,所以需要在处理器和液晶模块之间加一片总线收发器 74LVC4245.如图 6所示。74LVC4245是一种双电源的总线收发器,同时工作在两种电源下:A端用5V电源作为VCCA,IfO 口接5V 器件的数字逻辑电路 ;B端用3.3V电源作为VC.CA.L/O 口接 3.3V 器件的数字逻辑电路 :DIR引脚可以控制总线的传输方向。这样,利用74LVC4245就能方便的实现3.3V和 5V系统之间的逻辑电平转换 。从电路图可以看出 ,当LPC2104通过模拟总线对液晶模块进行操作时 ,用 P0.7来控制数据 总线的方向。另外 ,液 晶模块根据节电的需要 .没有使用背光功能。
3个按键 通过逻辑与门与 LPC2104的两个外部 中断引脚连接 。按键部分就可采用中断的输入方式 ,减少了处理器轮询按键的工作量。更为重要 的是,可 以使用这两个外部中断的掉 电唤醒功能。这样 当处理器不工作的时候,可以进入掉电状态, 只有当处理器需要响应按键 的时候,按键的中断输入会使处理器从掉电模式唤醒 ,这样就大大降低了处理 器的功耗 。
3.5 通信 部分
主控模块的通信分为 3个部分 :USB、UART0、UART1。USB用来连接主控模块和PC机,其驱动芯片 D12使用地址/ 数据总 线连 接方式 ,LPC2104使用外 部 中断 0,如图 7所示 。UART0用来与各个功能模块通信 ,其中包括红外通信模块。除了红外模块多需要一个 L/O 口(P0.25)来进行作为选择波特率的控制信号 外 .其它模块都 只需要 与 UART0的 TXD0、RXDO 和 GND三根线连接即可。UART1是用来与Modem通信的,外置 Modem 的接口是 RS232接 口, 这样需要将 UART1的TXD1、RXD1通过 MAX3232进行 电平转换后 与 Modem 相连 ,如图 8所 示
3.6 其它功能部件
LPC2104带有 I2c总线,可以很方便的外扩一些 I2C功能器件。为了能够存储用户个人信息 、少量生理数据 ,主控模块在 LPC2104的I2c总线 t扩展了一片 1K的E2PROM芯片CSI24WC08。 它 可 以在 3.3V电源 下工 作 .其 I2c总线地 址 为 :读 :0xA1、 o)(A3、o)(A5、o)(A7.写:o)(A0、o)(A2、0xA4、0xA6。
液晶显示面板 由主界面 、消息区两部分组 成 ,其中主界面 显示当前选择的功能参数设 置和当前状态 (进行/失败/取消 ),消息区显示当前联机状态 、错误原因等。整个面板设计与按键设计紧密结合 ,使用方便 ,所有功能均可在 1—3次按键 中完成,如图 10所示
4 系统软件设计
采用嵌入式实时操作系统 p~C/OS—II。使用 ARM 和 Thum指令集混合编译来优化代码密度 。
4.1 任务的分配和软件系统结构
采用嵌入式实时操作系统 p~C/OS—II。用户级有六个任务
(1)负责启动任务按键的响应。优先级 6;
(2)负责系统的工作状态。优先级 5;
(3)液晶模块显示 ,优先级 4;
(4)负责通过 Modem拨号接入 Internet的通信任务 ,优先级 3;
(5)负责 USB的通信任务,优先级 2;
(6)与各功能模块通信 ,进行数据信号采集 和存储,优先级l。软件系统结构如图 l1中(a)图所示 。
6结束语
基于面向对像技术使得塑料门窗CAD系统WinDoor不再是简单的“画图”系统,从根本上超越了传统的点、线、面相结合的低层次门窗设计方式。用户可以直接利用现实世界中的门窗各部件的概念在计算机对应模型中进行设计 ,符合人类的思维特点,尺寸驱动的参数化设计思想有利于用户方便快捷的设计和修改窗型,并使设计的正确性得到根本保证,极大的提高了门窗的效率和质量。同时,本系统的设计思想具有推广价值,稍加改动便可以应用于建筑行业的铝合金门窗 、幕墙等的绘制与计算。图5所示为本系统所绘制的6个典型窗型!
评论