技术中心
 
 

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

   日期:2006-02-25     作者:管理员    

嵌入式系统与ARM
    嵌入式系统以应用为中心、以计算机技术为基础,软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

   ARM( A d v a n c e d   R S I C Machines)是一家出售芯片设计技术授权的公司,目前其设计的ARM 微 处 理 器 占 据 了 3 2位RISC(ReducedInstruction SetComputing)微处理器75%以上的市场份额。

ARM 体系结构
   ARM 已经从V3 发展到V6。目前流行的 ARM 芯片内核有A R M 7 T D M I、S t r o n g A R M、A R M 7 2 0 T 、A R M 9 T D M I 、ARM922T、ARM940T、ARM946T、A R M 9 6 6 T 、A R M 1 0 T D M I 等。Philips LPC2214(以下简称LPC2214) 是基于ARM7TDMI-S 的高性能32位RISC微控制器,属于ARM 处理器内核.现代的VL

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

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


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个低功耗模式,空闲和掉电;片上集成高速闪存。

 以 ARM 微控制器为核的最小系统
    嵌入式微控制器不能独立工作,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,还要加上存储器系统。

    这些条件电路与微控制器共同构成一个最小系统。下面设计以LPC2214为主控单元,应用于税控收款机的系统。该系统主要由主控MCU 模块、时钟模块、电源模块、监控模块、IC卡读写模块、税控存储器、状态指示电路、接口电路等组成。硬件结构如图2所示。

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

  

    税控收款机是一种带有计税功能的电子收款机,它内部装有自动记录但不能更改和抹掉的计税存储器。税控收款机由以下几部分组成:中文显示系统、中文打印系统、专用税控处理系统、外围设备驱动、电源、带物理安全保证的机箱.  税控机制由以IC卡为基础的发行、管理、申报、维护、经营等系统组成。有关数据由税务部门用专用IC卡读出,以便稽查。系统充分合理地利用了其片内实时时钟、外部存储器接口、UART 等其它外设接口。片上闪存作为用户程序的存储空间,其高速零等待特性保证系统的实时运行。其片上程序保护机制,防止代码被任意更改和复制。整个系统的设计 结构简洁,极具竞争优势。                 
系统移植
   ARM 芯片获得了许多实时操作系统(Real Time Operating System)供应商的支持,比较知名的有:Windows CE、Linux、pSOS、VxWorks Nucleus、OSE、eCOS、μC/OS-II等,我们将在税控收款机系统上移植μC/OS-II。

μC/OS-II移植
   LPC2214 的ARM7TDMI-S 内核用ARM ADS 作为编译器移植μC/OS-II。包括以下内容:①设置OS_CPU.H 头文件中与处理器和编译器相关的代码如:整数、浮点数、堆栈等数据类型定义,打开或者关闭中断函数设置,定义堆栈增长方向,任务切换的执行代码。②用C语言在OS_CPU_C.C文件中编写6 个操作系统相关函数:

 任务堆栈初始化函数OSTaskStkInit( ),C/OS-II在μ执行某些操作时调用的用户函数:
  O S T a s k C r e a t e H o o k ( ) 、
  O S T a s k D e l H o o k ( ) 、
  O S T a s k S w H o o k ( ) 、
  O S T a s k S t a t H o o k ( ) 、
  OSTimeTickHook()


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

建立完整的嵌入式

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

   ①建立文件系统相关的API函数 : 如 初 始 化 文 件 函 数InitOSFile()、通过文件缓冲区读写数据函数R e a d O S F i l e ( ) 和WriteOSFile()、打开和关闭文件函数OpenOSFile()和CloseOSFile()。

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

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

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

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

   ARM 体系中的调试
   调试阶段在整个系统开发过程中所占的比重越来越大,因此拥有高效、强大的调试系统可以大大减
少开发时间,加快产品面市时间, 减轻系统开发工作量。

 ARM体系结构包含了完善的调试手段,下面仅介绍基于JTAG的ICE 类型调试的原理。

  基于 JTAG 的 ICE 类型调试

vfeqnsum 

  
    基于JTAG的调试系统结构(图4)包括:位于主机上的调试器、目标系统、主机和目标系统之间进行分析和转换的模块。JTAG 调试是边界扫描方式,LPC2214微核电路部件的每个I/O引脚包含一个电路元件,此元件的接口连接到JTAG二进制位移位寄存器上进行测试,这样每个引脚都被JTAG采样或监听。ARM7TDMI(图2)的TAP 控制器通过JTAG 接口控制各个硬件扫描链,扫描链0可以访问所有外围部件;扫描链1是扫描链0的一部分,它可以访问数据总线和控制总线BREAKPT;扫描链2 主要用于访问Embedded ICE逻辑部件中的各寄存器。ARM7TDMI 调试接口建立在IEEE1149-1190标准之上,该标准定义了访问芯片的5个引脚串行通讯协议,可以通过5个引脚访问芯片内部,从而可以进行调试和测试。JT

AG调试过程:
  ①设置程序断点、数据断点或相应外部请求,以便进入调试状态;

  ②当程序运行到    断点指令时,处理器进入调试状态,此时断点指令还没执行;

  ③在调试状态用户执行所需的调试功能,如停止目标程序执行、查看目标内核状态、查看和修改存储器的内容等。
  
  结语
  本文通过对嵌入式实时操作系统μC/OS-II中的关键技术及ARM体系组结构和调试的分析,结合LPC2214 的硬件结构和运行环境,说明了μC/OS-II的移植、LPC2214
 的应用和调试。

&nb sp;参考文献:
1,Jean J. Labrosse 著,邵贝贝等译,μC/OS-II—源码公开的嵌入
式实时操作系统.北京:中国电力出 版社,2001.
2,周立功 等编著,ARM微控   制器基础与实战.北京:北京航空航天大学出版社,2003-

11.

 

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢