Ben*_*jol 5 architecture f# real-time fpga
要求的简要说明
(这里有很多好的答案,感谢所有人,如果我得到这个飞行,我会更新).
探测器沿轨道运行,实时测量若干不同的物理参数(确定性),作为曲线距离的函数.用户可以在此过程中单击按钮以"标记"航点,然后使用GUI输入每个航点的详细信息(在人工时间,但数据采集继续进行).
在此之后,系统对获取的数据执行一系列计算/过滤/修改,同时考虑为每个航路点输入的约束.该过程的输出是一系列校正,也是曲线距离的函数.
该过程的第三部分涉及再次沿轨道运行,但这次将校正写入校正轨道的物理系统(仍然是曲线距离的函数).
我目前对您的输入/评论/警告的想法
我想确定的是我是否可以用PC + FPGA来做到这一点.FPGA会进行"数据采集",我会在PC上使用C#从缓冲区读取数据.航点信息可以通过WPF/Winforms应用程序输入,并存储在数据库/平面文件/任何待处理的"处理"中.
对于处理,我会使用F#.
FPGA将用于将信息"写入"物理机器.
我目前可以预见的一个问题是,处理算法是否需要采样频率,这使得缓冲的数据量太大.这意味着将一些处理卸载到FPGA - 至少是不需要用户输入的位.不幸的是,唯一的预处理算法是卡尔曼滤波器,用我用Google搜索的方法很难用FPGA实现.
我非常感谢您提供的任何反馈意见.
更新(此处及时添加额外信息)
在卡尔曼滤波器的入口处,我们每1ms看一次.但是在卡尔曼滤波器的另一侧,我们将每隔1米采样一次,我们所讨论的速度大约为2秒.
所以我想更准确的问题是:
由于您沿着轨道移动,我必须假设采样频率不超过 10 kHz。您可以轻松地将数据以该速率卸载到 PC,甚至是 12 Mb USB(全速)。
对于数学数据的认真处理,Matlab 是最佳选择。但由于我没有听说过 F#,所以无法发表评论。
4 x 400 双打没问题。即使是低端 FPGA 也有数百 kb 的内存。
您不必更改图像即可在阅读和写作之间切换。FPGA 中一直都是这样做的。