Оглавление:

Связь LiFi: 6 шагов
Связь LiFi: 6 шагов

Видео: Связь LiFi: 6 шагов

Видео: Связь LiFi: 6 шагов
Видео: GENESIS LIFE – СВЯЗЬ МЕЖДУ GENESIS И ПРОЕКТОМ | С ЧЕГО НАЧАТЬ | КАК ПРОХОДИТ ОБУЧЕНИЕ 2024, Июль
Anonim
Связь LiFi
Связь LiFi

В этом руководстве вы узнаете, как реализовать связь LiFi (передатчик и приемник) на программном и аппаратном уровне.

Шаг 1: Соберите компоненты

Соберите компоненты
Соберите компоненты

Вам понадобятся:

-Arduino и Zedboard

-оскиллоскоп

-Резисторы: 8 кОм, 1 кОм, 1 кОм, 220 Ом и 27 Ом.

-оусилитель, конденсатор, стабилитрон, фотодиод, светодиоды и шлейф.

Шаг 2: создание дизайна

Создание дизайна
Создание дизайна
Создание дизайна
Создание дизайна
Создание дизайна
Создание дизайна

На изображении дана схема приемника.

Сначала подключите анод (отрицательный вывод) фотодиода к 3,3 В (Vcc), катод (положительный вывод) к земле через резистор 8 кОм. Также подключите катод к положительной клемме вашего операционного усилителя, которая будет использоваться для усиления сигнала. Мы используем отрицательную обратную связь, поэтому подключите 2 резистора к отрицательной клемме операционного усилителя, 1 (1 к2 Ом) идет к выходу операционного усилителя, другой (220 Ом) идет на землю. Чтобы защитить свой вывод GPIO, подключите обратно смещенный стабилитрон на 3,3 В последовательно с резистором 1 к2 Ом на землю. Выход операционного усилителя необходимо подключить к контакту GPIO.

Передатчик состоит только из одного последовательно соединенного резистора на 27 Ом и светодиода. Один конец подключается к разъему GPIOpin, а другой - к земле, при этом убедитесь, что короткая ножка светодиода подключена к земле.

Если дизайн работает, вы можете сделать для него печатную плату. На печатной плате мы объединили передатчик и приемник на одной плате, поэтому в конечном итоге мы можем отправлять данные в двух направлениях. Вы также можете увидеть схемы печатной платы на изображениях приемника и передатчика.

Шаг 3: Тестирование дизайна

Используйте осциллограф для проверки конструкции, потому что окружающий свет и разница в фотодиодах могут давать разные результаты в выходном сигнале.

Подключите передатчик к Arduino и сгенерируйте прямоугольную волну с желаемой частотой. Поместите светодиод передатчика рядом с фотодиодом.

Подключите один щуп к положительной клемме вашего операционного усилителя, а другой - к выходу вашего операционного усилителя. Если выходной сигнал слишком слабый, необходимо заменить резисторы отрицательной обратной связи (1 к2 Ом, 220 Ом). У вас есть 2 варианта: увеличить резистор 1 к2 Ом или уменьшить резистор 220 Ом. Если выход слишком высокий, сделайте наоборот.

Если все в порядке, переходите к следующему шагу.

Шаг 4. Получение всего необходимого программного обеспечения

Получение всего необходимого программного обеспечения
Получение всего необходимого программного обеспечения

На изображении можно увидеть различные этапы кодирования для реализации LiFi. Для декодирования необходимо выполнить те же действия в обратном порядке.

Для этого проекта необходимы некоторые библиотеки, они включены в данные файлы, и вот ссылки на репозиторий github:

-Рид-Соломон:

-Сверточный кодировщик:

Чтобы файлы выполняли то, что мы хотим, мы внесли в них некоторые изменения, поэтому необходимо использовать нашу версию библиотек, включенных в файлы.

После сверточного кодера необходим последний этап кодирования - манчестерское кодирование. Данные из сверточного кодировщика отправляются в буфер FIFO. Этот буфер читается в PL-части zedboard, проект включен в файл LIFI.7z. С помощью этого проекта вы можете создать свой собственный битовый поток для zedboard или просто использовать битовый поток, который мы предоставили. Чтобы использовать этот битовый поток, вы должны сначала установить Xillinux 2.0 на zedboard. Объяснение того, как это сделать, можно найти на веб-сайте Xillybus.

Шаг 5: создайте исполняемые файлы

Необходимо создать два отдельных исполняемых файла: один для передатчика и один для приемника. Для этого на зедборде необходимо выполнить следующие команды:

- Передатчик: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Передатчик

- Получатель: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Receiver

Шаг 6: Тестирование всего

Подключите передатчик к контакту JD1_P, а приемник - к контакту JD1_N на zedboard. Обязательно измените файл ограничений, если вы хотите изменить стандартные контакты.

Чтобы проверить, все ли работает, откройте 2 окна терминала в части PS. В одном терминале сначала выполните принимающую часть. После этого выполните часть передатчика во втором окне терминала.

Если все пойдет как надо, результат должен быть таким же, как на изображении выше.

Рекомендуемые: