当前主卡可配置子卡的采样率、采样长度,并通过start信号来控制子卡的开始。
CTRL_MAGIC = 32'h55aabcbc
CTRL_TYPE_RATE = 4'h1
CTRL_TYPE_LEN = 4'h2
CTRL_TYPE_GAIN = 4'h3
ctrl_val_reg[15:8]:通道号
ctrl_val_reg[2:0]:增益值
当通道号为FF时,子卡所有通道增益均配置为ctrl_val_reg[2:0]。当通道号为0~31时,修改对应通道的增益。
通道的增益控制如下图所示:

主卡设置了2m采样率,100个采样点,然后上位机可以成功接收到20个udp包,每个包5个采样点。在这个过程中我也学习了上位机udpdk程序的使用。其中dpdk_enhancerecv为生产者,负责接收udp数据并写入到共享内存,在cd /tmp/shm路径下生成dd.shm.5文件。dd_count为消费者程序,可以查看具体接收情况。
本文章使用limfx的vscode插件快速发布