Обсуждаем контроллеры компании Atmel.
Ответить

Управление таймерами по требованию.

Ср окт 04, 2023 23:44:07

Прошу помощи разобраться с управлением таймерами в аврках. Задача, которую я собираюсь решить следущая: необходимо прожевать пакет данных с контроллера, который стоит в заводском изделии, сравнить с шаблоном и предпринять какое либо действие. Сам протокол передачи асинхронный, похож на нестандарный UART. Есть стартовый и стоповый бит, длинна посылки 20 бит, период одного импульса - 8мс. Логику работы я вижу такой: контроллер 328-я мега, мне так удобно, по прерыванию от стартового бита запускается таймер 1 в режиме CTC на время 4 мс, чтобы плюс/минус попасть на середину периода импульса. После этого таймер настраивается на период 8мс и с помощью цикла с инкрементом по прерыванию делает захват сигнала. После захвата таймер должен остановиться и ждать следующего пинка от прерывания от стартового бита. Вопрос: как это реализовать? Стартовать таймер должен "голодным", то есть с пустым TCNT1. Проблема в том, что я не могу его после запуска остановить ...

Re: Управление таймерами по требованию.

Чт окт 05, 2023 00:05:04

https://github.com/notweerdmonk/avr-software-uart
может, поможет (я не пробовал)

Re: Управление таймерами по требованию.

Чт окт 05, 2023 00:10:07

https://github.com/notweerdmonk/avr-software-uart
может, поможет (я не пробовал)

Не, свят-свят!!! Только не готовые библиотеки. Вопрос уже неактуален, с таймером разобрался - дело было не в боббине, как говорится...

Добавлено after 31 second:
Спасибо за участие!

Re: Управление таймерами по требованию.

Чт окт 05, 2023 00:12:10

о не, не готовые, я тоже их свят-свят, только как подсмотреть

Re: Управление таймерами по требованию.

Чт окт 05, 2023 00:24:04

Martian, там такое не прокатит. Это многим печально известный холодильник ЛджЫ с его замечательным линейным компрессором который, не смотря на 10 year of warranty практически у всех наедается в течение 5-8 лет мацы и холодос превращается из прибора в мебель. На плате управления сего чудо агрегата стоят аж два процессора, один из которых обслуживает холодильник и его периферию, а заодно по асинхронной этой шине командует вторым процом, который рулит исключительно компрессором. В сети есть много информации по этому поводу, в том числе и готовые схемы с прошивками в открытом доступе, но хочется вникнуть в хто самому и сделать полностью функциональную замену, которая будет правильно понимать команды, которые будут поступать с основного проца, а не тупо мерять тайминги. Проект не коммерческий, возможно после реализации отчитаюсь тут о проделанной работе.

Re: Управление таймерами по требованию.

Чт окт 05, 2023 09:56:26

Я бы совместил с коммерческим, то есть, кто хочет сам - вот отчёт, делаете, кто не хочет сам - вот стоимость.

Проект любопытный.

Re: Управление таймерами по требованию.

Чт окт 05, 2023 20:05:03

Ну сюда закину наверное статейку. Главное, что с протоколом разобрался и получил положительный результат. А пример того, что понимал на фото :
Изображение

Добавлено after 43 seconds:
Период одного импульса - 8мс

Re: Управление таймерами по требованию.

Пн окт 30, 2023 23:48:40

Любая асинхронная шина легко декодируется с одним таймером и внешним прерыванием. Я когда делал декодер ИК-протокола NEC за вечер написал функцию.
Ответить