Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 23.08.2017, 07:38   #1
alexD
Junior Member
 
Регистрация: 06.11.2013
Возраст: 37
Сообщений: 11
Вес репутации: 118/16
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию dsPIC33EP32GS504 прерывание ADC парой каналов

Подскажите, как в микроконтроллере dsPIC33EP32GS504 сделать так, чтобы при окончании преобразований АЦП по двум каналам формировался один запрос на прерывание (а не два независимых запроса), то есть только после того, как завершится преобразование по обоим каналам (как в микроконтроллере dsPIC33FJ16GS504 при обработке каналов АЦП парой). Запуск преобразований (trigger) по каждому из аналоговых каналов осуществляется одновременно от одного источника.
Может быть есть какая-то настройка или простое, красивое решение?
Спасибо!
alexD вне форума   Ответить с цитированием
Старый 23.08.2017, 22:50   #2
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 205
Вес репутации: 1120/52
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: dsPIC33EP32GS504 прерывание ADC парой каналов

Все работает. Читаем документ DS70621C, настраиваем по примеру 16.10.4 Using Alternating MUXA, MUXB Input Selections.
Прерывание будет по заполнению ADC1BUF.
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Старый 26.08.2017, 17:27   #3
alexD
Junior Member
 
Регистрация: 06.11.2013
Возраст: 37
Сообщений: 11
Вес репутации: 118/16
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию Re: dsPIC33EP32GS504 прерывание ADC парой каналов

Цитата:
Сообщение от Driver Посмотреть сообщение
Все работает.
Спасибо! А вы пробовали так сделать в микроконтроллерах dsPIC33EPxxGS504? Читаю DS70621C и вижу разницу в структуре модуля АЦП, а предлагаемые регистры для настройки по примеру 16.10.4 в моем МК отсутствуют. DS70621C точно здесь применим?
Например, в моем случае помогло бы такое значение поля SMPI
Цитата:
SMPI<4:0>: Sample and Conversion Operation bits(1,2,3)
00001 = ADC interrupt is generated at the completion of every 2nd sample/conversion operation
Но в моем МК его нет...

Последний раз редактировалось alexD; 26.08.2017 в 17:33.
alexD вне форума   Ответить с цитированием
Старый 26.08.2017, 17:49   #4
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 205
Вес репутации: 1120/52
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: dsPIC33EP32GS504 прерывание ADC парой каналов

Пробовал для dsPIC33EP512GP504.
Действительно , модули АЦП в них разные. Но в Вашем случае АЦП лучше и богаче.
И кто Вам запрещает устанавливать прерывание только для второго аналогового входа с помощью ADEIEL/H, ADSTATL / H
Раздел 4.13.1 INDIVIDUAL INTERRUPTS.
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Старый 28.08.2017, 14:47   #5
alexD
Junior Member
 
Регистрация: 06.11.2013
Возраст: 37
Сообщений: 11
Вес репутации: 118/16
alexD will become famous soon enoughalexD will become famous soon enough
По умолчанию Re: dsPIC33EP32GS504 прерывание ADC парой каналов

Цитата:
Сообщение от Driver Посмотреть сообщение
И кто Вам запрещает устанавливать прерывание только для второго аналогового входа с помощью ADEIEL/H, ADSTATL / H
Раздел 4.13.1 INDIVIDUAL INTERRUPTS.
У меня сомнения, но может я ошибочно понимаю работу АЦП?
Я использую два аналоговых канала AN2 и AN3. Каждый из них имеет свое устройство-выборки хранения S&H, свой регистр последовательных приближений SAR, т.е. они независимо работают своими ядрами АЦП (core 2 и core3). При этом я запускаю их одновременно от одного источника запуска преобразований. Через некоторое время после запуска, результаты преобразований по каналам AN2 и AN3 готовы и находятся в регистрах ADCBUF2 и ADCBUF3 соответственно, тут же выставляются биты AN1RDY и AND2RDY и генерируется запросы на прерывание. Для моей дальнейшей обработки мне необходимо иметь в одной точке кода сразу два реальных значения преобразования – по каналам AN2 и AN3 (как в микроконтроллерах где используется подход обработки аналоговых каналов «парой»).
Если разрешить формировать запросы от прерывания только канала AN3 ("второго" аналогового входа, у которого приоритет в таблице векторов прерываний ниже), а в его обработчике просто считывать результат от канала AN2, то есть ли гарантия того, что результат по каналу AN2 актуальный и был получен чуть раньше?
Кроме фразы «If a few ADC cores have the conversion results at the same time, the core with the low priority will wait an additional TCORESRC cycle for each high-priority core to store its result.» (раздел «4.4 Sampling and Conversion Timing»). Но это если одновременно получены результаты преобразований, а может быть так, что результат по каналу AN3 (от dedicated core 3) был раньше, чем от AN2 (от dedicated core 2)?

Последний раз редактировалось alexD; 28.08.2017 в 14:55.
alexD вне форума   Ответить с цитированием
Старый 28.08.2017, 15:16   #6
Driver
Senior Member
 
Регистрация: 25.02.2007
Адрес: picping.lg.ua
Возраст: 51
Сообщений: 205
Вес репутации: 1120/52
Driver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud ofDriver has much to be proud of
Отправить сообщение для Driver с помощью ICQ Отправить сообщение для Driver с помощью Skype™
По умолчанию Re: dsPIC33EP32GS504 прерывание ADC парой каналов

Если АЦП тактируется от одного источника, синхронно запускаются, то время будет одинаковым.
__________________
Все, что нельзя запрограммировать на ассемблере,приходится паять...
Driver вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитатор DS18B20 Filya44 Вопросы начинающих 14 12.03.2012 17:39
Atmega8 change Вопросы начинающих 10 15.05.2011 18:05


Часовой пояс GMT +3, время: 13:00.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot