- синхронность
- дуплекс
- бит синхронность
- гальваническая развязка с проходной 1пф
Синхронность.
Каждый бит на шине имеет свой фронт. Мастер может выдавать маркеры - 3t, можно сделать несколько 6t, 10t.
Приемнику не надо заботиться о битовой и кадровой синхронизации. Можно ошибиться в измерении длительности импульса, или ошибиться в величине тока при ответе, что даст искажение бита, и ECC нам поможет, но пропустить бит невозможно (а такой пропуск очень трудно скорректировать без перезапроса). Если Вы пропустили импульс тока - значит, рядом взорвалась ядрена бомба.
Длительность передачи "дуплексного бита" - 2t или 2.5t. Теоретически длительность посылки сообщения может отличаться на 25%, но с учетом служебных полей так не будет, + ECC добавит "разнородности". Практические отличия будут 10-15%, что вообще пофиг в реальности.
Фронты имеют плавающее положение, что понизит пики в спектре излучения, и снизит восприимчивость к гармоническим помехам. Сходу важное преимущество против RS-485, CAN
Бит-синхронность вообще уникальна. На каждый конкретный бит мастера есть конкретный бит от slave. Примеры использования. Пусть у нас 32 устройства на шине.
* Подтверждения. Можно подтвердить сообщении от получателя - просто slave вставляет бит в нужное место одновременно с приемом сообщения. Можно подтверждать каждую секцию сообщения. Можно послать широковещательное сообщение, и в формате ответа зарезервировать 32 бита на подтверждения slave. Экономия пакетов приличная.
* Опрос в процессе передачи. Шлем сообщений слейвам, и каждый slave отвечает в нужном месте 2 бита, что дает 4 статуса его состояния - есть ли срочные сообщения и прочее. Всего 64 бита - и мы имеем достоверную информацию о слейвах. Можно прикинуть, сколько опросных пакетов мы сэкономили.
* Синхронизация. Мастер передал маркер, и по его заднему фронту мастер и slave защелкнули время внутреннего счетчика. Далее они побитно, навстречу друг другу, передают значения засечки. Далее каждый вычисляет разницу между собой и другой стороной, и они снова навстречу друг другу шлют биты. Совпало у мастера и слейва (+- 1 такт) - они синхронны, причем это двойная проверка. Не совпало у мастера - он снова запрашивает синхронизацию. Не совпало у слейва - он выставит бит статуса.
Гальваническая развязка это отдельный случай.
Вот пусть есть электрозамок. Который генерит ахрененый бросок тока по хиленькой линии своего питания. RS-485 без развязки тут будет неуместен - земля может упрыгать хз куда. Но хилость линии не мешает работе электрозамка как такового.
Но с другой стороны, возле замка может стоять мелкий MCU, которому все броски пофиг, у него грамотно разведенная плата, и грамотно соединенные земли, труды =АК= изучены вдоль и поперек.
И вот как только мы заводим на такой MCU длинный провод, который еще и может где-то быть под потенциалом чьей-то земли - развязка строго нужна.
А тут новый стандарт - 1 пф проходная и задешево. И DC-DC в этой схеме не нужны.
Развязка slave от его питания - она на самом деле нужна в очень небольшом количестве случаев. Скорее у slave могут быть sub-slave, которые как раз надо развязать. И если у нас есть развязка цепи управления без DC-DC - то мы прилично сэкономили.
В итоге "мой" вариант имеет массу преимуществ против гальванически развязанного RS-485, 422, но имеет ограничение по скорости - думаю, свыше 100КБит/сек получить будет трудно. Но это не проблема - решение недорогое, просто добавляем пар в систему и уменьшаем количество slave на каждой.
MIL-STD-1553B, он же ГОСТ Р 52070-2003, со своим симплексным мегабитом всех устраивает до сих пор (проблема в трансформаторе, который там очень непростой, обязательно с большой индуктивностью намагничивания, что порождает проходную 100+ пф). Да, там 31 абонент на шине. И там нет дуплекса и бит-синхронности, там нет штаной синхронизации времени (на уровне стандарта)
Про hot plug уже писал. http://caxapa.ru/1001561/
Вполне возможно, "предлагаемый стандарт" будет вторым каналом связи устройства. Высоконадежным каналом мастер-синхронизации и управления. Пусть приборы гоняют трафик по Ethernet - но синхронизация и "управление при любой ситуации" через обсуждаемый интерфейс.
-
- Для "100кбит будут на практике близки к мегабиту" нужна еще
позолота на проводах и шерстяная оплетка ;) - Гyдвинволшебник(04.05.2020 03:29)
- Ты все еще настаиваешь на шерстяной оплетке? - Evgeny_CDАрхитектор(06.05.2020 02:17, ссылка)
- Плиз, приведи аргумент по существу - Evgeny_CDАрхитектор(04.05.2020 03:44)
- Для "100кбит будут на практике близки к мегабиту" нужна еще
позолота на проводах и шерстяная оплетка ;) - Гyдвинволшебник(04.05.2020 03:29)