Realizing an SMPTE TimeCode reader/generator with arduino.

Hello,

I'm curious if there's been some development with this topic? I'd like to create a timecode reader and generator using the Arduino Uno. Alas, in my initial tests, timing was an big problem. Is it because of the overhead of the C compiler? I've tried compiling using Arduino and Codebreaker compilers (but not Atmel Studio yet). But when testing micros() in a very simple program to check for timer overflow, not only is there a 4us resolution issue, but sometimes, the results between loops vary constantly from 4, 8, 12, and even 16 us. This is a big problem if you want to generate (or read) a byphase signal by software only.

I wonder if there isn't a better way to do things? Perhaps using interrupts for reading... but what about generating? Faster processor to compensate for the micros() 4us resolution maybe? 40MHz+? Code in assembler instead? An external circuit perhaps?

Anybody out there ever successfuly do a project to read and generate timecode? If so, what are your recommendations? And where you able to auto detect (or manually select) frame rates? (24, 25, 30, 50 and 60)

Thanks,

Frederic