Sunday, 18 September 2016

microcontroller - Very accurate time measurement


I'm going to measure very short times as accurately as possible. The device will get first one pulse and within 150 microseconds six more, each on their own wires. The time between first signal and each of the six other signals must be measured as accurately as possible. The accuracy should be at least 100 nanoseconds but more is better.


Which microcontroller would be best for this? I've found this. They seem to have a timer with period of 4 nanoseconds. It would be accurate enough for me.


Would some other microcontroller be better to do this? Can this be done with AVR?



Answer



The speed of the microcontroller is not always the limiting factor. The MSP430 can be an appropriate solution, not because of the fact it only runs up to 25MHz, but because several MSP430 devices have the Timer D peripheral which enables up to 4ns time period (256MHz). This is faster than almost all microcontrollers out there. Even the STM32 in its latest versions (F4) can only do 180MHz.


Timer D is available on MSP430F51x1 and MSP43051x2 devices such as the MSP430F5131.


However, that only solves being able to capture the time. The big question is what do you do with it because the processing itself will be slower. You could sample the time between two pulses, but you won't be able to do any processing between them, if that's what you mean.



No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...