This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS1299:适用于 ads1299的 Linux 驱动程序

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1299

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1026558/ads1299-linux-driver-for-ads1299

器件型号:ADS1299

大家好、

最近、我有一个项目要 使用 Linux 主机与 ADS1299进行通信。 我在论坛中搜索发现 TI 不支持 n 个 ADS1299 Linux 器件驱动程序。 因此、我使用我的知识为 ADC 编写一个。  

此驱动程序的目标是读取 ADC 数据并将其传输到用户空间。 我的想法是、当 Linux 主机从 ADC 获取 DRDY 信号时、会触发中断、驱动程序的 SPI 读取 API 将从 SPI 总线读取数据。 数据将填充到缓冲  区中、当缓冲区已满时、驱动程序会向 userspace 程序发送信号、并且缓冲区中的数据将由 userspace 读取。

虽然这不 是实现我的目标的完美计划、但我完成了上述代码。 但是、我面临一个 使 我的目标失败的问题。

Linux 主机的 SPI 传输 API 应置于中断的下半部分(由于 SPI API 的睡眠机制)、 也就是说、如果 AD 的采样率太快、中断的下半部分可能会读取 ADC 的延迟数据、当我使用4ksps 时、会有7997个中断、但只读取了7907个数据。 当我使用250sps 时 、我的想法是可以的。 但是、我应该至少使用4ksps。

我不知道您是否有过这一问题的经历、或者您的客户是否有类似的问题、或者我的框架可能不适合高速 ADC、 或者、如果您有其他一些 ADC (SPI 传输)、其中包含 Linux 设备驱动程序作为参考、 我希望您能为我提供帮助、非常感谢。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yan、

    感谢您发帖。

    遗憾的是、我不熟悉 Linux 器件驱动程序中断架构、无法为您提供任何建议。 我们没有针对生物电势 AFE 器件的任何 Linux 器件驱动程序示例。 我建议与 Linux 社区联系以获得帮助和建议。  

    谢谢

    -TC

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢 TCT。