БИТОВОЙ СИНХРОНИЗАЦИИ
ЦЕЛЬ РАБОТЫ: Изучение принципов линейного кодирования и восстановление сигнала битовой синхронизации
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Как вам известно, в цифровых системах логический ноль и логическая единица представляются в виде напряжений. Например, в TTL логический 0 представляется напряжением 0 В, а логическая 1 представляется напряжением 5 В (или напряжениями, находящимися достаточно близко к 0 и 5). Вы также должны знать, что логические уровни в других семействах логических элементов (например, КМОП, ЭСЛ и др.) не обязательно соответствуют напряжениям 0В и 5 В. То есть, логические уровни могут быть представлены любой парой напряжений, какие нам нравятся. Конечно, на практике выбор используемых напряжений не настолько произволен, как может казаться, и объясняется инженерными решениями, обеспечивающими определенные преимущества.
Важно отметить, что это верно и при выборе уровней напряжений для передачи цифрового сигнала по медным телефонным кабелям (наподобие витой пары). Для этих целей стандартные напряжения ТТЛ и КМОП не слишком подходят. Более того, даже базовая предпосылка о необходимости удержания напряжения на данном уровне в течение всего времени, пока логический уровень не изменятся, может вызывать затруднения. По этим причинам цифровые сигналы до передачи по медным телефонным кабелям, как правило, подвергаются преобразованию, называемому линейным кодированием.
Существует несколько линейных кодов, среди них:
· Без возврата к нулю - по уровню (биполярный) (Non Return to Zero, NRZ).
Как вы видите на рисунке 1 на следующей странице, этот код представляет собой просто отмасштабированную и сдвинутую по уровню копию оригинального цифрового сигнала.
· Бифазный код – по уровню (BiФ-L, также известный, как Манчестерский код)
Как видно на рис. 1, при этом методе кодирования уровни напряжения изменяются с отрицательного на положительный в середине периода при передаче 1 и с положительного на отрицательного при передаче всех бит. При последовательной передаче одинаковых битов напряжение должно инвертироваться после половины длины бита.
· С возвратом к нулю – метод кодирования с маркером инверсии (RZ-AMI).
Как видно из рисунка 1, при передаче 0 используется нулевое напряжение, а при передаче 1 – импульс длительностью в половину бита. Полярность импульса изменяется после каждой единицы.
· Без возврата к нулю – с маркером (биполярный) (NRZ-M)
Этот код изменяет уровень напряжения при передаче каждой новой логической 1 и не изменяет уровень при передаче любого логического 0.
Рисунок 1
В таблице 1 представлены сравнительные требования по ширине полосе пропускания при передаче этих сигналов по линиям связи. Также показана пригодность разных методов кодирования для восстановления сигнала битовой синхронизации.
Таблица 1
Метод кодирования | Минимальная полоса пропускания | Восстановление сигнала битовой синхронизации |
NRZ-L | fb/2 | Плохо |
BiФ-L | fb | Очень хорошо |
RZ-AMI | fb/2 | Хорошо |
NRZ-M | fb/2 | Плохо |
Как видите, кодирование RZ-AMI является наилучшим компромиссом между шириной полосы пропускания и восстановлением сигнала битовой синхронизации среди этих четырех методов (другие характеристики линейных кодов здесь рассматривать не будем).
Восстановление сигнала битовой синхронизации
При любом методе цифровой связи переданные данные должны быть "прочитаны" приемником (как правило, после некой процедуры демодуляции сигнала и удаления шумов). Какое бы устройство не использовалось в качестве приемника, его синхроимпульсы должны быть синхронизированы с синхроимпульсами оригинального цифрового сигнала. Иначе некоторые биты будут прочтены дважды, а некоторые - не прочтены вообще. Обе проблемы вызывают ошибки передачи данных.
При выполнении предыдущих эксперименты с модулями FOTEx мы просто "заимствовали" сигнал битовой синхронизации из цепи синхронизации оригинального сигнала с помощью соединительного кабеля. На практике это неэффективно, поскольку дополнительный канал уменьшает количество пользователей на единицу. Поэтому были разработаны специальные методы для использования самого цифрового сигнала для получения локальных синхроимпульсов. Это называется восстановлением сигнала битовой синхронизации (Bit-clock regeneration, BCR).
Для понимания основных принципов, лежащих в основе восстановления сигнала битовой синхронизации в первую очередь вы должны знать, что цифровые сигналы состоят из множества синусоидальных сигналов. Один из них называется первой (основной) гармоникой, а остальные называются гармониками. Важно, что в некоторых линейных кодах одна из гармоник синхронизирована с сигналом битовой синхронизации оригинального сигнала. Если она достаточно большая, в приемнике ее можно выделить при помощи фильтра, и либо использовать как локальный источник синхроимпульсов (после превращения ее в цифровой сигнал с использованием компаратора или иной схемы), либо для синхронизации локальных синхроимпульсов.
Наконец, вспомните, что в таблице 1 содержатся сведения о пригодности четырех реализованных в FOTEx линейных кодов для восстановления сигнала битовой синхронизации. Это определяется размером синхронизированной гармоники в линейном коде. Лучше всего для восстановления сигнала битовой синхронизации подходят BiФ-L код (Манчестерский код) и код RZ-AMI, имеющие большую по величине синхронизированную гармонику, чем другие.
В этом эксперименте вы исследуете 4 метода линейного кодирования 31-разрядного TTL-сигнала данных во временной области и сравните их с теоретически рассчитанной формой сигнала.
Далее вы изучите сигнал в частотной области с использованием анализатора спектра NI ELVIS II. Вы увидите, что один из линейных кодов значительно отличается от остальных по спектральному составу. Также вы увидите, что все четыре кода содержат гармонику, синхронизированную с сигналом битовой синхронизации исходного сигнала, которую можно использовать для восстановления сигнала битовой синхронизации.
Наконец, с помощью модуля Emona FOTEx PCM Bit-clock Regenerator (Восстановитель сигнала битовой синхронизации) вы разработаете систему ИКМ-кодирования и декодирования без необходимости "заимствовать" сигнал битовой синхронизации, как требовалось в предыдущих экспериментах.
Оборудование для выполнения лабораторной работы:
· Персональный компьютер с соответствующим установленным программным обеспечением
· NI ELVIS II с USB-Кабелем и блоком питания
· Модуль расширения Emona FOTEx для выполнения экспериментов
· Три проводника с разъёмами BNC - "банан" (2 мм)
· Набор соединительных проводников с разъёмами типа "банан" (2 мм)
Часть A – Наблюдение линейных кодов во временной области
В первой части эксперимента вам предстоит пронаблюдать сигналы, представленные четырьмя линейными кодами, во временной области.
1. Убедитесь, что питание NI ELVIS выключено, выключатель расположен на задней стенке устройства.
2. Осторожно вставьте модуль расширения Emona FOTEx в NI ELVIS.
3. Вставьте крепежные винты для фиксации модуля Emona FOTEx в NI ELVIS II.
Примечание: Для предотвращения повреждения FOTEx эти действия должны выполняться при выключенном питании.
4. Подключите NI ELVIS II к ПК при помощи кабеля USB.
5. Включите питание NI ELVIS II, выключатель расположен на задней стенке устройства, затем включите питание макетной платы, этот выключатель расположен в правом верхнем углу рядом с индикатором питания.
6. Включите компьютер и дайте ему загрузиться.
7. Запустите программу NI ELVISmx.
8. Найдите самый левый модуль Sequence Generator (Генератор последовательностей) с выходом Х, и установите его DIP-переключатели в положение 00.
Примечание: Тем самым вы выбрали метод линейного кодирования NRZ-L для выхода LINE CODE генератора последовательностей.
9. Соберите схему, показанную на рис. 2.
Рисунок 2
Выполненные соединения можно представить блок-схемой, изображенной на рис. 3. Сигнал с выхода 2 kHz DIGITAL генератора опорных сигналов используется для битовой синхронизации генератора последовательностей. На выходе X генератора последовательностей появляется последовательное 31-разрядное двоичное число. На выходе LINE CODE генератора последовательностей - копия сигнала с выхода Х, преобразованного в определяемый переключателем DIP линейный код. Импульсы с выхода SYNC генератора последовательностей соответствуют каждому первому биту последовательности при повторении кода и используются для запуска осциллографа.
Рисунок 3
Master Signals – Генератор опорных сигналов, Sequence Generator – Генератор последовательностей,
2 kHz Clock – тактовые импульсы 2 кГц, LINE CODE – закодированный сигнал, X sequence To CH 0 – последовательность с выхода Х на канал 0, Line Code To CH 1 – закодированное сообщение на канал 1, SYNC to TRIG – сигнал с выхода SYNC на вход TRIG.
10. Запустите ВП осциллографа NI ELVIS II
11. Настройте осциллограф в соответствии с инструкцией, приведенной в работе №1, со следующими изменениями:
Coupling (связь с источником сигнала) для обоих каналов: DС (по постоянному току) вместо АС (по переменному току)
Timebase (масштаб по оси времени):1 мс/дел. вместо 500 мкс/дел. Trigger Type (Тип запуска):Digital (цифровой).
Примечание: когда вы это сделаете, увидите фрагмент сигнала 31-битной последовательности с выхода Х.
12. Активируйте канал 1 осциллографа (установив флажок в окошке Enabled box), чтобы наблюдать одновременно сигналы на выходах X и LINE CODE генератора
Примечание: Сигналы должны перекрываться.
13. Установите элемент управления осциллографа Vertical Position (смещение по вертикали) канала 1 в положение -3 В, чтобы разделить сигналы для удобства их сравнения.
Примечание: Когда вы это сделаете, отметка 0 В канала 1 больше не будет совпадать со средней горизонтальной линией координатной сетки. Однако новое опорное положение будет отмечено пунктирной синей линией.
Примечание 2: Обратите внимание, что линия 0 В канала 1 проходит посередине кодированного сигнала. Это значит, что сигнал является биполярным.
14. Нарисуйте два сигнала в масштабе и совпадающими по времени на графике на следующей странице.
Примечание 1: Оставьте место еще для трех сигналов.
Примечание 2: Подпишите сигналы, чтобы не запутаться
Примечание 3: Обозначьте на ваших графиках уровень 0В каждого сигнала.
15. Выберите код BiФ-L, установив DIP-переключатели Генератора последовательностей в положение 01.
16. Зарисуйте осциллограмму кодового сигнала рядом с двумя другими, отметив уровень 0 В.
17. Выберите код RZ-AMI, установив DIP-переключатели Генератора последовательностей в положение 10, и зарисуйте осциллограмму сигнала рядом с другими.
18. Выберите код NRZ-M, установив DIP-переключатель Генератора последовательностей в положение 11, и зарисуйте осциллограмму сигнала рядом с другими.
19. Сравните полученные вами осциллограммы с ожидаемыми результатами, показанными в предварительном обсуждении.
Примечание: Если вам кажется, что сигнал изменяют состояние, когда не должны этого делать, или же не изменяют, когда должны, проверьте правильность ваших зарисовок. Если вы считаете, что нарисовали все правильно, обратитесь к преподавателю за помощью.
Часть В – Наблюдение кодированных сигналов в частотной области
В следующей части эксперимента вы будете изучать четыре линейных кода Emona FOTEx в частотной области с помощью анализатора спектра NI ELVIS II.
20. Выберите код NRZ-L, установив DIP-переключатели Генератора последовательностей в положение 00.
21. Закройте программу осциллографа.
22. Запустите ВП Анализатора динамических сигналов NI ELVIS II.
23. Установите следующие настройки анализатора сигналов:
Input Settings (Настройки входов) Source Channel (Канал источника сигнала) - в положение Scope CH1 (Канал 1 Осциллографа) | Voltage Range – ±10V (Диапазон напряжений - ±10 В) |
FFT Settings (Настройки быстрого преобразования Фурье – БПФ) · Frequency Span (Диапазон частот) – 40,000 Resolution (Разрешение) – 400 · Window (Окно) – 7 Term B-Harris (Блэкмана-Харриса 7-го порядка) | Averaging (Усреднение) · Mode(Режим) – RMS (среднеквадратическое значение) · Weighting (Взвешивание) – Exponential (Экспоненциальное) · # of Averages (выборок для усреднения) – 3 |
Triggering (Запуск) · Type (Тип) – Digital (Цифровой) | |
Frequency Display (Режим отображения) · Units (Масштаб) – dB (Логарифмический – дБ) · Mode (Режим) –RMS(Средеквадратичекий) · Scale – Auto (Автомасштабирование) | Cursor Settings (Настройки курсоров) · Cursors On (курсоры включены) – снимите галочку (пока) |
При верной настройке окно программы должно выглядеть, как показано на рис. 4.
Обратите внимание, что спектр линейного кода состоит из чередующихся пиков и впадин. Это общий вид спектра периодических импульсов, подобных последовательностям цифровых данных.
Пики, или "лепестки", часты, потому что это регионы, состоящие из слишком большого числа гармоник, которые анализатор спектра не может показать раздельно (по крайней мере, при заданных настройках). Впадины или "нули" – заметные места отсутствия гармоник, которые возникают на множестве частот, кратных частоте битовой синхронизации.
Рисунок 4
24. Изучите и сравните спектральный состав четырех линейных кодов.
Примечание: Вы должны заметить, что в то время, как общий вид спектра сохраняется таким, как упомянуто выше, спектральный состав сигналов различается. Вспомните, это одна из причин выбора того или иного способа кодирования.
Один из недостатков кода BiФ-L (Манчестерского кода) заключается в том, что ему требуется в два раза большая ширина полосы пропускания для передачи по линиям связи, чем для трех других методов кодирования. Поскольку это ограничение нельзя продемонстрировать на модулях FOTEx непосредственно, мы можем более внимательно изучить спектры других трех сигналов, чтобы увидеть, насколько существенно сигнал BiФ-L от них отличается.
25. Выберите код NRZ-L, установив DIP-переключатели Генератора последовательностей в положение 00..
26. Подсчитайте количество "лепестков" в спектре сигнала (в пределах 40 кГц) и запишите в таблицу 2.
27. Повторите п. 26 для других трех кодов.
Таблица 2
Метод кодирования | Количество лепестков (в пределах 40 кГц) |
NRZ-L | |
BiФ-L | |
RZ-AMI | |
NRZ-M |
Чтобы сравнить код BiФ-L с другими кодами, мы используем курсоры анализатора спектра для изучения частот с нулевой амплитудой.
28. Установите генератор последовательностей на режим кодирования NRZ-L.
29. Активируйте курсоры анализатора спектра (установив флажок в окне Cursors On).
30. Установите один из курсоров на первую частоту с нулевой амплитудой (между первым и вторым лепестками спектра).
31. Измерьте эту частоту и запишите в таблицу 3.
32. Измерьте и запишите в таблицу 3 первую частоту с нулевой амплитудой в спектре остальных трех сигналов.
Таблица 3
Метод кодирования | Частота первого нуля |
NRZ-L | |
BiФ-L | |
RZ-AMI | |
NRZ-M |
Часть С – Восстановление сигнала битовой синхронизации
Вспомните из предварительного обсуждения, что коды, содержащие спектральный компонент с частотой синхроимпульсов исходного сигнала, могу использоваться для восстановления сигнала битовой синхронизации. Четыре метода кодирования FOTEx пригодны для этого, однако они отличаются по значимости составляющей сигнала битовой синхронизации. Следующий эксперимент продемонстрирует это отличие.
33. Установите Генератор последовательностей в режим кодирования NRZ-L.
34. Установите настройку Frequency Span (Диапазон частот) анализатора сигналов на 3000 Гц вместо 40 000 Гц.
35. С помощью курсора найдите в спектре кодированного сигнала гармонику с частотой сигнала битовой синхронизации.
36. Определите относительное значение этой составляющей и запишите в таблицу 4.
Примечание 1: Относительное значение компонента в децибелах можно определить по пересечению горизонтальной линии курсора оси Y.
Примечание 2: Это размер компоненты в децибелах относительно самой большой составляющей закодированного сигнала.
37. Определите относительный размер гармоники с частотой сигнала битовой синхронизации для других трех методов кодирования (в децибелах и как отношение).
Таблица 4
Метод кодирования | Частота синхроимпульсов (в децибелах) |
NRZ-L | |
BiФ-L | |
RZ-AMI | |
NRZ-M |