概述开源硬件Arduino的生态是越来越丰富了,基于各种微控制器的Arduino开发板已经无法满足广大开源硬件爱好者的开发欲望,Arduino官方推出了基于FPGA的Arduino开发板——ArduinoMKRVidor4000,前一段时间,SeeedStudio也推出了Spartan边缘加速ArduinoShield,与官方的ArduinoMKRVidor4000相比,SpartanEdge加速器板具有类似的性能,而价格不到一半!Arduino使用简单,有着丰富的软件开源资源,而FPGA灵活且功能强大,可轻松处理复杂的计算,如音频和视频处理,SpartanEdge加速器板使用了Xilinx低成本高性价比的Spartan7XC7S15FPGA作为主控,既可以作为Arduino扩展板做硬件加速使用,又可以作为单独的FPGA开发板使用,另外,板上还集成了一片ESP32,支持2.4GHzWiFi和蓝牙4.1协议。如此神奇的跨界产品,下面我们来一探究竟。硬件特性SpartanEdge加速器板符合ArduinoUNOShield的尺寸规格,围绕XilinxSpartan-7XC7S15FPGA构建,有着12.8K逻辑单元,360KbBlockRAM,运行频率达到100Mhz,灵活的IO可以配置为PWM、SPI、I2C、UART等外设。开发板具有丰富的外围设备和接口,具备强大的可玩性。例如8位ADC,6轴加速度计,2个RGBLED,MINIHDMI接口,CSI摄像头接口,两个Grove接口等,支持802.11b/g/n2.4GHzWiFi以及带有BLE的蓝牙4.1。参数指标:FPGA芯片-Spartan-7XC7S15逻辑单元-12,800Slices-2,000CLB寄存器-16,000最大的分布式RAM(Kb):150块RAM/FIFOw/ECC(每块有36Kb):10块块RAM总计:360Kb时钟管理(1MMCM+1PLL):2DSPSlices:20无线芯片-EspressifESP32-D0WDQ6WiFi-802.11b/g/n2.4GHz蓝牙-Bluetooth4.1withBLE外设视频:MiniHDMIx1照相机:CSI/MIPI接口x1(兼容RaspberryPiCameraV1-OV5640)SD卡:MicroSD/TFcardslotx1FPGAGPIO:10pinsheader(IO9~IO0)ArduinoGPIO:32pinsheader(Arduinoformfactor)同Grove外设的连接:GroveConnectorx2(I2C/D2)LED2个单色LED2个3色RGBLED按键1个Boot1个Reset1个FPGAReset2个用户按键开关1个电源模式开关1个5通道DIP开关供电工作电压:5VIO电压:5V供电方式USBTypeC5VVIN8-17VArduinoMicroUSB5V其他外设8位ADC117315MSPSADC加速度计和陀螺仪:6轴LSM6DS3TR上手体验SpartanEdge加速板有两种工作模式,ArduinoShield模式和FPGA独立模式。即使开发者对FPGA理论一无所知也没关系,官方提供了完整的ArduinoFPGAAPI,可以帮助开发者使用FPGA资源来控制ArduinoIDE的FPGAI/O,为Arduino提供曾经无法想象的功能,如边缘技术,图像识别,信号采样和处理等。ArduinoShield模式SpartanEdge加速板作为Arduino的扩展板配合ArduinoIDE或SeeeduinoV4.2使用。通过板子上的ESP32,将FPGA配置Bitstream从SD卡导入到FPGA中。操作步骤:(1)在Arduino中安装ESP32的板子支持包在ArduinoIDE中选择File-Preferences-AdditionalBoardsManagerURLs,添加第三方的板子下载链接https://dl.espressif.com/dl/package_esp32_index.json,通过板子管理器添加ESP32平台,安装完成后,选择tool->board->DOITESP32DEVKIT。(2)下载ESP32Boot库Seeed官方提供了ESP32Boot库的下载https://github.com/sea-s7/spartan-edge-esp32-boot/archive/master.zip01LoadDefaultBitstream,这个例子的功能是将/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卡插入SpartanEdge加速板中(5)使用IO例子官方提供了SpartanEdge加速板的IO示例,可以控制板子上的GPIO/ADC/DAC/RGB-LED,首先需要下载SpartanEdgeIOExampleLibrary,将库安装到ArduinoIDE中。(6)下载运行使用USBType-C线连接板子和PC,按住板子上的'BOOT'键1持续1s以上进入Bootloader模式,点击'Upload'下载程序到ESP32。确定DIP开关K5打到ON状态,按住'RST'复位板子后,FPGA就可以运行了。FPGA独立模式SpartanEdge加速板可以作为普通的FPGA板使用,这时需要使用XilinxFPGA开发软件Vivado。关于vivado使用的教程这里就不做过多介绍了。总结SpartanEdge加速器板将Arduino和FPGA结合到一起,为开发者提供了更多有意思的玩法,既有Arduino简单易上手的特点,也有FPGA灵活、并行加速的优势,可以说这是一块非常有意思的开发板。版权申明:电路城原创内容,未经允许,不得转载!