ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
1319764
Dingo (14.06.2023 11:58, просмотров: 1405)
Не могу совладать с опросом трёх АЦП. У МК есть только два SPI, посему SS сделал дрыг-ногой. Хотелось бы использовать готовые модули без изменений, но вот проблема - тактовые генераторы отличаются частотой и nDRDY "плывут" по времени относительно друг друга. то есть битовые маски могут быть 111, 101+010, 100+011(для примера). Частота выставления готовности в несколько раз выше требуемой частоты поступления сэмплов. Радикально - тактировать все три АЦП от одного генератора. А 

как-то можно программно решить? Сейчас пытаюсь из обработчиков таймеров и прерывания GPIO дёргать одну функцию, в которую в качестве аргумента передаю место вызова и по нему уже определяюсь, чего делать прямо сейчас.

Источники срабатываний:

- таймер начала общего сэмпла, запускают ожидание GPIO

- GPIO по маске; можно отключать по мере поступления IC[n]

- таймер окончания транзакции, в моём случае то же самое, что окончание транзакции SPI.

Пожалуйста, накидайте мыслей по программному решению или помогите с формализацией "чего делать".