roboforum.ru

Технический форум по робототехнике.

Serial-связь по ИК на высоких скоростях

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 09 ноя 2011, 16:49

dccharacter писал(а):Да не разобрал я, а разработал!

опс :oops:
А я то думаю что мне не ндравицо в описании UART->IRDA " на вход детектора пропущеных импульсов на 555 таймере"
А ты это не разобрал а разработал
Теперь все сходится, это не будет работать :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 09 ноя 2011, 22:09

hhhhhhЧhhhhЄЄhhhХhh╦hhh╗ЧhhhhЧЙЧbbБbbbbbbbbЧЪbb╒bmШЧЧЧЧЧtttttВtttttЄtЭtЪЪtt╦ttТ
ttЪ╨ttВ╨tttyyЪЫyyyyyyyyЫyyчҐ╧yyyyyyyчytЄ╨ЪtttttЄttttttttttttttttttttttttщtЪtТtТ
╨ttttщtttt╨╨ttttt╨ttt╨tttttttЄttЄТtttttttЧЧЧЧЧbbb╠bbbЪbbbbbbb╟ШЪbb╡bbbbbЧbЖbb╟Ъ
b╡bbbbbbbbbbbbbЧbbЪ╡bbБbbbbБbЧЧЧЧЧgggggggjjjЙ╣jjjЙjjЄj╣ЙjjjjЪjМ╙Чjjjj╨jjjjЗjjЪЗ
ЪjjjjjjjjjЪjjjj╙jjjjj╣ЧЧЧЧЧ

Это проброс комп->MK1->IRDA->MK2->комп. Все чисто в железе, единственное, что делается в прерывании - это байт, полученный от ПК тут же пихается в ИРДА. Всегда можно видеть , какая буква нажата. Видно также, сколько мусора. Кроме мусора еще полно пропусков, на глаз оцениваю процентов эдак в 30%. Косяки, очевидно, на стороне приемника, откуда берутся - ясно. Пофиксить, к сожалению, не выйдет.

Но в общем получил большое удовольствие от эксперимента.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение =DeaD= » 09 ноя 2011, 22:11

БЧХ коды? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 09 ноя 2011, 22:22

=DeaD= писал(а):БЧХ коды? :)

Гы гы гы
Мне кажется для меня проще изучить разводку плат под STM32, месяц разводить новые платы, месяц подождать с завода, переписать все под STM32 и запустить на нем, чем с этим разбираться. Хак и без того смешной получился. Задействованы в спектакле модули UART, CCP, Comparator, MSD - для "два байта переслать" ИМХО неплохо :-)))

Добавлено спустя 7 минут 21 секунду:
Вот что получилось. Фиолетовое - отправляли. Голубое - получили.

Оба МК на внутренних тактах.
Вложения
IMAGE023.jpg
IMAGE023.jpg (37.84 КиБ) Просмотров: 2773
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение =DeaD= » 09 ноя 2011, 22:28

А что за голубой пик? :oops:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 09 ноя 2011, 22:30

госпадяяя, вот только что-то нормальное решил расковырять и уже лапки поднял :(
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 09 ноя 2011, 22:41

=DeaD= писал(а):А что за голубой пик? :oops:

Это спад периода ШИМ. Период ШИМ нельзя выставить равным 100%, так как при модулировании сигнала синхронизация идет по заднему фронту. При ШИМе в 100% заднего фронта нет :-)
Из-за этих накладок и теряется процентов 30 траффика. Мусор скорее из-за уползания скорости.
Это все из-за того, что в харде. Можно подшаманить, костыли кой-какие поставить, но идеально все равно не получится. Если сделать софтовый приемник, то все будет работать очень замечательно.

Добавлено спустя 2 минуты 16 секунд:
Dmitry__ писал(а):госпадяяя, вот только что-то нормальное решил расковырять и уже лапки поднял :(

Да чего я ковыряю-то? Ладно бы этот DSM-модуль был бы во всех ПИК-ах, я бы тогда понял. А так проще найти ПИК с поддержкой SIR чем пик с DSM-модулем. Я этот ДСМ вообще случайно нашел, так как думал что он мне ШИМ забивает, пока горелую крутилку не обнаружил. Или тебе так, по приколу просто как и мне? Передатчик-то офигенно работает.

Добавлено спустя 3 минуты 11 секунд:
А, блин, я кажется понял, я криво написал - в качестве ИК-канала служит провод. Тестировал саму работу хардового конвертора IRDA->UART
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение =DeaD= » 09 ноя 2011, 23:23

Ёк, поставь RC, чтобы убрать пики :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 09 ноя 2011, 23:34

dccharacter писал(а):hhhhhhЧhhhhЄЄhhhХhh╦hhh╗ЧhhhhЧЙЧbbБbbbbbbbbЧЪbb╒bmШЧЧЧЧЧtttttВtttttЄtЭtЪЪtt╦ttТttЪ╨ttВ╨tttyyЪЫyyyyyyyyЫyyчҐ╧yyyyyyyчytЄ╨ЪtttttЄttttttttttttttttttttttttщtЪtТtТ╨ttttщtttt╨╨ttttt╨ttt╨tttttttЄttЄТtttttttЧЧЧЧЧbbb╠bbbЪbbbbbbb╟ШЪbb╡bbbbbЧbЖbb╟Ъb╡bbbbbbbbbbbbbЧbbЪ╡bbБbbbbБbЧЧЧЧЧgggggggjjjЙ╣jjjЙjjЄj╣ЙjjjjЪjМ╙Чjjjj╨jjjjЗjjЪЗЪjjjjjjjjjЪjjjj╙jjjjj╣ЧЧЧЧЧ

Ты лучше расскажи как эти на дрянном PIC12F629 сделали это:
Изображение
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 09 ноя 2011, 23:44

Ты серьезно? Элементарно.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение ALS » 09 ноя 2011, 23:47

там скорость 9600
Аватара пользователя
ALS
 
Сообщения: 803
Зарегистрирован: 24 окт 2011, 23:32
Откуда: Севастополь
прог. языки: асм

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 10 ноя 2011, 05:41

И чего? Я к тому что убитый пик без аппаратных ccp, rs232 это делает
Шутки ради дизассемблировал их прошивку.
На схеме кварц 20 мгц. А в прошивке выставлен низкочастотный кварц.
прога выдает на rs232 фразу: "IR Pic 2 Ppc V2.0" на скорости 46 кбит (из расчета 20 мгц. кварц)
Что для низкочастотного кварца 4 мгц. соостветствует 9600 бит/с :)

Приемник на SIR 115 kbit пишется просто:
1. Настраиваем INT0 на прерывание по фронту или спаду. (Вход приемника)
2. Ждем, влетели в INT0, проверям сигнал на отсутствие тянучки (например импульс не > 2* 3/6Т (Т= 1/115.2kbps))
3. Считаем это старт-битом.
Запрещаем прерывание от INT0, sbrasywaem flag INT0
Настраиваем таймер на T (115.2kbps = 8.6 мкс.)
(первое прерывание от таймера сдвигаем на гарантированное время джиттера приемника)
4. В прерывании от таймера проверяем bit INT0 (если сброшен, то принята "1", иначе принят "0"
сбрасываем INT0
если приняты не все 8 бит и стоп бит, продолжаем...
если принят 9-й бит, проверяем на стопность, выставляем флаги ошибок если чо.
запрещаем прерывание от TMRR0
сбрасываем флаг INT0, разрешаем прерывание INT0

Ждем, старт-бита
Фсе :)

8.6 мкс. - период 115.2kbps для пика на 20 мгц. = 8.6 / 0.2 = 43 команды процессора - более чем...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение Michael_K » 10 ноя 2011, 05:55

Перестал понимать, о чем речь :)

dccharacter, а вы в другие стороны не пробовали думать?
Ну, например, картинку сжать?

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

На ровном месте же наворачиваете...
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 10 ноя 2011, 10:10

Дмитрий, Микаэл, в Питере что - электромагнитная буря?
2Дмитрий - я ж сказал, что софтово все делается элементарно. У меня все было сделано чисто _в железе_
2Микаэл - Нет у меня там картинки. Там есть 100 байт, которые надо друг за другом всунуть в ротор со скоростью 115200. Остальное, что говорите - почитаю.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 11 ноя 2011, 13:44

Манчестер - это вот это имеется ввиду?

Надо сегодня попробовать поднять частоту моего гениального генератора до 200кГц, посмотреть - не сойдет ли он с ума. Если не запечется, то можно и попробовать ведь. Кажется, может получиться.
Вложения
Manchester.PNG
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23