INHOUDSOPGAWE:

LiFi -kommunikasie: 6 stappe
LiFi -kommunikasie: 6 stappe

Video: LiFi -kommunikasie: 6 stappe

Video: LiFi -kommunikasie: 6 stappe
Video: Ini Kamoze - Here Comes The Hotstepper (Remix) (Video) 2024, Julie
Anonim
LiFi kommunikasie
LiFi kommunikasie

In hierdie instruksies leer u hoe u LiFi -kommunikasie (sender en ontvanger) op sagteware- en hardeware -vlak kan implementeer.

Stap 1: Versamel komponente

Versamel komponente
Versamel komponente

Dinge wat u benodig:

-Arduino en Zedboard

-oscilloskoop

Weerstands: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm en 27 ohm.

-opamp, kapasitor, zenerdiode, fotodiode, LED's en broodbord.

Stap 2: Bou die ontwerp

Die bou van die ontwerp
Die bou van die ontwerp
Die bou van die ontwerp
Die bou van die ontwerp
Die bou van die ontwerp
Die bou van die ontwerp

Op die beeld word die skema vir die ontvanger gegee.

Koppel eers die anode (negatiewe terminaal) van die fotodiode aan 3.3V (Vcc), die katode (positiewe terminaal) met 'n aarding deur 'n 8k2 ohm weerstand. Koppel ook die katode aan die positiewe terminaal van u opamp, wat gebruik sal word om die sein te versterk. Ons gebruik negatiewe terugvoer, dus verbind 2 weerstande met die negatiewe terminaal van die opamp, 1 (1k2 ohm) gaan na die uitset van die opamp, die ander (220 ohm) gaan grond toe. Om u GPIO -pen te beskerm, moet u 'n omgekeerde, bevooroordeelde zenerdiode van 3.3V in serie met 'n 1k2 ohm -weerstand op die aarde aansluit. Die uitset van die opamp moet aan 'n GPIO -pen gekoppel word.

Die sender bestaan net uit 'n weerstand van 27 ohm en 'n LED in serie. Die een kant gaan na 'n GPIOpin en die ander na die grond, om seker te maak dat die kort been van die LED aan die aarde gekoppel is.

As die ontwerpe werk, kan u 'n PCB daarvoor maak. Op die printplaat het ons die sender en ontvanger op een bord gekombineer, sodat ons uiteindelik data in twee rigtings kan stuur. U kan ook die PCB -skemas in die beelde vir die ontvanger en sender sien.

Stap 3: Toets die ontwerp

Gebruik 'n ossilloskoop om die ontwerp te kontroleer, omdat omringende lig en die verskil in fotodiodes verskillende resultate in die uitsetsignaal kan gee.

Koppel u sender aan 'n arduino en genereer 'n vierkantgolf met die gewenste frekwensie. Plaas die sender se LED naby die fotodiode.

Koppel een sonde aan die positiewe terminaal van u opamp, 'n ander aan die uitset van u opamp. As u uitsetsignaal te swak is, moet die negatiewe terugvoerweerstand (1k2 ohm, 220 ohm) verander word. U het 2 keuses: verhoog die weerstand van 1 k2 ohm of verminder die weerstand van 220 ohm. As die uitset te hoog is, doen die teenoorgestelde.

As alles goed lyk, gaan na die volgende stap.

Stap 4: Kry al die nodige sagteware

Kry al die nodige sagteware
Kry al die nodige sagteware

Op die beeld kan u die verskillende koderingstappe sien om LiFi te implementeer. Om te dekodeer, moet dieselfde stappe omgekeerd uitgevoer word.

Vir hierdie projek is 'n paar biblioteke nodig, dit is ingesluit in die gegewe lêers en hier is die skakels na die github -bewaarplek:

-Reed-Solomon:

-Konvensionele enkodeerder:

Om die lêers te laat doen wat ons wil, het ons 'n paar aanpassings daarin gemaak, sodat ons ons weergawe van die biblioteke wat in die lêers ingesluit is, moet gebruik.

Na die konvolusie -enkodeerder is 'n laaste koderingstap nodig, die Manchester -kodering. Die data van die konvolusie -encoder word na 'n fifo -buffer gestuur. Hierdie buffer word gelees in die PL -deel van die zedboard, die projek is ingesluit in die 'LIFI.7z' -lêer. Met die projek kan u u eie bitstream vir die zedboard bou, of u kan net die bitstream gebruik wat ons verskaf het. Om hierdie bitstroom te gebruik, moet u eers Xillinux 2.0 op die zedboard installeer. Die verduideliking oor hoe u dit moet doen, word op die Xillybus -webwerf verskaf.

Stap 5: Maak die uitvoerbare items

Twee afsonderlike uitvoerbare programme moet gemaak word, een vir die sender en een vir die ontvanger. Om dit te kan doen, moet die volgende opdragte op die zedboard uitgevoer word:

- Sender: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o sender

- Ontvanger: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Ontvanger

Stap 6: Toets alles

Verbind die sender met die JD1_P -pen en die ontvanger met die JD1_N -pen op die zedboard. Maak seker dat u die beperkingslêer verander as u die standaard penne wil verander.

Om te toets of alles werk, maak 2 terminale vensters in die PS -deel oop. Voer eers die ontvangende deel in een terminale uit. Voer daarna die senderdeel in die tweede eindvenster uit.

As alles verloop soos dit moet, moet die resultaat dieselfde wees as op die prent hierbo.

Aanbeveel: