发帖 |
[问答] Labview RT终端与Arduino串口高速通信求助~应该是比较进阶的问题吧。。
2018-8-8 17:06:54  434 labview VISA Arduino 串口通信 串口
收藏 2 收藏 推荐 1 推荐
分享
各位大佬好,
我的目的是用Arduino采集IMU LSM6DS3的数据,然后通过串口发送给Labview RT终端,我使用的是cRIO9039。我想做到实时的数据读取,并且采样率不低于200Hz,有一些问题想请教各位大佬。
目前出现的问题是:
1、我使用了115200的波特率,每次发送39个字节,这样限制了我的采样率,我希望能够达到200Hz以上的采样率,该如何做呢?
2、Arduino程序中采样率如何设置呢?我目前用了一个简单的delay(5),延时5ms。
2、在labivew程序中,一开始总是读取IMU FIFO中的数据,所以我的while定时循环是2ms,先将FIFO中读取完,然后每次读取的数据就是实时数据了。但是实际中纵使采用了定时循环,每个循环仍耗时8-14ms不等。如图。 11.jpg
3、有无其他更好方法实现我的功能呢?将IMU数据实时传输到cRIO,采样率不低于200Hz.
1.jpg
奖励10积分
2018-8-8 17:06:54   2 评论 邀请回答
2 条评论
4个回答
10ms以下就不要用串口了,网口或许可以实现。
最佳答案
5 条评论
串口波特率限制在115200,不能再高了。。
2018-8-8 19:48:01 评论

举报

这个波特率应该够快的,只是在循环中用串口与PC通讯耗时确实是要这么多时间(你这还算快的了)。
你这个下位机的速率是够,我想你现在的瓶颈在labview运行串口通讯耗时相对太长,不满足200Hz的速度,你可以将数据放在串口中,一次读取上来,将串口中累积的数据做处理,转化为5ms一次的显示。
4 条评论
  • 2018-8-9 16:36

    如果一次读取出来,在进行处理,不满足我的实时性需求呀。

  • 2018-8-9 16:37

    Labview程序我用的是官网的连续读取和写入的demo,稍微做了点修改,可能存在程序上的瓶颈。即使我让他运行在RT终端,依旧不满足200HZ

    宁静致远。。 回复 shangxinol: 2018-8-9 16:40

    这个是labview的瓶颈,它的速度只有这么快,但是这个速度对于人的反应来说也够快啊,你隔个几十ms将串口的数据读上来,然后再解析为5ms的数据,操作人员看到的也就是实时的了。

    shangxinol 回复 宁静致远。。: 2018-8-9 21:13

    我这个对实时性要求比较高,几十ms的延时不可接受。延时必须控制在10ms以下,不然不会用RT终端了。只是用cRIO,我不会编写I2C SPI通讯所以才想到用串口试试。。。

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

站长推荐 上一条 /9 下一条

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