登录/注册

嵌入式开发板原理

更多

好的,嵌入式开发板的工作原理可以概括为:一个为特定应用裁剪和优化的微型计算机系统,通过微控制器或微处理器执行存储在板载存储器中的程序,控制管理连接的硬件外设,以实现对物理世界的感知、处理和控制。

我们可以从以下几个方面更详细地理解其原理:

  1. 核心大脑:微控制器单元 或 微处理器单元

    • MCU: 在简单、低功耗或强实时性应用中更常见。它将 CPU、存储器 (Flash/RAM)、定时器、各种外设接口 等都集成在一个芯片上。是整个系统的核心运算和控制单元。
    • MPU (有时SoC): 在更复杂、需要更高性能(如运行 Linux)的应用中常用。通常只有 CPU 核心(或多个核心),运行频率更高,能力更强。它需要外扩存储器和大部分外设接口芯片。
    • 功能: 运行指令、执行代码、进行逻辑和算术运算、协调各个外设的访问。它从特定地址(通常是 Flash 的起始位置)读取并执行指令。
  2. 记忆单元:板载存储器

    • ROM/FLASH (非易失性存储器):
      • 作用: 用于存储不可丢失的信息,最主要的就是存储用户的应用程序代码和常量数据(如字体库、图像资源等)。开发板的 Bootloader(启动引导程序)通常也固化在 Flash 的一个特定区域。
      • 特点: 掉电后数据不丢失。
    • RAM (易失性存储器):
      • 作用: 用于运行时存储程序执行的临时数据、堆栈空间、全局变量等。CPU 运行期间需要频繁读写 RAM。
      • 特点: 速度快,但掉电后数据丢失。
    • EEPROM (可选): 用于存储需要在掉电后保存,但不需要像 Flash 那样大容量或者需要更频繁写入的小量配置数据。
  3. 程序如何执行 - 启动流程 (Boot Process):

    1. 加电复位: 当开发板接通电源或按下复位按钮时,MCU/MPU 内部的复位电路将其置于一个确定的初始状态。
    2. 执行 Bootloader: CPU 硬件上电后会固定地从一个特定地址(复位向量)读取第一条指令。这个地址通常映射到芯片内部或板载的 BootROM (很小的只读区域) 或者 FLASH 存储器中的 Bootloader 区域。
      • Bootloader 的职责:
        • 初始化最基本硬件(如时钟、关键外设)。
        • 检查是否有外部更新操作(比如通过串口、USB 接收新固件)。
        • 如果没有更新信号,则从程序 FLASH 的应用代码区域找到应用程序的入口地址,然后跳转到该地址执行应用程序。
  4. 应用程序执行:

    • 一旦 CPU 跳转到应用程序入口,就开始执行用户编写的程序代码(编译链接后存储在 FLASH 中)。
    • 程序在 RAM 中创建变量和堆栈。
    • 程序通过外设接口与外部硬件设备通信(输入数据或输出控制)。
    • 程序根据设计逻辑,使用 CPU 进行计算、判断,并控制外设完成特定任务。
  5. 与外界的桥梁:外设接口及端口

    • 作用: 让 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 只需读取结果寄存器。
  6. 基本支撑电路:

    • 电源电路: 将输入的电源(如 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)、在线调试(设置断点、查看变量、单步执行)功能。

总结简化流程:

  1. 上电或复位。
  2. CPU 执行固化好的 Bootloader 程序。
  3. Bootloader 完成基础硬件初始化。
  4. Bootloader 加载用户应用程序到 RAM (如果是存储在FLASH,可能直接映射执行)。
  5. CPU 跳转并执行用户应用程序。
  6. 应用程序不断循环:
    • 通过 GPIO/ADC/UART/I2C/SPI 等接口 读取外部传感器的数据或用户输入。
    • 根据程序逻辑,使用 CPU 进行计算、判断、处理数据。
    • 通过 GPIO/DAC/PWM/UART/I2C/SPI 等接口 输出控制信号、发送处理结果、驱动执行器(如LED、电机、显示屏)。
  7. 应用程序可能响应外部中断(如按键按下、定时器时间到)进行即时处理。

本质上,嵌入式开发板是嵌入式系统设计的核心硬件载体,将关键的计算、存储、通信和控制功能集成在一块小型电路板上。理解开发板上不同模块的功能和它们之间如何协同工作,是进行嵌入式软件开发的基础。开发者需要为这块硬件板编写特定的软件,才能最终实现所需的功能。

探索MCIMX93-QSB开发板:开启嵌入式开发新征程

探索MCIMX93-QSB开发板:开启嵌入式开发新征程 在嵌入式开发领域,一款优秀的开

2025-12-24 14:55:12

性能与性价比兼得!迅为RK3562开发板开启嵌入式开发新选择

性能与性价比兼得!迅为RK3562开发板开启嵌入式开发新选择

2025-12-23 16:10:33

如何使用 RISC-V 进行嵌入式开发

、准备开发环境 选择开发板 :RISC-V架构的嵌入式开发板有多种选择,如GD32VF103R-START、飞凌

2024-12-11 17:32:05

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

新手入门怎么选嵌入式开发板?ARM开发板推荐及学习方法

新手入门怎么选嵌入式开发板?ARM开发板推荐及学习方法

2022-05-12 16:26:26

嵌入式开发板开发与SOC系统开发有哪些不同之处呢

嵌入式开发板开发流程有哪些呢?SOC系统开发流程有哪些呢?嵌入式开发板

2021-12-27 07:55:18

如何使用嵌入式开发板LCD?

如何使用嵌入式开发板LCD?

2021-12-27 06:38:06

推荐一款比较好的嵌入式开发板

学习嵌入式,必不可少的工具就是一块开发板。对新手而言,学嵌入式用哪个开发板

2021-11-08 06:38:36

嵌入式开发板具有哪些分类?

嵌入式开发板具有哪些分类?

2021-10-27 07:16:01

嵌入式开发板的五大类接口

随着嵌入式系统的开发和应用,嵌入式开发板需要更多的接口来满足用户的需求,天嵌科技的开发

2020-08-26 17:18:38

嵌入式开发板有什么功能?

嵌入式开发板是半导体行业分工合作的载体之一,它为开发产品的厂商提供基本的底层硬件、系统和驱动等资源,使得用户不需要再投入人力和时间来完成这些底层的工作(嵌入式

2020-03-31 07:57:13
7天热门专题 换一换
相关标签