LabVIEW论坛
直播中

jf_79791979

未满1年用户 8经验值
擅长:接口/总线/驱动
私信 关注
[问答]

Labview与上位机搭配USRP X410,搭建对应的通信系统。持续收发过程中突然报告USRP写入数据错误,具体解决措施如何?

1、项目使用Labview、上位机、USRP,搭建一个可以持续收发的通信系统(每次发送不同的数据,收发之间带有反馈信息)。一次完完整整的运行,需要收发共交互60次以上,即发送数据60帧。
目前遇到的问题是:有时候系统能够完整的运行结束(即60组数据全部收发完成),有时候发送到三四十帧的时候,突然USRP报错,具体是无法写入数据,导致发端一直卡在USRP配置,收端收的时候一直收到噪声,从而使得整个系统无法继续运行。
2、错误内容如图片所示,根据错误代码,去NI官网进行查询,对应叙述如下:−63083 NiFpga_Status_FifoElementsCurrentlyAcquired A Read FIFO or Write FIFO function was called while the host had acquired elements of the FIFO. Release all acquired elements before reading or writing.

906cddeed07b94784217981c0c552f2.png
3、请各位大佬指点一下,具体细节询问可以加私人联系方式,对解决问题有重要帮助的,有丰厚报酬(新注册的账号,只有一积分可以悬赏)。

已退回1积分

回帖(2)

红旧衫

2023-12-27 11:52:13
可以参考一下

解决这个问题的具体方法是释放之前获取的FIFO元素,并重新尝试操作。在LabVIEW中,可以使用"Release FIFO Elements"函数来释放FIFO元素。根据错误代码,推测可能是在执行写入数据操作时,之前获取的FIFO元素没有被释放,导致无法继续写入数据。

可以在程序中添加一个判断语句,在每次写入数据之前检查是否存在已获取的FIFO元素。如果存在,则使用"Release FIFO Elements"函数释放元素,然后再重新执行写入操作。

1. 在发送数据之前,添加一个判断语句,检查FIFO是否有已获取的元素:

2. 如果存在已获取的元素,则使用"Release FIFO Elements"函数释放元素:

3. 然后,再重新执行写入数据操作。

这样,在每次写入数据之前,都会先释放之前获取的FIFO元素,从而避免了错误发生。这个解决措施可以在整个通信系统中循环执行,以确保系统可以持续收发数据而无报错。
2 举报
  • jf_79791979: 您好,这里的FIFO应该是USRP里面的FIFO,可以在labview中实现清空吗
  • jf_79791979: 您好!这里的FIFO应该是USRP内部的FIFO,通过labview可以实现清空吗?

roki

2024-1-8 16:35:56
应该是你这VI的数据读取没写好
举报

更多回帖

发帖
×
20
完善资料,
赚取积分