嵌入式开发板原理
好的,嵌入式开发板的工作原理可以概括为:一个为特定应用裁剪和优化的微型计算机系统,通过微控制器或微处理器执行存储在板载存储器中的程序,控制管理连接的硬件外设,以实现对物理世界的感知、处理和控制。
我们可以从以下几个方面更详细地理解其原理:
-
核心大脑:微控制器单元 或 微处理器单元
- MCU: 在简单、低功耗或强实时性应用中更常见。它将 CPU、存储器 (Flash/RAM)、定时器、各种外设接口 等都集成在一个芯片上。是整个系统的核心运算和控制单元。
- MPU (有时SoC): 在更复杂、需要更高性能(如运行 Linux)的应用中常用。通常只有 CPU 核心(或多个核心),运行频率更高,能力更强。它需要外扩存储器和大部分外设接口芯片。
- 功能: 运行指令、执行代码、进行逻辑和算术运算、协调各个外设的访问。它从特定地址(通常是 Flash 的起始位置)读取并执行指令。
-
记忆单元:板载存储器
- ROM/FLASH (非易失性存储器):
- 作用: 用于存储不可丢失的信息,最主要的就是存储用户的应用程序代码和常量数据(如字体库、图像资源等)。开发板的 Bootloader(启动引导程序)通常也固化在 Flash 的一个特定区域。
- 特点: 掉电后数据不丢失。
- RAM (易失性存储器):
- 作用: 用于运行时存储程序执行的临时数据、堆栈空间、全局变量等。CPU 运行期间需要频繁读写 RAM。
- 特点: 速度快,但掉电后数据丢失。
- EEPROM (可选): 用于存储需要在掉电后保存,但不需要像 Flash 那样大容量或者需要更频繁写入的小量配置数据。
- ROM/FLASH (非易失性存储器):
-
程序如何执行 - 启动流程 (Boot Process):
- 加电复位: 当开发板接通电源或按下复位按钮时,MCU/MPU 内部的复位电路将其置于一个确定的初始状态。
- 执行 Bootloader: CPU 硬件上电后会固定地从一个特定地址(复位向量)读取第一条指令。这个地址通常映射到芯片内部或板载的 BootROM (很小的只读区域) 或者 FLASH 存储器中的 Bootloader 区域。
- Bootloader 的职责:
- 初始化最基本硬件(如时钟、关键外设)。
- 检查是否有外部更新操作(比如通过串口、USB 接收新固件)。
- 如果没有更新信号,则从程序 FLASH 的应用代码区域找到应用程序的入口地址,然后跳转到该地址执行应用程序。
- Bootloader 的职责:
-
应用程序执行:
- 一旦 CPU 跳转到应用程序入口,就开始执行用户编写的程序代码(编译链接后存储在 FLASH 中)。
- 程序在 RAM 中创建变量和堆栈。
- 程序通过外设接口与外部硬件设备通信(输入数据或输出控制)。
- 程序根据设计逻辑,使用 CPU 进行计算、判断,并控制外设完成特定任务。
-
与外界的桥梁:外设接口及端口
- 作用: 让 MCU/MPU 能够与外界交换信息(数据输入/输出)或控制外部器件。
- 常见接口/端口类型:
- GPIO: 通用输入输出口。最基本,可以配置为输入(读取开关状态、传感器信号)或输出(点亮 LED、控制继电器)。可以复用成其他功能接口的引脚。
- UART/串口: 异步串行通信接口,常用于调试信息输出或与串行设备通信(如 GPS 模块)。
- SPI: 高速全双工同步串行接口,常用于连接高速器件(Flash、SD卡、显示屏、传感器)。
- I2C/I²C: 低成本、中速同步串行接口,利用两条线连接多个从设备(传感器、EEPROM)。
- ADC: 模数转换器,将外部的模拟信号(如温度传感器、光线传感器、麦克风)转换为 MCU 可以处理的数字信号。
- DAC: 数模转换器(较少见,MPU系统应用多),将数字信号转换为模拟信号输出。
- PWM: 脉冲宽度调制输出,常用于控制电机转速、LED 亮度(通过调节占空比)。
- 定时器/计数器: 产生精确的时间延迟、周期信号(如 PWM)、或者对外部脉冲计数。
- USB: 通用串行总线,用于连接 PC(传输数据、调试、供电)或外设。
- Ethernet: 有线网络接口(通常在 SoC/MPU 系统中)。
- Wi-Fi/Bluetooth: 无线通信接口(通常在 SoC 或通过模块添加)。
- 原理: MCU/MPU 内部包含控制这些接口的硬件模块(外设控制器)。程序通过配置寄存器来设置接口的工作模式、速度等参数,通过读写特定的寄存器(或映射的内存区域)来发送/接收数据。例如,要读取一个 I2C 温度传感器,程序需要配置 I2C 控制器,然后发起 I2C 读操作,控制器自动完成时序生成、数据收发,CPU 只需读取结果寄存器。
-
基本支撑电路:
- 电源电路: 将输入的电源(如 USB 的 5V、外部适配器的 12V)转换为开发板上各芯片(特别是 MCU/MPU)所需的稳定、干净的不同电压(如 3.3V, 1.8V, 1.2V 等)。通常包含稳压器(LDO 或 DC-DC)。
- 时钟电路: 为 MCU/MPU 提供工作所需的主时钟信号(晶振或外部有源振荡器)。MCU 内部通常包含锁相环可以对主时钟进行倍频/分频,得到不同外设需要的时钟频率。
- 复位电路: 确保 MCU/MPU 在加电或不稳定状态下能可靠复位。通常包含一个复位芯片或简单的阻容电路。
- 调试接口: 如 JTAG/SWD,用于连接调试器(如 J-Link, ST-Link),实现程序的下载(烧录到 FLASH)、在线调试(设置断点、查看变量、单步执行)功能。
总结简化流程:
- 上电或复位。
- CPU 执行固化好的 Bootloader 程序。
- Bootloader 完成基础硬件初始化。
- Bootloader 加载用户应用程序到 RAM (如果是存储在FLASH,可能直接映射执行)。
- CPU 跳转并执行用户应用程序。
- 应用程序不断循环:
- 通过 GPIO/ADC/UART/I2C/SPI 等接口 读取外部传感器的数据或用户输入。
- 根据程序逻辑,使用 CPU 进行计算、判断、处理数据。
- 通过 GPIO/DAC/PWM/UART/I2C/SPI 等接口 输出控制信号、发送处理结果、驱动执行器(如LED、电机、显示屏)。
- 应用程序可能响应外部中断(如按键按下、定时器时间到)进行即时处理。
本质上,嵌入式开发板是嵌入式系统设计的核心硬件载体,将关键的计算、存储、通信和控制功能集成在一块小型电路板上。理解开发板上不同模块的功能和它们之间如何协同工作,是进行嵌入式软件开发的基础。开发者需要为这块硬件板编写特定的软件,才能最终实现所需的功能。
android开发板那种好,学嵌入式用哪个开发板好?嵌入式开发板推荐
学习嵌入式,必不可少的工具就是一块开发板。对新手而言,学嵌入式用哪个开发板
资料下载
罗星
2021-11-03 12:51:07
如何入门嵌入式?ARM嵌入式开发板学习方法步骤
嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android。平台:Cortex-A9
资料下载
佚名
2021-11-03 11:36:07
嵌入式开发培训学什么?嵌入式开发板知识讲解
嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c+
资料下载
李娜
2021-11-02 20:21:03
嵌入式开发(一):嵌入式开发新手入门
本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。嵌入式开发流程一般如下,一般是在PC
资料下载
佚名
2021-10-14 10:58:31
基于DM6646开发板的多线程编程在嵌入式图像处理中的应用
基于DM6646开发板的多线程编程在嵌入式图像处理中的应用(嵌入式开发北京)-文档为基于DM6646
资料下载
世态薄凉
2021-08-04 15:29:05
嵌入式开发板有什么功能?
嵌入式开发板是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件、系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底层的工作(嵌入式
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机