Изобретение относится к электронным схемам общего назначения, в частности к схемам кодирования, декодирования и преобразования данных при их передаче между удаленными друг от друга абонентами.
Известно устройство [1] для передачи данных, содержащее подключенные к противоположным сторонам линии связи блок передачи данных и блок приема данных, блок передачи данных содержит первый и второй элементы Исключающее ИЛИ, первый усилитель и первый сдвиговый регистр, входы второго элемента Исключающее ИЛИ подключены к выходам первого сдвигового регистра, а выход - к первому входу первого элемента Исключающее ИЛИ, вход последовательных данных первого сдвигового регистра соединен с выходом первого элемента Исключающее ИЛИ и с входом первого усилителя, вход синхронизации первого сдвигового регистра является входом синхронизации устройства, второй вход первого элемента Исключающее ИЛИ является входом данных устройства, выход первого усилителя подключен к линии связи, блок приема данных содержит генератор с фазовой автоподстройкой частоты, второй сдвиговый регистр, третий и четвертый элементы Исключающее ИЛИ и второй усилитель, вход которого подключен к линии связи, а выход - к входу генератора с фазовой автоподстройкой частоты, выход которого соединен с входом синхронизации второго сдвигового регистра и является выходом синхронизации устройства, выходы второго сдвигового регистра соединены с входами третьего элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого элемента Исключающее ИЛИ, выход которого является выходом данных устройства, а второй вход соединен с входом последовательных данных второго сдвигового регистра и с выходом второго усилителя.
В устройстве [1] блоки передачи и приема данных выполняют, соответственно, функции скремблера и дескремблера. Входные данные преобразуются скремблером к виду, при котором их можно рассматривать как псевдослучайные. Дескремблер выполняет обратное преобразование, т.е. восстанавливает исходные данные. Скремблирование данных позволяет заменить длинные последовательности нулей или единиц (и не только эти последовательности) псевдослучайными битами, что исключает возможность потери синхронизации между блоками приема и передачи данных. Кроме того, разравнивается энергетический спектр передаваемого сигнала, что способствует уменьшению уровня перекрестных помех, наводимых на соседние витые пары проводов кабеля линии связи.
Недостатком устройства [1] является размножение ошибок, которые могут возникнуть при передаче сигнала по линии связи. Так, одиночная ошибка преобразуется в троекратную, так как ошибочный бит сначала непосредственно передается на выход данных устройства, а затем, продвигаясь по второму сдвиговому регистру, еще два раза искажает выходные данные.
Известно устройство [2] для передачи данных, содержащее подключенные к противоположным сторонам линии связи блок передачи данных и блок приема данных, блок передачи данных содержит скремблер, содержащий генератор псевдослучайной последовательности битов, первый элемент Исключающее ИЛИ и первый усилитель, генератор псевдослучайной последовательности битов содержит первый сдвиговый регистр и второй элемент Исключающее ИЛИ, входы которого подключены к выходам первого сдвигового регистра, а выход - к первому входу первого элемента Исключающее ИЛИ и к входу последовательных данных первого сдвигового регистра, вход синхронизации которого является входом синхронизации скремблера, второй вход первого элемента Исключающее ИЛИ является входом данных скремблера, выход первого усилителя подключен к линии связи, блок приема данных содержит дескремблер, содержащий генератор с фазовой автоподстройкой частоты, второй сдвиговый регистр, третий и четвертый элементы Исключающее ИЛИ и второй усилитель, вход которого подключен к линии связи, а выход - к входу генератора с фазовой автоподстройкой частоты, выход которого является выходом синхронизации дескремблера, выходы второго сдвигового регистра соединены с входами третьего элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого элемента Исключающее ИЛИ.
В устройстве [2] сдвиговый регистр блока приема данных (дескремблера) логически изолирован от линии связи, поэтому не происходит размножения ошибок, поступающих из линии.
Устройство [2] имеет два недостатка.
Первый недостаток состоит в том, что для поддержания синхронной работы сдвиговых регистров скремблера и дескремблера (в случае нарушения синхронизации устройства или при начальном включении его приемной части) необходимо периодически прерывать передачу полезных данных и передавать по линии связи служебные информационные кадры, содержащие достаточно длинные цепочки синхронизирующих битов. Это уменьшает эффективную скорость передачи данных по линии, усложняет протокол обмена и требует значительного времени ожидания дескремблером служебного кадра в случае потери синхронизации. В течение этого времени передача данных невозможна.
Второй недостаток - отсутствие аппаратных средств разграничения байтов в битовом потоке данных, передаваемых по линии связи. Для указания границ между байтами в битовый поток данных необходимо вводить избыточные биты, что снижает скорость передачи. Например, согласно пат. заявке США US 20020191721 А1 к каждому байту в битовом потоке добавляется бит разграничения, полученный от генератора псевдослучайной последовательности битов. Устройство-приемник данных обнаруживает биты разграничения благодаря их устойчивому совпадению с эталонной псевдослучайной последовательностью битов. Другой способ разграничения байтов в битовом потоке данных (пат. США №6011808) также предусматривает добавление бита разграничения к каждому байту. Этот бит формируется дублированием и инвертированием нулевого бита передаваемого байта. В результате начало байта сопровождается передачей комбинаций битов 01 или 10. Устройство-приемник данных обнаруживает биты разграничения и нулевые биты данных благодаря их статистически устойчивому совпадению с кодами 01 или 10. Оба способа введения битов разграничения неэкономичны - на каждые восемь битов данных приходится один служебный бит.
Оба отмеченных выше недостатка снижают скорость передачи данных через устройство [2].
Цель изобретения - повышение скорости передачи данных через устройство.
Цель достигается тем, что в устройстве для передачи данных, содержащем подключенные к противоположным сторонам линии связи блок передачи данных и блок приема данных, блок передачи данных содержит скремблер, содержащий генератор псевдослучайной последовательности битов, первый элемент Исключающее ИЛИ и первый усилитель, генератор псевдослучайной последовательности битов содержит первый сдвиговый регистр и второй элемент Исключающее ИЛИ, входы которого подключены к выходам первого сдвигового регистра, а выход - к первому входу первого элемента Исключающее ИЛИ и к входу последовательных данных первого сдвигового регистра, вход синхронизации которого является входом синхронизации скремблера, второй вход первого элемента Исключающее ИЛИ является входом данных скремблера, выход первого усилителя подключен к линии связи, блок приема данных содержит дескремблер, содержащий генератор с фазовой автоподстройкой частоты, второй сдвиговый регистр, третий и четвертый элементы Исключающее ИЛИ и второй усилитель, вход которого подключен к линии связи, а выход - к входу генератора с фазовой автоподстройкой частоты, выход которого является выходом синхронизации дескремблера, выходы второго сдвигового регистра соединены с входами третьего элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого элемента Исключающее ИЛИ. При этом блок передачи данных дополнительно содержит блок преобразования параллельного кода в последовательный, группа входов данных которого является группой входов данных устройства, а выход байтовой синхронизации - первым выходом байтовой синхронизации устройства, скремблер дополнительно содержит третий сдвиговый регистр, первый дешифратор, первый триггер и первый инвертор, выход которого подключен к входу синхронизации первого триггера, вход первого инвертора соединен с входами синхронизации первого и третьего сдвиговых регистров, а также с выходом битовой синхронизации блока преобразования параллельного кода в последовательный, управляющий вход первого сдвигового регистра соединен с выходом первого дешифратора и с входом коррекции блока преобразования параллельного кода в последовательный, выход данных которого соединен с входом данных скремблера, вход последовательных данных третьего сдвигового регистра соединен с выходом первого элемента Исключающее ИЛИ и с входом данных первого триггера, выход которого соединен с входом первого усилителя, входы параллельных данных первого сдвигового регистра соединены с выходами первого дешифратора, входы которого соединены с выходами третьего сдвигового регистра, блок приема данных дополнительно содержит блок преобразования последовательного кода в параллельный, группа выходов данных которого является группой выходов данных устройства, а выход байтовой синхронизации - вторым выходом байтовой синхронизации устройства, дескремблер дополнительно содержит четвертый сдвиговый регистр, второй дешифратор, второй и третий триггеры и второй инвертор, выход которого подключен к входу синхронизации второго триггера и к входам синхронизации второго и четвертого сдвиговых регистров, управляющий вход второго сдвигового регистра соединен с выходом второго дешифратора и с входом коррекции блока преобразования последовательного кода в параллельный, вход данных которого соединен с выходом третьего триггера, а вход битовой синхронизации - с выходом синхронизации дескремблера, вход последовательных данных четвертого сдвигового регистра соединен со вторым входом четвертого элемента Исключающее ИЛИ и с выходом второго триггера, вход данных которого соединен с выходом второго усилителя, входы параллельных данных второго сдвигового регистра соединены с выходами второго дешифратора, входы которого соединены с выходами четвертого сдвигового регистра, вход последовательных данных второго сдвигового регистра соединен с первым входом четвертого элемента Исключающее ИЛИ, выход которого соединен с входом данных третьего триггера, вход синхронизации которого соединен с выходом синхронизации дескремблера и с входом второго инвертора.
Блок преобразования параллельного кода в последовательный содержит триггер, постоянное запоминающее устройство, параллельный регистр, сдвиговый регистр, генератор импульсов и инвертор, группа входов данных блока соединена с входами параллельных данных сдвигового регистра, выход последовательных данных которого является выходом данных блока, а вход синхронизации соединен с выходом генератора импульсов и с входом инвертора и является выходом битовой синхронизации блока, вход коррекции блока соединен с входом данных триггера, вход синхронизации которого соединен с выходом инвертора и с входом синхронизации параллельного регистра, выходы которого соединены с входом управления сдвигового регистра, с выходом байтовой синхронизации блока и с входами адреса постоянного запоминающего устройства, выходы которого соединены с входами данных параллельного регистра, выход триггера соединен с входом адреса постоянного запоминающего устройства.
Блок преобразования последовательного кода в параллельный содержит первый и второй сдвиговые регистры, инвертор, постоянное запоминающее устройство, первый и второй параллельные регистры, вход данных второго параллельного регистра соединен с входом данных первого сдвигового регистра и является входом данных блока, вход синхронизации первого сдвигового регистра соединен с входом инвертора и является входом битовой синхронизации блока, вход данных второго сдвигового регистра является входом коррекции блока, группа выходов второго параллельного регистра является группой выходов данных блока, вход синхронизации второго параллельного регистра соединен с выходом первого параллельного регистра и является выходом байтовой синхронизации блока, выход инвертора соединен с входами синхронизации второго сдвигового регистра и первого параллельного регистра, выходы постоянного запоминающего устройства соединены с входами первого параллельного регистра, а адресные входы - с выходом второго сдвигового регистра и с выходами первого параллельного регистра.
На фиг.1, а и б представлены функциональная схема известного генератора псевдослучайной последовательности битов и таблица - указатель точек подключения цепи обратной связи этого генератора; на фиг.2 - функциональная схема известного устройства [1] для передачи данных; на фиг.3 - функциональная схема известного устройства [2] для передачи данных; на фиг.4 - функциональная схема предлагаемого устройства для передачи данных; на фиг.5 - функциональная схема блока преобразования параллельного кода в последовательный предлагаемого устройства; на фиг.6 - функциональная схема блока преобразования последовательного кода в параллельный предлагаемого устройства; на фиг.7, а - в - таблица состояний генератора псевдослучайной последовательности битов, диаграмма состояний этого генератора и пример кодовой ситуации, поясняющий работу предлагаемого устройства; на фиг.8 - временные диаграммы работы скремблера предлагаемого устройства; на фиг.9 - временные диаграммы работы дескремблера предлагаемого устройства; на фиг.10 - диаграммы, поясняющие процесс передачи данных предлагаемым устройством в отсутствие сигнала коррекции границ между байтами; на фиг.11 - диаграммы, поясняющие процесс передачи данных предлагаемым устройством при наличии сигнала коррекции границ между байтами; на фиг.12 - временные диаграммы работы блока передачи данных предлагаемого устройства в отсутствие сигнала коррекции границ между байтами; на фиг.13 - временные диаграммы работы блока передачи данных предлагаемого устройства при наличии сигнала коррекции границ между байтами; на фиг.14 - временные диаграммы работы блока приема данных предлагаемого устройства в отсутствие сигнала коррекции границ между байтами; на фиг.15 - временные диаграммы работы блока приема данных предлагаемого устройства при наличии сигнала коррекции границ между байтами;
Генератор 1 псевдослучайной последовательности битов (фиг.1, а) содержит сдвиговый регистр 2, выходы разрядов М и N которого соединены с входами элемента Исключающее ИЛИ 3, выход которого соединен с входом последовательных данных сдвигового регистра 2 и является выходом 4 генератора 1 псевдослучайной последовательности битов, вход 5 синхронизации сдвигового регистра 2 является входом синхронизации генератора 1 псевдослучайной последовательности битов. Направление сдвига данных в регистре 2 показано стрелкой 6. Номера разрядов М и N регистра 2 выбираются из приведенной на фиг.1, б таблицы 7 - указателя точек подключения цепи обратной связи.
Известное [1] устройство 8 для передачи данных (фиг.2) содержит подключенные к противоположным сторонам линии связи 9 блок 10 передачи данных (скремблер) и блок 11 приема данных (дескремблер), блок 10 передачи данных содержит первый 12 и второй 13 элементы Исключающее ИЛИ, первый 14 усилитель и первый 15 сдвиговый регистр, входы второго 13 элемента Исключающее ИЛИ подключены к выходам первого 15 сдвигового регистра, а выход - к первому входу первого 12 элемента Исключающее ИЛИ, вход последовательных данных первого 15 сдвигового регистра соединен с выходом первого 12 элемента Исключающее ИЛИ и с входом первого 14 усилителя, вход синхронизации первого 15 сдвигового регистра является входом 16 синхронизации устройства, второй вход первого 12 элемента Исключающее ИЛИ является входом 17 данных устройства, выход первого 14 усилителя подключен к линии связи 9, блок 11 приема данных содержит генератор 18 с фазовой автоподстройкой частоты, второй 19 сдвиговый регистр, третий 20 и четвертый 21 элементы Исключающее ИЛИ и второй 22 усилитель, вход которого подключен к линии связи 9, а выход - к входу генератора 18 с фазовой автоподстройкой частоты, выход которого соединен с входом синхронизации второго 19 сдвигового регистра и является выходом 23 синхронизации устройства, выходы второго 19 сдвигового регистра соединены с входами третьего 20 элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого 21 элемента Исключающее ИЛИ, выход которого является выходом 24 данных устройства, а второй вход соединен с входом последовательных данных второго 19 сдвигового регистра и с выходом второго 22 усилителя. Направления сдвига данных в регистрах 15 и 19 показаны стрелками 25. Внешний источник 26 данных (например, первый компьютер) подключен к входам 16 и 17 устройства 8. Внешний приемник 27 данных (например, второй компьютер) подключен к выходам 23 и 24 устройства 8.
Известное [2] устройство 28 для передачи данных (фиг.3) содержит подключенные к противоположным сторонам линии связи 29 блок 30 передачи данных (скремблер) и блок 31 приема данных (дескремблер), блок 30 передачи данных содержит генератор 32 псевдослучайной последовательности битов, первый 33 элемент Исключающее ИЛИ и первый 34 усилитель, генератор 32 псевдослучайной последовательности битов содержит первый 35 сдвиговый регистр и второй 36 элемент Исключающее ИЛИ, входы которого подключены к выходам первого 35 сдвигового регистра, а выход - к первому входу первого 33 элемента Исключающее ИЛИ и к входу последовательных данных первого 35 сдвигового регистра, вход синхронизации которого является входом 37 синхронизации скремблера 30, второй вход первого элемента Исключающее ИЛИ является входом 38 данных скремблера 30, выход первого 34 усилителя подключен к линии связи 29, блок 31 приема данных (дескремблер) содержит генератор 39 с фазовой автоподстройкой частоты, второй 40 сдвиговый регистр, третий 41 и четвертый 42 элементы Исключающее ИЛИ и второй 43 усилитель, вход которого подключен к линии связи 29, а выход - к входу генератора 39 с фазовой автоподстройкой частоты, выход которого является выходом 44 синхронизации дескремблера 31, выходы второго сдвигового регистра 40 соединены с входами третьего 41 элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого 42 элемента Исключающее ИЛИ.
В блоке 30 передачи данных выход первого 33 элемента Исключающее ИЛИ соединен с входом первого 34 усилителя. Блок 31 приема данных содержит также мультиплексор 45, выход которого соединен с входом последовательных данных регистра 40, а управляющий вход является управляющим входом 46 устройства 28. Первый вход данных мультиплексора 45 соединен с первым входом четвертого 42 элемента Исключающее ИЛИ. Второй вход данных мультиплексора 45 соединен со вторым входом четвертого 42 элемента Исключающее ИЛИ и с выходом второго 43 усилителя. Выход четвертого 42 элемента Исключающее ИЛИ является выходом 47 данных устройства 28. Вход синхронизации регистра 40 соединен с выходом 44 синхронизации устройства 28. Направления сдвига данных в регистрах 35 и 40 показаны стрелками 48. Внешний источник 49 данных (например, первый компьютер) подключен к входам 37 и 38 устройства 28. Внешний приемник 50 данных (например, второй компьютер) подключен к выходам 44 и 47 и к входу 46 устройства 28.
Предлагаемое устройство для передачи данных (фиг.4) содержит подключенные к противоположным сторонам линии связи 51 блок 52 передачи данных и блок 53 приема данных, блок 52 передачи данных содержит скремблер 54, содержащий генератор 55 псевдослучайной последовательности битов, первый 56 элемент Исключающее ИЛИ и первый 57 усилитель, генератор 55 псевдослучайной последовательности битов содержит первый 58 сдвиговый регистр и второй 59 элемент Исключающее ИЛИ, входы которого подключены к выходам первого 58 сдвигового регистра, а выход - к первому входу первого 56 элемента Исключающее ИЛИ и к входу последовательных данных первого 58 сдвигового регистра, вход синхронизации которого является входом 60 синхронизации скремблера, второй вход первого элемента Исключающее ИЛИ является входом 61 данных скремблера, выход первого 57 усилителя подключен к линии связи 51, блок 53 приема данных содержит дескремблер 62, содержащий генератор 63 с фазовой автоподстройкой частоты, второй 64 сдвиговый регистр, третий 65 и четвертый 66 элементы Исключающее ИЛИ и второй 67 усилитель, вход которого подключен к линии связи 51, а выход - к входу генератора 63 с фазовой автоподстройкой частоты, выход которого является выходом 68 синхронизации дескремблера 62, выходы второго 64 сдвигового регистра соединены с входами третьего 65 элемента Исключающее ИЛИ, выход которого подключен к первому входу четвертого 66 элемента Исключающее ИЛИ.
Блок 52 передачи данных содержит также блок 69 преобразования параллельного кода в последовательный, группа 70 входов данных которого является группой входов данных устройства, а выход 71 байтовой синхронизации - первым выходом байтовой синхронизации устройства, скремблер 54 дополнительно содержит третий 72 сдвиговый регистр, первый 73 дешифратор, первый 74 триггер и первый 75 инвертор, выход которого подключен к входу синхронизации первого 74 триггера, вход 60 первого 75 инвертора соединен с входами синхронизации первого 58 и третьего 72 сдвиговых регистров, а также с выходом битовой синхронизации блока 69 преобразования параллельного кода в последовательный, управляющий вход первого 58 сдвигового регистра соединен с выходом первого 73 дешифратора и с входом 76 коррекции блока 69 преобразования параллельного кода в последовательный, выход данных которого соединен с входом 61 данных скремблера 54, вход последовательных данных третьего 72 сдвигового регистра соединен с выходом первого 56 элемента Исключающее ИЛИ и с входом данных первого 74 триггера, выход которого соединен с входом первого 57 усилителя, входы 77 параллельных данных первого 58 сдвигового регистра соединены с выходами первого 73 дешифратора, входы которого соединены с выходами третьего 72 сдвигового регистра.
Блок 53 приема данных содержит также блок 78 преобразования последовательного кода в параллельный, группа 79 выходов данных которого является группой выходов данных устройства, а выход 80 байтовой синхронизации - вторым выходом байтовой синхронизации устройства, дескремблер 62 дополнительно содержит четвертый 81 сдвиговый регистр, второй 82 дешифратор, второй 83 и третий 84 триггеры и второй 85 инвертор, выход которого подключен к входу синхронизации второго 83 триггера и к входам синхронизации второго 64 и четвертого 81 сдвиговых регистров, управляющий вход второго сдвигового регистра соединен с выходом второго дешифратора и с входом 86 коррекции блока 78 преобразования последовательного кода в параллельный, вход 87 данных которого соединен с выходом третьего 84 триггера, а вход битовой синхронизации - с выходом 68 синхронизации дескремблера, вход последовательных данных четвертого 81 сдвигового регистра соединен со вторым входом четвертого 66 элемента Исключающее ИЛИ и с выходом второго 83 триггера, вход данных которого соединен с выходом второго 67 усилителя, входы 88 параллельных данных второго 64 сдвигового регистра соединены с выходами второго 82 дешифратора, входы которого соединены с выходами четвертого 81 сдвигового регистра, вход последовательных данных второго 64 сдвигового регистра соединен с первым входом четвертого 66 элемента Исключающее ИЛИ, выход которого соединен с входом данных третьего 84 триггера, вход синхронизации которого соединен с выходом 68 синхронизации дескремблера и с входом второго 85 инвертора. Стрелками 89 обозначено направление сдвига данных в регистрах 58, 64, 72 и 81.
Блок 69 преобразования параллельного кода в последовательный (фиг.5) содержит триггер 90, постоянное запоминающее устройство (ПЗУ) 91, параллельный регистр 92, сдвиговый регистр 93, генератор 94 импульсов и инвертор 95, группа 70 входов данных блока соединена с входами параллельных данных сдвигового регистра 93, выход 61 последовательных данных которого является выходом данных блока, а вход синхронизации соединен с выходом генератора 94 импульсов и с входом инвертора 95 и является выходом 60 битовой синхронизации блока, вход 76 коррекции блока 69 соединен с входом данных триггера 90, вход синхронизации которого соединен с выходом инвертора 95 и с входом синхронизации параллельного регистра 92, выходы которого соединены с входом 96 управления сдвигового регистра 93, с выходом 71 байтовой синхронизации блока 69 и с входами адреса ПЗУ 91, выходы которого соединены с входами данных параллельного регистра 92, выход триггера 90 соединен с входом адреса ПЗУ 91. Направление сдвига данных в регистре 93 показано стрелкой 97.
Блок 78 преобразования последовательного кода в параллельный (фиг.6) содержит первый 98 и второй 99 сдвиговые регистры, инвертор 100, ПЗУ 101, первый 102 и второй 103 параллельные регистры, вход данных второго 103 параллельного регистра соединен с входом данных первого 98 сдвигового регистра и является входом 87 данных блока 78, вход синхронизации первого 98 сдвигового регистра соединен с входом инвертора и является входом 68 битовой синхронизации блока 78, вход данных второго 99 сдвигового регистра является входом 86 коррекции блока 78, группа выходов второго 103 параллельного регистра является группой 79 выходов данных блока 78, вход синхронизации второго 103 параллельного регистра соединен с выходом первого 102 параллельного регистра и является выходом 80 байтовой синхронизации блока 78, выход инвертора 100 соединен с входами синхронизации второго 99 сдвигового регистра и первого 102 параллельного регистра, выходы ПЗУ 101 соединены с входами первого 102 параллельного регистра, а адресные входы - с выходом 104 второго 99 сдвигового регистра и с выходами первого 102 параллельного регистра. Направление сдвига данных в регистрах 98 и 99 показано стрелками 105.
В таблице 106 (фиг.7, а) представлен список состояний генератора 55 псевдослучайной последовательности битов; диаграмма 107 состояний этого генератора (фиг.7, б) отражает перемещение указателя 108 текущего состояния по кольцевому пути; линии 109 и 110 разделяют диаграмму на четыре сектора. В таблице 111 (фиг.7, б) приведен пример кодовой ситуации, поясняющий работу предлагаемого устройства.
Временные диаграммы 112 и 113 (фиг.8) соответствуют сигналам на входах 60 и 61 скремблера 54; диаграмма 114 - сигналу на выходе элемента Исключающее ИЛИ 59; диаграмма 115 - сигналу на выходе элемента Исключающее ИЛИ 56; диаграмма 116 - сигналам на выходах регистра 72; диаграмма 117 - сигналу на управляющем входе P/S регистра 58 (точка 76); диаграмма 118 - состояниям генератора 55 псевдослучайной последовательности битов; диаграмма 119 - сигналу на входе усилителя 57.
Временная диаграмма 120 (фиг.9) соответствуют сигналу на выходе усилителя 67; диаграмма 121 - сигналу на выходе инвертора 85; диаграмма 122 - сигналу на выходе триггера 83; диаграмма 123 - сигналам на выходах регистра 81; диаграмма 124 - сигналу на управляющем входе P/S* регистра 64 (точка 86); диаграмма 125 - состояниям регистра 64 генератора псевдослучайной последовательности битов дескремблера 62; диаграмма 126 - сигналу на выходе элемента Исключающее ИЛИ 65; диаграмма 127 - сигналу на выходе элемента Исключающее ИЛИ 66; диаграмма 128 - сигналу на входе инвертора 85; диаграмма 129 - сигналу на выходе 87 дескремблера 62.
Последовательность байтов 130 (фиг.10), принимаемых с входов 70 устройства в установившемся режиме, передается по линии связи 51 в виде непрерывного потока битов, в котором размещены байты 131. После их приема на выходах 79 устройства формируется выходная последовательность байтов 132, совпадающая с входной. Стрелки 133 отражают последовательность преобразования данных.
Последовательность байтов 134 (фиг.11), принимаемых с входов 70 устройства в режиме коррекции границ байтов, передается по линии связи 51 в виде непрерывного потока битов, в котором размещены байты 135. В момент 136 коррекции часть 137 переданного байта игнорируется, после чего он передается повторно (байт 138). На выходах 79 устройства формируется выходная последовательность байтов 139, совпадающая с входной. Стрелки 140 отражают последовательность преобразования данных.
Временные диаграммы 141 и 142 (фиг.12) соответствуют сигналам на входе и выходе инвертора 95 (фиг.5); диаграммы 143 и 144 - сигналам на входе данных и выходе триггера 90; диаграммы 145 и 146 - сигналам в точках 71 и 96; диаграммы 147 и 148 - сигналам в точках 70 и 61; диаграммы 149 и 150 - сигналам на входе данных и выходе триггера 74 (фиг.4); диаграммы 151 и 152 - сигналам на адресных входах и выходах ПЗУ 91 (фиг.5).
Временные диаграммы 153 и 154 (фиг.13) соответствуют сигналам на входе и выходе инвертора 95; диаграммы 155 и 156 - сигналам на входе данных и выходе триггера 90; диаграммы 157 и 158 - сигналам в точках 71 и 96; диаграммы 159 и 160 - сигналам в точках 70 и 61; диаграммы 161 и 162 - сигналам на входе данных и выходе триггера 74; диаграммы 163 и 164 - сигналам на адресных входах и выходах ПЗУ 91.
Временные диаграммы 165, 166 и 167 (фиг.14) соответствуют сигналам на входе данных, входе синхронизации и выходе триггера 83 (фиг.4); диаграмма 168 - последовательности битов во входном (крайнем левом) разряде регистра 81; диаграмма 169 - сигналу в точке 86; диаграмма 170 - состояниям регистра 64; диаграммы 171 и 172 - сигналам на выходах элементов 65 и 66; диаграммы 173 и 174 - сигналам в точках 68 и 87; диаграммы 175 - 181 - сигналам в регистре 98 (фиг.6); диаграмма 182 - сигналу в точке 104; диаграммы 183 и 184 - сигналам на адресных входах и выходах ПЗУ 101; диаграммы 185 и 186 - сигналам на входе верхнего (по схеме) разряда и выходе 80 регистра 102; диаграмма 187 - сигналам на выходах 79 регистра 103.
Временные диаграммы 188, 189 и 190 (фиг.15) соответствуют сигналам на входе данных, входе синхронизации и выходе триггера 83; диаграмма 191 - последовательности битов во входном разряде регистра 81; диаграмма 192 - сигналу в точке 86; диаграмма 193 - состояниям регистра 64; диаграммы 194 и 195 - сигналам на выходах элементов 65 и 66; диаграммы 196 и 197 - сигналам в точках 68 и 87; диаграммы 198 - 204 - сигналам в регистре 98; диаграмма 205 - сигналу в точке 104; диаграммы 206 и 207 - сигналам на адресных входах и выходах ПЗУ 101; диаграммы 208 и 209 - сигналам на входе верхнего (по схеме) разряда и выходе 80 регистра 102; диаграмма 210 - сигналам на выходах 79 регистра 103.
Ниже приведено краткое описание работы известных устройств [1,2].
Скремблеры и дескремблеры обычно содержат генераторы псевдослучайных последовательностей битов или фрагменты таких генераторов. Пример построения генератора псевдослучайной последовательности битов приведен на фиг.1 (см. кн. П.Хоровиц, У.Хилл "Искусство схемотехники": В трех т. - М.: Мир, 1993. - 2 т.). Генератор 1 выполнен на основе сдвигового регистра 2 с логическим элементом Исключающее ИЛИ (XOR) 3 в цепи обратной связи.
В исходном состоянии в регистре 2 присутствует любой ненулевой код (цепь начальной установки регистра не показана). Под действием положительных фронтов синхросигнала CLK на входе 5 этот код циркулирует в генераторе и одновременно видоизменяется. В каждом такте (периоде сигнала CLK) код продвигается в регистре 2 в направлении, указанном стрелкой 6, при этом в освободившийся разряд регистра заносится бит данных с выхода 4. В качестве выхода генератора можно использовать выход элемента Исключающее ИЛИ 3 или выход любого разряда регистра.
В общем случае при использовании М-разрядного регистра 2 цепь обратной связи подключается к разрядам с номерами М и N (М>N). Для того чтобы на выходе генератора формировалась псевдослучайная последовательность битов с периодом повторения, равным 2м - 1, следует выбирать точки подключения цепи обратной связи в соответствии с таблицей 7 (фиг.1, б), которая описывает ряд генераторов различной разрядности. При работе генератора в регистре 2 формируются все возможные М-разрядные коды, за исключением нулевого. (Отметим, что во всех описанных далее устройствах можно применять усовершенствованные генераторы, не имеющие запрещенных состояний, см., например, кн. Шевкопляс Б.В. "Микропроцессорные структуры. Инженерные решения": Справочник. - Дополнение первое. - М.: Радио и связь, 1993. - 256 с.).
Псевдослучайная последовательность битов с периодом повторения, равным 2м - 1, обладает следующими свойствами.
1. В полном цикле (2м - 1 тактов) число лог. 1, формируемых на выходе 4 генератора 1, на единицу больше, чем число лог.0. Добавочная лог.1 появляется за счет исключения состояния, при котором в регистре 2 присутствовал бы нулевой код. Это можно интерпретировать так, что вероятности появления лог.0 и лог.1 на выходе 4 генератора 1 практически одинаковы.
2. В полном цикле (2м - 1 тактов) половина серий из последовательных лог. 1 имеет длину 1, одна четвертая серий - длину 2, одна восьмая - длину 3 и т. д. Такими же свойствами обладают и серии из лог.0 с учетом пропущенного лог.0. Это говорит о том, что вероятности появления "орлов" и "решек" не зависят от исходов предыдущих "подбрасываний". Поэтому вероятность того, что серия из последовательных лог.1 или лог.0 закончится при следующем подбрасывании, равна 1/2.
3. Если последовательность полного цикла (2м - 1 тактов) сравнивать с этой же последовательностью, но циклически сдвинутой на любое число тактов W (W не является нулем или числом, кратным 2м - 1), то число несовпадений будет на единицу больше, чем число совпадений.
Наиболее распространены две основные схемы устройств для передачи данных (устройств типа "скремблер - дескремблер"): с неизолированными и изолированными (от линии связи) генераторами псевдослучайных последовательностей битов.
В устройстве 8 (фиг.2 [1]) скремблер 10 и дескремблер 11 выполнены с использованием фрагментов рассмотренных ранее генераторов 1 псевдослучайных последовательностей битов (см. фиг.1). В цепь обратной связи генератора на основе сдвигового регистра 15 введен дополнительный элемент Исключающее ИЛИ 12. В дескремблере применен аналогичный генератор на основе сдвигового регистра 19 с разомкнутой цепью обратной связи.
Все процессы, протекающие в устройстве 8, синхронизируются от тактового генератора, размещенного во внешнем источнике данных 26 (возможно также его размещение в блоке 10). Тактовый генератор формирует сигнал CLK - непрерывную последовательность тактовых импульсов со скважностью, равной двум. В каждом такте на вход 17 скремблера 10 подается очередной бит передаваемых данных DATA, а в сдвиговом регистре 15 накопленный код продвигается на один разряд вправо (по стрелке 25).
Если предположить, что источник данных 26 посылает в скремблер 10 длинную последовательность лог.0 (DATA≡0), то элемент Исключающее ИЛИ 12 можно рассматривать как повторитель сигнала Y1 с выхода элемента Исключающее ИЛИ 13. В этой ситуации регистр 15 фактически замкнут в кольцо и генерирует точно такую же псевдослучайную последовательность битов, как и в рассмотренной ранее схеме генератора 1 (фиг.1). Если от источника данных 26 поступает произвольная битовая последовательность, то она взаимодействует с последовательностью битов с выхода элемента Исключающее ИЛИ 13. В результате формируется новая (скремблированная) последовательность битов данных SCRD, по структуре близкая случайной. Эта последовательность, в свою очередь, продвигается по регистру 15, формирует поток битов Y1 на выходе элемента Исключающее ИЛИ 13 и т.д.
Скремблированная последовательность битов SCRD проходит через усилитель 14, передается по линии связи 9 (например, по витой паре проводов многожильного кабеля городской телефонной сети) и поступает в дескремблер 11, где проходит через усилитель 22. С помощью генератора 18 с фазовой автоподстройкой частоты из входного сигнала SCRD* (с выхода усилителя 22) выделяется тактовый сигнал CLK*, который передается на синхронизирующий вход С регистра 19 и на выход 23 устройства 8.
Генератор 18 с фазовой автоподстройкой частоты может быть выполнен по одной из известных схем (см., например, пат. США №6.215.835 В1). Он предназначен для формирования высокостабильного синхросигнала CLK* на основе непрерывного слежения за входным сигналом SCRD*. В данном случае отрицательный фронт сигнала CLK* привязан к моментам изменения сигнала SCRD* (0→1 или 1→0), так что положительный фронт сигнала CLK* формируется в середине битового интервала сигнала SCRD*, что соответствует его установившемуся значению. Сдвиг данных в регистре 19 и прием очередного бита SCRD* в освободившийся разряд происходят по положительному фронту сигнала CLK*. Дескремблированные данные DATA* поступают в приемник данных 27 и фиксируются в нем по положительным фронтам сигнала CLK*.
Благодаря достаточной инерционности генератора 18 сигнал CLK* практически нечувствителен к "дрожанию фазы" сигнала SCRD* и иным его кратковременным искажениям, вызванным помехами в линии связи 9. (Такое использование стандартного генератора с фазовой автоподстройкой частоты в телекоммуникационных системах является общепринятым и далее не детализируется.)
Потоки данных DATA и DATA* совпадают с точностью до задержки передачи. Действительно, в установившемся режиме в сдвиговых регистрах 15 и 19 присутствуют одинаковые коды, так как на входы D этих регистров поданы одни и те же данные SCRD=SCRD* (с учетом задержки передачи), а тактовая частота одна и та же. Поэтому Y2=Y1, и, с учетом этого, DATA*=SCRD*⊕Y2=SCRD⊕Y2=(DATA⊕Y1)⊕Y2=DATA⊕Y1⊕Y1=DATA⊕0=DATA.
Рассмотренный способ скремблирования - дескремблирования данных не требует применения какой-либо специальной процедуры начальной синхронизации (как в устройстве [2]). После заполнения сдвигового регистра 19, как было показано, генераторы псевдослучайных битовых последовательностей на основе регистров 15 и 19 работают синхронно (их состояния всегда одинаковы) и формируют одинаковые сигналы Y1 и Y2. При появлении одиночной ошибки в линии связи 9 кодовая синхронизация (идентичность содержимого регистров 15 и 19) временно нарушается, но затем автоматически восстанавливается, как только правильные данные вновь заполнят регистр 19. Однако в процессе продвижения ошибочного бита по сдвиговому регистру 19, а именно, в периоды его попадания сначала на один, а затем на другой вход элемента Исключающее ИЛИ 20 сигнал Y2 дважды принимает неправильное значение. Это приводит к размножению одиночной ошибки - она впервые появляется в сигнале DATA* в момент поступления из линии и затем возникает еще два раза при последующем двукратном искажении сигнала Y.
В устройстве 28 (фиг.3 [2]) применены изолированные от линии связи 29 генераторы псевдослучайных битовых последовательностей. Их начальная кодовая синхронизация осуществляется с использованием аппаратных средств дескремблера и программных средств источника 49 и приемника 50 данных.
К аппаратным средствам относятся мультиплексор 45 (MUX) и программно-управляемый выход 46 приемника 50 данных, на котором формируется управляющий сигнал F. При нормальной работе системы "скремблер - дескремблер" приемник данных 50 постоянно поддерживает на выходе сигнал F=0. На выход мультиплексора 45 транслируется сигнал Z2 с выхода элемента Исключающее ИЛИ 41, генератор псевдослучайной битовой последовательности на основе регистра 40 изолирован от внешних воздействий.
Предположим, что в исходном состоянии дескремблер не синхронизирован со скремблером. Такая ситуация может возникнуть, например, после включения напряжения питания аппаратуры приемной стороны, после ошибки в работе генератора 39 дескремблера из-за воздействия помех на линию связи или по иным причинам. В отсутствие кодовой синхронизации между скремблером и дескремблером содержимое регистров 35 и 40 не совпадает, поток принимаемых данных DATA* ошибочен и не совпадает с потоком передаваемых данных DATA.
При обнаружении устойчивого хаотического потока данных DATA* (в котором нет обусловленного протоколом обмена разделения на информационные кадры и т.п.), приемник формирует сигнал F=1. Вследствие этого мультиплексор 45 начинает транслировать на вход D регистра 40 сигнал скремблированных данных SCRD*, как в ранее рассмотренном устройстве [1] (см. фиг.2).
Протокол обмена предусматривает пересылку данных в виде последовательности кадров. Группы обычных кадров перемежаются со служебными кадрами. Например, после группы из 1000 обычных кадров следует один служебный. Он, в частности, содержит синхронизирующую последовательность из некоторого числа (например, 256) нулевых битов. При выдаче этих битов (DATA=0) в скремблер элемент Исключающее ИЛИ 33 выполняет функцию повторителя сигнала Z1 с выхода элемента Исключающее ИЛИ 36. Поэтому в данном случае скремблированный сигнал SCRD представляет собой фрагмент "истинной" псевдослучайной битовой последовательности, в том смысле, что она не смешана с потоком произвольных данных DATA и порождается только генератором 32 скремблера.
Эта последовательность автоматически загружается в регистр 40 и проходит через него, так как F=1. После того как содержимое регистров 35 и 40 оказывается одинаковым, сигнал Z2 начинает повторять сигнал Z1. Кодовая синхронизация достигнута. На вход приемника 50 данных подается непрерывная последовательность лог.0, так как DATA*=DATA=0. После уверенного обнаружения достаточно длинной (например, содержащей 180 бит) последовательности лог.0 приемник 50 формирует сигнал F=0 и тем самым возвращает генератор псевдослучайной последовательности битов дескремблера в режим изолированной работы. Теперь кодовая синхронизация не только достигнута, но и "сохранена" благодаря логической изоляции регистра 40 от линии связи 29. После окончания передачи служебного (синхронизирующего) кадра источник 49 данных приступает к передаче группы из 1000 обычных кадров согласно принятому в системе протоколу обмена.
Таким образом, в устройстве [2] для поддержания синхронной работы сдвиговых регистров скремблера и дескремблера (в случае нарушения синхронизации устройства или при начальном включении его приемной части) необходимо периодически прерывать передачу полезных данных и передавать по линии связи служебные информационные кадры, содержащие достаточно длинные цепочки синхронизирующих битов (DATA=0.). В результате уменьшается эффективная скорость передачи данных по линии, усложняется протокол обмена. Кроме того, с увеличением интервалов между служебными кадрами (что желательно для более эффективной передачи полезных данных) увеличивается время его ожидания дескремблером в случае потери кодовой синхронизации. В течение этого времени передача полезных данных невозможна.
В отличие от устройства [2], в предлагаемом устройстве (фиг.4) реализованы два усовершенствования, позволяющие повысить скорость передачи данных.
Первое усовершенствование заключается в том, что восстановление кодовой синхронизации между скремблером и дескремблером в случае ее потери происходит без передачи по линии связи каких-либо служебных синхронизирующих кодовых последовательностей. Поэтому поток полезных данных не прерывается, время восстановления синхронизации уменьшается.
Второе усовершенствование состоит в том, что в битовый поток, передаваемый по линии связи, вводится информация о положении границ между байтами (или иными структурными единицами), при этом вносимая избыточность меньшая, чем в известных устройствах.
В общем виде идея первого усовершенствования состоит в следующем. Скремблер и дескремблер содержат изолированные от линии связи генераторы псевдослучайной последовательности битов с одинаковой структурой обратных связей. Скремблированный поток битов постоянно анализируется скремблером и дескремблером с целью отыскания в нем определенных кодов. Обнаружение каждого такого кода скремблером и дескремблером приводит к одновременной установке обоих генераторов псевдослучайной последовательности битов в определенное состояние, соответствующее этому коду. Таким образом, генераторы в случайные моменты одновременно устанавливаются в одинаковые состояния по мере передачи полезных данных. Эти события происходят сравнительно редко, т.е. большую часть времени генераторы работают в режиме "естественного" последовательного перехода от предыдущего состояния к последующему, как было показано при описании генератора 1 (фиг.1). Если кодовая синхронизация не была нарушена, то моменты установки генераторов лишь подтверждает ее. Если кодовая синхронизация была ранее потеряна, то она восстанавливается при первом же обнаружении одного из заданных кодов в потоке скремблированных данных.
Второе усовершенствование также основано на том, что блоки передачи и приема данных одновременно (с точностью до задержки передачи) обнаруживают в скремблированном потоке данных заранее заданные коды. Моменты обнаружения кодов ставятся в соответствие новым границам между байтами в битовом потоке данных. Если новые границы совпадают со старыми, то передача данных продолжается; при несовпадении этих границ передача одного из байтов прерывается, затем он передается повторно в соответствии с вновь установленными границами. Последующие байты передаются в новой системе отсчета границ до тех пор пока не произойдет очередная коррекция их положения и т.д.
Ниже рассмотрена работа составных частей предлагаемого устройства.
Сдвиговые регистры 72 и 81 (фиг.4) предназначены для временного хранения фрагментов SDATA и SDATA* потока скремблированных данных. В установившемся режиме эти фрагменты одинаковы (совпадают с точностью до задержки передачи). Прием очередного бита в регистр 72 (81) происходит по положительному фронту сигнала на синхронизирующем входе С этого регистра. Одновременно с приемом очередного бита с входа D ранее хранимые данные сдвигаются на один разряд вправо (по стрелке 89). В данном примере построения устройства разрядность регистра 72 (81) выбрана равной восьми, хотя она может быть большей или меньшей. Динамику работы регистра 72 можно проследить по таблице 111 его состояний (фиг.7, в).
Генератор 55 псевдослучайной последовательности битов скремблера 54 содержит сдвиговый регистр 58 и элемент Исключающее ИЛИ 59. Аналогичный генератор псевдослучайной последовательности битов дескремблера 62 содержит сдвиговый регистр 64 и элемент Исключающее ИЛИ 65.
Сдвиговые регистры 58 и 64 предназначены для временного хранения псевдослучайных кодов SRND и SRND*. В установившемся режиме эти коды одинаковы (совпадают с точностью до задержки передачи). Прием очередного бита в регистр 58 (64) с входа D происходит по положительному фронту сигнала на синхронизирующем входе С при условии, что на его управляющем входе P/S (P/S*), задающем режим параллельного или последовательного приема данных, присутствует сигнал лог.0. Одновременно с приемом очередного бита с входа D происходит сдвиг ранее хранимого кода на один разряд вправо (по стрелке 89). Если на управляющем входе P/S (P/S*) регистра 58 (64) присутствует сигнал лог.1, то по положительному фронту сигнала на синхронизирующем входе С в регистр принимается параллельный код с группы входов 77 (88). В данном примере построения устройства разрядность регистра 58 (64) выбрана равной пяти, хотя она может быть большей или меньшей. При этом точки подключения элемента Исключающее ИЛИ 59 (65) к регистру 58 (64) выбираются в соответствии с таблицей, представленной на фиг.1, б.
Начальное состояние регистра 58 может быть любым, в том числе нулевым. Выход из нулевого состояния происходит при записи в регистр параллельного кода с входов 77. Программа инициализации скремблера предусматривает выдачу на его вход 61 некоторого кода CODE1, который распознается дешифратором 73. Если в регистре 58 первоначально присутствовал нулевой код, то код CODE1 без изменения проходит через элемент Исключающее ИЛИ 56 и последовательно загружается в регистр 72. Дешифратор 73 реагирует на него переводом регистра 58 в режим параллельной загрузки (P/S=1) и формированием ненулевого кода LOAD1 который затем принимается в регистр 58 с входов 77. Таким образом, генератор 55 выходит из запрещенного состояния 000...0. Если первоначальное состояние регистра 58 было ненулевым, то выдача кода CODE1 на вход 61 оказывается бесполезной, но не приводит к каким-либо нежелательным последствиям. Возможна также и аппаратная установка регистра 58 в ненулевое состояние (соответствующий вход регистра 58 не показан).
Начальное состояние регистра 64 также может быть любым, в том числе нулевым. Это состояние обновляется (становится заведомо ненулевым) при обнаружении дешифратором 82 в скремблированном потоке данных одного из заранее заданных кодов (CODE1 и, возможно, других).
Элемент Исключающее ИЛИ 56 (59, 65, 66) формирует на выходе сигнал лог.1 только в том случае, когда входные сигналы имеют противоположные логические значения (лог.0 и лог.1). Элементы Исключающее ИЛИ 59 и 65 формируют выходные сигналы RND и RND* генераторов псевдослучайных последовательностей битов скремблера 54 и дескремблера 62. Элементы Исключающее ИЛИ 56 и 66 формируют скремблированный SCRD и дескремблированный DIN сигналы данных.
Триггеры D-типа 74, 83 и 84 принимают биты данных с входа D по положительному фронту сигнала на входе синхронизации С. Триггеры 74 и 84 формируют выходные сигналы DLINE и DATA*, в которых на границах между битовыми интервалами сигнал может измениться только один раз, в то время как входные сигналы SCRD и DIN этих триггеров на границах между битовыми интервалами могут многократно изменяться из-за неодновременного протекания переходных процессов (гонок сигналов) в цепях 58 - 59 - 56; 61 - 56 и 64 - 65 - 66; 83 - 66. Триггер 83 практически полностью устраняет джиттер входного сигнала ("дрожание" фронтов на границах между битовыми интервалами) благодаря тому, что прием бита в этот триггер происходит в центре битового интервала, когда переходные процессы сигнала DLINE* уже закончились. Остаточный джиттер сигнала SDIN на выходе триггера 83 определяется неидеальностью сигнала CLK* на выходе генератора 63. Исходные состояния триггеров 74, 83 и 84 произвольны.
Инвертор 75 (85) преобразует входной сигнал лог.0 в выходной сигнал лог.1, и наоборот - входной сигнал лог.1 в выходной сигнал лог.0.
Генератор 63 с фазовой автоподстройкой частоты может быть выполнен по одной из известных схем (см., например, пат. США №6215835 В1). Он предназначен для формирования высокостабильного синхросигнала CLK* на основе непрерывного слежения за входным сигналом DLINE*. Положительный фронт сигнала CLK* привязан к моментам изменения сигнала DLINE* (0→1 или 1→0), так что отрицательный фронт сигнала CLK* формируется в середине битового интервала сигнала DLINE*, что соответствует его установившемуся значению.
Благодаря достаточной инерционности генератора 63 сигнал CLK* практически нечувствителен к джиттеру сигнала DLINE* и иным его кратковременным искажениям, вызванным помехами в линии связи 51. (Такое использование стандартного генератора с фазовой автоподстройкой частоты в телекоммуникационных системах является общепринятым и далее не детализируется).
Дешифратор 73 (82) предназначен для выделения в потоке скремблированных данных, проходящем через сдвиговый регистр 72 (81), определенных кодов CODE1, CODE2, ..., СООЕk. При обнаружении дешифратором 73 (82) указанных кодов на его выходах 77 (88) формируется соответствующий G-разрядный код LOAD1, LOAD2, ..., LOADk для последующей параллельной загрузки сдвигового регистра 58 (64). В данном примере построения устройства К=4, G=5. При обнаружении любого кода CODE1, CODE2, ..., CODEk дешифратор 73 (82) формирует также единичный сигнал на входе P/S (P/S*) управления режимом работы регистра 58 (64), подготавливая его к параллельному приему данных по положительному фронту очередного синхроимпульса на входе С.
Усилитель 57 (67) предназначен для передачи (приема) скремблированного сигнала данных в линию (из линии) 51. Параметры усилителей 57 и 67 определяются типом линии связи 51, которая может быть выполнена в виде витой пары проводов, коаксиального или оптоволоконного кабеля и т.п.
В блоке 69 (фиг.5) преобразования параллельного кода в последовательный содержится генератор 94 синхросигналов, который задает темп работы всего устройства. На выходе 60 генератора 94 формируется непрерывная последовательность импульсов со скважностью, равной двум. Байты данных T×D, представленные параллельным кодом, поступают на входы 70 в ответ на положительные фронты сигнала Т×С на выходе 71. Байт остается неизменным вплоть до формирования следующего положительного фронта сигнала Т×С. Байт T×D записывается в регистр 93 по положительному фронту сигнала С на его входе синхронизации (точка 60) при наличия сигнала L=1 на его управляющем входе P/S 96. При L=0 по положительным фронтам сигнала CLK в регистре 93 происходит сдвиг данных по стрелке 97.
В отсутствие сигнала коррекции (J=0) на входе 76 блок 69 преобразует поток байтов T×D в равномерный поток битов DATA на выходе 61. Сигнал J=1 вызывает коррекцию границ байтов в битовом потоке, если новые границы не совпадают со старыми. Этот сигнал временно запоминается в триггере 90 и поступает в микропрограммное устройство управления, выполненное по известной схеме на основе постоянного запоминающего устройства (ПЗУ) 91 и выходного параллельного регистра 92. Сигнал J=1 в необходимых случаях вызывает приостановку передачи текущего байта, его повторный параллельный прием с входов 70 (где он остается неизменным) и повторную последовательную выдачу через регистр 93. Кодировка ПЗУ 91 (микропрограмма) и последовательности переходов по ней представлены на фиг.5, б.
В блоке 78 преобразования последовательного кода в параллельный (фиг.6) сдвиговый регистр 98 преобразует последовательный поток данных в параллельный, сдвиговый регистр 99 выполняет функции элемента задержки для выравнивания фаз сигналов на входах 86 и 87. Параллельные данные R×DATA записываются в регистр 103 по положительным фронтам сигнала R×C в точке 80.
В отсутствие сигнала коррекции (J*=0) на входе 86 блок 78 преобразует поток битов DATA* с входа 87 в равномерный поток байтов R×D на выходах 79. Сигнал коррекции J*=1 задерживается регистром 99 и поступает в микропрограммное устройство управления, выполненное на основе ПЗУ 101 и выходного параллельного регистра 102. Сигнал J*=1 в необходимых случаях (когда новые границы не совпадают со старыми) вызывает повторное формирование текущего байта. Сигнал R×C при этом формируется только один раз, когда повторно сформированный байт R×DATA подготовлен к записи в регистр 103. Кодировка ПЗУ 101 и последовательности переходов по ней представлены на фиг.6, б.
Далее приведено описание работы более крупного фрагмента предлагаемого устройства. В этот фрагмент входят скремблер 54, линия связи 51 и дескремблер 62.
Входные данные DATA и сопровождающий их сигнал CLK синхронизации поступают на входы 61 и 60 скремблера 54. Положительные фронты сигнала CLK (моменты Т0, Т1, ..., Т18 на фиг.8) соответствуют границам между битовыми интервалами сигнала данных DATA, как показано на диаграммах 112 и 113. По положительным фронтам сигнала CLK изменяется содержимое регистра 72 (диаграмма 116), генератор 55 переходит в новые состояния (диаграмма 118). При этом по каждому положительному фронту сигнала CLK формируется очередной псевдослучайный бит RND (диаграмма 114), который складывается по модулю два с битом данных DATA и преобразуется в скремблированный бит данных SCRD (диаграмма 115). По окончании переходных процессов, в момент формирования отрицательного фронта сигнала CLK бит SCRD принимается в триггер 74 (диаграмма 119 сигнала DLINE) и через усилитель 57 передается в линию связи 51.
В интервале времени Т8 - Т9 дешифратор 73 формирует сигнал J=1 на входе P/S управления режимом работы регистра 58 (диаграмма 117), подготавливая его к приему параллельных данных в момент Т9.
В отсутствие параллельной загрузки генератор 55 псевдослучайной последовательности битов последовательно, циклически проходит через ряд состояний S1, S2, S3, ..., S31, S1, S2 и т.д., как показано на фиг.7, а, б (таблица 106, диаграмма 107). В состоянии S1 (см. первую строку таблицы 106, а также указатель 108 на диаграмме 107) в регистре 58 хранится пятиразрядный двоичный код 111112=1F16, на выходе RND генератора 55 сформирован сигнал лог.0. В следующем такте указатель 108 перемещается по часовой стрелке и фиксируется на соседней позиции, генератор 55 переходит в состояние S2, при котором SRND=011112=0F16, RND=0 и т.д. Этот процесс циклически повторяется, указатель 108 вращается по кругу, последовательно проходя все возможные состояния Si.
Параллельная загрузка регистра 58 в произвольном такте приводит к принудительной установке генератора 55 в одно из заданных состояний, в данном примере в состояния S3, S11, S19 или S27. Эти состояния, предпочтительно, выбираются так, чтобы на диаграмме 107 дуги S3 - S11, S11 - S19, S19 - S27 и S27 - S3 имели примерно равную длину (см. указатели 109 и 110, которые разделяют окружность на четыре примерно равные части). В процессе работы скремблера генератор 55 сравнительно редко, с равной вероятностью устанавливается в эти состояния, а в промежутках между такими установками указатель 108 продолжает равномерное (шаговое) вращение по часовой стрелке.
Выбор нескольких (а не одного) заданных состояний, в которые генератор 55 переходит в моменты его параллельной загрузки, целесообразен в тех случаях, когда число состояний генератора достаточно велико, и в течение полного оборота указателя 108 вероятность параллельной загрузки регистра 58 близка к единице. Поэтому если указатель 108 периодически "срывается" с равномерного вращения и попадает в одно и то же заданное состояние, то вероятность того, что он успеет совершить хотя бы один полный оборот, становится невысокой. Иными словами, некоторые состояния генератора 55 будут использоваться реже, чем другие, а тогда отмеченные ранее (при описании генератора 1, см. фиг.1) свойства "канонической" псевдослучайной последовательности битов будут в некоторой степени утрачены, что нежелательно. Наличие нескольких фиксированных точек установки, равномерно распределенных по диаграмме 107, выравнивает вероятности использования всех возможных состояний генератора 55.
Как показано на диаграммах 116 и 117, одним из кодов, вызывающих принудительную установку генератора 55 в фиксированное состояние, является код SDATA=CODE1=6216,=011000102. Этот код присутствует в регистре 72 в интервале времени Т8 - Т9 и, как уже отмечалось, дешифратор 73 реагирует на него подготовкой регистра 58 к приему параллельного кода LOAD1 с входов 77. Этот код в данном примере равен 0E16=011102 и соответствует состоянию S11 генератора 55 (см. табл.106 на фиг.7, а). Таким образом, в момент Т9 цепь последовательных переходов... S16, S17, ..., S23, S24 разрывается, и вместо перехода в очередное состояние S25 генератор 55 "перескакивает" в состояние S11. После этого формируется новая цепь последовательных переходов: S11, S12, ..., S18, S19, ... - вплоть до возникновения очередной ситуации, при которой эта цепь разрывается, а затем образуется следующая цепь с одним из начальных состояний S3, S11, S19 или S27 и т.д.
Принятые из линии 51 скремблированные данные DLINE* синхронизируют генератор 63 с фазовой автоподстройкой частоты, в результате на его выходе формируется сигнал CLK*, а на выходе инвертора 85 - его инверсное значение (диаграммы 120, 128, 121 на фиг.9). Сигнал SDIN (диаграмма 122) на выходе триггера 83 повторяет сигнал DLINE* с задержкой на половину периода синхросигнала, при этом сигнал SDIN, как уже отмечалось, практически не содержит фазовых искажений (джиттера). Скремблированные данные SDIN последовательно проходят через регистр 81. После его заполнения данные SDATA* (диаграмма 123) с точностью до задержки передачи совпадают с данными SDATA в регистре 72 скремблера 54.
Это следует из того, что, во-первых, источник данных для обоих регистров общий - выход элемента Исключающее ИЛИ 56, и, во-вторых, ничто не препятствует одновременному (с точностью до задержки передачи) заполнению обоих регистров одинаковыми данными. Так как дешифраторы 82 и 73 идентичны, а данные на их входах одинаковы, то сигналы на выходах этих дешифраторов также совпадают (с точностью до задержки передачи). Из этого следует, что рассмотренный ранее процесс установки генератора 55 в определенное состояние протекает также и в дескремблере 62, а именно, в интервале времени Т8 - Т9 (фиг.9) на входе P/S* регистра 64 формируется сигнал J*=1 (диаграмма 124), в момент Т9 в регистр 64 принимается параллельный код OE16, соответствующий состоянию S11.
Независимо от предыстории состояния генератора псевдослучайной последовательности битов дескремблера 62, начиная с момента Т9 (фиг.9) этот генератор синхронизируется с генератором 55 скремблера 54, в том смысле, что формируемые обоими генераторами последовательности битов совпадают. Неопределенные состояния и сигналы в начальный период, когда кодовая синхронизация между генераторами отсутствовала, помечены на диаграммах 125, 126, 127 и 129 символами "X".
Начиная с момента Т9, скремблирующая RND (диаграмма 114 на фиг.8) и дескремблирующая RND* (диаграмма 126 на фиг.9) последовательности битов совпадают, поэтому сигнал DIN (диаграмма 127) дескремблированных данных совпадает с сигналом DATA (диаграмма 113) на входе 61 скремблера с точностью до задержки передачи. Выходной сигнал DATA* (диаграмма 129) данных, "очищенный" от возможных многократных переключений на границах между битовыми интервалами, поступает на выход 87 дескремблера и сопровождается сигналом CLK*. Таким образом, входные сигналы DATA и CLK преобразуются в совпадающие с ними (с точностью до задержки передачи) выходные сигналы DATA* и CLK*.
Частота следования моментов синхронной установки регистров 58 и 64 в одинаковые состояния (моментов кодовой синхронизации) зависит от скорости передачи данных, а также от разрядности и числа К кодов CODE1, CODE2, ..., CODEk, распознаваемых дешифраторами 73 и 82.
При К=1 и разрядности регистра 72 (81), равной 8, в скремблированном потоке данных, в среднем, в каждой цепи из 256 бит будет встречаться один искомый код, равный CODE1. При скорости передачи данных, равной 10 Мбит/с средняя частота следования моментов синхронизации составляет 10000000/256=39062,5 Гц. При К=4 частота моментов синхронизации увеличивается в четыре раза и составляет 156250 Гц.
Для уменьшения вероятности ложного распознавания кодов CODE1, CODE2, ..., CODEk дешифратором 82 дескремблера в связи с поступлением из линии связи в регистр 81 ошибочных битов разрядность этого регистра (а также регистра 72) можно увеличить, например, до 20 бит.
Ниже рассмотрена работа устройства в целом.
В установившемся режиме, когда на входах коррекции 76 и 86 блоков 69 и 78 постоянно присутствуют нулевые сигналы (J=J*=0), а синхронизация между блоками 52 и 53 приема и передачи данных ранее достигнута, поток байтов 130 (фиг.10) с входов 70 устройства передается по линии связи 51 в виде последовательного потока битов и затем вновь преобразуется в поток байтов 132 на выходах 79. При этом благодаря ранее достигнутой синхронизации блок приема (точнее, его микропрограмма) "знает" положение границ между байтами 131 в битовом потоке данных, передаваемых по линии. Это позволяет блоку 53 правильно восстанавливать байты 132.
Блок 69 преобразования параллельного кода в последовательный работает по циклической микропрограмме (фиг.5, б), в соответствии с которой осуществляется следующая последовательность переходов между состояниями: Z1 - Z2 - Z3 - ... - Z8 - Z1 - Z2 и т.д. В ходе выполнения этой микропрограммы в каждом временном интервале из восьми тактов (точнее, в такте, соответствующем состоянию Z1) на выходах ПЗУ 91 формируются сигналы Y0 и Y1, которые в начале следующего такта переписываются в регистр 92 и в виде сигналов Т×С и L поступают в точки 71 и 96 (диаграммы 145, 146, 151, 152 на фиг.12).
По положительному фронту сигнала Т×С источник данных (не показан) присылает на входы 70 устройства очередной байт T×D (диаграмма 147). При L=1 по положительному фронту сигнала CLK байт T×D принимается в регистр 93, поэтому в интервале Т1 - Т2 сигнал DATA (диаграмма 148) отражает состояние нулевого разряда вновь принятого в регистр 93 байта (разряды байтов условно пронумерованы от нулевого до седьмого). После скремблирования (диаграмма 149) и прохождения через триггер 74 (диаграмма 150) нулевой и последующие биты передаются в линию 51. При L=0 биты 1-7 текущего байта последовательно выдаются из регистра 93, затем при L=1 принимается следующий байт и т.д.
Блок 78 преобразования последовательного кода в параллельный также работает по циклической микропрограмме (фиг.6, б), в соответствии с которой осуществляется следующая последовательность переходов между состояниями: Z1 - Z2 - Z3- ... - Z8 - Z1 - Z2 и т.д. В ходе выполнения этой микропрограммы в каждом временном интервале из восьми тактов (точнее, в такте, соответствующем состоянию Z8) на выходе ПЗУ 101 формируется сигнал V0=1, который в начале следующего такта переписывается в регистр 102 и в виде сигнала R×C поступает в точку 80 (диаграммы 185 и 186 на фиг.14). К моментам формирования положительных фронтов сигнала R×C на входах данных регистра 103 формируется очередной байт (диаграммы 174-181), который запоминается в этом регистре.
В режиме коррекции границ между байтами используются сигналы синхронизации J и J*, происхождение которых было рассмотрено ранее. Напомним, что эти сигналы формируются в заранее не известные (случайные) моменты времени в результате обнаружения в скремблированном потоке битов некоторых заданных кодовых комбинаций CODE1, CODE2, ..., CODEk. Примечательно, что сигналы J и J* формируются в удаленных друг от друга блоках 52 и 53 одновременно (с точностью до задержки передачи). Это позволяет использовать их для синхронизации процессов, протекающих в устройстве, в частности, для указания положения границ между байтами в битовом потоке данных.
В исходном состоянии блоки 52 и 53 могут быть синхронизированы или не синхронизированы между собой. В ситуации, показанной на фиг.11, эти блоки исходно синхронизированы. Первоначальная последовательность байтов 134 принимаемых с входов 70 устройства, передается по линии связи 51 в виде непрерывного потока битов, в котором размещены байты 135. Однако в момент коррекции 136 блоки 52 и 53 одновременно изменяют режим синхронизации, т.е. переносят начало отсчета границ между байтами в одну и ту же новую точку, в данном примере смещенную относительно старой на четыре бита. В момент 136 коррекции часть 137 переданного байта с условным номером i игнорируется, после чего он передается повторно (байт 138). На выходах 79 устройства формируется выходная последовательность байтов 139, совпадающая с входной.
Сигнал J=1 (фиг.13, диаграмма 155) задерживается триггером 90 на половину такта и преобразуется в сигнал F (диаграмма 156), который в качестве старшего разряда адреса поступает на вход ПЗУ 91 и вызывает переход в нижнюю половину таблицы состояний (фиг.5, б, состояние Z13), а затем в состояния Z2, Z3, ..., Z8, Z1, Z2 и т.д. В результате в момент Т21 происходит повторный прием текущего байта в регистр 93 (диаграмма 160) и его последовательная выдача в линию 51. Для последующего распознавания блоком 53 факта изменения границ между байтами существенно, что интервал времени между битом, породившим сигнал коррекции (в данном примере - битом с номером 1), и повторно переданным нулевым битом всегда составляет два такта синхросигнала CLK. Благодаря тому, что в состоянии Z9 на выходах ПЗУ 91 формируются те же сигналы, что и в состоянии Z1, коррекция границ не осуществляется, когда новые границы соответствуют старым.
Блок 78 преобразования последовательного кода в параллельный принимает сигнал коррекции J* с входа 86 и задерживает его на два такта (диаграммы 192, 205). Микропрограмма (фиг.6, б) реагирует на поступление сигнала А0=1 переходом в одно из состояний Z9 - Z16, в данном примере - в состояние Z13. Далее начинается повторная последовательная загрузка байта в регистр 98 (диаграммы 197-204), которая завершается на половину такта раньше момента Т25 формирования положительного фронта сигнала R×C (диаграмма 209). В момент Т25 сформированный в новых временных границах байт записывается в регистр 103 (диаграмма 210). После этого устройство работает в новой системе отсчета времени вплоть до момента получения очередной пары корректирующих импульсов J и J*, если они требуют смещения границ между байтами. Если коррекции не требуется (новая система отсчета границ байтов совпадает со старой), то корректирующие импульсы игнорируются. Потери из-за повторной передачи части байта составляют от нуля до семи битовых интервалов на фоне периода между моментами коррекции, который в среднем может составлять, например, 1 с.
В исходном состоянии блок 53 приема данных может быть не синхронизирован с блоком 52 передачи данных. После получения первого же корректирующего импульса J* автоматически (без использования каких-либо программных средств) достигается кодовая синхронизация между дескремблером и скремблером и устанавливается единая система отсчета границ байтов при их прохождении между блоками 52 и 53.
Применение предлагаемого устройства позволяет повысить скорость передачи данных благодаря двум факторам. Первый фактор состоит в исключении из потока данных относительно большого объема служебной информации, предназначенной для синхронизации работы дескремблера со скремблером, а также в исключении из протоколов обмена соответствующих программных средств. Второй фактор - уменьшение объема пересылаемой в потоке данных избыточной информации, обозначающей границы между байтами.
Источники информации
1. Патент США №5530959 (Fig.1).
2. Патент США №5530959 (Fig.5) (прототип).
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2004 |
|
RU2271612C1 |
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2004 |
|
RU2262205C1 |
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ДАННЫХ | 2004 |
|
RU2260251C1 |
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2001 |
|
RU2214061C2 |
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2001 |
|
RU2205445C1 |
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2003 |
|
RU2242789C1 |
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ДАННЫХ | 2002 |
|
RU2214046C1 |
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ - ДЕКОДИРОВАНИЯ ДАННЫХ | 2002 |
|
RU2214045C1 |
УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯ ДЛИНЫ ДВУХПРОВОДНОЙ ЛИНИИ ПЕРЕДАЧИ ДАННЫХ | 2002 |
|
RU2233554C1 |
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ - ДЕКОДИРОВАНИЯ ДАННЫХ | 2002 |
|
RU2206181C1 |
Изобретение относится к электронным схемам общего назначения, в частности к схемам кодирования, декодирования и преобразования данных при их передаче между удаленными друг от друга абонентами. Технический результат изобретения - повышение скорости передачи данных. Устройство содержит подключенные к противоположным сторонам линии связи блоки передачи и приема данных. Блок передачи содержит преобразователь параллельного кода в последовательный и скремблер, блок приема - преобразователь последовательного кода в параллельный и дескремблер. Технический результат достигается благодаря одновременному распознаванию этими блоками в скремблированном потоке битов определенных кодов, которые формируются в случайные (заранее не известные) моменты времени. Эти моменты служат начальными метками отсчета границ между байтами в битовом потоке данных и используются для синхронной установки генераторов псевдослучайных последовательностей битов скремблера и дескремблера в одинаковые состояния. Таким образом, из потока данных исключаются стартовые биты, определяющие границы между байтами, и служебные кадры, предназначенные для кодовой синхронизации дескремблера со скремблером. 2 з.п. ф-лы, 15 ил.
УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ ДАННЫХ | 2001 |
|
RU2214061C2 |
Выбрасывающий ячеистый аппарат для рядовых сеялок | 1922 |
|
SU21A1 |
Авторы
Даты
2006-03-20—Публикация
2004-08-31—Подача