FPGA 14 ,硬件开发板分类详解,FPGA开发板与普通开发板烧录的区别

news2024/11/23 13:05:36

目录

前言
在嵌入式系统开发中,硬件开发板是工程师常用的工具之一。不同类型的开发板有不同的特点和用途,其中最常见的两大类是普通开发板和FPGA开发板。这里分享记录,这两类开发板的分类,并深入探讨它们在烧录过程中的具体区别,帮助我们更好地理解和选择适合自己的开发板。
一. 开发板分类
1. 普通开发板
1.1 微控制器开发板
1.2 微处理器开发板
1.3 单板计算机(SBC)
2. FPGA开发板
2.1 基础FPGA开发板
2.2 SoC FPGA开发板
2.3 专用FPGA开发板
3. 其他类型
3.1 可编程逻辑控制器(PLC)开发板
3.2 DSP开发板
二. 烧录的区别
1. 普通开发板
1.1 特点
1.2 烧录过程
2. FPGA开发板
2.1 特点
2.2 烧录过程
三. 本文总结
普通开发板
FPGA开发板


前言

在嵌入式系统开发中,硬件开发板是工程师常用的工具之一。不同类型的开发板有不同的特点和用途,其中最常见的两大类是普通开发板和FPGA开发板。这里分享记录,这两类开发板的分类,并深入探讨它们在烧录过程中的具体区别,帮助我们更好地理解和选择适合自己的开发板。

一. 开发板分类

硬件开发板分类,请看

1. 普通开发板

普通开发板通常基于微控制器(MCU)或微处理器(MPU),可以运行操作系统或裸机代码。这类开发板适用于各种嵌入式系统和控制应用。

1.1 微控制器开发板

  • 特点
    • 基于微控制器(MCU),如ARM Cortex-M系列、AVR、PIC等。
    • 通常不运行操作系统,而是直接运行裸机代码。
    • 适用于低功耗、低成本、简单控制应用。
  • 例子
    • Arduino:基于Atmel AVR或STM32微控制器,广泛用于教育和DIY项目。
    • STM32 Nucleo:基于STM32微控制器,提供丰富的开发工具和扩展板。
    • Teensy:高性能的微控制器开发板,适合需要高速处理的应用。

1.2 微处理器开发板

  • 特点
    • 基于微处理器(MPU),如ARM Cortex-A系列、x86等。
    • 可以运行操作系统(如Linux、FreeRTOS)。
    • 适用于高性能计算、多媒体处理、网络应用等。
  • 例子
    • 树莓派(Raspberry Pi):基于ARM Cortex-A系列处理器,广泛用于教育、媒体中心、物联网项目。
    • BeagleBone Black:基于TI AM3359 ARM Cortex-A8处理器,适合嵌入式Linux开发。
    • NVIDIA Jetson系列:基于Tegra X1、Xavier等处理器,集成NVIDIA GPU,适用于深度学习和计算机视觉。

1.3 单板计算机(SBC)

  • 特点
    • 集成了CPU、GPU、内存、存储、网络接口等,类似于小型计算机。
    • 通常运行完整版的操作系统(如Linux、Windows)。
    • 适用于需要强大计算能力和多任务处理的应用。
  • 例子
    • 树莓派:如前所述,可以运行多种操作系统。
    • Odroid:基于ARM架构的高性能单板计算机,适合多媒体和计算密集型应用。
    • Rock Pi:基于Rockchip处理器,提供多种配置选项。

2. FPGA开发板

FPGA开发板基于可编程逻辑单元,通过HDL(如Verilog、VHDL)定义逻辑功能。这类开发板适用于高性能计算、信号处理、通信系统、图像处理等。

2.1 基础FPGA开发板

  • 特点
    • 基于可编程逻辑单元,通过HDL(如Verilog、VHDL)定义逻辑功能。
    • 适用于高性能计算、信号处理、通信系统、图像处理等。
  • 例子
    • Xilinx Artix-7 FPGA开发板:基于Xilinx Artix-7 FPGA,适合初学者和中级用户。
    • Intel Cyclone V FPGA开发板:基于Altera(现Intel)Cyclone V FPGA,集成ARM处理器,适合SoC设计。

2.2 SoC FPGA开发板

  • 特点
    • 集成了FPGA和嵌入式处理器(如ARM Cortex-A系列)。
    • 可以同时实现硬件加速和软件控制。
    • 适用于复杂系统设计,如嵌入式系统、实时控制、高性能计算。
  • 例子
    • Xilinx Zynq-7000:集成了ARM Cortex-A9处理器和FPGA逻辑,适合SoC设计。
    • Intel Cyclone V SoC:集成了ARM Cortex-A9处理器和FPGA逻辑,提供灵活的系统设计。

2.3 专用FPGA开发板

  • 特点
    • 针对特定应用领域设计,提供专门的接口和功能模块。
    • 适用于特定行业和应用,如通信、医疗、航空航天等。
  • 例子
    • 通信FPGA开发板:针对通信系统设计,提供高速接口和通信协议支持。
    • 医疗FPGA开发板:针对医疗设备设计,提供高精度数据采集和处理能力。

3. 其他类型

3.1 可编程逻辑控制器(PLC)开发板

  • 特点
    • 专为工业自动化设计,提供输入输出接口和控制逻辑。
    • 适用于工厂自动化、过程控制等。
  • 例子
    • Siemens S7-1200:基于西门子PLC技术,提供强大的工业控制功能。
    • Omron CJ2M:基于欧姆龙PLC技术,适用于复杂的工业控制系统。

3.2 DSP开发板

  • 特点
    • 基于数字信号处理器(DSP),擅长处理数字信号和音频视频数据。
    • 适用于音频处理、图像处理、通信信号处理等。
  • 例子
    • Texas Instruments TMS320C6000:基于TI的DSP技术,提供高性能的数字信号处理能力。
    • Analog Devices ADSP-BF537:基于ADI的DSP技术,适用于嵌入式音频和视频处理。


二. 烧录的区别

普通开发板与FPGA开发板烧录的区别,请看

1. 普通开发板

1.1 特点

  • 处理器架构:通常基于微控制器(如ARM Cortex-M系列)或微处理器(如x86、ARM Cortex-A系列)。
  • 操作系统:可以运行操作系统(如Linux、FreeRTOS)或裸机代码(没有操作系统支持的代码)。
  • 编程语言:支持高级编程语言,如C、C++、Python等,用的是软件编程语言。
  • 应用场景:适用于物联网、嵌入式系统、控制应用、数据采集等。

1.2 烧录过程

  1. 编写代码

    • 使用高级编程语言,如C、C++、Python编写应用程序
    • 例如,在树莓派上使用Python编写一个简单的Web服务器。
    Python
    import http.server
    import socketserver
    
    PORT = 8000
    
    Handler = http.server.SimpleHTTPRequestHandler
    
    with socketserver.TCPServer(("", PORT), Handler) as httpd:
        print("serving at port", PORT)
        httpd.serve_forever()
  2. 编译和链接

    • 使用编译器将源代码编译成二进制文件(如.hex、.bin、.elf)。
    • 例如,使用GCC编译C++代码,生成.hex文件。
    Sh
    g++ -o main main.cpp
    arm-none-eabi-objcopy -O ihex main main.hex
  3. 烧录工具

    • 使用编程工具(如AVRDUDE、OpenOCD、Arduino IDE)将二进制文件烧录到开发板的存储介质(如Flash存储器)。
    • 例如,使用Arduino IDE将.hex文件烧录到Arduino板。
    Sh
    avrdude -c arduino -p m328p -P /dev/ttyUSB0 -b 115200 -U flash:w:main.hex
  4. 验证结果

    • 启动开发板,检查应用程序是否正常运行。
    • 例如,通过串口调试或观察LED灯的状态来验证代码是否正确执行。
    Sh
    screen /dev/ttyUSB0 115200

2. FPGA开发板

其实FPGA(Field-Programmable Gate Array,现场可编程门阵列)开发板的配置过程通常被称为“编程”或“配置”,而不是“烧录”。这是因为FPGA是一种可以通过软件工具、硬件语言来重新定义其内部逻辑结构的集成电路。与传统的单片机或微控制器通过烧录固件代码进行配置不同,FPGA的配置文件(通常是比特流文件)用于设置芯片内部的逻辑单元和互连资源,以实现特定的数字电路功能。所以,以下烧录字段,可以理解为“编程”或“配置”。

2.1 特点

  • 可编程逻辑:基于可编程逻辑单元,可以在制造后通过编程来实现各种数字逻辑功能。
  • 编程语言:主要使用硬件描述语言(HDL),如Verilog、VHDL,用的是硬件编程语言
  • 配置比特流:生成的配置比特流文件(如.bit、.sof)定义了FPGA的逻辑结构和互连关系。
  • 应用场景:适用于高性能计算、信号处理、通信系统、图像处理等。

2.2 烧录过程

  1. 设计和仿真

    • 使用HDL(如Verilog、VHDL)编写逻辑设计,并在仿真工具中进行验证。
    • 例如,使用Verilog编写一个简单的加法器模块。
    verilog
    module adder (
        input [3:0] a,
        input [3:0] b,
        output [4:0] sum
    );
        assign sum = a + b;
    endmodule
  2. 综合和布局布线

    • 使用综合工具将HDL代码转换为网表(Netlist),然后使用布局布线工具将网表映射到FPGA的具体物理资源上。
    • 例如,使用Xilinx Vivado进行综合和布局布线。
    Sh
    vivado -mode batch -source script.tcl
  3. 生成比特流文件

    • 布局布线完成后,生成配置比特流文件(通常为.bit或.sof格式)。
    • 例如,生成一个.bit文件。
    Sh
    write_bitstream -force design.bit
  4. 烧录比特流

    • 使用编程工具(如Xilinx Vivado、Altera Quartus II)将比特流文件通过JTAG、SPI等接口写入FPGA。
    • 例如,使用Xilinx Vivado通过JTAG接口烧录.bit文件。
    Sh
    vivado -mode batch -source program.tcl
  5. 验证结果

    • 启动FPGA,检查逻辑功能是否正常运行。
    • 例如,通过示波器或逻辑分析仪验证加法器的输出是否正确。
    Sh
    open_onboard_jtag
    program_device -device xc7a35tcpg236-1 -file design.bit


三. 本文总结

普通开发板

  • 烧录的是用软件编程语言(如C、C++、Python)编写的软件系统或程序,这些程序运行在开发板的处理器上。
  • 适用于物联网、嵌入式系统、控制应用、数据采集等。
  • 在日常生活中,普通开发板比FPGA开发板应用更加广泛

FPGA开发板

  • 烧录的是用硬件描述语言(如Verilog、VHDL)编写的硬件代码,这些代码定义了FPGA的逻辑结构和互连关系,实现了特定的数字逻辑功能。
  • 适用于高性能计算、信号处理、通信系统、图像处理等。

希望这里能够帮助到你,更好地理解硬件开发板的分类,以及普通开发板与FPGA开发板在烧录过程中的具体区别,从而选择适合自己的开发平台。

创作不易,感觉有用,就一键三连,感谢(●'◡'●)

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

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

相关文章

冲破AI 浪潮冲击下的 迷茫与焦虑

在这个科技日新月异的时代,人工智能如汹涌浪潮般席卷而来,不断改变我们的生活。你是否对 AI 充满好奇,却不知它将如何改变你的工作与生活?又是否会在 AI 浪潮的冲击下陷入迷茫与焦虑?《AI 时代:弯道超车新思…

时序论文23|ICML24谷歌开源零样本时序大模型TimesFM

论文标题:A DECODER - ONLY FOUNDATION MODEL FOR TIME - SERIES FORECASTING 论文链接:https://arxiv.org/abs/2310.10688 论文链接:https://github.com/google-research/timesfm 前言 谷歌这篇时间序列大模型很早之前就在关注&#xff…

Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)

目录 SET GET KEYS EXISTS DEL EXPIRE TTL redis中的过期策略是怎么实现的(面试) 上文介绍reids的安装以及基本概念,本章节主要介绍 Redis的基本使用命令的使用 Redis 是一个基于键值对(KEY - VALUE)存储的…

大疆上云api开发

目前很多公司希望使用上云api开发自己的无人机平台,但是官网资料不是特别全,下面浅谈一下本人开发过程中遇到的一系列问题。 本人使用机场为大疆机场2,飞机为M3TD,纯内网使用 部署 链接: 上云api代码. 首先从github上面拉去代码 上云api代码github. 后…

实现管易云到金蝶云星空的数据无缝集成

管易云数据集成到金蝶云星空:案例分享 在企业信息化系统中,数据的高效流动和准确对接是业务顺利运行的关键。本文将聚焦于一个具体的系统对接集成案例——通过轻易云数据集成平台实现管易云数据到金蝶云星空的无缝迁移,方案名称为“wk_店铺_…

Ubuntu上安装MySQL并且实现远程登录

目录 下载网络工具 查看网络连接 更新系统软件包; 安装mysql数据库 查看mysql数据库状态 以数字ip形式显示mysql的监听状态。(默认监听端口是3306) 查看安装mysql数据库时系统创建的目录信息。 根据查询到的系统用户名以及随机密码&a…

卷积神经网络各层介绍

目录 1 卷积层 2 BN层 3 激活层 3.1 ReLU(Rectified Linear Unit) 3.2 sigmoid 3.3 tanh(双曲正切) 3.4 Softmax 4 池化层 5 全连接层 6 模型例子 1 卷积层 卷积是使用一个卷积核(滤波器)对矩阵进…

LVS

一、 lvs简介 LVS:Linux Virtual Server ,负载调度器,内核集成,章文嵩,阿里的四层 SLB(Server LoadBalance) 是基 于 LVSkeepalived 实现 LVS 官网 : http://www.linuxvirtualserver.org/ LVS 相关术语 VS: Virtual Serve…

使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变

作者:来自 Elastic Greg Crist Elasticsearch 推出了一项新功能:Elastic AI Assistant for Search。你可以将其视为 Elasticsearch 和 Kibana 开发人员的内置指南,旨在回答问题、引导你了解功能并让你的生活更轻松。在 Microsoft AI Services…

掺铒光纤激光器

一、光纤激光器的特点 实现灵活的激光光源(窄线宽、可调谐、多波长、超短光脉冲源)易获得高功率、高的光脉冲能量激光波长与光纤通信传输窗口相匹配采用激光器泵浦形式(半导体激光器泵浦)热稳定性、价格低廉、易小型化 二、放大…

AP+AC组网——STA接入

扫描 主动扫描:STA发送Probe Request帧,AP收到回复Probe Response 可以带着SSID扫描寻找指定WIFI,也可以带着空SSID扫描进入周围可用WLAN 被动扫描: 客户端通过侦听AP定期发送的Beacon帧(100TUs,1TU1024…

基于 ESP-AT (v3.x)固件通过 AT+SYSMFG 指令更新证书设置

AT 固件里的证书文件通过 mfg_nvs.csv 文件管理,所有证书都是写入 mfg_nvs 分区。可以先查看 mfg_nvs.csv 文件的内容来确定有哪些证书文件被管理,如下: 通过 AT 指令更新证书的方式如下: // 获取证书类型 ATSYSMFG?/…

投资策略规划最优决策分析

目录 一、投资策略规划问题详细 二、存在最优投资策略:每年都将所有钱投入到单一投资产品中 (一)状态转移方程 (二)初始条件与最优策略 (三)证明最优策略总是将所有钱投入到单一投资产品中…

android 性能分析工具(03)Android Studio Profiler及常见性能图表解读

说明:主要解读Android Studio Profiler 和 常见性能图表。 Android Studio的Profiler工具是一套功能强大的性能分析工具集,它可以帮助开发者实时监控和分析应用的性能,包括CPU使用率、内存使用、网络活动和能耗等多个方面。以下是对Android …

(UI自动化测试)web自动化测试

web自动化测试 UI自动化测试介绍 自动化测试理论: 图片上的文字等等不能做测试,只能发现固定的bug 工具选择及介绍 浏览器驱动:找元素--核心:驱动(操作元素)--通过代码

Web3与智能合约:区块链技术下的数字信任体系

随着互联网的不断发展,Web3代表着我们迈入了一个去中心化、更加安全和智能的网络时代。作为Web3的核心组成部分,区块链技术为智能合约的出现和发展提供了强有力的基础。智能合约不仅仅是自动化的代码,它们正逐步成为重塑数字世界信任体系的关…

AUTOSAR_EXP_ARAComAPI的7章笔记(6)

☞返回总目录 相关总结:ara::com 与 AUTOSAR 元模型的关系总结 7.4 ara::com 与 AUTOSAR 元模型的关系 在本文档中,我们一直在不涉及具体的AP元模型(其清单部分)的情况下解释 ara::com API的思想和机制,AP元模型是正…

浦语提示词工程实践(LangGPT版,服务器上部署internlm2-chat-1_8b,踩坑很多才完成的详细教程,)

首先,在InternStudio平台上创建开发机。 创建成功后点击进入开发机打开WebIDE。进入后在WebIDE的左上角有三个logo,依次表示JupyterLab、Terminal和Code Server,我们使用Terminal就行。(JupyterLab可以直接看文件夹)…

webgl threejs 云渲染(服务器渲染、后端渲染)解决方案

云渲染和流式传输共享三维模型场景 1、本地无需高端GPU设备即可提供三维项目渲染 云渲染和云流化媒体都可以让3D模型共享变得简单便捷。配备强大GPU的远程服务器早就可以处理密集的处理工作,而专有应用程序,用户也可以从任何个人设备查看全保真模型并与…

统信桌面操作系统V20专业版安装指南

1.概述 统信桌面操作系统安装器用于完成系统安装的任务,本手册会介绍统信UOS的安装环境、配置要求、安装方法,以及系统初始化设置,希望用户根据本文档可以快速高效的完成系统安装。 1.1安装配置要求 您安装系统前需了解安装统信桌面操作系…