浅析嵌入式MCU硬件设计方案

发布者:Qinghua2022最新更新时间:2020-03-04 来源: eefocus关键字:嵌入式  MCU  硬件设计 手机看文章 扫描二维码
随时随地手机看文章

1 引言

目前,集成电路的嵌入式技术发展越来越快,各色嵌入式产品也越来越受欢迎,尤其是以大屏幕多功能的手机、平板电脑等为典型代表,做为其控制核心的高性能、低功耗的微控制器(MCU)起到了决定性作用。因此以CPU为核心MCU的设计也成为了诸多高等院校、各大公司进行市场竞争的一个主流发展方向。


2 MCU选型技术

微控制器(MCU)的应用领域非常广泛,如消费类电子市场中的手机、照相机、摄像机、MP3、MP4、平板电脑、笔记本电脑、PC机、各种遥控电动玩具等,还有汽车电子的电子钥匙、控制系统、导航、倒车影像、倒车雷达等,还有各种安全防卫系统、医疗器械、工业控制、武器装备、航空航天等各个领域。因此在设计MCU之前需要进行明确的市场定位,从而使目标产品有的放矢,并在高性能、低成本、多功能、轻体积、低功耗、高可靠、散热好、抗辐照、抗单粒子、适应超高温和超低温等方面具有很强的竞争力。MCU硬件设计主要包括两大部分:CPU选型和外围IP核的选取。


3 CPU选型

CPU作为MCU的大脑,起到控制核心的作用,基本上决定了MCU的目标应用领域,因此CPU的选型是设计MCU的关键。目前,可以用于集成电路嵌入式设计的CPU主要有CISC架构的80386EX,RISC架构的ARM7TDMI/EJ、ARM926EJS/946ES/968ES、ARM1136/56/76、ARMCortex-A5/7/8/9/15、ARMCortex-R4/5/7、ARMCortex-M0/0+/1/3/4、SecurCore000/100/300、MIPS32M4K/4K/14K/24K/34K/74K/1004K/1074K、microMIPS32、SmartMIPS、Nios/NiosII、PowerPC40x/60x/70x/90x、SPARCv7/8/9、LEON2/3/4、OR1000/1200等,其中以ARM系列嵌入式CPU发展的势头最为迅猛,占据了嵌入式处理器绝大部分的市场份额,而且还在继续增长。各家公司的每种处理器都有自己的特点,可以满足不同的应用需求。此外,开发环境的完备性、总线接口协议的高效性、技术支持的专业性、IP核种类的丰富性、设计资源的开放性以及设计者的使用习惯等,都会对CPU的选型产生决定性的影响。


4 外围IP选取

对于应用领域而言,外围IP核起到了很好的支撑作用,因为如果把MCU比作“人”,则外围IP核相当于MCU的“眼”“耳”“口”“鼻”等重要器官,所以外围IP核的选取也同样至关重要。IP核的选取包括通用IP核和特定用途IP核两种。


4.1 通用IP选取

目前,通用IP核的种类比较繁多,按照总线接口协议可以分为IBM公司的Core Connect、ARM公司的AMBA(Advanced Microcontroller Bus Architecture)和Silicore Corp公司的Wishbone等;按功能分为接口类IP核如DMA、GPIO、UART、USART、TImer、WDT、I2C、I2S、SPI、CAN、存储器控制器,图像处理类IP核等;存储器类IP核如ROM、RAM、SRAM、FLASH等。根据功能不同可以进行不同的选择,还可以集成几个相同功能的IP核,如UARTx4有4个UART接口,I2Cx2则是有2个I2C接口等。


4.2 特定用途IP选取

特定功能的IP核种类也很多,如时钟类的PLL、片上高精度振荡器,模数转换类的AD、DA,网络类的ETHERNETMAC/PHY、Modem,图像处理类的H.264、JPEG,接口类的USB2.0/3.0、IDE、SATA等,高速接口类的LVDS、RapidIO、SerDes等,还有各种传感器等,需要根据市场定位来确定。


5 MCU设计

5.1 硬件设计

目前,Samsung、FreeScale、Atmel、NXP、TI、ST等大公司已经大规模推出各类MCU,而且各具特色,因此设计具有自主知识产权的MCU应在系统架构等方面有别于这些大公司,一是避免侵权,二是更有利于市场竞争。同时应做好产品的规划:从简单到复杂,从单一产品到系列产品,设计平台不断维护与更新,设计软件不断维护与升级,设计人员的水平不断提高。主要包括以下几个方面:

(1)体系架构分析、设计和验证

依据设计规格书中的性能指标和功能指标,首先需要制定设计方案:选取几款CPU以及所有用到的IP核进行系统级设计,从整体上评估MCU的系统架构、CPU的性能指标、IP核的功能特性等方面。基于几种选定的目标工艺给出相应的数据分析,确认是否能够满足设计目标的要求,从而确定基本的设计方案,然后再根据具体的设计结果进行相应的优化。

(2)时钟和复位方案设计

时钟和复位对整个电路而言起到了至关重要的作用。如果这两路信号有问题,则电路不能正常工作。因此,需要作出详尽的时钟方案和复位方案,需要给不同的外设提供不同的时钟:USB单独时钟、CPU等高速外设一个时钟、UART等低速外设一个时钟,如图1示。

浅析嵌入式MCU硬件设计方案

图1时钟方案示意图


(3)总线方案设计

采用何种总线、何种组合方式、总线的数量等关系到MCU性能的发挥。以AMBA总线为例,通常的用法是AHB接高速外设,再通过AHB到APB总线桥来访问低速外设。有时为了提高外设的访问速度,一个MCU内部可能有两条APB总线;也可能有两条AHB总线。指令和数据分离,一条用来数据传输或图像处理,另一条用来通用控制。还可能有多层AHB的互连矩阵,便于多个Master可以同时访问多个不同的高速外设,从而大幅度提高MCU系统性能。因此,总线方案的制定须依据产品的具体应用来确定。

(4)功耗管理方案设计

低功耗是MCU的突出特点之一,因为MCU中集成了多种低功耗管理策略:不仅在逻辑上采用门控时钟、门级优化的方式,而且还在物理上采用多阈值电压、多电源域、门控电源等方式;同时更在功能模式上采用了多种模式:正常运行模式、睡眠模式、深度睡眠模式、掉电模式等,并严格规定各种模式下运行和关闭IP核的种类以及各种模式之间的进入和退出流程。这既保证了电路的功能,又保证了电路的性能。

(5)中断处理方案设计

中断是MCU一项很重要的功能。通过中断控制,CPU可以快速响应外设的请求。中断处理一般包括中断源的数量、优先级、是否可屏蔽、是一般中断还是快速中断等,通常需要设计一个专用模块来进行中断处理。有时为了提高设计效率,IP销售商也提供标准的基于AHB或APB等总线接口协议的IP核。如果此类IP核能够满足系统对于中断处理情况的要求,也可以选用。

(6)存储器管理方案设计

存储器是MCU中占面积较大的模块。一个MCU中可能同时含有ROM、SRAM和FLASH三种存储器:ROM用于放置Boot Loader、IP Drivers等,SRAM用于提高软件运行速度、存放临时数据,FLASH用于存放应用程序和数据。由于FLASH的读写速度比较慢,为了提高FLASH的读写速度,可以采用预取缓冲器和写缓冲器来加速指令和数据的缓冲。由于各个存储器都有自己的地址空间,因此很方便用户访问。为了便于系统管理,通常设计一个存储器管理模块,并在系统控制模块中设计对应的控制寄存器。

(7)在线调试方案设计

目前,比较常用的在线调试方式为串行调试,如JTAG、EJTAG、UART等,使用PC机的并口、串口、网口或是USB接口,使得在线调试简单方便,成本低廉,如图2所示。由于被调试的程序要在目标板上运行,而且MCU必须正常工作,因此需要设计一个专用的调试模块以保证上位机软件可以调用CPU来进行软硬件的在线调试,并且符合IEEE1149.1的协议标准,此模块的基本结构如图3所示。

浅析嵌入式MCU硬件设计方案

图2典型在线调试系统示意图

浅析嵌入式MCU硬件设计方案

图3调试结构示意图


(8)测试方案设计

MCU的测试方案主要包括物理测试、功能测试和性能测试几部分内容。先要根据时钟方案和复位方案对MCU进行时钟测试,确保时钟电路工作正常;再对CPU进行功能测试,因为CPU是MCU的控制核心,只有CPU正确运行才能对其他IP核进行测试;然后再依据设计规格书对MCU外围的数字IP核和模拟IP核进行功能测试和性能测试。


5.2 系统级验证

为了确保设计的正确性,流片之前必须对MCU进行全功能验证。因此需要使用多种IIP和VIP来搭建一个系统级验证平台,依据设计规格书制定详细的验证方案,通过仿真工具,采用定向和随机的方式或采用比较流行的OVM、VMM和UVM等验证方法学、逐个IP核来验证MCU的全部功能是正确的,重点是系统控制单元、总线仲裁器、功耗管理等为系统功能定制设计的非标准模块。


5.3 FPGA原型验证

由于系统级验证使用的是EDA工具进行软件仿真,仿真的速度比较慢,因此可以通过FPGA原型验证的方式来加速系统级验证的速度,尤其是需要将那些功能比较复杂、规模比较大的模块下载到FPGA中,而且应尽可能使用规模比较大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA验证平台时,不仅可以使用一块FPGA,也可以使用多块FPGA,最好能够将设计的所有模块全部下载到FPGA中。FPGA原型验证不仅要验证硬件的正确性,还要验证IP核驱动程序的正确性,同时也可以验证目标应用程序的正确性。


5.4 物理设计

在对MCU系统级验证和FPGA原型验证后,需要进行物理设计:依据设计规格书制定合理设计约束,从逻辑综合到自动布局布线,再到物理验证、形式验证、静态时序分析和功能验证,完成从RTL到GDSII的转换过程,最后将数据发送至代工厂进行加工制造。


5.5 文档设计

文档是MCU设计过程中很重要而且很必要的环节,且应该在设计的不同阶段,以模板的形式规定在此阶段所要完成的文档设计,并由项目负责人进行详细审查,从而确保一旦设计中出现了任何问题,都可以查找相关的设计文件以及对应的设计文档,尤其是设计的细节需要体现的很完整。


6 结束语

以上只是简要概述了MCU硬件设计的主要方面。若要设计一个性价比高、竞争力强的MCU,还需要进行大量的、详细的工作,尤其是电路的全功能验证和详尽测试,并搭建一个MCU平台来进行系列产品的开发,以保证产品可以源源不断地进入嵌入式市场。

关键字:嵌入式  MCU  硬件设计 引用地址:浅析嵌入式MCU硬件设计方案

上一篇:LPC2148的IAP烧写程序
下一篇:ARM嵌入式系统的中断服务例程跳转

推荐阅读最新更新时间:2024-11-08 17:29

利用MCS-51单片机PWM信号进行舵机控制
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 图1 舵机的控制要求 舵机的控制信号是PW
[单片机]
利用MCS-51<font color='red'>单片机</font>PWM信号进行舵机控制
从LCD电极读数的单片机接口技术
   摘要 以测量仪表中常见的时分割驱动法驱动的段式LCD显示器为例,分析LCD显示器的电极连接结构和驱动信号波形;介绍单片机读取仪表LCD读数的接口电路。此接口电路应用于笔者开发的自动血压监控仪的研制及临床应用项目中,由8031单片机读取血压计的收缩压、舒张压、心率以及充气和放气时瞬时压强。实验证明,此接口电路工作稳定、可靠。    关键词 LCD电极 读数 时分割驱动法 接口设计   通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式。通常,接口电路从仪表电路中取得相关的模拟信号,经过A/D转换或V/F 转换送入单片机;或者取得一个频率信号,经整形后送入单片机 。然而,有些测量仪表电路中可能找不到这样的信号。
[单片机]
基于单片机的照明控制的可编程4 路无线开关系统的设计
1 设计方案 随着电子技术的不断发展,无线技术在智能化中扮演着越来越重要的角色。本设计是一种能实现远距离照明控制的无线遥控开关系统,由发射系统和接收系统两部分组成。系统使用无线收发模块构成射频发射和接收电路,发射部分主要由按键编址电路、编码电路和发射模块组成; 接收部分主要由接收模块、单片机控制电路和负载电路组成。 发射系统采用1 节12 V 干电池供电,接收系统采用3 节1.5 V 干电池供电,单片机采用5 V 直流电源供电,电源系统节能、简便。 2 系统实现 2.1 元件选取及系统框图 考虑到系统的兼容性、实用性、低成本和节能性, 选用AT89S52 单片机, 用PT2262/2272 无线收发模块
[单片机]
基于<font color='red'>单片机</font>的照明控制的可编程4 路无线开关系统的设计
结合单片机学习板学习c语言之流水灯制作--intrins.h头文件
目的:实现流水灯。 源程序: /*本程序结合STC89C51使用,晶振12M,中间用到串口中断子程序是利用STC单片机的自定义ISP下载功能,自定义下载命令是FEH,关于自定义下载请参考《用51单片机就用STC51,手把手教你STC51的ISP》*/ #include at89x51.h //#include reg51.h #include intrins.h #include stdio.h sfr ISP_CONTR =0xE7; delay_05s() { int i; i=647395; for(;i!=0;i--); } void serial() interrupt 4 //编号
[单片机]
51单片机PID算法程序(三)增量式PID控制算法
当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的 增量算法 。 增量式PID控制算法可以通过(2-4)式推导出。由(2-4)可以得到控制器的第k-1个采样时刻的输出值为: (2-5) 将(2-4)与(2-5)相减并整理,就可以得到增量式PID控制算法公式为: (2-6) 其中 由(2-6)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(2-6)求出控制量。 增量式PID控制算法与位置式PID算法(2-4)相比,计算量小得多,因此在实际中得到广泛的应用。
[单片机]
51<font color='red'>单片机</font>PID算法程序(三)增量式PID控制算法
51单片机的指令周期
8051芯片内部有一高增益反相放大器,用于构成振荡器,反向放大器输入端为XTAL1,输出端XTAL2。在XTAL1和XTAL2两端跨接一个石英晶体及两个电容就构成了稳定自激振荡器,电容器C1和C2通常都取30pF左右,对振荡频率有微调作用。振荡频率范围是1.2-12MHz。 8051也使用外部震荡脉冲信号,由XTAL2端引脚输入,XTAL1端接地,外部震荡脉冲源方式常用于多块8051同时工作,以便于同步。晶体振荡器的振荡信号从XTAL2端输出到片内的时钟发生器上,时钟发生器是一个二分频触发电路,它将振荡器的信号频率fosc除以2,向CPU提供两相时钟信号P1和P2。 时钟信号的周期称为机器状态时间S,CPU就以两
[单片机]
51<font color='red'>单片机</font>的指令周期
STC8系列单片机硬件I2C使用教程(二)
一、I2C相关的寄存器 STC8系列单片机硬件I2C使用教程(一) 二、I2C中断相关的寄存器 ① I2C中断源 ② I2C中断允许位 ③ I2C中断标志位 三、程序编写 ① 寄存器和相关宏定义 sfr P_SW2 = 0xBA; //外设端口切换寄存器 2 #define I2CCFG (*(unsigned char volatile xdata *)0xfe80) #define I2CMSCR (*(unsigned char volatile xdata *)0xfe81) #define I2CMSST (*(unsigned char volatile xdata *)0xfe82)
[单片机]
STC8系列<font color='red'>单片机</font>硬件I2C使用教程(二)
基于S3C2410的嵌入式Linux系统构建
目前,在嵌入式系统中基于ARM微核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用,建立面向ARM构架的嵌入式操作系统成为当前研究的热点问题。   已经涌现出许多嵌入式操作系统,如VxWork,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM920T内核的微处理器,基于此处理器构造一Linux嵌入式操作系统,将其移植到基于32位的ARM920T内核的系统中,在此基础上进行应用程序开发。 l开发环境介绍 1.1 基于S3C2410 ARM920T的硬件平台 该系统
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved