I have read a lot of threads, a lot of datasheets and not found "the best answer for me". There is also quite a bit of mis-informaiton. While my current prototyping is with a DS1307 I am willing to change if there is a better solution. Here is what I need to do.
Within the embedded system I have two uses for the RTC output:
- Precisely measure elapsed time (ms is sufficient). This happens often so being efficient is important.
- Log information with a timestamp of some sort (seconds is sufficient)
The log needs to be processed externally. Thus, whatever the timestamp is inside the embedded system, it needs to make sense in the external world. Some but not all the DS1307 libraries have a UNIX-like timestamp available. As long as like[/] is well-defined (that is, it is well-defined how to convert this timestamp to a real UNIX timestamp in the log reader, that's fine. I can deal with such things as timezone offset there as well. I can then use millis() to measure time intervals and log using the timestamp. As the logging happens a lot less often than the measurements, all should be well.
I would appreciate a pointer to, well, the best solution (including an RTC board if you feel there is a better choice than the DS1307 chip).