- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻求帮助,最重要的是寻求 VMEbus 专家的帮助。
我正在从事一个项目,旨在建立一个从运行 vxWorks 6.8 的实时 powerpc Controller (Emerson MVME4100) 到运行内核 2.6.32 的 Debian 6 的 Linux Intel 计算机 (Xembedded XVME6300) 的通信 channel .该 channel 运行在 VME 总线上;两台计算机都在 VME 外壳中,并且都使用 Tundra Tsi148 芯片组。 Intel 计算机被明确配置为系统 Controller ,实时计算机明确不是。
设置:对于 Intel 计算机,我编写了一个自定义驱动程序,它创建一个 4MB 的内核缓冲区,并通过一个从属窗口在 VME 总线上共享它;对于实时计算机,我设置了一个 DMA 传输来重复转发恰好 48640 字节的 block ;快速连续填充测试数据字节(零、一、二等)(如果可能,每 32 毫秒一次)对于 Intel 计算机,我使用手动启动的 Python 程序从驱动程序读取内核缓冲区,以查看数据是否正确到达。
期望:我期待从 Python 程序中看到相同的数据(零、一等)。我期望传输时间大致对应于所选总线速度(通常为 290 us 或 145 us,具体取决于总线速度),加上合理的 DMA 设置开销(最多 10us?我愿意接受更大的数字,比如数百 usecs,如果那是总线通常需要的话)
结果:
问题:我怎样才能使传输可靠并降低这些可怕的延迟?接下来我应该搜索什么大方向?
(如果可以的话,我想用 VMEbus 标记)
非常感谢
最佳答案
我对这个问题的评论描述了我是如何让公交车工作的:- 确保总线两侧都有 2eSST320- 确保 DMA 事务使用有效的 block 大小(最大有效为 4096 字节)
我实现了 150MBytes/s 的有效速度(总线可以达到 320MBytes/s,但众所周知 tsi148 芯片会导致大量开销)。这对我来说已经足够了。
关于linux - 无法在 2 个 TSI148 VMEbus Controller 之间设置可靠的 DMA 传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315376/
我如何使用Azure TSI query API从 TSI 中获取准确的数据。我正在使用 TSI JavaScript 客户端库,该库在查询 API 之上有两个包装器。这些包装器只允许我获取聚合数据,
我正在寻找一个 API 或文档,用于查询 Azure 数据工厂 (ADF)、时间序列见解 (TSI) 和流分析作业资源的名称可用性,类似于 https://learn.microsoft.com/en
我是一名优秀的程序员,十分优秀!