Цитата:
Изучаю пакетную связь - появилась пара мелких вопросов:
1. Какой используется NRZI в пакете? Беглый поиск по интернету показал, что NRZI кодирование в разных источниках описывается по-разному.
В одном случае пишут, что при передаче единицы полярность не меняется, а при передаче нуля - полярность меняется на противоположную.
В то же время в USB NRZI - ноль - смена полярности, единица - полярность не меняется.
как правильно?
Полярность меняется когда 0, при 1 - нету смены полярности. Нужно для того, чтобы избежать привязки к боковой. Аналогично работает и BPSK.
Цитата:
2. Как решается вопрос синхронизации в том случае, когда долго не меняется полярность сигнала (в USB меняют полярность каждые 6 бит).
Внутренним генератором, который синхронизируется во время смены полярности.
Цитата:
3. Не совсем понятно как передается байт 01111110 (байт флага), если он не в начале или конце сообщения, а просто содержится в данных. Или данные содержат одни единицы!?
Перед модуляцией идет кодирование данных стаффинг битом, после добавляется флаг начала пакета и проходит процедуру NRZI, поэтому такой последовательности в данных никогда не будет.
Цитата:
2.2.6 Стаффинг бит
В целях того, чтобы последовательность бит флага не появилась в каком-либо месте кадра передающая станция должна просматривать передаваемую последовательность бит на наличие 5 или более единичных бит. Каждый раз, когда встречается группа из 5 единичных бит, после 5-го единичного бита вставляется 0 бит. Во время приема пакета каждый раз, когда встречается 5 последовательно идущих единичных бит, следующий за ними 0 необходимо удалять.
Т. е. если внутри кадра есть подрят идущие единицы, то через каждые 5 бит вставляется 0?
Значит получается, что единица тогда, когда полярность не меняется?
После кодирования стаффинг битом, битовая последовательность блока данных никогда не будет содержать более 5-ти единиц подряд - это сделано для того, чтобы выделить флаг начала пакета, когда подряд идет 6 единиц.