芯路恒电子技术论坛

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

仿真回环测试中指令的组包

[复制链接]
  • TA的每日心情
    开心
    2022-5-11 16:38
  • 24

    主题

    25

    帖子

    163

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    163
    发表于 2021-8-24 07:56:24 | 显示全部楼层 |阅读模式
    本帖最后由 磕磕碰碰 于 2021-8-30 07:46 编辑


    AD7606以太网数据采集系统设计的过程中遇到一个问题。在进行功能仿真的过程中如何配置以太网接收的指令包?
    AD7606以太网数据采集系统要进行工作首先就是要确保输入准确的指令,就涉及到指令的配置,模拟上位机指令下发对采集的相关参数进行设置。指令会对7606的采样的数据个数、采样速率、采样通道进行设置。
    系统框图如图1所示
    图1.png
    图1
    实现以200K的采样速率,对1个通道进行采样,共采集16384个数据。四个寄存器对应的指令如下:
    DataNum:          55 A5 02 00 00 40 00 F0
    ChannelSel:        55 A5 01 00 00 00 01 F0
    ADC_Speed_Set :55 A5 03 00 00 00 F9 F0
    RestartReq:        55 A5 00 00 00 00 00 F0
    在这里我自己犯了一个惯性思维的错误,既然缺少指令就配置指令,那就组一个以太网包吧,于是就开始重以太网(MAC)帧协议前同步码开始利用以太网测试工具对每层协议进行设置,利用CRC计算工具对以太网帧进行校验计算,这样组包的过程繁琐,且到最后也难以确保组包完全正确,修改数据参数更是繁琐,每次修改ADC配置参数都相当于重新组一次以太网包。其实通过对我的设计观察发现,在系统设计中以太网发送模块就是最好的组包工具。这里其实是对仿真文件缺乏灵活的运用,在进行仿真的发过程中要对设计的模块进行灵活的调用。
    2中以太网发送模块就是对数据进行组包发送到PC端,如果这里对以太网发送模块在仿真文件中进行例化,可快速准确的对指令进行组包配置,也可以对太网发送模块功能进行验证。
    ADC0.png
    图2
    图3是仿真文件中例化的以太网发送模块,指令通过gmii发送模块对指令进行组包,在经过gmii转rgmii模块实现指令的rgmii发送。
    图3.png
    图3

    图4是仿真中的指令信息

    图4.png

    图4
    以最后一条指令为例进行观察,指令组包正常,如图5所示
    图5.png
    图5

    ad7606_eth_tb.zip

    1.46 KB, 下载次数: 103

    AD7606_rgmii仿真文件

    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-3-29 23:56 , Processed in 0.113778 second(s), 34 queries .

    Powered by Discuz! X3.4

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

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