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 ...
随机推荐
- Intellij IDE 对接SVN
1.安装SVN(SVN安装包见附件) 注意安装时需要选择第二个选项进行安装 2.安装SVN中文包(见附件) 安装完成后随便找个文件夹右键确认SVN安装是否生效 3.Intellij IDE得Setti ...
- AutoGPT实战
1.概述 人工智能(AI)的能力持续在全球范围内引起轰动,并对我们日常生活和职业生涯带来重大变革.随着像ChatGPT这样的先进生成型AI模型以及从GPT-3到GPT-4的加速,我们在高级推理.理解更 ...
- Dart 3.2 更新盘点
作者 / Kevin Moore 和 Michael Thomsen 我们隆重宣布推出 Dart 3.2,这一版本针对以下方面做出了改进: 新增了一项语言功能,可对私有 final 字段进行非空升级: ...
- 面试题:Java中的引用类型有哪几种?特点是什么?
Java中引用类型及特点 强 引用: 最普通的引用 Object o = new Object() 软 引用: 垃圾回收器, 内存不够的时候回收 (缓存) 弱 引用: 垃圾回收器看见就会回收 (防止内 ...
- 如何使用.NET在2.2秒内处理10亿行数据(1brc挑战)
译者注 在上周我就关注到了在github上有1brc这样一个挑战,当时看到了由Victor Baybekov提交了.NET下最快的实现,当时计划抽时间写一篇文章解析他的代码实现,今天突然看到作者自己写 ...
- 理论+示例,详解GaussDB(DWS)资源管理
摘要:合理地管理和分配系统资源,是保证数据库系统稳定高效运行的关键. 本文分享自华为云社区<GaussDB(DWS)资源管理能力介绍与应用示例>,作者: 门前一棵葡萄树 . 一.资源管理能 ...
- 支持60+数据传输链路,华为云DRS链路商用大盘点
如今,业务上云已是时代潮流,技术的迅猛发展也使得上云变得愈发轻松起来.但在实际迁移过程中,客户仍会担心以下问题:不同数据库之间能迁吗?迁移前后数据不一致怎么办?可以不停机迁移吗-- 迁移毕竟是项大工程 ...
- 物联网企业该如何与华为云合作,这份FAQ值得一看
摘要:关于华为云DevRun智联生活行业加速器,梳理出伙伴和企业最关心的问题,并逐一解答. 自华为云DevRun智联生活行业加速器发布以来,一直在为产业链上下游的企业提供技术.生态建设.商业变现等资源 ...
- Error: Could not find or load main class org.elasticsearch.tools.java_version_checker.JavaVersionChecker
把elasticsearch目录换到不属于root目录的其他目录就行了
- 提速 10 倍!深度解读字节跳动新型云原生 Spark History Server
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前不久,在 6月29日 Databricks 举办的 Data + AI Summit 上,火山引擎向大家首次介绍 ...