非常精确的时间测量


13

我将尽可能准确地测量非常短的时间。该设备将获得第一个脉冲,并在150微秒内再得到六个脉冲,每个脉冲都通过自己的电线传输。第一个信号与六个其他信号中的每个信号之间的时间必须尽可能精确地测量。精度应至少为100纳秒,但更好。

哪个微控制器最适合?我发现了这个。他们似乎有一个周期为4纳秒的计时器。对我来说足够准确了。

其他一些微控制器会更好吗?可以用AVR完成吗?


2
我认为您是在谈论精度,而不是准确性。如果您具有纳秒级精度,但基础时钟偏离了10%怎么办?则测量结果不准确。
卡兹(Kaz)

六个脉冲相距多远?它们到达一个公共输入还是六个独立输入?
starblue

他们有自己的投入。脉冲有时可以同时出现,但通常在不同的时间出现。
Kestis

Answers:


8

微控制器的速度并不总是限制因素。MSP430可能是一个合适的解决方案,不是因为它只能在最高25MHz的频率下运行,而是因为一些MSP430器件都具有Timer D外设,该外设可以实现高达4ns的时间段(256MHz)。这比那里的几乎所有微控制器都快。即使是最新版本的STM32(F4)也只能运行180MHz。

定时器D在MSP430F51x1和MSP43051x2器件(例如MSP430F5131)上可用。

但是,这只能解决捕获时间的问题。最大的问题是您如何处理它,因为处理本身会变慢。您可以采样两个脉冲之间的时间,但是如果这就是您的意思,则将无法在两个脉冲之间进行任何处理。


我不好的是,还没有完全实现MSP430的RTFM,主要是因为TI的网站引发了对仇恨的巴甫洛夫式抽搐。
John U

@JohnU:从来没有那样的反应。事实是,OP没有详细说明他的工作情况,因此很难给出适当的建议。
古斯塔沃·利托夫斯基

处理不是问题。一旦捕捉到时间并且算法甚至不复杂,将需要很多秒来进行计算。一个MSP430可以处理所有六个脉冲,还是应该有更多脉冲?
Kestis

@Kestis:定时器D包含6个捕获比较寄存器,有些MSP430具有不止一个定时器D模块,因此它应该满足您的要求。
Gustavo Litovsky

4

要达到100ns的分辨率,就需要一个以10MHz运行的定时器。许多微控制器应该能够快速运行计时器。

当您尝试计时6个信号的到来时,问题就来了。这些信号是全部在同一根线上还是在不同的线上?

如果它们都在同一条线上,则可能可以在具有单个10MHz定时器的任何MCU上准确地做到这一点。天真的,执行此操作的代码如下所示:

wait for trigger signal
reset timer

wait for first signal
save timer value
reset timer

....

wait for sixth signal
save timer value
reset timer

问题在于重置计时器需要有限的时间。这导致两个问题:

  1. 取决于您的实现,所测量的时间可能错了几百ns。但是,它们应该始终是错误的。IE每次错误的数量完全相同。这意味着您可以通过在每次测量中添加少量来轻松补偿。

  2. 您将需要最少的时间进行测量。如果任何脉冲在前一个脉冲之后100ns到达,那么您可能会错过它。我不知道您是否可以在软件中对此进行任何处理。您将必须找到一个可以处理硬件中多个脉冲的微控制器。


哪个微控制器可以处理硬件中的多个脉冲?在赛普拉斯的PSoC!这是一个微控制器,其中还包含可配置的数字模块,这意味着您可以轻松地运行6个独立的定时器,每个定时器的工作频率均为60MHz,分辨率高于20ns。

6个定时器PSoC Cypress

这是我迅速提出的一个示例,向您展示了您可以使用它进行的操作。我有6个单独的计时器,所有计时器都在总线时钟上运行,最高可达到67MHz。有一个触发引脚可启动所有计时器的运行,还有一个其他6个引脚,每个引脚都会导致定时器发生捕获事件。状态寄存器使您的代码可以监视哪些定时器捕获了脉冲。该代码可以从计时器中读取值。


该PSoC似乎非常有趣。但是我更喜欢AVR或MSP430,因为它们更为常见。
Kestis

0

修改后的答案:快速数字存储示波器或可能的频率计数器设备。

旧答案

简而言之,“您可以找到最快的微控制器”,理由是您的时钟/采样越快,您就可以越精确。MSP430不是快速设备。

STM32是32位的,运行速度更快,另外还提供类似的廉价开发板和工具,但与某些更强大的功能(Raspberry Pi @ 800MHz-1GHz(超频))相比,这仍然相当慢。通常,速度越快,处理器就越复杂,因此学习曲线可能会有所取舍。

补充: Benji是正确的,如果您想进行非常精确的测量,您(可能)还需要一个用于微型的精确振荡器(您实际上没有在问题中指定误差范围)。


从根本上讲,除了微控制器以循环方式对信号进行采样以外,还有其他类型的计时器。
尼克·阿列克谢耶夫

如果微控制器连接了非常精确的外部振荡器/晶体,则将很有帮助。
BenjiWiebe

你们都是对的,我已经编辑了。
John U
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.