ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
523688 Топик полностью
fk0, легенда (18.06.2014 22:10, просмотров: 233) ответил Argon на понял, спасибо! манчестер, пожалуй, оставлю. Другие варианты типа широтно-импульсного кодирования вряд ли лучше.
Везде свои ньюансы. Преимущество манчестера лишь в крайней простоте и возможности аппаратного декодирования чуть ли не на дискретной логике. Из минусов -- вдвое больше занимаемая полоса. Потом есть прочие ньюансы, вроде того, что типичный декодер манчестера сбивается от первой импульсной помехи (т.к. реагирует на каждый первый фронт) и подразумевает перед собой ФНЧ. Приёмник IR сигналов обычно имеет какие-то фильтры, типично расчитанные на типовые протоколы (RC5, RC6, NEC, Sony...) И, кстати, внутренняя логика приёмника ограничивает структуру сигнала. Например, TSOP62 фирмы Vishay Semiconductors: импульсы не менее 10..70 периодов несущей частоты -- более короткие импульсы и более длинные могут вызывать разные эффекты связанные с внутренней логикой приёмника, похоже что цифровой (импульсы считает). И не более 800 импульсов за посылку. Если передавать в NRZ -- без bit stuffing'а не обойтись. Можно допустить, например, 15 периодов на бит, итого ~2500бит/сек. В пакете не передавать более ~50 бит. Да и с точки зрения защиты от помех -- пакет, желательно, должен быть несколько короче полупериода сетевой частоты. Но у некоторых приёмников ещё есть ограничение на duty cycle -- не ниже 40%, например. Совсем сложно для NRZ. В голову приходит только кодирование 3b/4b (см. статью 8b/10b в Wikipedia), всяко эффективнее манчестера. Возникает вопрос, как быть с битовой синхронизацей и опознанием начала пакета. Можно использовать преамбулу для первого и второго. В качестве преамбулы можно взять т.н. MLS-последовательность (http://en.wikipedi …aximum_length_sequence) ввиду свойств которой можно достаточно точно отловить начало пакета по максимуму автокорреляционной функции. Дальше остаётся принимать NRZ биты и декодировать (кодирование нужно только для выполнения условий по duty cycle) один за одним. При условии, что приёмник и передатчик имеют сколько-нибудь точные тактовые генераторы. Думается, даже встроенного в современные контроллеры генератора, особенно если он может подстраиваться по какому-либо внешнему источнику (часовому кварцу?) может быть достаточно для приёма коротких пакетов до ~50 байт, с кварцем вовсе запросто. Стоит ли овчинка выделки? Не знаю. Усилия могут потребоваться большие, а на выходе -- проще светодиод более яркий поставить.
[ZX]