roboforum.ru

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

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

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

Dmitry__ » 11 ноя 2011, 13:58

да хоть 2мгц. sir работать будет. Только нафига все эти сложности?
Ты манчестер считаешь проще физ. уровня irda? Ню-ню.

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

dccharacter » 11 ноя 2011, 14:01

Эээээ. Понимаешь, если 200кГц мои трансы потянут, то у меня уже есть среда и весь сетап для передачи байтиков. А для IRDA - нет. И магазины не в помощь. Даже в Москве.
Тем более, что программная реализация такого манчестера пока мне видится элементарнейшей - на одном таймере с минимумом кода.

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

Dmitry__ » 11 ноя 2011, 14:04

ага, только не приемная часть :D
и не забывай - 200 кгц манчестер - 100 кгц данные

Добавлено спустя 29 секунд:
это без накладных расходов на протокол синхронизации :)

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

dccharacter » 11 ноя 2011, 14:08

Блина, а зачем мне протокол? Мне же не обязательно УАРТ туда пихать - я могу изумительно тем же CCP или вообще таймером принять. 100кГц данные мне и нужны. Пока думаю сделать так - на выход трансформатора - оптопару (коих у меня охрененное количество на балконе) и в МК. Получицца?

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

Dmitry__ » 11 ноя 2011, 14:18

а как ты в этом потоке самосознания будешь собирать байты? :D

Добавлено спустя 3 минуты 45 секунд:
dccharacter писал(а):на выход трансформатора - оптопару (коих у меня охрененное количество на балконе) и в МК. Получицца?

нипалучица :)
оптопары на 200 кгц денег стоят

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

dccharacter » 11 ноя 2011, 14:25

Dmitry__ писал(а):а как ты в этом потоке самосознания будешь собирать байты? :D

Хм. В простом режиме частота 19кГц. Там байтов явно нет. Когда байты есть разница между 0 и 1 - в два раза по времени. Т.е. меряем время между двумя соседними фронтами. Если оно больше, скажем, 15 мкс - в мусор. Если 10 мкс, то пишем "0". Если 5 мкс, пишем "1" и следующий промежуток курим. Ае?

Добавлено спустя 2 минуты 35 секунд:
Dmitry__ писал(а):оптопары на 200 кгц денег стоят

Я думаю, что на балконе у меня самые крутые оптопары. Так что если на 200кГц существуют в природе, то с высокой долей вероятности, на балконе найдуццо :-)

Добавлено спустя 2 минуты 22 секунды:
Оппонируйте, коллега, оппонируйте!

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

Dmitry__ » 11 ноя 2011, 14:33

чего????
манчестер не так работает, 0 и 1 в манчестере - это положительный или отрицательный переход в середине периода :)
И это ты расписал сборку битов. Если ты потеряешь хоть 1 бит, у тебя все биты в байтах сместятся. В rs232 для этого и существуют старт и стоп биты, которые для тебя производитель контроллеров спрятал подальше в железо, чтоб тебе не выносить моск :)
А ели ты решил делать все сам, то дуло к виску и мягкий спуск курка :)

dccharacter писал(а):Я думаю, что на балконе у меня самые крутые оптопары.

Че за балкон такой? крутые оптопары есть а убитых ирда модулей нет :)

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

dccharacter » 11 ноя 2011, 14:45

1. Про манчестер почитал. Манчестер бывает разный. В середине периода - это когда сначала данные, потом клок. А у меня клок сначала, а потом данные. Читайте!
2. У меня очень отчетливый сигнал (по крайней мере на 19 кГц, гы гы гы), там даже фильтровать ничего не надо. Куда я могу потерять бит?
3. Балкон золотой практически. Но его состояние примерно соответствует состоянию складов поставщиков электронных компонентов. Т.е. ИРДА модулей нет ни там ни там :-)
4. Ладно, сегодня поиграемся. Правда непонятно, как без осцилла быть...

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

Dmitry__ » 11 ноя 2011, 14:55

не ставьте чайник без воды на огонь :D


Контроль фазовой синхронизации фронта положительного импульса строба с началом тактовых интервалов кодирования устанавливается следующим образом. Параллельно с интегрированием сигнала в пределах такта с учетом полярности строб-импульса проводится интегрирование сигнала в пределах такта без изменения знака во второй половине такта. Переход выходных сигналов кода Манчестер-II через ноль в середине такта приводит к тому, что выходные сигналы интегрирования без изменения знака существенно меньше выходных сигналов интегрирования с изменением знака (практически нулевые для непрерывных последовательностей нулей и единиц и в 2 и более раза меньше для кодов 01 и 10). Если синхронизация нарушается (первым в фактическом тактовом интервале идет импульс строба отрицательной полярности, т.е. меандр стробирования смещается на полтакта), то значения выходных сигналов интегрирования меняются прямо на противоположные как по значениям, так и по соотношению значений. Это может использоваться для постоянного контроля правильности автосинхронизации и для немедленного восстановления синхронизации и исправления кода при сбое синхронизации.
http://www.studfiles.ru/dir/cat41/subj1 ... 39856.html

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

dccharacter » 11 ноя 2011, 15:05

во-первых, я ничего не понял :-), а во-вторых, лоб я сегодня вечером все равно буду расшибать :-)

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

Dmitry__ » 11 ноя 2011, 15:20

dccharacter писал(а): А для IRDA - нет. И магазины не в помощь. Даже в Москве.

Чего за бред?
http://www.chipfind.ru/catalog/sensors/irda/

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

dccharacter » 11 ноя 2011, 22:21

Так, оптопара сходу ловит частоту 39кГц (это без регулировки - МАМА!!! Я СЛЕПОЙ БЕЗ МОЕГО ОСЦИЛЛА!!!!!!!), т.е. пока попробую прокинуть что-нить на 19кБитах. Дмитрий, покупай попкорн. На твоих глазах вершиться история.

Добавлено спустя 1 час 23 минуты 17 секунд:
Чооорт, я так начистил свою карму и мне так фигово без осцилла, что что-то не получается. Памагите.

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

Dmitry__ » 11 ноя 2011, 22:35

таааак, мое место не занимать. Большую пачку попкорна брать? сколько серий кино? :D

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

dccharacter » 11 ноя 2011, 22:45

Уже "пленка" заканчивается :-(

Без осцилла дебажить просто невозможно.

Добавлено спустя 7 минут 32 секунды:
Че-то бред какой-то. МК работает на 8МГц. Вот код прерывания:
Код: Выделить всёРазвернуть
if (TMR6IE && TMR6IF)
    {
        if (bitNum >= 8)
        {
            TMR6 = 240; //pause
            bitNum = 0;
        } else if (byte2transmit & (1 << bitNum))
        {
            if (halfBit)
            {
                halfBit = 0;
                TMR6 = 240;
                bitNum++;
            } else
            {
                halfBit = 1;
                TMR6 = 240;
            }
        } else
        {
            TMR6 = 240;
            bitNum++;
        }
       
        TMR6IF = 0;
        RB3 = ~RB3;
        RB5 = ~RB3;
    }

Такое чувство, что он исполняет этот код целую вечность.... И не успевает в заданные промежутки.

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

=DeaD= » 11 ноя 2011, 22:48

А в протеусе чего не дебажится?


cron
Rambler\'s Top100 Mail.ru counter