В этой DS3234 SPI работает вплоть до 4 МГц. Соответственно требуется 2 мкс на байт
А теперь вспоминаем что SPI - это
шина. На которой может сидеть
множество устройств. А это значит, что не всегда возможно начать обмен с нужным слэйвом на ней сразу же, как только захотел. А нужно подождать до завершения текущей транзакции с другим слэйвом. А значит - длительность от момента "хочу узнать время" до момента "время получено" будет зависеть от длительности максимальной транзакции с любым устройством на шине и от приоритета доступа RTC-драйвера к шине.
Когда я писал про максимальное время чтения RTC в моей системе, я как раз имел в виду эти моменты. Так как например у меня на одной шине с часами сидит 5 шт. разных чипов-слэйвов.
У меня нет 6-разрядного индикатора, да и не вижу ничего страшного в обновлении показаний ВРЕМЕНИ раз в секунду.
Индикатор подойдёт любой. Ну если трудно догадаться что за проблемы возникнут, то разжую подробно:
Как только окажется, что момент чтения времени из RTC-чипа оказывается где-то близко к границе смены секунды в RTC, то, из-за того что в МК-системе всегда есть какой-то джиттер (транзакций чтения на шине), то этот самый момент он начинает случаться то с одной стороны от границы смены секунды, то с другой. И тогда читаемый результат будет например: 0, 1, 2, 2, 4, 5, 6, 7, 8, 8, 10, 11, ....; т.е. - то залипание на 2 секунды показаний, то перескок через одну. И выглядит на глаз это очень погано.
Если же читать 10 раз в секунду - то индикация на глаз уже равномерная.
Чем больше устройств на шине - тем больше джиттер; чем больше задач в системе (и обработчиков прерываний) - тем больше джиттер. Также увеличивает эту нестабильность например работа SNTP-службы (если имеется, у меня есть).
PS: Да, кстати (для любителей заочно считать байты в чужой системе): Не для всех RTC-чипов чтение времени состоит из простого чтения нескольких байт. Во многих RTC-чипах есть средства обеспечения атомарности считанных значений. А это значит, что нужно бывает кроме самого чтения выполнить ещё несколько записей в чип.