【嵌入式系统】第4章 嵌入式最小系统,供电电路,时钟电路,复位电路,程序下载电路

 关注作者了解更多

我的其他CSDN专栏

过程控制系统

工程测试技术

虚拟仪器技术

可编程控制器

工业现场总线

数字图像处理

智能控制

传感器技术

嵌入式系统

复变函数与积分变换

单片机原理

线性代数

大学物理

热工与工程流体力学

数字信号处理

光电融合集成电路技术

电路原理

模拟电子技术

高等数学

概率论与数理统计

数据结构

C语言

模式识别原理

自动控制原理

数字电子技术

关注作者了解更多

资料来源于网络,如有侵权请联系编者

目录

典型嵌入式系统组成

基于AMBA总线的嵌入式处理器

基于AMBA总线的嵌入式处理器

4.1嵌入式最小系统组成

4.2嵌入式处理器选型

功能参数与非功能参数选择、

4.3  供电模块设计

嵌入式系统电源需求

降压型电源设计

利用LDO进行电源变换(5V到3.3V)

升压型电源设计 

升压型电源设计实例(1.5V到5V)

隔离型电源设计

隔离电源设计(5V到12V隔离变换) 

STM32F10x电源设计

4.4 时钟与复位电路设计

  STM32F10x时钟电路

复位模块

简单复位电路

专用复位芯片构建的复位电路

4.5 调试接口设计

JTAG调试接口设计

SWD调试接口设计

4.6 存储器接口设计

STM32F10x ARM Cortex-M3微控制器地址分布

片内存储器     

片外存储器


典型嵌入式系统组成

基于AMBA总线的嵌入式处理器

基于AMBA总线的嵌入式处理器

4.1嵌入式最小系统组成

   嵌入式最小硬件系统是嵌入式应用系统最简单、最基本、不可或缺的硬件系统,简称最小系统。

4.2嵌入式处理器选型

   嵌入式处理器芯片品种繁多,各有特色,其选型应该遵循以下总体原则:性价比越高越好。

 (1)性能:应该选择完全能够满足功能和性能要求且略有余量的嵌入式处理器,够用就行。

 (2)价格:在满足需求的前题下选择价格便宜的。 除了上述总体选择原则外,还可以考虑参数选择原则。可分为功能性参数选择和性能参考选择。

功能参数与非功能参数选择、

功能参数:包括内核类型、处理速度、片上Flash及SRAM容量、片上集成GPIO、内置外设接口、通信接口、操作系统支持、开发工具支持、调试接口、行业用途等。

非功能性需求:是指为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术/对业务的适应性等。     有工作电压要求、工作温度要求、体积及封装形式、功耗与电源管理要求、价格、供货、抗干扰能力与可靠性、支持的开发环境及资源的丰富性

4.3  供电模块设计

   供电模块设计是整个系统工作的基础,极其重要。电源模块好,系统故障往往减少一大半。

供电模块设计应考虑的因素

(1)输出的电压、电流(按硬件系统需要的最大功率)

(2)输入的电压、电流(直流/交流,输入电压和电流)

(3)安全因素(是否需要本安型电源)

(4)电磁兼容

(5)体积限制

(6)功耗限制

(7)成本限制

嵌入式系统电源需求

    根据具体嵌入式应用系统的需求,系统需要的主要电源电压:24V、12V、5V、3.3V、2.5V、1.8V等。

    最小系统涉及的电源主要是为嵌入式处理器供电,包括处理器内核电源、数字部分电源、模拟部分电源以及实时钟RTC电源等,通常内核电源电压包括存储器接口所需电源如1.8V,而数字和模拟部分通常为3.3V,实时钟电源1.8V到3.6V等,设计这部分电源用的最多的是LDO降压型稳压器如1117系列。

降压型电源设计

典型的低差压稳压LDO芯片主要用于嵌入式处理器供电。  

  (1) AS2815-XX系列:有1.5V、2.5V、3.3V、5V,输入电压高于输出电压0.5-1.2V,小于等于7V。    

(2) 1117-XX系列(AMS、LM、SPX、TS、IRU等前缀) :有1.8V、2.5V、2.85V、3.3V和5V,输入电压为XX+1.5V-12V,输出电流800mA,输入高于输出1.5V以上。    

(3) AMS2908-XX系列:有1.8V、2.5V、2.85V、3.3V和5V,输入电压为XX+1.5V-12V,输出电流800mA,输入高于输出1.5V以上。     

(4) CAT6219系列:有1.25V、1.8V、2.5V、2.8V、2.85V、3.0V、3.3V,500mA。

利用LDO进行电源变换(5V到3.3V)

升压型电源设计 

AIC1642系列可以工作在0.9V的DC-DC芯片,可变换成的电压有2.7V、3.0V、3.3V和5V。典型应用电路如图4.5所示。假设Vin为一节电池(1.2V~1.5V)的输出电压,输出可以选择2.7V到5V四个电压等级的电压输出。 类似AIC1642的芯片还有XC6382、XC6371、RT9261B、HT77XX、BL8530、AIC1642、S8351以及HMXX1C等。一般要求最低输入电压0.8V,最高不超过12V,输出电流可达500mA~700mA。    

升压型电源设计实例(1.5V到5V)

隔离型电源设计

    对于需要隔离的电源可使用DC-DC隔离模块,主要有1W和2W两种主要隔离模块,典型代表包括B0305、B0505、B0509、B0512、B0524、B1205、B1212、B1224、B2405、B2412以及B2424等。隔离电压通常高于2000V,这些隔离型DC-DC模块在抗干扰要求高的场合非常有用,缺点是代价高。图4.6为5V变换为24V的隔离DC-DC模块引脚示意图,输入5V,通过隔离变换为24V输出。可以只设计一路电源,需要多路时可用隔离型DC-DC模拟变换成不同电压等级的电源。  

隔离电源设计(5V到12V隔离变换) 

STM32F10x电源设计

   STM32F10x有四组电源,此外模拟信号通道电流输出还需要12V电源,因此要通过5V产生3.3V及12V等数字和模拟电源,电路构成如图4.7所示。    

4.4 时钟与复位电路设计

    时钟电路及时钟源选择。嵌入式处理器的工作需要外部或内部提供时钟信号,按照时钟的序列执行。不同处理器要求的时钟最高频率不同,而嵌入式微控制器内部有时钟电路,外部仅需提供晶体和两只电容,加上电源 。

  STM32F10x时钟电路

   STM32F10x系列微控制器有四种不同的时钟源可供不同用途来选择:  

 (1) HIS(高速内部时钟8MHz)振荡器时钟  

 (2)HSE(高速外部时钟4~16MHz)振荡器时钟  

 (3)40kHz低速内部RC    

(4) 32.768kHz低速外部晶体

复位模块

    处理器正常工作必须在上电时能够可靠复位,让CPU找到第一条指令对应的地址去执行。ARM处理器(除ARM Cortex-M复位向量为0x00000004外)复位后PC指针指向唯一的地址0x00000000,复位向量Reset_Handler指向复位处理入口。

简单复位电路

专用复位芯片构建的复位电路

4.5 调试接口设计

   现代嵌入式处理器片内都集成了逻辑跟踪单元与调试接口,主要用于开发调试。

JTAG调试接口设计

   JTAG(Joint Test Action Group;联合测试工作组)标准,JTAG是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。JTAG接口关键的信号有:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

SWD调试接口设计

SWD(Serial wire Debug)调试接口,即串行线调试接口。

4.6 存储器接口设计

    ARM处理器的程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址    空间内,即存储器与I/O采用统一编址。并且数据字以小端格式存放在存储器中。一个字的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。 可访问的存储器空间被分成8个主要块(block0~block7),每个块为512MB。典型ARM Cortex-M3微控制器STM32F10x系列存储器分布如表4.1所示。

STM32F10x ARM Cortex-M3微控制器地址分布

片内存储器     

     片内存储器是指嵌入式处理器内部已经嵌入了的存储器,包括Cache(高速缓冲存储器)、Flash、E2PROM和SRAM。 嵌入式微处理器内部大都集成了Cache,有的将数据Cache(D_Cache)与指令Cache(I_Cache)分离,以减小访问外部存储器的次数,提高处理速度。

     在嵌入式微控制器内部都集成了Flash以便存储程序,集成了SRAM以存储数据,也有许多嵌入式微控制器内部集成E2PROM或FRAM,以存储设置参数或采集的数据并在掉电时信息不至丢失。

片外存储器

    对于内置Flash不能满足系统需求或内部没有Flash的嵌入式处理器,必须进行外部存储器的扩展。外部存储器的扩展是靠ARM内核提供的高带宽外部存储器控制器接口完成的。不同内核的ARM芯片,其外部存储器控制接口所支持的外部存储器的容量大小有差别,但原理都是一样的。

(1) 片外程序存储器。片外程序存储器目前主要使用NOR Flash和NAND Flash。

(2) 片外数据存储器。嵌入式系统使用的外部数据存储器有SDRAM、DDR/DDR2/DDR3/DDR4等。

辅助存储器

     基于Flash的闪存卡(Flash Card)是利用闪存技术存储信息的存储设备,一般应用在数码相机、掌上电脑、MP3等小型嵌入式数码产品中作为外部存储介质。它如同一张卡片,所以称之为闪存卡或存储卡。

    根据不同的生产厂商和不同的应用,闪存卡大概有SM (Smart Media)卡、CF(Compact Flash)卡、MMC(MultiMedia Card)卡、SD(Secure Digital  Card)卡、记忆棒(Memory Stick)、XD卡(XD Picture Card) 、 U盘(USB flash disk,USB闪存盘) 等等。

外部存储器扩展

    外部存储器的扩展可以采用并行方式扩展,也可以采用串行方式扩展。

(1)并行存储器扩展。就是利用嵌入式处理器片内外部总线接口EBI或存储器控制器接口FSMC相关信号来连接外部存储器,达到扩展的目的。不同厂家ARM处理器其EBI或FSMC信号的定义各不相同。

   (2)串行扩展存储器。就是利用通常SPI接口或I2C接口来扩展串行方式的存储器,这种方式的优点是节省大量I/O引脚。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/62616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

期权懂|交易个股期权需要注意哪些风险?

期权小懂每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 交易个股期权需要注意哪些风险? 一、交易个股期权需要注意合约到期风险: 需关注到期日,及时平仓或行权,避免合约作废。二、交易个…

MVC配置文件配置及位置

配置文件位置 默认位置 WEB-INF目录下&#xff1a;-servlet.xml 指定位置 在web.xml中配置 DispatcherServlet中的contextConfigLocation属性可以指定配置文件位置 确保配置文件存在于类路径&#xff08;Resources&#xff09;下 web.xml <?xml version"1.0" …

可视化逻辑表达式编辑器

优质博文&#xff1a;IT-BLOG-CN 一、QueryBuilder介绍 QueryBuilder 是一个用于创建查询和过滤器的 UI 组件。 QueryBuilder的特点 1、支持的输入属性丰富&#xff0c;常见的 字符串&#xff0c;整数&#xff0c;浮点数&#xff0c;布尔类型&#xff0c;日期类型&#xff0…

若依将数据库更改为SQLite

文章目录 1. 添加依赖项2. 更新配置文件 application-druid.yml2.1. 配置数据源2.2. 配置连接验证 3. 更新 MybatisPlusConfig4. 解决 mapper 中使用 sysdate() 的问题4.1. 修改 BaseEntity4.2. 修改 Mapper 5. 更新 YML 配置 正文开始&#xff1a; 前提条件&#xff1a;在您的…

OCP开闭原则

什么是OCP&#xff1f; OCP是软件七大开发原则当中最基本的一个原则&#xff1a;开闭原则 对什么开&#xff1f;对扩展开放。 对什么闭&#xff1f;对修改关闭。 OCP原则是最核心的&#xff0c;最基本的&#xff0c;其他的六个原则都是为这个原则服务的。 OCP开闭原则的核心是…

Linux下mysql环境的搭建

1.mysql的下载 去MySQL官网下载mysql的linux压缩包 MySQL :: Download MySQL Community Server 如果下载慢请到网盘中自行下载 通过网盘分享的文件&#xff1a;mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar 链接: https://pan.baidu.com/s/1vUJ-VuTwer1nLPT-haQCqw?pwd6342 提…

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理

基于Qwen2-VL模型针对LaTeX OCR任务进行微调训练 - 多图推理 flyfish 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_LoRA配置如何写 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_单图推理 基于Qwen2-VL模型针对LaTeX_OCR任务进行微调训练_-_原模型_单图推理 基于Q…

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。

图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。 目录 图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序&#xff0c;GUI界面。附详细的运行说明。预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab基…

设置IMX6ULL开发板的网卡IP的两种方法(临时生效和永久有效两种方法)

设置开发板网卡的IP&#xff0c;有两种方法。 方法一&#xff1a;临时生效 第一种方式是临时设置&#xff0c;只有本次有效&#xff0c;重启后又要重新设&#xff0c;命令为&#xff1a; ifconfig eth0 192.168.5.9设置成功后可以使用ifconfig命令来查看已设置的 IP 地址。 …

22. Three.js案例-创建旋转的圆环面

22. Three.js案例-创建旋转的圆环面 实现效果 知识点 WebGLRenderer (WebGL渲染器) THREE.WebGLRenderer 是Three.js中最常用的渲染器&#xff0c;用于将场景渲染到WebGL画布上。 构造器 new THREE.WebGLRenderer(parameters) 参数类型描述parametersObject可选参数对象&…

【D3.js in Action 3 精译_044】5.1 饼图和环形图的创建(四):数据标签的添加

当前内容所在位置&#xff1a; 第五章 饼图布局与堆叠布局 ✔️ 5.1 饼图和环形图的创建 ✔️ 5.1.1 准备阶段&#xff08;一&#xff09;5.1.2 饼图布局生成器&#xff08;二&#xff09;5.1.3 圆弧的绘制&#xff08;三&#xff09; ✔️5.1.4 数据标签的添加&#xff08;四&…

java全栈day13-后端Web实战2

接上述查询部门实现&#xff0c;完成后续要求 一、统一响应结果 1.1步骤 资料如下 对一开始的代码修改如下 结果如下 1.2测试 指定请求方式 结果 小结 二、前后端联调测试 资料如下&#xff1a; (不行&#xff0c;一定要不带空格和不带中文&#xff0c;要不然启动不了试了半天…

AWS sdk for s3 - S3 client

背景 在产品环境上通过 http 的方式访问 aws s3 是不安全的&#xff0c;需要使用aws sdk 提供的接口来访问 技术实现 项目中使用的是java 1. 在gradel 中引用对应的aws 包 implementation ‘software.amazon.awssdk:s3:2.20.80’ // aws sdk implementation ‘software.am…

Android的SurfaceView和TextureView介绍

文章目录 前言一、什么是SurfaceView &#xff1f;1.1 SurfaceView 使用示例1.2 SurfaceView 源码概述1.3 SurfaceView 的构造与初始化1.4 SurfaceHolder.Callback 回调接口1.5 SurfaceView 渲染机制 二、什么是TextureView&#xff1f;2.1 TextureView 使用示例2.2 TextureVie…

vscode 排除文件夹搜索

排除的文件夹 node_modules/,dist/

优雅的@ObservedV2和@Trace装饰器

Hello&#xff0c;大家好&#xff0c;我是 V 哥。在HarmonyOS NEXT开发中&#xff0c;ObservedV2装饰器和Trace装饰器是用于状态管理的两个装饰器&#xff0c;它们在HarmonyOS应用开发中用于增强对类对象中属性的观测能力。如果你学过观察者模式的原理&#xff0c;你会更容易理…

备战蓝桥第一天 验证回文串 杨辉三角

LCR 018. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; 涉及的函数&#xff1a; int isalnum ( int c ); 检查字符是否为字母数字 int tolower ( int c ); 将大写字母转换为小写 void reverse (BidirectionalIterator first, BidirectionalIterator last); 反转区域中…

【实战】提升List性能方法有几何

在内存中的 List<T> 上使用 LINQ 查询时&#xff0c;加索引并不像数据库那样有内置支持&#xff0c;但可以通过以下方式提高查询性能&#xff1a; 1. 手动构建索引 可以手动构建一个字典 (Dictionary<TKey, TValue>)&#xff0c;将需要查询的字段作为键&#xff0…

一款免费、简单、快速的JS打印插件,web 打印组件,基于JavaScript开发,支持数据分组,快速分页批量预览,打印,转pdf,移动端,PC端

前言 在数字化办公时代&#xff0c;打印需求呈现多样化和复杂化的趋势。现有的打印软件往往存在cao作繁琐、兼容性差、功能单一等问题&#xff0c;难以满足现代企业高效、灵活的打印需求。 为了解决这些痛点&#xff0c;一款简单、高效、多功能的打印插件成为了迫切需求。 介…

Python pywin32库详解

一、引言 在Python编程中&#xff0c;有时候需要与Windows操作系统进行交互&#xff0c;执行一些特定的系统操作或操作 Windows 应用程序。这时&#xff0c;pywin32库就成为了一个非常强大的工具。pywin32库提供了对Windows API的访问&#xff0c;使得Python开发者能够在Windo…