Перейти к содержанию
    

Определить вид кодирования при асинхронной передаче

Имею такой вот сигнал (см.вложение) - из того что предлагает софт логического анализатора подходит только манчестер, но манчестер получается довольно странный - с пропусками - см. знаки "?" на эпюрах.

 

Белые разделители бит - это как предлагает сделать ПО лог.анализатора. Розовые - та же самая попытка интерпретировать это как манчестер, но со сдвигом на полбита. Полная фигня.

 

А вот то, что подходит - это зеленые разделители - кодирование с равной длительностью 0 и 1. Биты кодируются длиной высокого уровня сигнала, например:

"1" - 2/1 (длительность высокого уровня/длительность низкого уровня - или 2/3 высокий уровень и затем 1/3 низкий)

"0" - 1/2 (длительность высокого уровня/длительность низкого уровня)

 

Вроде всё сходится, даже число "декодированых" этим способом бит совпадает, но только вот чего не хватает - так это названия данного способа кодирования.

Не могу вспомнить откуда его "знаю".. может из какого-либо формата ИК-передачи..

 

Не подскажете общепринятое название?

post-27784-1430831207_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чем то похоже на инвертированный nec

инвертированный?...

насчёт интерпретации 1 и 0 я конечно лишь предположил - может и вовсе наоборот

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протокол SONY (SIRC).

Гуглится легко.

 

уыв, это не может быть SIRC, поскольку у SIRC разные длительности "1" и "0":

sircmodulation.gif

а у меня - одинаковые

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уыв

Если длительности нуля и единицы равны, то что-то подобное есть в WS2812B:

'0' - 0.35/0.9 us

'1' - 0.9/0.35 us

Restart - >50 us.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел WS2812B и 1-wire.

действительно, похоже, что подобное взято за основу, увы длительности не совпадают.

 

Длинная преамбула (СТАРТ): 1000мкс

Маркер конца - 100мкс

При передаче битов:

узкая длительность бита ~120мкс

широкая длительность бита ~270мкс

 

Битовая скорость около 2,58 Кбод

 

Протокол применен в retrofit-парктронике,

раньше делали по двухпроводной схеме - на приемной стороне ставили HC595 и выводили на дисплей по клоку, а теперь там стоит PIC и однопроводный интерфейс. вот :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а теперь там стоит PIC и однопроводный интерфейс.
Наталкивает на мысль об однопроводном интерфейсе микрочиповских последовательных памятей 11AA010 и подобных. Посмотрите, а вдруг похоже.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протокол применен в retrofit-парктронике,

Я как-то интегрировал парктроник Autrix F-716, там похожая система (числа в микросекундах, размер посылки - 24 бита):

 

#define IR_T        (440) // период бита
#define IR_0        (306) // длительность импульса "0"
#define IR_1        (118) // длительность импульса "1"
#define IR_START    (700) // характерная длительность "START"

#define IR_ST        (IR_START + IR_T) // длительность всего сигнала "START"
#define IR_SP        (IR_START + IR_0) // длительность импульса "START"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кодирование ШИМ (PWM), но протокол по нему не определить при всём желании, потому что это на уровень выше объект.

Изменено пользователем Plain

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...