摘 要 论文以ARM7处理器LPC2104和实时嵌入式操作系统 I.LC/OS—II为基础 .建立了基LPC2104的嵌入 式开发 平台,实现 了 USB通信、嵌入式 Internet通信 、红外通信 等非常热门嵌入式应用术 。同时硬件的体积更小、功耗更低、功能更多、扩展性更强 。此外 ,由于所使用的嵌入式实时操作系统 ~C/OS—II已经通过了可靠性的认证 。这样使得整个系统的运行更加稳定 ,程序的维护和升级也更加方便。
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 LPC21o4处理器介绍
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内部存储空间如图 l所示 :
主要的特征如下:
极 小封装 :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个典型窗型!
更多内容请查询:http://www.fly-sun.com.cn