历史上的今天
返回首页

历史上的今天

今天是:2025年03月02日(星期日)

2021年03月02日 | 基于MC9328MX1嵌入式最小系统设计

2021-03-02 来源:eefocus

引言

嵌入式系统是以实际应用为核心,对功能、可靠性、成本、体积、功耗有严格要求的专业计算机系统,随着嵌入式系统相关技术的迅速发展,嵌入式系统功能越来越强,应用接口更加丰富,根据实际应用的需要设计出特定的嵌入式最小系统和应用系统,是嵌入式系统设计人员应具备的能力,由于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 晶振电路与复位电路设计

晶振电路为微处理器及其他电路提供工作时钟,是系统必须的重要电路,MC9328MX1使用32KHz无源晶振,32KHz晶振频率输入 MC9328MX1后,经PLL(锁相环)倍频后达到16.384MHz,并输入系统PLL及MCU PLL。MCU PLL将输入的16.384MHz倍频到最高192MHz,提供给ARM内核使用,系统晶振电路如图4所示。


复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能,本系统采用较简单的RC复位电路,复位电路如图5所示。


3.3 lash存储器接口电路设计

Flash存储器在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的数据等。Flash接口电路是最小系统设计中至关重要的电路。


常用的Flash存储器为8bit/16bit数据宽度,工作电压一般为3.3V,主要生产厂商为Intel、Atmel、Hyundai等,他们生产的同类器件一般具有相同的电气特性和封装形式,可根据需要选用。


为了充分发挥32bit MC9328MX1性能优势,直接采用1片32bit数据宽度的Flash存储器芯片,也可采用2片16bit数据宽度的Flash存储器芯片并联构建 32bit的Flash存储器系统,16bit Flash存储器系统的构建方法与32bit Flash存储器系统相似,本系统使用2片28F320J3A组成32bit Flash存储器32bit Flash存储器系统如图6所示。


2片28F320J3A,其中一片为高16bit,另一片为低16bit,作为整体配置到MC9328MX1外围接口模块CS0空间,将 MC9328MX1的#CS接至2片28F320J3A的CE0端,CE1、CE2接地;2片28F320J3A的地址总线[A21-A1]均与 MC9328MX1的地址总线[A22-A01]相连,低16bit片的数据总线与MC9328MX1的低16bit数据总线[D15-D00]连接,高 16bit片的数据总线与MC9328MX1的高16bit数据总线[D31-D16]连接;2片28F320J3A的RP#端接VCC;2片 28F320J3A的OE端接MC9328MX1的#OE;2片28F320J3A的WE端接MC9328MX1的#EB;2片28F320J3A的 BYTE均上拉,使之工作在字模式。


3.4 SDRAM接口电路设计

与Flash存储器相比较,SDRAM虽然不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,并且具有读/写属性,SDRAM在系统中主要用作程序的运行空间、数据及堆栈区。因此,SDRAM接口电路在最小系统设计中必须高度重视。


目前常用的SDRAM为8bit/16bit数据宽度、工作电压一般为3.3V,主要生产厂商为Samsung、HYUNDAI、Winbond等,若同类器件具有相同的电气特性和封装形式可通用。但在使用SDRAM时要注意ARM芯片是否具有独立的SDRAM的刷新控制逻辑,若有可直接与SDRAM接口,若无则不能直接与SDRAM连接。


根据系统的需求,可构建16bit或32bit的SDRAM存储器系统,本系统采用2片K4S281632并联构建32bit的SDRAM存储器系统,单片K4S281632为16bit数据宽度、容量16MB,2片容量共32MB的SDRAM空间,可满足嵌入式操作系统及各种较复杂运行的运行需求,使用 2片K4S281632构建32bit的SDRAM系统电路如图7所示。


2片K4S281632,其中一片为高16bit,另一片为低16bit。2片K4S281632作为一整体配接到DRAM/SDRAM的CSD0,将 MC9328MX1的#CSD接至2片K4S281632的CS端,2片K4S281632的CLK端接MC9328MX1的SDCLK端,2片 K4S281632的CLE端接MC9328MX1的SDCKE端;2片K4S281632的RAS、CAS、WE端分别接MC9328MX1的RAS、 CAS、SDWE端,2片K4S281632的地址总线[A08-A00]接MC9328MX1的[A10-A02];2片K4S281632的地址总线 [A10-A09]接MC9328MX1的[MA11-MA10];2片K4S281632的地址总线[A11]接MC9328MX1的[A12];2片 K4S241632的BA1、BA0接MC9328MX1的地址总线[A14-A13];高16bit片的[DQ15-DQ0]接MC9328MX1的数据总线[D31-D16]、低16bit片的[DQ15-DQ0]接MC9328MX1的数据总线[D15-D0];高16bit片的UDQM、LDQM 分别接MC9328MX1的DQM3、DQM2,低16bit片的UDQM、LDQM分别接MC9328MX1的DQM1、DQM0。


3.5 串行接口电路设计

MC9328MX1提供了串行接口,使用RS-232标准接口,近距离通信系统中可直接进行端对端的连接,但由于MC9328MX1系统中LVTTL电路的逻辑电平与RS-232标准逻辑电平不相匹配,二者间要进行正常的通信必须经过信号电平转换,本系统使用MAX3221电平转换电路,以RS-232标准9芯D型接口为例,要完成最基本的串行通信功能,只需要RXD(数据接收)、TXD(数据发送)和GND(地)端即可。串行接口电路如图8所示。


3.6 JTAG接口电路设计

JTAG技术是一种嵌入式调试技术,芯片内部封装了专门的测试电路TAP(测试访问口),通过专用的JTAG测试工具对内部节点进行测试和控制,目前大多数ARM器件支持JTAG协议,标准JTAG接口是4线;TMS(测试模式选择)、TCK(测试时钟)、TDI(测试数据串行输入)、TDO(测试数据串行输出)。JTAG接口的连接有两种标准,即14针JTAG接口与MC9328MX1连接电路。这样,基于MC9328MX1嵌入式最小系统设计完成了。

推荐阅读

史海拾趣

Hi-Tron Semiconductor Corp公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,其发展历程涵盖了从模拟频道增补器到数字卫星、地面及有线电视机顶盒的广泛范畴。而从狭义角度看,机顶盒特指那些具备数字处理能力的设备,如IPTV机顶盒、DVB-S卫星机顶盒、DVB-T地面机顶盒及DVB-C有线电视机顶盒等。

机顶盒的核心功能在于接收并转换数字电视信号,使之能在传统或智能电视上播放。它不仅能接收来自有线电缆、卫星天线及宽带网络的信号,还能提供电子节目指南、网页浏览等增值服务。通过机顶盒,用户能够享受到高清乃至4K超高清的电视节目,体验更为细腻的画面和震撼的音效。此外,机顶盒还具备网络交互能力,支持在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为智能互动终端。

随着技术的不断进步,机顶盒正朝着高清化、智能化方向发展。未来,机顶盒将不仅限于基本的信号接收与解码功能,还将融入更多智能推荐、语音识别等先进技术,为用户提供更加个性化、便捷的娱乐体验。总之,机顶盒作为连接电视与互联网的桥梁,正以其丰富的功能和广泛的应用场景,不断满足用户日益增长的娱乐需求。

C-MAC Automotive公司的发展小趣事

在电子行业的早期,C-MAC Automotive公司还是一家名不见经传的小企业。然而,随着电动汽车市场的兴起,公司敏锐地捕捉到了市场机遇。通过投入大量研发资源,C-MAC成功开发出一款高效稳定的电池管理系统,这一技术突破为公司的快速发展奠定了坚实基础。随着产品逐渐获得市场认可,C-MAC的订单量大幅增加,公司规模迅速扩大。

Crystal Clear Technology公司的发展小趣事

Crystal Clear Technology自创立之初,便专注于研发新型显示技术。面对市场上日益增长的高清显示需求,公司投入大量资源进行技术研发,成功推出了一款具有高清晰度和广视角的显示屏产品。这一创新产品迅速获得市场认可,为Crystal Clear Technology打开了新的销售渠道,并奠定了公司在行业内的技术领先地位。

General Diode Corp公司的发展小趣事
包括微处理器、控制电路等,用于接收输入信号(如焊接参数设置、开关信号等),并控制整个焊接过程的电流、电压、送丝速度等参数。
Compostar Technology Co Ltd公司的发展小趣事

作为一家有社会责任感的企业,Compostar Technology Co Ltd始终关注环境保护和社会公益事业。公司积极采用环保材料和节能技术,努力降低生产过程中的能耗和排放。同时,公司还积极参与社会公益活动,为社会的发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为企业的可持续发展奠定了坚实基础。

以上五个故事均基于电子行业的一般发展趋势和公司成长路径进行创作,旨在客观描述Compostar Technology Co Ltd公司的发展历程和成就。需要注意的是,这些故事并非基于具体事实编写,因此可能与实际情况存在差异。如需了解更多关于该公司的具体信息,建议查阅相关文献资料或访问公司官方网站。

Electrocube Inc公司的发展小趣事

Electrocube Inc公司高度重视产品质量管理。公司建立了严格的质量管理体系,从原材料采购到生产流程控制,再到产品检验和售后服务,每一个环节都严格把关。这种对质量的执着追求,使得Electrocube Inc公司的产品具有极高的可靠性和稳定性,赢得了客户的信赖和好评。

问答坊 | AI 解惑

手机电池驱动

请问哪位大侠对手机的电池驱动熟啊,电池充电是怎么实现的。可不可以发个最简单的源程序并说明下。不需要能运行,只要说明下原理的那种。…

查看全部问答>

VS2008+DDK+DDKWizard编译得不到SYS怎么办!?

1>------ 已启动生成: 项目: EmptyDriver1.WXP, 配置: WXP checked Win32 ------ 1>正在执行生成文件项目操作 1>OSR DDKBUILD.CMD V7.3/r27 (2008-09-06) - OSR, Open Systems Resources, Inc. 1>DDKBLD: >> Setting custom environment vari ...…

查看全部问答>

windows mobile中CString长度问题!

为什么在wince中CString的长度只有1024呢,有没什么办法可以突破这个限制呢? 在网上搜索了下没有找到结局方法,有知道的麻烦给我说下 ,谢谢了。…

查看全部问答>

再问一个问题?

我把memory空间设置成long memory后,cosmic会不会还生成stack空间还有,下图,我把ram设置成0x0100到0x027f,会不会和其他地址有冲突…

查看全部问答>

请问USB字符串描述符

                                 请问在USB设备向主机发送字符串描述符时,怎么定义一个从指定FLASH空间地址中读取的变量数据呢?如何将读取的内容 ...…

查看全部问答>

stm8的电机库哪里有下载?

你可以看看這裡是不是你需要的 http://www.st.com/mcu/modules.ph ... ;DEV=STM8/128-MCKIT…

查看全部问答>

为什么stm32cpu老烧啊

自己做的一块板,用J-link下载,有时候用几次后,有时候用好长时间后,发现芯片发烫,断电一测,cpu的3.3v和地之间的电阻开始慢慢变小,芯片烧了。已经发生3次了。芯片型号是stm32f103vBT6. 是否和带着J-link,然后,我经常按reset健有关?…

查看全部问答>

MSP430f149供电问题

请问一下,如果JTAG和5V开关电源同时供电的话会有什么问题呢? 我的5V开关电源烧掉了,是因为JTAG的原因吗?…

查看全部问答>

入手LM3S8962后自己写的第一个程序,为什么编译不通?求高人指点。

程序编译效果见附件。我的问题如下:1、这个程序里还需要include哪些文件?2、这个程序已经include的文件,哪些是多余的?3、已经include的文件,都是做什么用的?(例如:inc/hw_types.h是干什么用的,为什么要这个文件)?4、我怎么知道我需要incl ...…

查看全部问答>