2014-01-30 4 views
1

Я использую PIC24F16KA101 для чтения АЦП. Сигналы Adc будут поступать беспорядочно, поэтому я помещаю Mcu в режим сна. Мне нравится просыпаться mcu, когда сигнал пересекает пороговое значение. Когда я googled это, я нашел много тем, связанных с этим, но я хотел бы получить разъяснения в этой проблеме. Я нашел некоторые решения этой проблемы, но я хочу решение с минимальным потреблением энергии.Пробуждение ПОС на триггере АЦП

  1. Сэмплирование АЦП на максимальной частоте (поскольку сигнал является случайным, высокочастотный импульс). Чтобы использовать часы Adc на основе системных часов (я использую 32MHz FRCPLL), когда Mcu бодрствует и переключается на внутренние часы ADRC перед тем, как он перейдет в спящий режим, так что adc будет выполнять выборку в спящем режиме. Таким образом, я надеюсь, что я могу разбудить модуль (установив приоритет прерывания АЦП больше приоритета ЦП), когда порог выше. Но для этого я должен постоянно выбирать с помощью adc.

  2. Обеспечьте тот же вход Adc в модуль компаратора и поместите Mcu в спящий режим, не обрабатывая и отключая adc. Модуль может просыпаться , когда вход выше порога компаратора и запускает adc. Я думаю, в этом случае компаратор будет работать в спящем режиме. Но я боюсь, что могу пропустить важную информацию о сигнале (так как потребуется время на включение adc после прерывания компаратора).

  3. Другим является выборка adc через определенные интервалы времени с использованием таймера, но поскольку сигнал является случайным, он может пропустить сигнал.

Какой будет лучше или есть какое-либо другое решение для этого? Пожалуйста, помогите мне .... Также мне хотелось бы знать частоту внутреннего осциллятора ADRC.

+0

Hai, знает ли кто-нибудь об этой проблеме? – ponnus

ответ

0

Метод номер два может работать в зависимости от длины сигналов, которые вам нужно будет преобразовать. Вы можете проверить свои данные за количество времени, которое требуется сделать.

Что касается частоты вашего осциллятора ADRC, это зависит от вас. Бит 15 AD1CON3 позволяет вам выбрать либо внутренний, либо внешний. Если вы выберете внутренний, вы можете сделать его кратным частоте процессора, также установив бит 5: 0.

Смежные вопросы