www.open-tager.ru http://www.open-tager.ru/forum/ |
|
LTAscetik http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565 |
Страница 184 из 532 |
Автор: | Pingvin [ 02 фев 2013, 14:02 ] | |||
Заголовок сообщения: | Re: LTAscetik | |||
Такая монтажная пойдет?
|
Автор: | Pingvin [ 02 фев 2013, 14:11 ] |
Заголовок сообщения: | Re: LTAscetik |
maksim писал(а): Ребята выложите последнюю версию поекта Ascetik в одном архиве(схему,печатку,прошивку,конфигуратор).Зарание спасибо))) Схема, печатка и прошивка здесь. Конфигуратор. Сайт проекта ltascet.ru потихоньку наполняется. Есть готовые печатки заводского изготовления! |
Автор: | LTagKirov [ 02 фев 2013, 16:35 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): Не хватает таймеров - если несущую ИК формировать аппаратно, нечем будет звук воспроизводить. Но то, что код не оптимален - спорить не буду, это очевидно. Немного по другому запланировал структуру Таймер 0 - часы для синхронизации всего процесса генерирует прерывания 8..10кгц, точное значение некритично, используется для опроса ИК, дискретизации звука, отмеривани передачи ИК импульсов. Производные от таймера события 8..10гц - мигание светодиодами, 80..100 гц - опрос клавиатуры. таймер1 - один канал генерирует несущую для ИК, другой канал работает на ШИМ звука, Регулировка ШИМ для ИК используется аппаратная. В принципе этот таймер тоже можно использовать с прерываниями. таймер 2 пока неиспользуется. PS. Оптимальность кода вопрос философский - по мне лучше более читабельный |
Автор: | LTagKirov [ 02 фев 2013, 16:38 ] |
Заголовок сообщения: | Re: LTAscetik |
Регистр конфигурации TCCR1A COM1A1 COM1B1 FOC1A=0 WGM11 COM1A0 COM1B0 FOC1B=0 WGM10 Регистр конфигурации TCCR1В ICNC1 = 0 X WGM12 ICES1 = 0 WGM13 CS12 CS11 CS10 Несущая частота ИК и ЦАП звука определяется регистром ICR1 = TOP, Выбирается из ряда ИК несущих 36,38,56 КГц ШИМ задаётся для разных каналов отдельно регистрами OCR1A и OCR1B Можно применить три режима, с установкой верхнего модуля счёта: Fast PWM f = Fosc / ( N * TOP) WGM = 1110 Phase Corect PWM f = Fosc / ( 2 * N * TOP) WGM = 1010 Phase & Freq Corect PWM f = Fosc / ( 2 * N * TOP) WGM = 1000 |
Автор: | Nestr [ 02 фев 2013, 17:07 ] |
Заголовок сообщения: | Re: LTAscetik |
Цитата: Такая монтажная пойдет? Да толь ко что за полосочки на ней? например та что на проце? |
Автор: | Pingvin [ 02 фев 2013, 17:08 ] |
Заголовок сообщения: | Re: LTAscetik |
Nestr писал(а): Цитата: Такая монтажная пойдет? Да толь ко что за полосочки на ней? например та что на проце? Не обращайте внимание - "неразведённые цепи". |
Автор: | Pingvin [ 02 фев 2013, 17:14 ] |
Заголовок сообщения: | Re: LTAscetik |
LTagKirov писал(а): Регистр конфигурации TCCR1A COM1A1 COM1B1 FOC1A=0 WGM11 COM1A0 COM1B0 FOC1B=0 WGM10 Регистр конфигурации TCCR1В ICNC1 = 0 X WGM12 ICES1 = 0 WGM13 CS12 CS11 CS10 Несущая частота ИК и ЦАП звука определяется регистром ICR1 = TOP, Выбирается из ряда ИК несущих 36,38,56 КГц ШИМ задаётся для разных каналов отдельно регистрами OCR1A и OCR1B Можно применить три режима, с установкой верхнего модуля счёта: Fast PWM f = Fosc / ( N * TOP) WGM = 1110 Phase Corect PWM f = Fosc / ( 2 * N * TOP) WGM = 1010 Phase & Freq Corect PWM f = Fosc / ( 2 * N * TOP) WGM = 1000 Если мы хотим менять скважность несущей ИК - частота ШИМ = Fкварца/256. Мало того, что кварц прийдется ставить "нестандартный" 36кГц*256=9.216 МГц (слава Богу - такие есть), но и для другой несущей потребуется другой кварц. Можно, конечно, использовать режим CTC (сброс при совпадении), но скважность не сможем менять и прерываний не будет (изменение состояния вывода OCn при совпадении с регистром сравнения - в данном режиме вызов прерывания блокируется). А чем тогда будем мерить длительность между прерываниями INT0? таймер0 - ШИМ для звука. Прерывания не генерируются. таймер1 - аппаратная генерация несущей. Прерывания не генерируются. таймер2 - прерывания 8 КГц для формирования звука. Нужно ещё чем то отмерять длительномть "1" и "0" при приёме/передаче. Чем отмерять? Получиться? ЦАП (ШИМ) звука работает в режиме FAST PWM на частоте кварца. Частота ШИМ звука = 16 000/256 = 62,5 кГц. Не вижу смысла тут что то менять. P.S. Кстати -можно попробовать отлавливать пакеты с TSOPа с помощью Блока захвата таймера. Только надо все пазлы сложить - хватит ли для этого всего ресурсов таймеров? P.P.S. По счастливой случайности выводы OSC1A (аппаратный ШИМ) и ICP1(вход для блока захвата) не задействованы пока на маленькой платке! Так что поле для экспериментов огромно... |
Автор: | LTagKirov [ 02 фев 2013, 18:59 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): Если мы хотим менять скважность несущей ИК - частота ШИМ = Fкварца/256. Мало того, что кварц прийдется ставить "нестандартный" 36кГц*256=9.216 МГц (слава Богу - такие есть), но и для другой несущей потребуется другой кварц. Не вижу смысла тут что то менять. В том то и дело что к делителю 256 мы не привязаны и легко можем установить частоту любой какой захотим в пределах разумного. А для установки скважности ШИМ используется другой регистр. В таймере 1 один регистр для делителя и два для ШИМов. Дополнительно ещё есть пределитель, но я его выключаю, для повышения точности. PS. Менять конечно ничего ненадо, так на будущее может кто читает и сам пописывает |
Автор: | Pingvin [ 02 фев 2013, 19:06 ] |
Заголовок сообщения: | Re: LTAscetik |
LTagKirov писал(а): В том то и дело что к делителю 256 мы не привязаны и легко можем установить частоту любой какой захотим в пределах разумного. А для установки скважности ШИМ используется другой регистр. В таймере 1 один регистр для делителя и два для ШИМов. Дополнительно ещё есть пределитель, но я его выключаю, для повышения точности. Одновременно мы не можем и любую частоту сгенерить (режим работы таймера CTC - сброс при сравнении) и менять скважность (режим FAST PWM)! Или я чего то не догоняю? |
Автор: | LTagKirov [ 02 фев 2013, 19:07 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): Нужно ещё чем то отмерять длительномть "1" и "0" при приёме/передаче.Чем отмерять? Про ненужность таких точных измерений уже писал. Проверил такой алгоритм - работает даже на частоте опроса датчиков 4кгц PS. Сейчас работаю над похожей программой, не для лазертага, кучу интерестностей обнаружил, всё самому приходится вытаскивать, а так хочется копи-пасте - копи-пасте - копи-пасте |
Страница 184 из 532 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |