微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM控制器LPC2214的嵌入式系统研究与开发

基于ARM控制器LPC2214的嵌入式系统研究与开发

时间:08-30 来源:互联网 点击:
1 嵌入式系统与ARM

嵌入式系统以应用为中心、以计算机技术为基础。ARM(Advanced RSIC Machines)是一家出售芯片设计技术授权的公司,目前其设计的ARM微处理器占据了32位RISC(Reduced Instruction Set Computing)微处理器75%以上的市场份额。

2 ARM体系结构

ARM已经从V3发展到V6。目前流行的ARM芯片内核有ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDMI等。Philips LPC2214(以下简称LPC2214) 是基于ARM7TDMI-S的高性能32位RISC微控制器,属于V4T版本。

2.1 ARM处理器内核

现代的VLS技术把附加的系统部件与内核集成在同一芯片中。其中,内核是最为密集和复杂的部件,是确定一个新系统时选择的关键。LPC2214的内核是ARM7TDMI(图1)的可综合版本(软核)。字母意义分别是:T-高密度16位的Thumb指令扩展、D-支持片上调试、M-短时间64位乘法指令、I-EmbededICE观察点硬件。


                                              图 1

2.2 ARM 微控制器

嵌入式微控制器(单片机)就是将整个计算机集成到一块芯片中。各厂商购买ARM公司的核心授权后,扩展与各自领域相关的片内外围电路,并集成在芯片中,使基于ARM处理器核的芯片多元化。设计者应尽可能采用片内外围电路完成所需的功能,来简化系统设计,提高系统可靠性。LPC2214微控制器(如图2)通过AHB 到VPB 的桥将VPB总线与AHB 总线相连,片内外设(中断控制器除外)连接在VPB总线上。LPC2214具有:多个串行接口,2 个16C550 工业标准UART、高速I2C 接口(400 kHz)、2 个SPI 接口;8路10 位A/D 转换器(0~3V测量范围),转换时间可低至2.44uS;2个32 位定时器(带4 路捕获和4 路比较通道);PWM 单元(6 路输出);实时时钟和看门狗;112个通用I/O 口(可承受5V 电压);2 个低功耗模式,空闲和掉电;片上集成高速闪存。

                                                        图 2

税控收款机是一种带有计税功能的电子收款机,它内部装有自动记录但不能更改和抹掉的计税存储器。税控收款机由以下几部分组成:中文显示系统、中文打印系统、专用税控处理系统、外围设备驱动、电源、带物理安全保证的机箱。税控机制由以IC卡为基础的发行、管理、申报、维护、经营等系统组成。有关数据由税务部门用专用IC卡读出,以便稽查。

此系统充分合理地利用了其片内实时时钟、外部存储器接口、UART等其它外设接口。片上闪存作为用户程序的存储空间,其高速零等待特性保证系统的实时运行。其片上程序保护机制,防止代码被任意更改和复制。整个系统的设计结构简洁,极具竞争优势。

3 系统移植

ARM芯片获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks Nucleus、OSE、eCOS、μC/OS-II等,我们将在税控收款机系统上移植μC/OS-II。

3.1 μC/OS-II移植

LPC2214的ARM7TDMI-S内核用ARM ADS作为编译器移植μC/OS-II。包括以下内容:

①  设置OS_CPU.H头文件中与处理器和编译器相关的代码如:整数、浮点数、堆栈等数据类型定义,打开或者关闭中断函数设置,定义堆栈增长方向,任务切换的执行代码。

②  用C语言在OS_CPU_C.C文件中编写6个操作系统相关函数:任务堆栈初始化函数OSTaskStkInit( ),μC/OS-II在执行某些操作时调用的用户函数:OSTaskCreateHook( )、OSTaskDelHook( )、OSTaskSwHook( )、OSTaskStatHook( )、OSTimeTickHook( )

③  在OS_CPU.ASM文件中用汇编语言编写四个与处理器相关的函数:运行优先级最高的就绪任务OSStartHighRdy( )、任务级的任务切换函数OSCtxSw( )、中断级的任务切换函数OSIntCtxSw( )、中断服务函数OSTickISR( )。这里介绍的是通用方法,在具体的项目中还有很多工作要作。

3.2 建立完整的嵌入式实时系统

μC/OS-II提供的仅仅是一个任务调度的内核,要想实现一个以LPC2214为主控单元,应用于税控收款机的嵌入式实时多任务操作系统,还需相当多的扩展工作。主要包括:

①  建立文件系统相关的API函数:如初始化文件函数InitOSFile( )、通过文件缓冲区读写数据函数ReadOSFile( )和WriteOSFile( )、打开和关闭文件函数OpenOSFile( )和CloseOSFile( )。

②  为外部设备建立驱动程序并规范相应的API函数。外设驱动程序可以对系统提供访问外围设备接口,把操作系统和外围设备分离开来。当外围设备改变的时候,只需更换相应的驱动程序,不必修改操作系统的内核以及运行在操作系统的软件。如:液晶驱动、键盘驱动、UART接口驱动等。

③  创建图表用户接口GUI函数,实现Unicode字库的显示及相关函数。

④  系统的消息队列。消息相关函数在各个任务之间、用户应用程序之间以及用户应用程序和系统的各个任务之间通常是通过消息来传递信息和同步的。

⑤  税控收款机软件设计采用模块化思想,其用户程序的开发大体分为如下部分:主程序、自检诊断模块、IC卡读写模块、UART通讯模块、开票模块、液晶显示和按键等人机接口模块。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top