MCU芯片架构设计
目录

1.应用场景

- 主要是I2C\UART\SPI协议
2.Cortex-M3 MCU成本与工艺选型

- 按照晶圆进行收费,28nm,12寸晶圆,400万美金
- 晶圆是圆形的,die是方形的,会存在浪费
- productivity - 大约是理论数量(晶圆总面积/裸片面积)的50%-60%
- yield - 生产工艺问题导致在晶圆上切出的die存在问题,存在良率问题
- package - 封装,将die的IO和外部的IO连在一起
- test - 芯片测试费用,ATE测试
- IP - ARM Core,主要是license费用
- volume - 数量
- 随着生产数量增加,成本越低。

- 工艺升级,Mask费用会增加,yield也会上升,最终的单片成本会降低
- MCU在28nm或者是40nm,主要是因为MCU会高度集成一些模拟的器件Flash,AD/DA。模拟的工艺往往落后于数字,模拟工艺还停留在40nm。
- 工艺比较先进的芯片,Flash往往作为分离期间,Soc通过Flash Controller对Flash进行控制
3.Cortex-M3 MCU成本与工艺选型

- Paper Floor Plan是按照比例进行放大的,便于后端人员进行布局布线
- 面积受限于Flash和RAM模拟部分的面积
4.Cortex-M3 MCU功耗预估

- track - 指的是CMOS的高度,track越高延时越小,有9-track和12-track。
5. Cortex-M3 MCU整体架构

- core选择的是Cortex M3
- 存储系统选择:Boot-ROM、Flash、SRAM,Boot-ROM和Flash是可选择的,可以通过Boot-ROM进行启动,也可以通过Flash进行启动
- DMA配合CPU进行数据搬移,数据可以从内存中的一部分搬移到另外一部分,还可以从外设到内存,或者是从内存到外设。
- Cortex M3是一个RICS的系统,内存读写通过load-store指令,不管什么读写都需要经过寄存器间接进行load或者store。load是将数据从SRAM导入到CPU,Store是将数据从CPU导入到SRAM。
- load-store指令只能存取32bit数据,如果在内存中存取很大的数据效率就会比较低,DMA是一个硬件加速系统,可以解放CPU。
- AHB 4*2,四个Master和两个Slave
- APB不支持流水,每次固定两拍

- CPU与外设通信:中断(外设发起中断,CPU收到之后执行中断使能程序)、CPU主动查询外设的状态(对CPU的负荷要求高)、设置状态寄存器,当外设完成任务的时候将寄存器置为1,CPU读取状态寄存器(类似于邮箱通信)
6.Memory Map

- program指的是Flash,因为默认是Flash进行启动,所以首地址一般是Flash地址
- Boot-ROM进行启动,会进行地址偏移
- Reserved表示保留地址空间
- 外设是按照4K的地址均匀分布的,4K地址均匀分布,APB经过地址译码之后都是规整的。
7.MCU电路设计,系统集成-为什么设计CRG

- CRG - Clock and Reset Generator
- 时钟从PLL(A)走出之后,到达B和C的时间是不同的,所以产生了skew,Tskew = 7ns-5ns = 2ns。B和C虽然是同一个时钟,但是B和C的时钟相位不同。
- setup时间的计算就是从同一个时钟起点出发,计算寄存器的数据端和时钟端的差

- 为了让时钟从A到B和C的时间尽可能相同,可以在时钟从A点出来之后插入buffer,两个时钟路径的buffer可以不同,做时钟树的平衡。

- PLL分频,其中有很多控制。压控振荡器是通过数字系统进行控制的。
- 时钟有外部时钟和PLL时钟,可以在时钟输入端加一个Mux,当PLL时钟倍频或者分频的系数没有配置好的时侯,使用外部时钟,当PLL倍频和分频完成之后切换到PLL的时钟。
- 在DFT测试的时候,会将寄存器串联起来,寄存器反馈给PLL压控振荡器的分频或者倍频数是一直在切换(toggle)的,PLL产生的时钟就会乱掉,无法完成DFT测试。


8.MCU电路设计,系统集成-IO MAP

- wafer上切的die的越小,成本越低,die的大小取决于数字逻辑和模拟IP,还取决于边长,边长就取决于IO接口。不同时使用的接口可以进行复用。
9.系统控制器

MCU芯片架构设计的更多相关文章
- 微控制器(MCU)架构介绍
微控制器(MicroController)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM.RAM.CPU.I/O集合在同一个芯片中, ...
- 全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866 - 全文
[导读] XC866是新型8位微控制器系列(XC800)的第一代系列产品,集成高性能8051核.片内FLASH及功能强大的外设集.此外,XC800系列产品内部集成的片 内振荡器和支持3.3V或5.0V ...
- 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 : -- u-boo ...
- bootloader架构设计
G-boot架构设计 第一阶段程序设计 1.0.核心初始化: 1.设置中断向量表 2.设置处理器为svc模式 3.关闭看门狗 4.关闭所有中断 5.关闭mmu和cache 6.外设基地址初始化 ...
- NVIDIA Turing Architecture架构设计(下)
NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...
- NVIDIA Turing Architecture架构设计(上)
NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领 ...
- 浅谈 jQuery 核心架构设计
jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- 解构C#游戏框架uFrame兼谈游戏架构设计
1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...
- VICA 架构设计(1)
本文记录最近完成的一个通用实时通信客户端的架构. 背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 A ...
随机推荐
- 基于LSTM的股票价格预测模型【附源码】
导语 本文介绍了LSTM的相关内容和在股票价格预测上的应用. LSTM的股票价格预测 LSTM(Long Short Term Memory)是一种 特殊的RNN类型,同其他的RNNs相比可以更加方便 ...
- hello Flask最简单的Flask项目
# 1.导包 from flask import Flask # 2.实例化Flask对象.一般变量名都叫app,大家都是这样用,很多扩展插件的文档也是叫app,所以统一都叫app. # __name ...
- 一键式调试工具—Reqable 使用指南
简介 Reqable是一款跨平台的专业HTTP开发和调试工具,在全平台支持HTTP1.HTTP2和HTTP3(QUIC)协议,简单易用.功能强大.性能高效,助力程序开发和测试人员提高生产力!本产品需要 ...
- Prometheus 监控告警系统搭建(对接飞书告警)
Prometheus 是一套开源的系统监控报警框架,非常适合大规模集群的监控.它也是第二个加入CNCF的项目,受欢迎度仅次于 Kubernetes 的项目.本文讲解完整prometheus 监控和告警 ...
- 掌数科技携手华为云GaussDB,助力金融科技创新,联合打造行业标杆
本文分享自华为云社区<掌数科技携手华为云GaussDB,助力金融科技创新,联合打造行业标杆>,作者:GaussDB 数据库 . 近日,在华为开发者大会2023(Cloud)的"G ...
- 伯克利:serverless是下一代计算范式
摘要:Serverless技术正是云厂商的基于规模经济的一个选择. 引子 刚过去的HC2020,华为面向多样化算力的时代,发布了DC分布式计算的三个开发套件,其中一个是元戎组件.元戎是基于函数计算的分 ...
- 开发调试更便捷!火山引擎 DataLeap 提供 Notebook 交互式开发体验
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 Notebook 是一种支持 REPL 模式的开发环境. 所谓「REPL」,即「读取-求值-输出」循环:输入一段代 ...
- Windows 2016 安装 Jenkins
Docker Jenkins 安装配置 Windows 2016 安装 Jenkins Jenkins + SVN Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 ...
- Nginx 四层代理配置
四层代理比较方便.简单,nginx.conf 如下 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log lo ...
- RocketMQ事务消息在订单创建和库存扣减的使用
前言 下单的过程包括订单创建,还有库存的扣减,为提高系统的性能,将库存放在redis扣减,则会涉及到Mysql和redis之间的数据同步,其中,这个过程还涉及到,必须是订单创建成功才进行库存的扣减操作 ...