我想我偶然发现了生活中对嵌入式系统的需求。太好了!有点吓人。而且我需要帮助。
背景:我受雇构建一个GUI应用程序,该应用程序从两个SICK LMS-291进行扫描,并将它们与亚英寸精度的GPS集成在一起,以便您知道每次扫描发生的位置。作为一名天真的Web程序员,我知道时间安排很重要,但没有意识到这也很困难!如果您不知道每个GPS点和每次扫描的发生时间,则无法确定扫描发生的位置。哎呀。
他们指定Windows 7作为平台,并购买了SeaLevel RS422至USB盒以将传感器和GPS连接起来,很快我就发现了自己的愚蠢之处。在传感器和我的计算机程序之间的某个地方,有些东西阻止扫描及时到达。LMS每秒发出75次扫描,或每秒13.32毫秒。我的程序无法及时获取它们。每隔100毫秒左右,以7或8或10或一组的形式获取它们。有时,也没有显示足够多的扫描,或者扫描被打乱了。这个SeaPort适配器每秒仅发送十次信号(可能吗?我不知道USB的工作方式),或者Windows几乎没有足够频繁地检查缓冲区(某处必须有缓冲区,对吗?)。
现在:这导致客户基本上可以接受的一些错误。我不是,但是,因为我有机会为客户做类似的工作(集成更多传感器输入!),所以我想找出正确的方法,例如,考虑到GPS的精度,能够保证扫描位置的准确性和准确性。
看起来像什么?我需要一个UI,并且能够每隔13.32毫秒检查一次来自这三个设备的输入。如果我将FreeRTOS与例如Nano-X一起用于GUI,并在他们提供的笔记本电脑上运行,那听起来像一个理智的解决方案吗?RS-422到USB适配器是否可能导致这些延迟,并且为此目的使用Windows实际上就可以了吗?