ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
1211039 Топик полностью
Tyмблep (23.05.2022 13:48, просмотров: 258) ответил mse homjak на Спору нет. Только кто его должен обеспечить? Чота кажется, что слэйв, занимающий шину, плохой вариант. Оттарабанил и по последнему стоп-биту отвалился от шины. А дальше пусть хост таймаут считает, у него головапамять большая.
Смотри, как я сделал в одной из систем. 

1. Мастер не "отпускает шину" в паузу - только при приёме.

При этом во время паузы при любом обмене на шине максимальное

напряжение, что обеспечивает максимальную помехозащищённость.

2. Мастер начинает обмен, но после окончания пакета сохраняет активность

ещё 1.5. (Щас точно не помню цифру, давно было).

3. Слэйв начинает отвечать, выходит на шину и держит паузу 1.5.

4. Они оба вышли на шину, но конфликта нет - потенциал выдан один и тот же.

5. Мастер отключается от шины через 1.5 в приём, и тут со слэйва идут байты.

6. после последнего байта слэйв ждёт 1.5, а мастер тоже выходит на магистраль.

Потенциал один, конфликта нет.

7. слэйв переключается на приём.

Понятно, для такого требуется калиброванный по времени вход/выход на линию.

Но как-то всё просто реализовалось.

Как видим, линия всё время под максимальным потенциалом посредством

аппаратного "рукопожатия", и без конфликтов.

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

Тогда используется "подтяжка", куда уж без неё.

Всё было реализовано на Mcs52. Скорость - 125000. Длина до 700-1000 м (точно не известно)

Правда позже мастера сделал на AVR Mega128.