PIC24HJ128GP502 - SO28

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вт апр 23, 2013 22:21:18
Откуда: KUBAN, Krasnodar

Сообщение maxlab »

Привет! Делаю проект на этом кристалле. Слепил себе макетку, бикоз в сети ничего путного не нашел.
Выкладываю, может кому пригодится. Делал методом ЛЛТ (ламинатор вместо утюга). Обвязка согласно даташита.
Вложения
pic24.zip
ПП двухсторонняя
(11.33 КБ) 192 скачивания
P1012130.JPG
Внешний вид
(46.26 КБ) 613 скачиваний
Девице - Device
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вт апр 23, 2013 22:21:18
Откуда: KUBAN, Krasnodar

Сообщение maxlab »

Однако, очень шустрый контроллер :)
Вложения
P1012131.JPG
С дисплеем
(174.11 КБ) 684 скачивания
Девице - Device
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Шустрый. Особенно интересно будет когда с DMA разберётесь.
Потрогал лапой паяльник
Сообщения: 399
Зарегистрирован: Сб авг 08, 2009 23:02:57
Откуда: Ростов-на-Дону

Сообщение driver_gv »

Да, неплох по скорости и возможностям. У меня на нем одет оцифровка видео с камеры в реалтайме, разбор картинки и подсчет проходящих людей в разные стороны + RS485.
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вт апр 23, 2013 22:21:18
Откуда: KUBAN, Krasnodar

Сообщение maxlab »

Кстати, вопрос к коллегам кто имеет опыт использования этого контроллера... Какова достижимая погрешность измерения периода модулем input capture? Мне нужно измерять частоту от 5 до 10 мгц с точностью+\- 1Гц - возможно ли это?
Девице - Device
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Разрешение периода будет равно одному такту таймера, который подключен к модулю захвата.
Погрешность, соответственно, будет равна погрешности генератора, тактирующего этот самый таймер.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Предпочтительнее использовать вместо упомянутого в заголовке практически идентичный ему по цене dsPIC33FJ128MC802.
По сути оный PIC24 является обрубком упомянутого мной 33-его.
maxlab писал(а):Мне нужно измерять частоту от 5 до 10 мгц с точностью+\- 1Гц - возможно ли это?
Все зависит от потребной СКОРОСТИ измерений и точности опорного генератора.
Если 1 измерение в секунду устроит, то можно. Можно чуть напрячься и уменьшить период измерений до 0,25 сек...
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вт апр 23, 2013 22:21:18
Откуда: KUBAN, Krasnodar

Сообщение maxlab »

Этих контроллеров мне отсыпали 5 штук... надо использовать :)
В качестве процедуры измерения хочу использовать код из даташита, немного адаптировав его под CCS PICC

// Initialize the Input Capture Module
IC1CONbits.ICM = 0b00; // Disable Input Capture 1 module
IC1CONbits.ICTMR = 1; // Select Timer2 as the IC1 Time base
IC1CONbits.ICI = 0b01; // Interrupt on every second capture event
IC1CONbits.ICM = 0b011; // Generate capture event on every Rising edge
// Enable Capture Interrupt And Timer2
IPC0bits.IC1IP = 1; // Setup IC1 interrupt priority level
IFS0bits.IC1IF = 0; // Clear IC1 Interrupt Status Flag
IEC0bits.IC1IE = 1; // Enable IC1 interrupt
// Capture Interrupt Service Routine
unsigned int timePeriod= 0;
void __attribute__((__interrupt__)) _IC1Interrupt(void)
{
unsigned int t1,t2;
t1=IC1BUF;
t2=IC1BUF;
IFS0bits.IC1IF=0;
if(t2>t1)
timePeriod = t2-t1;
else
timePeriod = (PR2 - t1) + t2;
}
Девице - Device
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Нужно подключить InputCapture к DMA и по прерыванию от DMA выставлять флаг готовности данных. По этому флагу в main производить расчет. DMA массив можно сделать массивом FIR (КИХ), таким образом в скользящем окне фильтровать результат и сделать его стабильным, тем самым повысить и точность и разрешение (суперсемплингом).
Ответить

Вернуться в «PIC»