LINUX.ORG.RU

Небольшой вопрос про тактирование MSP430

 


0

1

Хочу проверить насколько я правильно понял даташит, потому что MSP430 это новое для меня.

Микроконтроллер должен 1000 раз в секунду опрашивать внешний АЦП по SPI и отправлять полученные данные с помощью NRF24L01. Можно ли сделать так:

К пинам XIN и XOUT подключен кварц 32768 Гц (насколько я понимаю, конденсаторы для таких кварцев ставить не нужно, они уже есть внутри МК). От него тактируется TimerA, который настроен таким образом, чтобы давать прерывания с частотой 1 кГц (по идее хватит использования регистра сравнения с последующим увеличением значения на 32 при каждом прерывании). При приходе прерывания МК выходит из режима сна на внутреннем RC-осцилляторе (в даташите сказано, что это занимает 6 мкс, так что просыпаться 1000 раз в секунду не должно быть проблемой) на частоте в пару мегагерц, по-быстрому читает данные с АЦП и пихает их в NRF24L01, запускает передачу пакета и отправляется спать дальше. Модуль SPI соответственно тактируется от внутреннего генератора. Также МК должен мониторить уровень заряда батареи, для этого на его собственный вход АЦП идёт сигнал с высокоомного резистивного делителя (около 100 кОм). Замер АЦП будет запускаться раз в несколько секунд. Поскольку АЦП может тактироваться от своего собственного генератора, то МК может по-прежнему засыпать, просто на следующем пробуждении забрать данные от АЦП.

Вот такая концепция. МК - msp430f1232. Это получится на нём реализовать? Вроде как да, но хотелось бы уверенности, пока детали ещё не дошли по почте, а я уже собираюсь изготавливать печатную плату.

★★★★★

Вроде как да, но хотелось бы уверенности

Уверенность может появиться только после совместного анализа временных диаграмм сопрягаемых устройств:
длительности сигналов,
длительности фронтов,
времена задержек относительно тактирующих импульсов,
... «и такъ далѣе, и прочая, и продолжая въ томъ же родѣ» :)

quickquest ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.