芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5967|回复: 0

【ACX720】AD9226采集DDR3存储USB2.0数据传输例程使用说明

[复制链接]
  • TA的每日心情
    开心
    2021-12-31 09:03
  • 71

    主题

    79

    帖子

    967

    积分

    高级会员

    Rank: 6Rank: 6

    积分
    967
    发表于 2022-3-28 15:47:07 | 显示全部楼层 |阅读模式
    ACX720开发板USB2.0接口数据采集例程使用说明

    数据采集概述
    在计算机广泛应用的今天,数据采集在多个领域有着十分重要的应用。
    数据采集是计算机与外部物理世界连接的桥梁,通过数据采集工作,自然界的许多模拟量信息能够借助计算机进行保存,分析,还原等操作。技术实践中,我们只需要制订上位机(PC)与移动数据采集器的通信协议,就可以实现两者之间阻塞式通信交互过程。
    数据采集系统往往由传感器、模拟多路开关、放大器,采样保持器、AD转换器、计算机及外设等组成。
    在农业、工业、日常生活和航空航天等领域,尤其是在对信息实时性能要求较高或者恶劣的自然环境中,数据采集有其应用的必要性。比如说:在工业生产和科学技术研究的各行业中,常常有利用PC或工控机配合末端传感器对诸如液位、温度、压力、频率等参数进行实时监控和记录的需求,这些环境往往有时候并不适合人类直接作业,或者即使人类进行直接作业,也无法达到和计算机自动采集分析处理某一个任务的实施效果。再比如说:在航天航空领域,卫星数据采集系统利用航天遥测、遥控、遥监等技术,对航天器远地点进行各种监测,并根据需求进行自动采集,经过卫星传输到数据中心处理后,送给用户使用。
    谈到数据采集,不得不说说数据转换器。现在常用的数据转换方式是通过数据采集板卡进行,常用的有如A/D卡以及422、485等总线板卡。
    前面们提到,数据采集在技术实践中,需要对通信协议进行选取。目前计算机通信比较典型的协议包括串口通信,USB接口通信,以太网通信等。本工程就是采用的USB接口方式进行通信。选取USB通信的最突出优势在于通信速度高,采样数据上传快。

    实验平台
    ACX720型FPGA开发板,板载USB2.0接口物理层芯片,GPIO0接口。
    双通道ADC数据采集ACM9226模块
    支持USB2.0接口,操作系统为vista,win7,win8或win10的PC机。

    实验过程
    整个实验过程文档主要包含以下几个重点:
    ·Vivado和cypress工作环境的搭建
    ·发码参数指令设置
    ·典型使用流程及注意要点
    ·接收到数据的简易评定分析

    Vivado和cypress工作环境的搭建
    Vivado下载环境搭建,详细内容可以参考小梅哥xilinx FPGA自学教程第一章相关内容。简单概况为:软件解压,设置安装组件,设置非中文安装路径,安装,破解。
    ACX720开发板完成USB采样的连线方法:
    如选用我司ACM9226数据采集卡,将其接于开发板GPIO0接口,另一端模拟量输入端口接到幅值不大于5V的信号源即可。
    001.png
    USB通信线连接到PC机,直接USB连线即可,无需任何端口号或接口号设置。但首次使用时,需在设备管理器中安装驱动程序。其方法为:
    使用USB线连接开发板USB接口和电脑的USB接口,此时,系统右下角应该会弹出发现新硬件,并且驱动安装失败,如下图所示:
    002.png
    查看设备管理器中,应该能看到如下所示的一个未知设备:

    003.png


    我们选中该设备,点击鼠标右键,即可查看其详细信息:
    005.png
    在详细信息这一栏我,我们在属性的下拉表中选择“硬件ID”,可以看到,其值为USB\VID_040B&PID_8613,这就是我们的USB2.0模块的硬件ID。
    在属性选项卡中,切换到驱动程序选项卡,选择“更新驱动程序,如下图所示:
    004.png
    在弹出的界面中,选择”浏览计算机以查找驱动程序软件“,路径定位到我们提供的USB开发包的驱动程序安装路径下,然后点击确定,如下图所示:
    006.png
    接着点击下一步,就会开始驱动的安装,安装完成后,弹出如下所示的界面,表明驱动安装完成,点击关闭按钮完成安装。
    007.png
    接着我们回到设备管理器中,在通用串行总线控制器下,可以看到如下所示的设备,且无叹号提示异常,则表明驱动程序安装正确。
    008.png
    在常用软件文件夹里面的FX2 USB 相关里面, “PC上位机”文件夹中包含了一个名为CyControl.exe的软件和CyUSB.dll的动态链接库,如下图所示。这个CyControl.exe就是ControlCenter软件,我们直接使用这个软件,就可以完成FX2芯片的固件烧写和基本的数据传输测试。
    009.png

    双击CyConsole.exe打开软件,如果已经使用USB线连接开发板USB接口和电脑的USB接口,则会显示出一个名为CypressFX2LP No EEPROM Device的设备,如下图所示。
    010.png

    鼠标选中该设备,点击Program -> FX2 -> 64KBEEPROM如下图所示。
    011.png
    选择64KB EEPROM之后,就会弹出一个选择文件的对话框,在该对话框中,定位路径到工程文件包路径下,烧写slave_for_adc.iic文件到USB芯片的EEPROM中。下次FX2接入电脑,或者按下开发板背面的USB-RST按键,FX2就会自动从EEPROM中读取程序并加载到芯片的RAM中运行,可以实现掉电不丢失,如下图所示。
    012.png
    这样,我们就完成了开发板上USB芯片的程序固件烧录工作。

    发码参数指令设置
    我们的发码参数指令,共分为三个类别。
    1、   设置采样通道:如55 A5 01 00 00 00 00 F0,其中55A5是起始码,紧接的01是指令类别为采样通道,紧接的00 00 00 00是设置采样通道,这里目前只设置了3种情况,00 00 00 00设置的是默认的FPGA计数器,0000 00 01设置的是ADC通道1,00 00 00 02设置的是ADC通道2。
    2、   设置采样数量:如55 A5 02 00 00 02 00 F0,其中55A5是起始码,紧接的02是指令类别为采样数量,紧接的00 00 02 00是设置的采样数量512,F0是终止码,中间若干位设置采样数量。
    3、   启动指令:如55 A5 00 00 00 00 00 F0,其中55 A5 是起始码,紧接的00是指令类别为启动,最后的F0是终止码。剩余的4个8位数可以为任意数,推荐默认为全0,即0000 00 00。
    指令可以逐条发送,也可以组合发送,组合发送的时候,启动指令必须写在最后。
    比如:发送:
    55 A5 01 00 00 00 00 F0 55 A5 02 00 00 01 00 F0 55 A5 00 00 00 00 00 F0
    表示使用FPGA内部计数器生成数据,采样256个16bit的点,开始执行。
    再如:
    55 A5 01 00 00 00 01 F0 55 A5 02 00 00 02 00 F0 55 A5 00 00 00 00 00 F0
    表示使用通道1进行采样生成数据,采样512个16bit的点,开始执行。

    典型使用流程及注意要点:使用cypress上位机的操作流程
    前面讲解了软件环境的搭建,硬件电路的连接和指令码的含义,下面将演示一次完整的使用cypress软的的操作流程,同时指出使用注意事项。
    步1:按照前述内容,安装好vivado软件,解压、编译工程,打开上位机工具。
    013.png
    步2:按照前述内容,连接好硬件资源。这里我们以信号发生器第一通道输出数据,ACM9226模块第一通道采样为例,进行设置和连接。比如,我们设置信号发生器的发生频率为1M,准备采样256个16bit数据。
    014.png
    步3:开发板上电,烧写FPGA程序
    015.png
    016.png

    017.png
    确认bit文件就是我们需要烧写的程序后,开始program。完成后开发板内我们的程序将会开始运行。下图为程序烧写正确后,开发板现象,下方的led灯亮两个,表明锁相环和DDR初始化正常。
    018.png


    步4:双击打开上位机软件,如果USB连接正常并且软件按前叙步骤正确安装驱动,则可以看到列表框有FX3芯片或者FX2芯片被识别。确认固件已经正确烧写后,找到bulkout endpoint(0x02),输入指令串。比如按前述:我们使用通道1,采样256个16bit数据,我们可以设置指令串为:
    55 A5 01 00 00 00 01 F0 55 A5 02 00 00 01 00 F0 55 A5 00 00 00 00 00 F0

    019.png
    020.png

    021.png
    切换到bulk in endpoint,确认PktMode被勾选,同时按照自己的采样设置需求,设定接收数据量。完成设定后,点击TransferFile-IN,就可以接收到需要采样的数据。

    022.png

    这里,有几点需要再次强调,
    上位机接收数据前,一定确认pktmode勾选。
    采样数量必须为256个16bit数的整数倍,即接收的bytes to transfer,一定是512个8bit数据的整数倍。如果操作失误要求读数据的数量大于指令码设置的写入数据故障,会出现输出框为997的故障码。这时候建议将开发板复位,fx2芯片复位以杜绝上次不正常读写的数据残留。开发板复位,按下S4按钮即可,fx2芯片复位,在背面按下USB-RST按钮。
    如果是逐条发送指令,则必须确保启动指令在设置通道和设置采样数量指令之后,否则一旦发送采样启动指令,通道和采样数量设置将不会生效。
    目前最大采样数量经过测试支持128M的16bit数,即参数设置为55 A5 02 08 00 00 00 F0。此时cypress软件最大读出量streamin为268435456的8bit数。(最大读出量stream in读出时,cypress软件必须勾选PktMode,且读出时间较长,不稳定。建议分批次读出,每次streamin读出小于等于16777216个数)

    使用XLH_USB上位机的操作流程
    如果使用XLH_USB上位机软件,则要简单很多,可以无需设置发码指令,只需要在软件界面中填好采集信息即可。

    023.png

    初次使用,有可能需要进行扫描设备操作。
    采样通道CH0为FPGA内部计数器生成的数据,采样通道CH1和CH2就是我们使用9226的外部数据采样通道。
    采样得到的数据,默认保存在d盘根目录下方。
    采样数量可以设置最大为128M。如果采样数量设置过大,则有可能会占用较长的采样时间,具体可参考USB通信协议数据传输速率。
    设定好以后,可以点击“开始采样”。
    完成后点击“停止采样”,就可以得到采样数据的bin文件。

    接收到数据的简易评定分析
    确认电脑已安装好常规版本的matlab(安装文件请自行准备)后,点击提供的ADCdata_to_wave_v2_2.m文件,
    024.png
    ,检查是否打开后有如下界面出现:
    025.png
    确认需要打印的文件路径正确,然后点击运行,即可生成数据分析波形:
    026.png
    bin文件保存的数据分析
    为了证明我们的工程在不同设置状态下工作的可靠性,我们给出一些bin文件实验数据结论的波形进行对照参考。
    027.png
    上述两幅波形图展示的是200kHz状态下不同采样数据量的波形图。
    第一幅图是200k的信号发生频率,采样256个16bit点,即从cypress读出512个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 0001 F0 55 A5 02 00 00 01 00 F0 55 A5 00 00 00 00 00 F0
        第二幅图是200k的信号发生频率,采样2048个16bit点,即从cypress读出4096个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 0001 F0 55 A5 02 00 00 08 00 F0 55 A5 00 00 00 00 00 F0
    028.png
        上述两幅波形图展示的是1Mhz状态下不同采样数据量的波形图。
    第一幅图是1Mhz的信号发生频率,采样256个16bit点,即从cypress读出512个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 0001 F0 55 A5 02 00 00 01 00 F0 55 A5 00 00 00 00 00 F0
        第二幅图是1Mhz的信号发生频率,采样2048个16bit点,即从cypress读出4096个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 0001 F0 55 A5 02 00 00 08 00 F0 55 A5 00 00 00 00 00 F0
    029.png
    030.png
         上述四幅波形图展示的是1Mhz状态下不同电压幅值的波形绘制效果图。
    第一幅图是1Mhz的信号发生频率,采样256个16bit点,即从cypress读出512个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 0001 F0 55 A5 02 00 00 01 00 F0 55 A5 00 00 00 00 00 F0
        第二幅图是1Mhz的信号发生频率,采样256个16bit点,即从cypress读出512个8bit数据的采样数据分析效果图。
    指令是:55 A5 01 00 00 00 01F0 55 A5 02 00 00 08 00 F0 55 A5 00 00 00 00 00 F0
    这样,我们的数据采集工程正确性就能得到验证。




    ACX720_ad9226_ddr3_usb_OK_pdf_V4.0_part1.rar

    4.89 MB, 下载次数: 371

    ACX720_ad9226_ddr3_usb_OK_pdf_V4.0_part2.rar

    15.98 MB, 下载次数: 721

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-5-7 10:38 , Processed in 0.113356 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表