×
嵌入式 > 技术百科 > 详情

FPGA与ESP32的结合-Spartan FPGA边缘加速开发板评测

发布时间:2020-12-18 发布时间:
|

概述
开源硬件Arduino的生态是越来越丰富了,基于各种微控制器的Arduino开发板已经无法满足广大开源硬件爱好者的开发欲望,Arduino官方推出了基于FPGA的Arduino 开发板——Arduino MKR Vidor 4000,前一段时间,Seeed Studio也推出了Spartan边缘加速Arduino Shield,与官方的Arduino MKR Vidor 4000相比,Spartan Edge加速器板具有类似的性能,而价格不到一半!Arduino使用简单,有着丰富的软件开源资源,而FPGA灵活且功能强大,可轻松处理复杂的计算,如音频和视频处理,Spartan Edge加速器板使用了Xilinx 低成本高性价比的Spartan 7 XC7S15 FPGA作为主控,既可以作为Arduino扩展板做硬件加速使用,又可以作为单独的FPGA开发板使用,另外,板上还集成了一片ESP32,支持2.4GHz WiFi和蓝牙4.1协议。
如此神奇的跨界产品,下面我们来一探究竟。

硬件特性
Spartan Edge加速器板符合Arduino UNO Shield的尺寸规格,围绕Xilinx Spartan-7 XC7S15 FPGA构建,有着12.8K逻辑单元,360Kb Block RAM,运行频率达到100Mhz,灵活的IO可以配置为PWM、SPI、I2C、UART等外设。


开发板具有丰富的外围设备和接口,具备强大的可玩性。例如8位ADC,6轴加速度计,2个RGB LED,MINI HDMI接口,CSI摄像头接口,两个Grove接口等,支持802.11 b / g / n 2.4GHz WiFi以及带有BLE的蓝牙4.1。

 

参数指标:
 FPGA芯片 - Spartan-7 XC7S15
 逻辑单元 - 12,800
 Slices - 2,000
 CLB寄存器 - 16,000
 最大的分布式RAM(Kb):150
 块RAM/FIFO w/ ECC(每块有36Kb): 10块
 块RAM总计:360Kb
 时钟管理(1MMCM+1PLL):2
 DSP Slices:20
 无线芯片 - Espressif ESP32-D0WDQ6
 WiFi - 802.11 b/g/n 2.4GHz
 蓝牙 - Bluetooth 4.1 with BLE
 外设
 视频:Mini HDMI x1
 照相机:CSI/MIPI 接口x1 (兼容 Raspberry Pi Camera V1 - OV5640)
 SD卡:Micro SD/TF card slot x1
 FPGA GPIO:10 pins header (IO9~IO0)
 Arduino GPIO:32 pins header (Arduino form factor)
 同Grove外设的连接:Grove Connector x2 (I2C/D2)
 LED
 2个单色LED
 2个3色RGB LED
 按键
 1个Boot
 1个Reset
 1个FPGA Reset
 2个用户按键
 开关
 1个电源模式开关
 1个5通道DIP开关
 供电
 工作电压:5V
 IO电压:5V
 供电方式
 USB Type C 5V
 VIN 8-17V
 Arduino Micro USB 5V
 其他外设
 8位ADC1173 15MSPS ADC
 加速度计和陀螺仪:6轴 LSM6DS3TR

上手体验
Spartan Edge加速板有两种工作模式,Arduino Shield模式和FPGA独立模式。
即使开发者对FPGA理论一无所知也没关系,官方提供了完整的Arduino FPGA API,可以帮助开发者使用FPGA资源来控制Arduino IDE的FPGA I/O,为Arduino提供曾经无法想象的功能,如边缘技术,图像识别,信号采样和处理等。
 Arduino Shield模式


Spartan Edge加速板作为Arduino的扩展板配合Arduino IDE或Seeeduino V4.2使用。通过板子上的ESP32,将FPGA配置Bitstream从SD卡导入到FPGA中。
操作步骤:
(1)在Arduino中安装ESP32的板子支持包
在ArduinoIDE中选择File-Preferences-Additional Boards Manager URLs,添加第三方的板子下载链接https://dl.espressif.com/dl/package_esp32_index.json,通过板子管理器添加ESP32平台,安装完成后,选择tool->board->DOIT ESP32 DEVKIT。
(2)下载ESP32 Boot库
Seeed官方提供了ESP32 Boot 库的下载
https://github.com/sea-s7/spartan-edge-esp32-boot/archive/master.zip

 


01LoadDefaultBitstream, 这个例子的功能是将/overlay/default.bit文件从SD卡导入到FPGA中。
02LoadConfigBitstream 这个例子会读取SD卡中的一个 ini 格式文件/board_config.ini,将bitstream 中overlay_on_boot 的关键值写入到FPGA。
(3)准备SD卡
 将SD卡格式化为FAT32格式;
 在SD卡中新建一个名为overlay的文件夹;
 将bitstream文件放入到overlay文件夹中。
(4)运行例子
如果要运行第一个例子01LoadDefaultBitstream,将overlay文件夹中的bitstream文件重命名为default.bit.



如果要运行第二个例子02LoadConfigBitstream, 将board_config.ini 放入 SD卡中的根目录下。将SD卡插入Spartan Edge加速板中
(5)使用IO例子
官方提供了Spartan Edge加速板的IO示例,可以控制板子上的GPIO/ADC/DAC/RGB-LED,
首先需要下载Spartan Edge IO Example Library,将库安装到Arduino IDE中。
(6)下载运行
使用USB Type-C线连接板子和PC,按住板子上的'BOOT'键1持续1s以上进入Bootloader模式,点击 'Upload' 下载程序到ESP32。确定DIP开关K5打到ON状态,按住'RST'复位板子后,FPGA就可以运行了。

 FPGA独立模式
Spartan Edge加速板可以作为普通的FPGA板使用,这时需要使用Xilinx FPGA开发软件Vivado。


关于vivado使用的教程这里就不做过多介绍了。

总结
Spartan Edge加速器板将Arduino和FPGA结合到一起,为开发者提供了更多有意思的玩法,既有Arduino简单易上手的特点,也有FPGA灵活、并行加速的优势,可以说这是一块非常有意思的开发板。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NS推出采用第二代PowerWise技术的能源管理单元及先进电源控制器