ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
29573
libine (19.05.2005 11:01, просмотров: 427)
LPC2106- пропущенные прерывания от узла CAPTURE. Сразу замечу, что ситуация отличается от описанной в Errata sheet на LPC2106, поскольку не используется прерывания на события Match. Описание задачи. Необходимо померить скважность трёх сигналов от датчика, для чего надо померить период и длительность положительного полупериода сигнала. Используется таймер 1. Для получения информации о моментах прихода положительного и отрицательного фронтов в регистре T1CCR попеременно устанавливаются биты Capture on rising edge и Capture on falling edge соответствующего входа. По каждому событию генерируется прерывание. Фрагмент кода для вычисления скважности на одном входе: if(T1IR & CR0_flag )//channel 0 capture; AX { T1IR = CR0_flag; //сброс флага прерывания if(capture_struct[0].trig_on_re_flag) { capture_struct[0].prev_re = capture_struct[0].re; capture_struct[0].re = T1CR0; //ЧитаемCapture Register 0 capture_struct[0].trig_on_re_flag = 0; T1CCR &= ~CAP0RE; //сбрасываем бит "capture on rising edge" T1CCR |= CAP0FE; //Устанавливаем бит "capture on falling edge" capture_calc(0); //подсчитываем скважность } else { capture_struct[0].fe = T1CR0; //Читаем Capture Register 0 capture_struct[0].trig_on_re_flag = 1; T1CCR &= ~CAP0FE; //Сбрасываем бит "capture on falling edge" T1CCR |= CAP0RE; //Устанавливаем бит "capture on rising edge" } } Пока вычисляется скважность сигналов с одного датчика (сигнала имеют одну частоту, фронты могут совпадать, но всегда имеют одну полярность) , всё хорошо. Если же поданы сигналы с разных датчиков (у которых частоты выходных сигналов слегка различны и, соответственно, возможна ситуация, когда совпадают положительный и отрицательный фронты), по всем задействованным каналам периодически не вырабатываются прерывания и, соответственно, неправильно измеряются длительность и период. Буду очень признателен за ответы: -Каковы могут быть причины отсутствия прерываний по событиям Capture? -Методы борьбы с описанной неприятностью. Спасибо.