0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式基础构架 from andrew@labs

KiCad ? 来源:KiCad ? 作者:KiCad ? 2025-05-19 11:22 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文阐述了一套模块化嵌入式基础设施的设计框架。通过标准化电源管理、可扩展固件架构和硬件接口优化,解决了高密度设备群的能效瓶颈、系统可靠性及跨平台兼容性难题

Part 1:目标

我打算开启一个系列,介绍过去一年多我在不同项目中逐步搭建的嵌入式平台。长久以来,我一直在筹备多个大型嵌入式硬件项目:包含25 Gbps误码率测试仪、48+2端口1/10千兆以太网交换机和2 GHz示波器,同时通过几个小型项目(如触发交叉开关、14+1端口1/10G交换机等)作为技术铺垫(其中部分已完成)。

本系列是这一系列项目的导览,因此不会有过多技术细节,主要阐述设计思路与背景,并简述当前进度。

技术挑战概览

这些项目具有诸多共性:均采用1U机架式设计,支持SSH或SCPI协议实现IP管理,前面板配有数量不等的功能端口(依设备类型而变),后面板需提供电源接口、管理网口、调试/配置用串行控制台,并可能配备参考时钟和触发同步等辅助接口。

内部架构层面,每个设备需搭载大容量FPGA处理高速数据路径和输入/输出,配合运行管理接口的微控制器,两者间需建立通信机制。此外,多电源域管理、复位信号调度等问题亟需通过胶合逻辑实现集中控制。

整套系统的供电方案尚待确定。

Part 2:电源

挑战场景

初期我设计的微型USB 2.0供电FPGA/MCU开发板功率极低,运行时触感冰凉。但当面对如48端口以太网交换机这类设备时,即便采用最高效设计方案,其功耗也必然远超无源USB电源适配器的2.5W上限。现测试中的触发交叉开关原型功耗已近10W,预计整机交换机功耗将达30W(仅四张12端口BaseT线卡即消耗此值,尚未计入FPGA交换引擎与管理系统的额外损耗)。

以往设计中我曾采用5/12V直流圆筒插座,但其存在易松脱的恼人问题,高功率场景下更显局限。

直接市电输入虽为选项,但其涉及安全隐患(若计划量产还需应对合规认证),故未列为首选方案。

当下流行的USB PD协议虽可实现智能供电,但需为每台设备配备专用适配器。考虑到实验室供电容量有限,若能多设备共享集中式供电平台显然更具优势。

计划

借鉴数据中心/电信领域广泛应用的48V直流供电架构,我最终选择此方案:通过六针Molex Mini-Fit Jr接口传输+48V直流电(负极接地),既可利用市售电源模块,亦为后期部署机架级直流母线系统预留升级空间。

由于多数DC-DC模块难以直接处理48V高压输入,我专门设计了可复用的中间总线转换器(IBC),将Mini-Fit Jr输入的48V降至12V(通过八针接口输出)。此IBC还额外提供持续工作的3.3V待机电源轨,用于监控/管理单元与多路I2C传感器的供电。

当前进展

初代IBC虽在修正设计审查遗漏的布线错误后实现功能,但其待机功耗达3W(轻载效率堪忧)。

现已投板生产的第二代IBC版图面积缩减40%,待机功耗有望降至0.5W,大幅优化低负载效率表现。

Part 3:监控单元

挑战场景

当前多数项目需管理多路电源轨。以触发交叉开关为例,其包含10个独立可控的电源域(未计入48V输入、经π型滤波器隔离的模拟电源轨,以及由处理器固件自主调控的动态电压核心)。

这些电源轨之间存在时序约束需求,且手工焊接的原型板存在焊点缺陷导致短路的真实风险,因此放任各电源域无序上电不可行。

量产级解决方案通常采用专用监控芯片,或通过硬连线方式将稳压器的PGOOD与ENABLE信号级联。

但在原型机或小批量设备中,此方案存在局限性:调试阶段可能发现新的时序需求,需临时改动设计。飞线修补虽可行却繁琐,因此我更倾向通过软件实现灵活调控。

计划

经多轮迭代,选定STM32L431作为监控单元。该芯片当前批量采购价约3美元(封装不同略有浮动),虽非最廉价方案,但相较Kintex-7或UltraScale+等高端FPGA,其成本在系统BOM中占比微乎其微。其性能参数(80 MHz Cortex-M4内核、256 kB闪存、64 kB SRAM)足以支撑双镜像+引导程序的可靠固件更新架构。关键优势在于丰富的封装选项(32-QFN/48-QFN/100-BGA),可实现不同电源域数量的硬件平台间固件无缝移植。

监控单元核心职责包括:

? 提供软开关控制功能

? 执行电源轨启动/关断时序控制

? 通过内部ADC温度传感器实现系统健康监测

? 通过I2C与IBC通信获取输入电源状态

扩展功能涵盖故障处理机制:当检测到稳压器PGOOD信号异常(可能指示短路或稳压故障)、ADC读数超阈值、温度越限或输入电源中断时,系统将触发紧急硬关断(防止损坏扩散)或有序软关断(断电前保留易失性状态)。

当前进展

监控单元已以多种形态应用于多个原型系统,但现有代码需重构为可复用的模块化架构。未来新建项目时仅需配置GPIO映射关系与时序规则即可快速部署。相关专题文章将在后续发布。

长期规划中,该单元还将接管风扇控制等独立于主固件的系统健康管理功能。

Part 4:管理

挑战场景

所有设备均需网络管理或数据传输能力。常规方案是在FPGA旁部署运行Linux的Cortex-A片上系统,或采用Zynq等FPGA+SoC集成平台。

但嵌入式Linux生态复杂臃肿,因此我正探索更轻量化的替代方案。

计划

我倾向于构建控制平面与数据平面完全分离的架构:微控制器(MCU)专注控制逻辑,FPGA处理数据流。

在MCU侧,我推崇基于Cortex-M内核的极简事件循环架构:仅保留关键实时中断服务例程(无法卸载至FPGA的部分),摒弃实时操作系统(RTOS)、动态内存分配等冗余设计。

当前行业趋势偏向"低成本快速开发"导向,鲜有符合此类极简设计需求的现成方案。经调研发现,现有TCP/IP协议栈、SSH服务实现等均无法满足需求,故决定自主开发。

当前进展

已构建基于STM32H735微控制器的全静态内存分配TCP/IP协议栈(当前仅支持IPv4,IPv6支持待后续开发),配套SSH服务端实现支持AES-GCM加密与curve25519密钥交换(可选FPGA加速)。受限于应用场景,该协议栈仅作服务端使用(无外发连接功能),并剔除了IP分片等低频特性。

该方案资源占用极低:触发交叉开关的恢复镜像(含SSH服务、SFTP固件更新器及底层驱动)在-Os优化下仅占用82 KB闪存空间,SRAM消耗114 KB(主要用于套接字缓冲区)。

主应用固件在-O3优化下体积增至161 KB闪存/124 KB SRAM,但已集成硬件驱动、IP协议栈、SSH管理终端、串口控制台、SFTP更新器、SCPI服务端、DHCP客户端、SNTP客户端等完整功能集。

FPGA侧已实现部分TCP/IP卸载功能以应对高带宽数据流,但当前实现仍显冗余,需进一步优化精简。

Part 5:FPGA-MCU 桥接

挑战场景

主控MCU需与FPGA建立通信通道。

早期平台采用SPI协议,但其速率受限且需通过特殊功能寄存器(SFR)指令访问FPGA寄存器,操作繁琐。随着原型迭代,通信架构逐步优化。

计划

首先将内部管理总线从嵌套式case语句结构升级为标准总线协议。选择AMBA APB协议因其具备AXI桥接能力,同时兼具低资源占用与性能适配优势。最终目标是将MCU与APB总线直接内存映射,实现如同访问片上外设般的便捷性。

触发交叉开关项目中曾尝试采用STM32H7的OCTOSPI接口(四线SPI模式测试),结果证明此决策存在严重设计缺陷。

OCTOSPI 虽支持内存映射,但受芯片勘误与架构限制导致实际应用困难:

? 无法禁用32字节预取缓冲区,导致任意APB读取可能触发相邻地址访问

? 预取地址范围的数据缓存在OCTOSPI外设中(无视Cortex-M7 MPU缓存配置)

? 副作用寄存器读取可能因地址邻近触发误操作

? 轮询逻辑易陷入死循环(缓存数据未刷新实际状态)

此外,该接口缺乏背压机制,无法在事务延迟时暂停传输,需依赖固定时钟周期与实时性约束。

经此教训,设计转向测试FMC(灵活存储控制器)作为替代方案。

当前进展

FMC方案除需占用较多引脚(约27个,具体取决于模式与地址空间配置)外,完美满足需求:

? 支持设备模式内存映射(强序非缓存访问)

? 外设端无缓存污染风险

? 原生支持背压机制

? 可生成自由运行时钟供PLL锁定

唯一未原生支持的功能是APB PSLVERR总线错误回传,但可通过GPIO中断模拟等效处理。

当前测试发现读突发末尾存在2个冗余时钟周期(硅片勘误所致),FPGA端可忽略此问题(轻微性能损耗)。虽STM32H735支持275 MHz时钟,现基于Spartan-7测试125 MHz,未来UltraScale+平台可轻松实现目标250 MHz运行频率。

待完整封装与深度验证后,将发布详细技术文档。目前双向桥接(STM32 AXI至FPGA APB)已稳定运行。

未来探索方向包括优化突发传输效率:尽管STM32端AXI总线为32位宽,尝试64位传输仍被拆分为两次32位FMC访问。需进一步研究编译器生成的指令码以寻求优化空间。

转载自 Andew Zoneberg's blog,License 为 CC BY-SA 4.0

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5161

    文章

    19784

    浏览量

    319692
  • KiCAD
    +关注

    关注

    5

    文章

    276

    浏览量

    9672
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式设备上的一种配置。
    发表于 06-20 09:46

    IAR引领嵌入式DevSecOps新时代

    章 《The Biggest Takeaways from Embedded World 2025》 中,他的第一条重要观点(Takeaway #1)就强调,商业嵌入式工具链正在加速融入现代开发工作流,尤其是IAR在DevSecOps领域的创新布局。
    的头像 发表于 05-28 10:19 ?511次阅读

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用嵌入式系统
    发表于 05-15 09:29

    飞凌嵌入式2025嵌入式及边缘AI技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!
    的头像 发表于 04-28 13:57 ?3461次阅读
    飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」议程公布

    4月22日,飞凌嵌入式“2025嵌入式及边缘AI技术论坛”将在深圳举行,论坛以“新生态,智未来”为主题,旨在汇聚行业智慧,探讨嵌入式技术与边缘AI的深度融合与创新应用。
    的头像 发表于 04-02 15:12 ?731次阅读
    飞凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及边缘AI技术论坛」议程公布

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功能。本文将对嵌入式主板的基本概念、构成部分、
    的头像 发表于 01-13 16:30 ?847次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    ARM架构嵌入式主板特点

    嵌入式主板可以理解为嵌入在设备中用于控制和数据处理的CPU板,也就是设备的“大脑”。当主板嵌入到设备中,当然对主板的体积和功耗会有更严格的要求(嵌入式主板的散热问题)。如今
    的头像 发表于 12-31 16:03 ?1163次阅读
    ARM架构<b class='flag-5'>嵌入式</b>主板特点

    新手怎么学嵌入式?

    新手怎么学嵌入式? 在科技飞速发展的今天,嵌入式技术已经渗透到我们生活的各个角落,从智能手机到智能家居,从汽车电子到医疗设备。对于新手而言,嵌入式技术就像是一座充满神秘和机遇的宝藏,等待着大家去挖掘
    发表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统是嵌入到其他设备或系统中的计算机系统,通常用于控制、监测或执行特定任务,如智能手机、智能家居设备、智能汽车等中的
    的头像 发表于 12-11 09:23 ?1102次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成,这意味着软件必须为特定的硬件平台量身定制。以下是
    的头像 发表于 12-09 09:38 ?1089次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入到某种设备或系统中,以实现特定功能的计算
    的头像 发表于 10-16 10:14 ?2749次阅读

    AMD 面向嵌入式系统推出高能效 EPYC 嵌入式 8004 系列

    AMD 凭借其 EPYC? 嵌入式处理器不断树立行业标准,为网络、存储和工业应用提供卓越的性能、效率、连接与创新。今天,我们正以第四代 AMD EPYC 嵌入式 8004 系列处理器扩展这一
    发表于 10-11 13:58 ?1138次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 ?1693次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始嵌入式Linux开发
    的头像 发表于 09-02 09:11 ?1345次阅读

    嵌入式系统中的实时操作系统

    嵌入式RTOS是嵌入式应用程序运行、相互交互和与外界通信的底层软件机制。在本节中,您将了解嵌入式软件开发人员使用哪些流行RTOS以及它们运行的嵌入式硬件平台。
    的头像 发表于 08-20 11:28 ?964次阅读