目录

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芯片架构设计的更多相关文章

  1. 微控制器(MCU)架构介绍

    微控制器(MicroController)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM.RAM.CPU.I/O集合在同一个芯片中, ...

  2. 全球主流8位MCU芯片详细解剖No.2:英飞凌 XC866 - 全文

    [导读] XC866是新型8位微控制器系列(XC800)的第一代系列产品,集成高性能8051核.片内FLASH及功能强大的外设集.此外,XC800系列产品内部集成的片 内振荡器和支持3.3V或5.0V ...

  3. 【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boo ...

  4. bootloader架构设计

    G-boot架构设计 第一阶段程序设计 1.0.核心初始化:     1.设置中断向量表 2.设置处理器为svc模式 3.关闭看门狗 4.关闭所有中断 5.关闭mmu和cache 6.外设基地址初始化 ...

  5. NVIDIA Turing Architecture架构设计(下)

    NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...

  6. NVIDIA Turing Architecture架构设计(上)

    NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领 ...

  7. 浅谈 jQuery 核心架构设计

    jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...

  8. 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

    一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...

  9. 解构C#游戏框架uFrame兼谈游戏架构设计

    1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...

  10. VICA 架构设计(1)

    本文记录最近完成的一个通用实时通信客户端的架构.   背景 我们公司是做税务相关的软件,有针对大客户 MIS 系统,也有针对中小客户的 SaaS 平台.这些系统虽然都是 B/S 的,但是也需要使用 A ...

随机推荐

  1. Kernel Memory 入门系列:Kernel Memory Service

    Kernel Memory 入门系列:Kernel Memory Service 在 Kernel Memory 的 GitHub 仓库中有一个单独的项目 Service , 用于提供独立的Kerne ...

  2. python tkinter 使用(六)

    python tkinter 使用(六) 本文主要讲述tkinter中进度条的使用. 1:确定的进度条 progressbar = tkinter.ttk.Progressbar(root, mode ...

  3. Sliver 二开准备

    cs被杀麻了,最近打算看看一下sliver的源码进行一下二开,这篇是记录遇到的一些问题 编译sliver Windows下 官方说用MingW,但是我自己用他带的make不行, ​​ ‍ 下载make ...

  4. cs上线Linux

    cs上线Linux 下载和配置crossC2 首先到项目地址:https://github.com/gloxec/CrossC2/releases下载两个文件 后缀为.cna的为cs的插件文件,启动c ...

  5. Python笔记二之多线程

    本文首发于公众号:Hunter后端 原文链接:Python笔记二之多线程 这一篇笔记介绍一下在 Python 中使用多线程. 注意:以下的操作都是在 Python 3.8 版本中试验,不同版本可能有不 ...

  6. Office 2016 2019 2021 正版部署

    教学视频:https://www.youtube.com/watch?v=VSjRx7Hoa60 文章摘抄自零度解说:https://www.freedidi.com/6619.html 1.offi ...

  7. 用Python来查询聊天记录

    用Python来查询聊天记录 代码 import re def Start(First_Date, Second_Date, First_Name, Second_Name): First = re. ...

  8. Spring源码学习笔记7——Spring bean的初始化

    一丶前言 上篇中我们了解了Spring bean的实例化--存在方法覆盖的使用CGLIB动态代理生成子类,反之反射调用构造函数.实例化后bean中的字段都是默认值,接下来就是对bean的属性进行填充, ...

  9. 通过鼠标拖拉获取图片原像素的两个点坐标vue

    <template> <div> <img class="no-drag" ref="image" src="https ...

  10. C# 将Word转为PDF时,设置PDF文档保护

    本文以C#代码示例展示如何将Word转为PDF时,设置PDF文档保护,可设置PDF文档打开密码保护以及权限密码保护.附VB.NET代码,有需要可供参考. 程序环境: 1.Word测试文档:.docx ...