Вид огибающей для кода был описан выше. Для одной пары проводов это манчестерское кодирование, для других трёх – сигнал, составленный из импульсов, изображённых на рис. 2. Будем использовать импульсы, изображённые на рис. 3.
Рис. 3
Рассмотрим вид огибающей для вышерассмотренного примера. Для удобства полученный код запишем в таком виде:
1.001.001.010…0.011.101.010…1.010.100.110…1.110.100.010
1.010.010.110…0.110.100.101…0.101.010.010…1.111.010.010
1.011.010.000…0.111.011.010…1.111.011.101…1.111.110.100
1.100.111.110…1.101.010.010…1.100.011.011…1.101.010.110
Сигнал, проходяший синхронно по четырём парам проводников, изображен на рис. 4.
Рис. 4
Уже было сказано, что в качестве линии связи выбрана витая пара. Кабели на витых парах позволяют использовать большое число пар в кабеле (до 250), передавать данные на частотах 16–100 МГц, компенсировать наводки (возникающие за счёт вихревых токов), они обладают невысокой стоимостью. Однако к недостаткам можно причислить малую помехозащищённость, невозможность использования длинных кабелей (больше 1000 м).
Поскольку за 20 тактов передаётся 11 байт полезной информации, то за 1 такт – 4.4 бита. Поэтому если, например, удвоенная частота (для манчестерского кода) будет составлять 50 МГц, то частота тактов составит 25 МГц и скорость передачи достигнет 25*4.4=110 Мбит/с. Т.е. поставленная задача даже перевыполнена. Для линии связи будем использовать кабель категории 5. Как видно из табл. 1, на частоте около 50 МГц затухание составит около 15 дБ, т.е. на каждые 100 м линии сигнал будет затухать в 5,5 раз. Чтобы приёмник распознал сигнал, линия не должна быть длиннее 120–150 м (тогда сигнал затухнет в ≈ 15 раз).
Для правильного определения границ передаваемого сообщения необходимо обеспечить синхронизацию передатчика и приёмника. В системе, рассматриваемой в данной работе, целесообразно использовать старт-стоповые символы, передаваемые до и после основного сообщения. Для этого можно использовать неиспользованные комбинации импульсов (номер 8 на рис. 2). Поскольку приём отдельных символов подразумевается синхронным благодаря манчестерскому коду, передаваемому по первой паре проводов, старт-стоповые символы можно передавать достаточно редко (в начале и в конце пакетов длиной около нескольких сотен байт). Синхронизация будет называться фреймовой (блочной).
В качестве вида модуляции можно выбрать амплитудную модуляцию. Это обеспечивает небольшое искажение сигнала на выходе линии связи благодаря не очень большой ширине спектра получающегося сигнала.
ЗАКЛЮЧЕНИЕ
В ходе работы удалось составить помехозащищённый код (160,88). Информационная скорость (отношение числа информационных разрядов к общему) составляет 0,55, что близко к характеристикам других кодов. Данный код может передавать большое количество информации (длинную последовательность) в одном пакете, что достигается параллельной передачей данных по четырём линиям (парам проводников), из которых состоит витая пара, выбранная в качестве линии передачи. По одной паре проводников передаётся манчестерский код, что обеспечивает синхронность приёма, однако возникают жёсткие требования к синхронизации между отдельными парами в кабеле, поскольку синхронизация остальных пар проводов осуществляется по первой паре.
Такое использование линии связи несколько усложняет практическую реализацию системы по сравнению с использованием обычных кодов (например, полиномиальных) и передачей по независимым каналам. Однако такое небольшое усложнение окупается возрастанием на порядок скорости передачи.
ПРИЛОЖЕНИЕ 1
Программная реализация кодера
// Реализация кодера на языке С
// a0 a8 – информационные символы
// s0 s6 – контрольные символы
void coder(int a0, int a1, int a2, int a3,
int a4, int a5, int a6, int a7, int a8)
{
int s0,s1,s2,s3,s4,s5,s6;
s0=(0x3FF)&(a0+a1+a2);
s1=(0x3FF)&(a3+a4+a5);
s2=(0x3FF)&(a6+a7+a8);
s3=(0x3FF)&(a0+a3+a6);
s4=(0x3FF)&(a1+a4+a7);
s5=(0x3FF)&(a2+a5+a8);
s6=(0x3FF)&(s0+s1+s2+s3+s4+s5);
// передача контрольных разрядов
// . . . . .
}
Программная реализация декодера
// Реализация декодера на языке С
// a0 a8 – информационные символы
// s0 s6 – контрольные символы
// k – синдром ошибки
int decoder(int a0, int a1, int a2, int a3,
int a4, int a5, int a6, int a7, int a8, Перейти на страницу: 1 2
Советуем почитать:
Этапы проектирования печатных плат Печатная плата (на англ. PCB - printed circuit board) - пластина, выполненная из диэлектрика , на которой сформирована (обычно печатным методом) хотя бы одна электропроводящая цепь. Печ ...
Проектирование устройства преобразования и воспроизведения музыкальных звуков Для определения необходимой архитектуры разрабатываемого программно-аппаратного средства, необходимо проанализировать цель и особенности его применения. Основной целью применения разраба ...
Проектирование управляющей ИМС для импульсных источников питания по типу TDA16846 Целью дипломного проекта является проектирование управляющей ИМС для импульсных источников питания по типу TDA16846. Существует класс блоков электропитания, в которых напряжение сети ...