Scopefun开源项目手把手制作

介绍scopefun

        scopefun是一款开源一体化仪器平台,它包括示波器、任意波形发生器、频谱分析仪、逻辑分析仪和数字模式发生器。该开源的工程支持在linux,windows,Mac上运行(本人只在win10上试过)。

        

上述为该工程的规格,对于日常使用时足够的,但是唯一的缺点就是用到的ADC芯片优点昂贵,其余的材料都比较便宜。

上述为实际开出来的电路板。还是很美观的。

项目的官网:https://www.scopefun.com/,上面可以下载scopefun的PC端软件。

软硬件下载:https://gitlab.com/scopefun,这里面可以下载FPGA的程序(Firmware),PCB板(Hardware),另外一个我目前暂时没有用到。

其中FPGA的程序我用的是和开源的一样的版本,都是Vivado2022.2。

使用vivado打开FPGA程序

如何通过tcl命令打开vivado程序:将程序下载解压之后,需要使用cd命令导航到.tcl文件所在文件夹,随后再用source命令打开.tcl文件即可。

之后程序就可以正常使用了,点击Generate Bitstream生成bit文件便于后续下载程序。

使用Kicad打开PCB

硬件PCB板使用kicad打开,kicad下载地址:https://www.kicad.org/download/windows/,PCB中需要注意的一点是PCB中的USB3.0的8,9引脚与实际购买的USB3.0的引脚不一致。但是使用的CYUSB3014芯片支持自动翻转引脚极性。因此可以可以直接使用。

就此完成了所有内容的下载。

拿到一块完整的电路板之后,我们首先检查一下有没有虚焊漏焊,电源有没有短路等情况。检查完之后,我们进行下一步操作。

关于USB驱动以及USB程序的下载

安装EZ-USBFX3的SDK

开发EZ-USBFX3,需要用到Cypress提供的开发工具,该软件已经经历了多次更新,目前最新版本的叫做FX3_SDK_Windows_v1.3.5.exe。该软件以及EZ-USBFX3的其他所有相关文档都可以从以下地址下载得到。下载需要注册,注册非常简单,仅需要邮箱就能成功注册,这里就不给大家介绍注册方法了。

CYUSB3014开发套件官方资料下载地址:

EZ-USB™ FX3 Software Development Kit - Infineon Technologies

下载好之后,即可安装该软件,该软件实际是一个集成包,里面包含了开发EZ-USBFX3的软硬件所需的全部内容,包括开发软件、DEMO、文档等。安装过程也非常简单,这里就不做介绍了。

安装EZ-USB驱动

当开发板和PC机连接完成后,我们就可以为设备安装驱动了。选中设备,单击鼠标右键,选中更新驱动程序,选则浏览计算机以查找驱动程序软件。

定位驱动路径到以下文件夹(以实际的 SDK 安装路径为准)。J:\scopefun\scopefun\software\USB\1.3\driver,并勾选上“包括子文件夹”选项。然后点击下一步。

如果弹出以下界面则表明驱动安装成功。

此时,回到设备管理器中,可以发现如下设备:

到此我们就完成了EZ-USB的连接,接下来,就可以对设备进行测试了。

http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit关于EZ-USB的启动方式

在进行测试之前,需要补充介绍下EZ-USBFX3的启动方式,EZ-USBFX3芯片总共支持7种引导方式,所谓引导,就是EZ-USBFX3芯片上电以后,片上的ARM9处理器从何处开始读取程序并运行。其支持的7种启动方式如下所示:

  1. 从 USB 引导
  2. 从 I2C 引导
  3. 从 SPI (支持的 SPI 器件为 M25P16 (16 Mbit)、M25P80(8 Mbit) 和 M25P40 (4 Mbit))或同类器件引导
  4. 从 GPIF II 异步 ADMUX 模式引导
  5. 从 GPIF II 同步 ADMUX 模式引导
  6. 从 GPIF II 异步 SRAM 模式引导

那么究竟EZ-USBFX3芯片上电后从哪里开始启动呢?芯片提供了3个启动配置引脚,通过设置启动引脚不同的值,来选择不同的启动方式。这三个引脚名叫PMODE脚。这三个配置引脚,每个引脚都有三种状态,1(接高电平)、0(接低电平)、F(浮空,既不接高电平,也不接低电平),三个配置引脚的不同状态与对应的启动方式如下表所示:            

根据上诉表格以及开源的PCB可知,scopefun采用的是第五种引导方式,即F1F,IIC启动方式,该方式首选从EEPEOM存储器中运行程序,若运行失败则启动USB引导。由于我们没有给EZ-USBFX3的EEPROM下载对应的固件程序,因此插电后,暂时还没有办法正常使用scopefun,下面我们进行EZ-USBFX3固件的下载。

编译EZ-USB固件

EZ-USB固件的固件一般是.img的映像文件,而scopefun开源的文件里面没有,但是scopefun给了源文件,因此也不需要自己编程序,但是需要我们自己编译一个。

首先我们需要明确我们要编译的文件在哪,从上面我说的下载的FPGA程序中,有个FX3的文件夹,如下图所示

我们所需要编译的文件就在FX3->FX3fw(J:\scopefun\scopefun\scopefun-firmware-master\FX3\FX3fw)这个文件夹里面,记住这个路径,后续会用到。

随后我们在开始菜单中找到EZ USB SUIT,如下图所示

配置工作环境,可以默认

导入固件

上诉用到的路径就是前面让大家记住的路径(J:\scopefun\scopefun\scopefun-firmware-master\FX3\FX3fw)。

设置完后,就可以编译了,画重点了,使用debug编译的速度大概在252MB/s,使用release编译的速度大概在338MB/s(我没有尝试过,我使用的是release编译的,未尝试过另一种编译模式)。编译完成后,在J:\scopefun\scopefun\scopefun-firmware-master\FX3\FX3fw\Debug这个文件夹中会生成一个FX3fw.img文件,该文件就是我们后面需要下载到EZ_USB中的映像文件。

下载EZ-USB固件

在开始菜单中找到Control Center,如下图1所示,打开后软件会自动扫描到我们的USB设备,如下图2所示。

这里,我们选中设备(Cypress FX3 USB BootLoader Device),然后点击菜单栏中的Program,依次选择FX3 -> I2C EEPROM。

随后选择上述我们编译好的固件J:\scopefun\scopefun\scopefun-firmware-master\FX3\FX3fw\Debug\Fx3fw.img,等待左下角出现Programming of I2C EEPROM Succeeded就表示成功下载了固件,由于我们下载到EEPROM中,掉电不丢失,因此我们之后就不需要再下载固件了(当然如果想测试一下,也可以将上述故固件通过RAM下载到EZ_USB中用于测试,但是掉电会丢失)。到此,EZ_USB的固件就下载好了。

FPGA程序的下载

该开源工程的scopefun软件可以自动与FPGA连接,并将.bin文件下载到Artix7芯片中。

该.bin文件在 scopefun的安装路径中,可以自己替换,E:\LZQ\scopefun\software\ScopeFun 2.3.4\data\firmware\fpga2.bin。

Scopefun软件的使用

程序下载完成后,双击打开桌面的scopefun软件,打开之后USB OPEN 和FPGA都会打上√,如下图所示,若没有则检查一下是否已经下载好了USB的固件。随后当你的CH输入端有信号输入后,点击Capture即可开始采集信号。

 

最后

本人也是小白一枚,若写的有什么不对的地方请大家及时指出。此外scopefun的硬件电路以及FPGA的程序代码正在学习中,后续有机会再和大家分享。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值