Технический форум по робототехнике.
Dmitry__ » 11 ноя 2011, 13:58
да хоть 2мгц. sir работать будет. Только нафига все эти сложности?
Ты манчестер считаешь проще физ. уровня irda? Ню-ню.
dccharacter » 11 ноя 2011, 14:01
Эээээ. Понимаешь, если 200кГц мои трансы потянут, то у меня уже есть среда и весь сетап для передачи байтиков. А для IRDA - нет. И магазины не в помощь. Даже в Москве.
Тем более, что программная реализация такого манчестера пока мне видится элементарнейшей - на одном таймере с минимумом кода.
Dmitry__ » 11 ноя 2011, 14:04
ага, только не приемная часть
и не забывай - 200 кгц манчестер - 100 кгц данные
Добавлено спустя 29 секунд:это без накладных расходов на протокол синхронизации

dccharacter » 11 ноя 2011, 14:08
Блина, а зачем мне протокол? Мне же не обязательно УАРТ туда пихать - я могу изумительно тем же CCP или вообще таймером принять. 100кГц данные мне и нужны. Пока думаю сделать так - на выход трансформатора - оптопару (коих у меня охрененное количество на балконе) и в МК. Получицца?
Dmitry__ » 11 ноя 2011, 14:18
а как ты в этом потоке самосознания будешь собирать байты?
Добавлено спустя 3 минуты 45 секунд:dccharacter писал(а):на выход трансформатора - оптопару (коих у меня охрененное количество на балконе) и в МК. Получицца?
нипалучица

оптопары на 200 кгц денег стоят
dccharacter » 11 ноя 2011, 14:25
Dmitry__ писал(а):а как ты в этом потоке самосознания будешь собирать байты?

Хм. В простом режиме частота 19кГц. Там байтов явно нет. Когда байты есть разница между 0 и 1 - в два раза по времени. Т.е. меряем время между двумя соседними фронтами. Если оно больше, скажем, 15 мкс - в мусор. Если 10 мкс, то пишем "0". Если 5 мкс, пишем "1" и следующий промежуток курим. Ае?
Добавлено спустя 2 минуты 35 секунд:Dmitry__ писал(а):оптопары на 200 кгц денег стоят
Я думаю, что на балконе у меня самые крутые оптопары. Так что если на 200кГц существуют в природе, то с высокой долей вероятности, на балконе найдуццо
Добавлено спустя 2 минуты 22 секунды:Оппонируйте, коллега, оппонируйте!
Dmitry__ » 11 ноя 2011, 14:33
чего????
манчестер не так работает, 0 и 1 в манчестере - это положительный или отрицательный переход в середине периода

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

А ели ты решил делать все сам, то дуло к виску и мягкий спуск курка

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

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

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

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

Dmitry__ » 11 ноя 2011, 15:20
dccharacter писал(а): А для IRDA - нет. И магазины не в помощь. Даже в Москве.
Чего за бред?
http://www.chipfind.ru/catalog/sensors/irda/
dccharacter » 11 ноя 2011, 22:21
Так, оптопара сходу ловит частоту 39кГц (это без регулировки - МАМА!!! Я СЛЕПОЙ БЕЗ МОЕГО ОСЦИЛЛА!!!!!!!), т.е. пока попробую прокинуть что-нить на 19кБитах. Дмитрий, покупай попкорн. На твоих глазах вершиться история.
Добавлено спустя 1 час 23 минуты 17 секунд:
Чооорт, я так начистил свою карму и мне так фигово без осцилла, что что-то не получается. Памагите.
Dmitry__ » 11 ноя 2011, 22:35
таааак, мое место не занимать. Большую пачку попкорна брать? сколько серий кино?

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;
}
Такое чувство, что он исполняет этот код целую вечность.... И не успевает в заданные промежутки.
=DeaD= » 11 ноя 2011, 22:48
А в протеусе чего не дебажится?