6
\$\begingroup\$

I came across the SiTIME SiT8008B field programmable oscillators and their programming device.

What I can't seem to find is an explanation of what the programmer is doing to the "blanks" to set them. Also curious if there's a way to program them without the manufacturer's device, or if that would be ridiculous?

\$\endgroup\$
  • \$\begingroup\$ What I have seen before with similar things in automotive sensors is that the Vin line is measured, and using certain voltages that are out of spec you can turn them into a calibration mode, where you can write data to program registers. \$\endgroup\$ – Joren Vaes Sep 20 '17 at 17:28
  • 2
    \$\begingroup\$ It's obviously some kind of serial communications, and some kind of internal EEPROM or PROM. They have no reason to publish and support the protocol if they don't want to, so I suspect they want you to buy the programmer - it's priced relatively cheaply considering the price of tiny ZIF sockets etc. It's not ridiculous to want to program it without the device- probably something like an Arduino could be programmed to do it, but if it doesn't fit their plans it's unlikely you will get the required information to do it reliably- which leaves you with buying the programmer and reverse-engineering \$\endgroup\$ – Spehro Pefhany Sep 20 '17 at 17:58
  • \$\begingroup\$ Have you tried sending SiTime a mail and asking them directly? The SiTime people are quite often at conferences and open to questions about their devices. \$\endgroup\$ – Attila Kinali Jan 23 '18 at 16:01
1
\$\begingroup\$

MEMS oscillators (like the SiT8008B) include a special phase-locked loop (PLL), usually a fractional-N PLL, which generates a configurable and, within certain limits, arbitrarily adjustable output frequency from the resonator frequency invariably fixed by the mechanical variable. The necessary division ratios of the PLL are stored in MEMS oscillators together with the coefficients for the temperature compensation in a memory in the semiconductor chip. Programming this memory once sets the desired output frequency.

So the programmer is programming a portion of the memory of the blanks. I hope this (and Spehro Pefhany's excellent comment) answers your question.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.