首页 > 其他分享 >FPGA 14 ,硬件开发板分类详解,FPGA开发板与普通开发板烧录的区别

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

时间:2024-11-19 18:49:18浏览次数:3  
标签:基于 逻辑 FPGA 烧录 开发板 ARM

目录

前言
在嵌入式系统开发中,硬件开发板是工程师常用的工具之一。不同类型的开发板有不同的特点和用途,其中最常见的两大类是普通开发板和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开发板在烧录过程中的具体区别,从而选择适合自己的开发平台。

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

标签:基于,逻辑,FPGA,烧录,开发板,ARM
From: https://blog.csdn.net/weixin_65793170/article/details/143677809

相关文章

  • 1(1)FPGA入门第一关
    课程介绍1-24节为基础,之后为进阶的课程“FPGA中没有真正做算法的,一般都是别人将算法研发出来讲给你,你用FPGA去实现出来”什么是FPGA?FPGA有哪些优势?后三者的电路是已经做好了的,要用的时候需要去学习有哪电路以及如何调用,而FPGA需要你自己去设计电路来实现功能FPGA直接将......
  • 现场可编程门阵列英特尔® Stratix® 10 GX FPGA 1SG166HN2F43E2LG设计用于满足高吞吐
    英特尔®Stratix®10GXFPGA包含多达1020万个LE。它们在单独的收发器块上配备多达96个通用收发器,可提供2666MbpsDDR4外部内存接口性能。这些收发器可提供高达28.3Gbps的短距离和跨背板传输。这些设备针对需要最高收发器带宽和核心结构性能的FPGA应用而优化。优......
  • 【迅为】瑞芯微itop-RK3568开发板Linux+HAL启动测试
    迅为iTOP-RK3568开发板AMP AMPSDK支持Rockchip平台异构多系统AMP(非对称多核架构)的开发软件包,支持Linux(Kernel)、Standalone(Hal)、RTOS(RT-Thread)组合AMP构建形式。可以满足一些特定行业应用,如电力物联网、电网继电保护、电力系统安全控制、工业自动化的需求。     ......
  • 【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势
     RK3568开发板   瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和MaliG522EE图形处理器。RK3568支持4K解码和1080P编码,支持SATA/PCIE/USB3.0外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3......
  • ALINX 产品亮相德国慕尼黑电子展,展示基于紫光同创 FPGA 芯片的系列板卡成果
    2024年11月12-15日,来自全球各地的电子行业精英齐聚慕尼黑国际电子元器件博览会(elctronica)。作为享誉全球的专业贸易博览会,electronica几乎覆盖全品类和用户市场——从汽车和工业电子到嵌入式系统、无线技术、医疗电子和MEMS等,是展示电子行业发展趋势和市场信息的重要平台。......
  • ALINX 多系列 FPGA 产品亮相第二十六届高交会,携手紫光同创助力 FPGA 国产化发展
    2024年11月14-16日,以“科技引领发展产业融合聚变”为主题的第二十六届中国国际高新技术成果交易会在深圳盛大召开。全球100多个国家和地区超过5000余家知名企业与组织参展,设置包括人工智能与机器人、电子信息与大数据、高端装备制造等在内的22个专业展,吸引专业观众达40万......
  • 【PCIE716-0】基于PCIe总线架构的XC7Z100 FPGA高性能实时信号处理平台
     板卡概述PCIE716-0是一款基于PCIe总线架构的XC7Z100FPGA高性能实时信号处理平台。该平台采用Xilinx的ZYNQSOC系列产品XC7Z100作为主处理器。该平台的PL端具有1个FMC(HPC)接口,1路PCIex8主机接口,支持1路UART串口、支持1组64位DDR3SDRAM大容量缓存、支持1路1000BASE-T千兆以太......
  • 低成本玩转Linux开发板(基于NUC980双层板)原理图+PCB分享
    更多电路设计,PCB设计分享及分析,可关注本人微信公众号“核桃设计分享”!由于公司项目需求,一直在找一款能跑Linux系统,外围接口丰富的,关键是必须要有CAN,UART,RMII等接口的芯片(无需LCD,HDMI,eDP)。对于一般的多媒体芯片来说,类似于瑞芯微,全志,海思,NXP等方案上,基本都是BGA封装的居多,CAN......
  • 一文讲透 FPGA CDC 多bit跨时钟域同步-hand-shanking机制
    一、背景数据的跨时钟域处理是FPGA开发过程中的常见问题,存在两种情况慢时钟向快时钟同步:只需在快时钟域打两拍即可。其RTL如下:打拍同步的原理:大家在初学FPGA时,经常听过FPGA中对信号打拍可以有效得避免亚稳态,而且一般要打两拍,其数学本质是如果打一拍发生错误得概率是1/1000......
  • 新手在学习FPGA时有哪些常犯的错误?
    新手在学习FPGA时,通常会犯以下几种错误:不理解硬件描述语言(HDL)与高级编程语言的区别:新手可能会将Verilog或VHDL当作C语言或Python来编写,而忽略了HDL是用于描述硬件的行为,而不是编写软件程序。不熟悉仿真与综合的概念:仿真是在没有实际硬件的情况下测试代码的行为,而综合是将H......