www.open-tager.ru
http://www.open-tager.ru/forum/

В погоне за аскетизмом (LTKhv)
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1845
Страница 10 из 16

Автор:  mail_robot [ 28 дек 2012, 01:48 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

а по UARTу нельзя принимать?
нарыл тут одну самоделку. ДУ для вентилятора на PIC, дык там просто тсоп на уарт подцеплен и три строчки кода. И тут я подумал - а не усложняю ли я задачу самому себе?

Автор:  mail_robot [ 29 дек 2012, 01:44 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

понял

Автор:  mail_robot [ 29 дек 2012, 15:25 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

чтото я тут почитал на счет приема и передачи ИК сигналов и у меня возникло некоторое подозрение, что для увеличения дальности необходимо вводить в процедуру приема корректор ошибок
ну может быть не корректор, а какой то механизм детектирования мелких ошибок, которые неизбежно будут возникать на существенных дистанциях
как это проверить в натуре я пока не очень представляю, но мыслю, что если этого не делать, то дальность будет весьма ущербной даже на хорошей оптике
полагаю что контрольную сумму LW ввели неспроста именно поэтому. Наверное при приеме пакета производится некий его анализ, и даже если он принят не совсем верно с млкими битовыми ошибками, производится его софтовая коррекция.

Как это должно работать
Приняли мы пакет значит. Но контрольная сумма не совпала ни с одним из ожидаемых вариантов. Это значит что принято с ошибкой в каком то из байтов. Если ошибок много, то корректировать конечно бесполезно. Но если проанализировать сумму и выяснить к примеру что ошибка только в одном из битов, то можно эвристикой чуть скорректировать пакет в соответствии с правилами его формирования. А мы их знаем. Это будет первый проход - прическа пакета там, где мы точно знаем что должны быть к примеру нолики.
Потом проверяем сумму, если она отличается на 1 бит - вычисляем его вес. То есть позицию - где бы он мог быть.
Потом проверяем первый байт - если этот бит там уже есть, смотрим второй байт. Там его скорее всего не будет. Делаем OR и добавляем его.
Только вот если сумма неправильно пришла... пока не понял как это определить
А мож я вообще зря заморачиваюсь и надо просто устойчивый алгоритм приема сделать и всех дел

Ну чтото в этом духе. Это пока черновичок мыслей.
Кто что думает по этому поводу?

Автор:  Pingvin [ 29 дек 2012, 15:41 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

mail_robot писал(а):
чтото я тут почитал на счет приема и передачи ИК сигналов и у меня возникло некоторое подозрение, что для увеличения дальности необходимо вводить в процедуру приема корректор ошибок
ну может быть не корректор, а какой то механизм детектирования мелких ошибок, которые неизбежно будут возникать на существенных дистанциях
как это проверить в натуре я пока не очень представляю, но мыслю, что если этого не делать, то дальность будет весьма ущербной даже на хорошей оптике
полагаю что контрольную сумму LW ввели неспроста именно поэтому. Наверное при приеме пакета производится некий его анализ, и даже если он принят не совсем верно с млкими битовыми ошибками, производится его софтовая коррекция.

Как это должно работать
Приняли мы пакет значит. Но контрольная сумма не совпала ни с одним из ожидаемых вариантов. Это значит что принято с ошибкой в каком то из байтов. Если ошибок много, то корректировать конечно бесполезно. Но если проанализировать сумму и выяснить к примеру что ошибка только в одном из битов, то можно эвристикой чуть скорректировать пакет в соответствии с правилами его формирования. А мы их знаем. Это будет первый проход - прическа пакета там, где мы точно знаем что должны быть к примеру нолики.
Потом проверяем сумму, если она отличается на 1 бит - вычисляем его вес. То есть позицию - где бы он мог быть.
Потом проверяем первый байт - если этот бит там уже есть, смотрим второй байт. Там его скорее всего не будет. Делаем OR и добавляем его.
Только вот если сумма неправильно пришла... пока не понял как это определить
А мож я вообще зря заморачиваюсь и надо просто устойчивый алгоритм приема сделать и всех дел

Ну чтото в этом духе. Это пока черновичок мыслей.
Кто что думает по этому поводу?

У меня все проще - в хедере прописываем допустимое отклонение длительности принимаемого импулса в процентах.
Если укладываемся в погрешность - то все ОК.
Если нет - "пуля мимо просвистела"! :)

Автор:  mail_robot [ 29 дек 2012, 16:36 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

эт я видел
если мне память не изменяет там +/- 14 тактов генератора прописано

Автор:  mail_robot [ 29 дек 2012, 16:56 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

разобрался с механизмом DMA для связки микросхем память+контроллер+кодек
оказалось все предельно просто. Так как память поддерживает режим потокового чтения, а кодек имеет свой буфер передача идет напрямую т памяти в кодек и тактируется контроллером.
Тоесть
контроллер пуляет микросхеме памяти команду на чтение, адрес и считывает первый байт чтобы инициализировать передачу
потом шлет кодеку команду читать и плюет ему этот байт, который он прочитал до того из памяти
а потом контроллер просто поднимает оба сигнала CS на шине SPI и начинает гнать пустые циклы передачи выдавая такты на шину.
Микрушка памяти в это время передает с автоинкрементом, кодек принимает минуя буфер контроллера
каждые 8 тактов SCK контроллер поднимает и сбрасывет сигналы CS чтобы тактировать защелки и счетчики в микрушках

Я думал контроллер вообще не загружен, но всетки чтото ему делать приходится. Хоть и в половину меньше.

Автор:  Pacifist [ 29 дек 2012, 22:49 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

mail_robot писал(а):
Кто что думает по этому поводу?

Думаю надо брать осциллограф режиме непрерывной записи, тыкать ему на вход ТСОП - и итить сначала на солнышко, потом под люминесцентные лампы. А потом уж посмотреть статистику распределения частот помехи и длительности "шумовых" импульсов.
Не зная природу помехи трудно будет с ней бороться программно.

Автор:  mail_robot [ 30 дек 2012, 11:21 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

одна проблема - геморно это очень. Вторая - нет осциллографа такого )))
будем выкручиваться тем что есть

Автор:  Pingvin [ 30 дек 2012, 13:43 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

mail_robot писал(а):
одна проблема - геморно это очень. Вторая - нет осциллографа такого )))
будем выкручиваться тем что есть

Мой принцип - от простого к сложному.
Научите прошивку сначала принимать сигнал без грубых помех с допустимой погрешностью длительности импульсов.
Уже достаточно, чтобы пулять за 100 метров уверенно.
А там уже можно и извращаться - анализировать помеху и пытаться восстанавливать исходный сигнал...

Автор:  mail_robot [ 30 дек 2012, 16:59 ]
Заголовок сообщения:  Re: В погоне за аскетизмом (LTKhv)

тоже так пока прикинул. Добьемся хоть какого то результата, а потом будем улучшать

Страница 10 из 16 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/