引言
嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于arm嵌入式体系的结构的一致性以及外围电路的通用性,采用arm内核的嵌入式最小系统的设计原则和设计方法基本相同,本文基于mc9328mx1芯片介绍arm嵌入式最小系统设计的一般方法。
1 mc9328mx1概述
mc9328mx1是motorola公司基于arm920t的龙珠(dragon ball)mx1处理器,mc9328mx1内含arm公司设计的16/32bit arm920t微处理器内核,采用risc架构的arm微处理器具有体积小、功耗低、性价比高的特点,主要应用于高级信息处理设备、智能电话、网页浏览器、数字多媒体播放器、基于流行的palm os操作平台的手提计算机和无线通信发射、接收设备等。
mc9328mx1的结构框图如图1所示。
mc9328mx1的体系结构如下:全16/32bit risc架构,内含效率高、功耗强大的arm920t的处理器核,支持16bit thumb和32bit arm指令集的高性能risc引擎,支持大、小端模式,内部架构为大端模式,外部存储器可分为大、小端模式,基于jtag接口的方案,边界扫描接口,用于嵌入式多媒体应用集成系统。
mc9328mx1的系统关系特性为:一体化的16kb指令cache及16kb数据cache,支持虚拟地址转换存储器管理单元(vmmu),支持rom/sram、flash存储器、dram和外部i/o以8/16/32bit的方式操作,支持edo/常规或sdram存储器,使用arm先进的微控制器总线结构(amba),即soc多主总线接口,利用精简先进的高性能总线(r-ahb)与速度较慢的片上外围设备进行通信,可同时连接15个外部设备。
尽管嵌入式处理器芯片种类多,引脚繁杂,但根据它们各自的功能特点,因该分布是有规律的,在嵌入式最小硬件系统设计中,要注意区分处理器芯片引脚的类型,仔细分析研究关键引脚作用,才能保障最小系统的正常运行。
mc9328mx1采用mapbga封装,共有256引脚,mc9328mx1的引脚可分为电源、接地、输入(i)、输出(o)、输入/输出(i/o)5类。除了电源和接地线有近40根,以及地址总线,数据总线和通用i/o接口端,专用模块spi、uart、i2c、lcd等接口,需要认真仔细研究的引脚不是很多,电源和接地端是保障系统正常工作最基本的条件之一,输入类型的有些引脚在系统设计时必须认真仔细对待,因为有些电平信号直接影响到mc9328mx1的正常工作,输出类型的引脚主要用于对外设的控制或通信,由mc9328mx1主动发出,对mc9328mx1自身的运行不会有太大的影响,输入/输出类型引脚是mc9328mx1与外设的双向数据传输通道。
2 嵌入式最小系统
以arm内核嵌入式微处理器为中心,具有完全相配接的flash电路、sdram电路、jtag电路、电源电路、晶振电路、复位信号电路和系统总线扩展等,保证嵌入式微处理器正常运行的系统,可称为嵌入式最小系统。
嵌入式最小系统硬件结构图如图2所示。
嵌入式最小系统硬件功能如下:
微处理器:mc9328mx1是系统工作和控制中心;
电源电路:为mc9328mx1核心部分提供所需的1.80v工作电压,为部分外围芯片提供3.0v的工作电压;
晶振电路:为微处理器及其他电路提供工作时钟,及系统中mc9328mx1芯片使用32khz或32.768khz无源晶振;
flash存储器:存放嵌入式操作系统、用户应用程序或者其他在系统掉电后需要保存的用户数据等;
sdram:作为系统运行时的主要区域,系统及用户数据、堆栈均位于该存储器中;
串行接口:用于mx1系统与其他应用系统的短距离双向串行通信;
jtag接口:对芯片内部所有部件进行访问,通过该接口对系统进行调试、编程等;
系统总线扩展:引出地址总线、数据总线和必须的控制总线,便于用户根据自身的特定需求,扩展外围电路。
3 最小系统硬件的选择和单元电路的设计
3.1 电源电路设计
电源电路是整个系统正常工作的基础,设计的电源电路必须满足系统对该电路性能指标的要求。mc9328mx1核心部分需1.80v工作电压,部分外围芯片需3.30v工作电压,根据要求输入5v直流电压经dc-dc变换,分别为系统提供1.80v和3.30v的工作电压,不同系统根据实际功耗,选择器件设计电源电路,电源电路如图3所示。
3.2 晶振电路与复位电路设计
晶振电路为微处理