2 系统方案设计
2。1 系统控制器特性
LPC2148是一个支持嵌入式跟踪和实时仿真的微控制器,它基于32位的ARM7TDMI-S微处理器内核,该内核具有低功耗、高性能的特性。LPC2148功能强大,开发板上提供按键、蜂鸣器、LED等常用功能部件,提供用户I/O接口,还具有I²C存储器电路、RS232接口电路等。其功能框图如图2。1所示。文献综述
图2。1 LPC2148功能框图
本系统基于USB通信原理,使用LPC2148内部带有的USB设备控制器,该控制器完全兼容USB2。0 全速规范。开发板内嵌 512kB 的高速 Flash 存储器,USB控制器具有2kB的USB端点RAM,并提供32kB+8kB的片内SRAM,其中额外添加的8kB RAM主要是为USB 的DMA控制器准备,但该RAM不局限于DMA使用,必要时可作为数据和代码存储的通用RAM,并且在任何时候都可以被CPU访问。
LPC2148 的USB设备控制器结构如图2。2所示。该框图结构显示了USB设备控制器的内部结构及USB设备控制器与LPC2148内核总线间的接口。
图2。2 LPC2148 USB设备控制器结构框图
在图2。2中,USB管脚是指LPC2148芯片与USB总线间的引脚,它通过串行接口引擎与控制器内部连接。串行接口引擎完成USB协议的大部分功能,并能对USB总线和EP RAM之间的数据流进行译码或封装。
USB端点使用的缓存区为SRAM的FIFO,该FIFO为图2。2中的EP RAM。EP RAM的大小为2K Bytes,每个USB端点都在RP RAM中都有部分的保留空间,全部保留空间的大小总和不超过2K Bytes,而保留空间的大小可由用户自己设定。LPC2148通过图中的EP_RAM访问控制接口和寄存器接口来访问EP RAM端点缓冲区,实现LPC2148和USB总线的通信。
从图2。2中可以看出, DMA引擎处于一个特殊的位置。数据除了可以通过EP RAM进行传输外,还可以直接使用DMA引擎(通过USB RAM)在端点缓冲区与LPC间传输,这种传输是通过AHB总线实现的。
LPC2148 USB的所有端点(32个物理端点,16个逻辑端点)都有双向的DMA通道结构,可支持DMA传输,其DMA接口是挂接在LPC2148的AHB总线上的。因此,在DMA模式下工作,USB设备控制器占用AHB总线工作,其数据交换速率非常快。在本系统的设计中,使用DMA传输提高USB通信效率很有必要。来;自]优Y尔E论L文W网www.youerw.com +QQ752018766-
2。2 系统架构设计
系统的设计流程为:首先,在ARM7系统LPC2148上进行嵌入式开发,实现LPC2148与PC计算机的USB通信,在PC上实现后,再将程序移植到μC/OS-Ⅱ操作系统上,同样搭载在LPC2148上,实现基于操作系统的LPC2148与PC机通信。最后,基于USB通信原理及PC机上的开发经验,在Android手机端设计相应APP软件,通过OTG线连接手机与LPC2148,实现Android与ARM7系统间的通信。
2。2。1 硬件架构
本系统最终实现LPC2148核心板与安卓手机间的USB通信,LPC2148通过自带的USB外设接口,利用USB数据线、OTG线与手机端USB接口连接,以手机为USB主设备,LPC2148为从设备,手机向LPC2148发送消息,LPC收到后,将消息处理并反馈回手机,在手机软件中予以显示。