SlideShare a Scribd company logo
Vinayagam Mariappan
OpenVLC PLATFORM
eSILICON LABS
(An Embedded Network and Multimedia Solutions Provider)
OpenVLC
• Linux based Open-source, software-defined, flexible, low-cost Visible
Light Communication platform
• Developed by IMDEA Networks Institute, and the project is co-led by
Prof. Domenico Giustiniano and by Dr. Qing Wang
OpenVLC…
• OpenVLC Mission
– The lack of an open-source reference platform for VLC networks is hindering the
progress of the research community
– A general-purpose platform would add momentum to VLC research and would open
up new avenues of VLC research and spark the interest of researchers and
engineers.
– IMDEA Networks Institute take an initial step toward the design of OpenVLC, an
open-source software-defined VLC platform for fast prototyping of new system
protocols to build a LiFi network
– Cost-effective yet powerful credit-card-sized embedded board.
VLC
• Visible Light Communication (VLC), sometimes also referred to as
“LiFi" uses standard off-the-shelf visible light LEDs to transmit data
using the visible light spectrum
• VLC is receiving strong attention from the designers of the 5G
networks and beyond
• VLC can enable new pervasive wireless systems in the context of
Internet of Things.
OpenVLC Components
• The software solution is implemented as a Linux driver that can communicate
directly with the cape and the Linux networking stack
• In OpenVLC, the VLC interface is set up as a new communication interface
that can take advantage of the vast range of Linux tools.
• OpenVLC Components are,
– BEAGLEBONE Black (BBB) Board (needs Rev C; to use the high-power LED in the cape,
you need to connect an external 5V power supply to the BBB): cost $ 45- $ 60; AM3359
1GHz CPU, 4 timers, 65 GPIOs
– OpenVLC1.1 cape: the VLC front-end
– OpenVLC1.1 driver: software defined PHY and MAC layer, implemented as a Linux driver
OpenVLC Components
BBB board OpenVLC1.1 cape Cape plugged into the BBB board
OpenVLC Design
• Flexible Design
• Software Defined Solution
OpenVLC Design Flexibility
• OpenVLC cape (front-end transceiver) includes
three optical components:
– a low-power LED
– a high-power LED,
– and a photodiode (PD)
• The low-power LED can be reused for both the
transmitting and receiving of light signals
• Design has been proved to be resilient to ambient
light interference without additional electronic
processing
• Another advantage of exploiting the low-power LED
for reception rather than adding a PD is the lower
cost of LEDs Compared to photodiodes.
OpenVLC Software Defined Solution
• The software-defined transmitter (TX) selector
can choose the TX between the low-power
LED and the high-power LED
• The software-defined receiver (RX) selector
can select the RX between the PD and the
low-power LED
• The low-power LED can be reused for both
the transmitting and receiving of light signals
• Primitives are implemented to build various
PHY and MAC layer protocols in the Linux
operating system.
OpenVLC Software Defined Solution…
• VLC can be a valuable component to RF
Communication
• Developed based on IEEE 802.15.7 standard
• IEEE 802.15.7 standard specifies three PHY layers,
which support data rate varying from 11:67 kb/s to
96 Mb/s short range communication
• Photodiodes used as a receiver or a reverse-biased
LED (rather than a photodiode) is used as a receiver
to implement a bidirectional LED-to-LED
communication
• Studied and designed with the fundamental issues
of the design of a low-complexity embedded
solution, such as efficient collision detection MAC
protocol and light flicker elimination.
VLC Communication Network
OpenVLC Software Defined Solution…
• Bidirectional Communication
– OpenVLC's front-end transceiver reuses the same
LED for both transmitting and receiving light signals
– An advantage of exploiting the LED for reception
rather than adding a photodiode is the lower cost of
LEDs compared to photodiodes
– Permits to reduce the design complexity and increase
the resilience to ambient (e.g., sun light) noise without
additional signal processing.
– OpenVLC Platform includes a TransConductance
Amplifier (TCA) for transmission, a TransImpedance
Amplifier (TIA) and an Analog-to-Digital Converter
(ADC) for reception, a tristate-output buffer, and
ancillary circuitry for transmission and reception.
Diagram of the OpenVLC platform
OpenVLC Software Defined Solution…
• A software-defined Transmitter (TX)/Receiver
(RX) switch is used to change the LED operation
mode between TX and RX through the GPIO pins:
– In TX Mode
▫ The buffer is enabled and encoded signals are first
amplified by the TCA and then fed to the forward-biased
LED
– In RX Mode
▫ In RX mode, the buffer is disabled to avoid current
leakages to the TCA circuitry, and the light signal is
received by the reverse-biased LED
▫ The small photocurrent is then amplified by the TIA
▫ Finally, an ADC converts the output analog signals to
digital signals, which are then sent to the decoder through
the Serial Peripheral Interface (SPI)
Diagram of the OpenVLC platform
OpenVLC Software Defined Solution…
• Software-Defined PHY Layer
– The software stack of OpenVLC is illustrated in
OpenVLC Network Stack
– Primitives are implemented to build various PHY and
MAC layer protocols in the Linux operating system.
– TX, RX and TX/RX switching
▫ In TX mode, the BBB outputs the signal to be
transmitted to the anode of LED for a symbol period of
T
▫ In RX mode, the small photo-current is amplified by
the TIA and then sampled by the ADC and converted
into a digital signal. The BBB samples the output of
the ADC at fixed intervals of T.
OpenVLC Network Stack
OpenVLC Software Defined Solution…
• Software-Defined PHY Layer
– The TX and RX mode through a software-
defined controller running on the BBB
▫ Implemented primitives write_to_led(symbol)
and read_from_adc() to transmit and receive
one symbol, respectively
– The LED switches between TX and RX mode
through a software-defined controller running
on the BBB
▫ Implemented prim-itives switch_to_tx() and
switch_to_rx() allow to switch the LED between
TX and RX mode.
OpenVLC Network Stack
OpenVLC Software Defined Solution…
• Modulation and Detection
– Adopt intensity modulation for data transmission
– Binary information is mapped to the presence
(symbol HIGH) or absence (symbol LOW) of the
visible light carrier
– At the transmitter, we use the On-OFF
Keying (OOK) modulation and the Manchester Run
Length Limited (RLL) code
– Therefore, bit 1 is mapped to symbol sequence
LOW-HIGH, and bit 0 is mapped to HIGH-LOW
– At the receiver, demodulation is performed with
direct detection. Based on received signal's
voltage, the receiver detects received signal as the
sequence of symbols HIGH and LOW that are then
converted to binary data.
OpenVLC Software Defined Solution…
• Preamble
– The PHY layer transmits each frame with a fixed-length preamble, consisting of an alternate
sequence of HIGH and LOW starting with a HIGH symbol
– The numbers of HIGH and LOW symbols in the preamble are the same
– To convert symbols into binary data, an adaptive symbol detection threshold is adopted
– The threshold has to be adaptive because the received light intensity is greatly affected by
the free path loss attenuation of light transmitted from the TX to the RX
– This detection threshold is obtained on a per-frame basis by averaging out the digital
samples of the preamble sequence
– The end of the preamble is marked by a Special Frame Delimiter (SFD).
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer
– The MAC layer generates two types of frames
▫ DATA frames and Acknowledgement (ACK) frames
– The frame contains the payload length (Length) of this frame.
If the frame has no payload (i.e., Length=0), it is inferred to
be an ACK. Otherwise, it is recognized as a DATA frame.
– The Length field takes 1 byte and each frame carries a
payload varying from 0 to 255 bytes
– The destination address (Dst) and source address (Src)
follow the Length field and each occupies 2 bytes
– The 2-byte field Protocol identifies the upper layer protocol
encapsulated in the frame payload
– Fields from the Length to the Protocol form the MAC header
– A two-byte Cyclic Redundancy Check (CRC) over the MAC
header and frame payload is appended to the end of each
frame.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – Carrier Sensing
– Wireless MAC protocols usually employ carrier sensing to
reduce collisions
– In OpenVLC platform, provides two type of carrier sensing
▫ Basic sensing and fast sensing
– Both are implemented in the PHY layer and can be invoked
by the MAC layer
– In basic sensing
▫ The platform reads a certain number of continuous symbols
▫ The channel is assessed to be busy if one or more symbols are
detected as HIGH symbols
▫ Otherwise it is assessed to be clear
– In fast sensing
▫ operates on per symbol basis
▫ The channel is assessed to be clear if the symbol is detected as LOW,
or else it is assessed to be busy
▫ Provides primitives basic_sensing() and fast_sensing() to perform basic
and fast sensing, respectively
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – MAC Access Protocol
– Employed the contention-based Carrier Sensing Multiple
Access/Collision Detection (CSMA/CD) MAC protocol to ensure fair
channel access among all VLC nodes and reduce the impact of
collisions
– When a frame is available for transmission, the MAC first calls the
basic sensing of the PHY layer and then the frame is transmitted
immediately if the PHY layer reports the channel is clear
– When the channel is assessed to be busy, the MAC starts a backoff
counter
– The counter is initialized with an integer value randomly drawn from a
uniform distribution within the range (0, CW-1].
– The contention window CW is initialized as CWmin, where CWmin is the
smallest
– The PHY layer keeps sensing the channel and each time the channel is
assessed to be clear, the counter is decremented
– The frame is transmitted when the counter reaches zero.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – MAC Access Protocol
– Upon frame transmission, the transmitter can engage in fast sensing. This
occurs when the transmitter sends a LOW symbol of the Manchester code, as
it powers down the LED and is therefore able to switch the LED to RX mode to
receive a symbol
– The received symbol is sufficient for fast sensing and afterwards, the LED is
switched back to TX mode to carry on the transmission
– The transmitter alternates between TX and RX mode during data transmission
– If the transmitter detects a collision, i.e., the channel is assessed to be busy
through fast sensing for no less than Bfs times, the ongoing transmission is
immediately interrupted
– The illustration of the backoff mechanism, basic sensing, and fast sensing in
CSMA/CD
– After successfully receiving a frame, the receiver sends an ACK to the
transmitter
– If the transmitter has not received an ACK within the timeout, it retransmits the
frame and doubles the CW (until it reaches a pre-defined CWmax threshold
that denotes the maximal size of the contention window)
– The frame is dropped when a pre-defined number of retransmissions fail.
OpenVLC Software Defined Solution…
• Software-Defined MAC Layer – Interfacing with the Internet Layer
– Implement the MAC protocol as well as part of the PHY layer as a new driver of the Linux
operating system
– The MAC protocol will become transparent to various applications if it can connect with
the Internet layer
– Implement two primitive functions vlc_mac_tx(skb) and vlc_mac_rx(vlc_pkt).
– The vlc_mac_tx(skb) is called by the Internet layer to move packets to the MAC layer,
where are enqueued and wait for transmission scheduling
– The vlc_mac_rx(vlc_pkt) receives packets from the PHY layer, checks their protocols,
and decides whether or not to send them to the Internet layer
– By invoking these two functions, any MAC protocols can easily interact with the Internet
layer.
OpenVLC Project Demo Video
https://www.youtube.com/watch?v=nslpUnDQMEU
Thank You

More Related Content

What's hot

Ultra HD Forum NAB 2016 Press Conference
Ultra HD Forum NAB 2016 Press ConferenceUltra HD Forum NAB 2016 Press Conference
Ultra HD Forum NAB 2016 Press Conference
Benjamin SCHWARZ
 
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-basedDesigning an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Dr. Mohieddin Moradi
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
Dr. Mohieddin Moradi
 
SDI to IP 2110 Transition Part 2
SDI to IP 2110 Transition Part 2SDI to IP 2110 Transition Part 2
SDI to IP 2110 Transition Part 2
Dr. Mohieddin Moradi
 
15 selected topics for e-learning technologies (dtv)
15 selected topics for e-learning technologies (dtv)15 selected topics for e-learning technologies (dtv)
15 selected topics for e-learning technologies (dtv)宥均 林
 
Ultra high definition TV over IP networks
Ultra high definition TV over IP networksUltra high definition TV over IP networks
Ultra high definition TV over IP networksThomas Kernen
 
Newtec DVB-S2 Calculator: Technical Training
Newtec DVB-S2 Calculator: Technical TrainingNewtec DVB-S2 Calculator: Technical Training
Newtec DVB-S2 Calculator: Technical Training
Newtec
 
Analog TV Systems/Digital TV Systems/3DTV
Analog TV Systems/Digital TV Systems/3DTVAnalog TV Systems/Digital TV Systems/3DTV
Analog TV Systems/Digital TV Systems/3DTV
Sumudu Wasantha
 
An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1   An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1
Dr. Mohieddin Moradi
 
Introduction to DVB-H
Introduction to DVB-HIntroduction to DVB-H
Introduction to DVB-H
Adrian Hornsby
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Dr. Mohieddin Moradi
 
Analog Video
Analog Video Analog Video
Analog Video
Yoss Cohen
 
H.264 nal and RTP
H.264 nal and RTPH.264 nal and RTP
H.264 nal and RTP
Yoss Cohen
 
Video audio
Video audioVideo audio
Video audio
Tony Stark
 
DVB-H Seminar
DVB-H SeminarDVB-H Seminar
DVB-H Seminar
Adrian Hornsby
 
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
Newtec M6100 Broadcast Satellite Modulator Webinar PresentationNewtec M6100 Broadcast Satellite Modulator Webinar Presentation
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
Newtec
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Dr. Mohieddin Moradi
 
Newtec Dialog Info Session at IBC2015
Newtec Dialog Info Session at IBC2015Newtec Dialog Info Session at IBC2015
Newtec Dialog Info Session at IBC2015
Newtec
 
An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4
Dr. Mohieddin Moradi
 
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Dr. Mohieddin Moradi
 

What's hot (20)

Ultra HD Forum NAB 2016 Press Conference
Ultra HD Forum NAB 2016 Press ConferenceUltra HD Forum NAB 2016 Press Conference
Ultra HD Forum NAB 2016 Press Conference
 
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-basedDesigning an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
Designing an 4K/UHD1 HDR OB Truck as 12G-SDI or IP-based
 
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 VideoAn Introduction to  Versatile Video Coding (VVC) for UHD, HDR and 360 Video
An Introduction to Versatile Video Coding (VVC) for UHD, HDR and 360 Video
 
SDI to IP 2110 Transition Part 2
SDI to IP 2110 Transition Part 2SDI to IP 2110 Transition Part 2
SDI to IP 2110 Transition Part 2
 
15 selected topics for e-learning technologies (dtv)
15 selected topics for e-learning technologies (dtv)15 selected topics for e-learning technologies (dtv)
15 selected topics for e-learning technologies (dtv)
 
Ultra high definition TV over IP networks
Ultra high definition TV over IP networksUltra high definition TV over IP networks
Ultra high definition TV over IP networks
 
Newtec DVB-S2 Calculator: Technical Training
Newtec DVB-S2 Calculator: Technical TrainingNewtec DVB-S2 Calculator: Technical Training
Newtec DVB-S2 Calculator: Technical Training
 
Analog TV Systems/Digital TV Systems/3DTV
Analog TV Systems/Digital TV Systems/3DTVAnalog TV Systems/Digital TV Systems/3DTV
Analog TV Systems/Digital TV Systems/3DTV
 
An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1   An Introduction to Video Principles-Part 1
An Introduction to Video Principles-Part 1
 
Introduction to DVB-H
Introduction to DVB-HIntroduction to DVB-H
Introduction to DVB-H
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video Codecs
 
Analog Video
Analog Video Analog Video
Analog Video
 
H.264 nal and RTP
H.264 nal and RTPH.264 nal and RTP
H.264 nal and RTP
 
Video audio
Video audioVideo audio
Video audio
 
DVB-H Seminar
DVB-H SeminarDVB-H Seminar
DVB-H Seminar
 
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
Newtec M6100 Broadcast Satellite Modulator Webinar PresentationNewtec M6100 Broadcast Satellite Modulator Webinar Presentation
Newtec M6100 Broadcast Satellite Modulator Webinar Presentation
 
Video Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video CodecsVideo Compression, Part 3-Section 2, Some Standard Video Codecs
Video Compression, Part 3-Section 2, Some Standard Video Codecs
 
Newtec Dialog Info Session at IBC2015
Newtec Dialog Info Session at IBC2015Newtec Dialog Info Session at IBC2015
Newtec Dialog Info Session at IBC2015
 
An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4
 
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
Serial Digital Interface (SDI), From SD-SDI to 24G-SDI, Part 1
 

Similar to Open VLC Platform

Visible light communication (vlc) systems
Visible light communication (vlc) systemsVisible light communication (vlc) systems
Visible light communication (vlc) systems
CKSunith1
 
Visible light communication systems i
Visible light communication systems   iVisible light communication systems   i
Visible light communication systems i
CKSunith1
 
infiniband.pdf
infiniband.pdfinfiniband.pdf
infiniband.pdf
AkashSuresh45
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB WorkshopAntonio Mondragon
 
Lte overview titus
Lte overview titusLte overview titus
Lte overview titus
Nabil Al_Mutawakel
 
Toward Transitional SDN Deployment in Enterprise Networks
Toward Transitional SDN Deployment in Enterprise NetworksToward Transitional SDN Deployment in Enterprise Networks
Toward Transitional SDN Deployment in Enterprise Networks
Open Networking Summits
 
Sdh total final
Sdh total finalSdh total final
Sdh total final
Manish Desai
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
Online
 
Software defined network
Software defined networkSoftware defined network
Software defined network
Bogamoga1
 
Ultra sonic sensor network communicating using NRF 24L01 radio
Ultra sonic sensor network communicating using NRF 24L01 radioUltra sonic sensor network communicating using NRF 24L01 radio
Ultra sonic sensor network communicating using NRF 24L01 radio
Ashok Raj
 
Switched networks (LAN Switching – Switches)
Switched networks (LAN Switching – Switches)Switched networks (LAN Switching – Switches)
Switched networks (LAN Switching – Switches)
Fleurati
 
9.) audio video ethernet (avb cobra net dante)
9.) audio video ethernet (avb cobra net dante)9.) audio video ethernet (avb cobra net dante)
9.) audio video ethernet (avb cobra net dante)
Jeff Green
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
Kernel TLV
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
Kirill Tsym
 
Dash7 alliance protocol - where rfid meets wsn
Dash7 alliance protocol -  where rfid meets wsnDash7 alliance protocol -  where rfid meets wsn
Dash7 alliance protocol - where rfid meets wsn
Maarten Weyn
 

Similar to Open VLC Platform (20)

Visible light communication (vlc) systems
Visible light communication (vlc) systemsVisible light communication (vlc) systems
Visible light communication (vlc) systems
 
Visible light communication systems i
Visible light communication systems   iVisible light communication systems   i
Visible light communication systems i
 
infiniband.pdf
infiniband.pdfinfiniband.pdf
infiniband.pdf
 
2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop2nd ARM Developer Day - NXP USB Workshop
2nd ARM Developer Day - NXP USB Workshop
 
Lte overview titus
Lte overview titusLte overview titus
Lte overview titus
 
Toward Transitional SDN Deployment in Enterprise Networks
Toward Transitional SDN Deployment in Enterprise NetworksToward Transitional SDN Deployment in Enterprise Networks
Toward Transitional SDN Deployment in Enterprise Networks
 
Sdh total final
Sdh total finalSdh total final
Sdh total final
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
 
Software defined network
Software defined networkSoftware defined network
Software defined network
 
3 gpp lte-rlc
3 gpp lte-rlc3 gpp lte-rlc
3 gpp lte-rlc
 
UDT.pptx
UDT.pptxUDT.pptx
UDT.pptx
 
final14-4
final14-4final14-4
final14-4
 
Ultra sonic sensor network communicating using NRF 24L01 radio
Ultra sonic sensor network communicating using NRF 24L01 radioUltra sonic sensor network communicating using NRF 24L01 radio
Ultra sonic sensor network communicating using NRF 24L01 radio
 
Switched networks (LAN Switching – Switches)
Switched networks (LAN Switching – Switches)Switched networks (LAN Switching – Switches)
Switched networks (LAN Switching – Switches)
 
Packet Switching
Packet SwitchingPacket Switching
Packet Switching
 
9.) audio video ethernet (avb cobra net dante)
9.) audio video ethernet (avb cobra net dante)9.) audio video ethernet (avb cobra net dante)
9.) audio video ethernet (avb cobra net dante)
 
CCNA 1
CCNA 1CCNA 1
CCNA 1
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
Dash7 alliance protocol - where rfid meets wsn
Dash7 alliance protocol -  where rfid meets wsnDash7 alliance protocol -  where rfid meets wsn
Dash7 alliance protocol - where rfid meets wsn
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

Open VLC Platform

  • 1. Vinayagam Mariappan OpenVLC PLATFORM eSILICON LABS (An Embedded Network and Multimedia Solutions Provider)
  • 2. OpenVLC • Linux based Open-source, software-defined, flexible, low-cost Visible Light Communication platform • Developed by IMDEA Networks Institute, and the project is co-led by Prof. Domenico Giustiniano and by Dr. Qing Wang
  • 3. OpenVLC… • OpenVLC Mission – The lack of an open-source reference platform for VLC networks is hindering the progress of the research community – A general-purpose platform would add momentum to VLC research and would open up new avenues of VLC research and spark the interest of researchers and engineers. – IMDEA Networks Institute take an initial step toward the design of OpenVLC, an open-source software-defined VLC platform for fast prototyping of new system protocols to build a LiFi network – Cost-effective yet powerful credit-card-sized embedded board.
  • 4. VLC • Visible Light Communication (VLC), sometimes also referred to as “LiFi" uses standard off-the-shelf visible light LEDs to transmit data using the visible light spectrum • VLC is receiving strong attention from the designers of the 5G networks and beyond • VLC can enable new pervasive wireless systems in the context of Internet of Things.
  • 5. OpenVLC Components • The software solution is implemented as a Linux driver that can communicate directly with the cape and the Linux networking stack • In OpenVLC, the VLC interface is set up as a new communication interface that can take advantage of the vast range of Linux tools. • OpenVLC Components are, – BEAGLEBONE Black (BBB) Board (needs Rev C; to use the high-power LED in the cape, you need to connect an external 5V power supply to the BBB): cost $ 45- $ 60; AM3359 1GHz CPU, 4 timers, 65 GPIOs – OpenVLC1.1 cape: the VLC front-end – OpenVLC1.1 driver: software defined PHY and MAC layer, implemented as a Linux driver
  • 6. OpenVLC Components BBB board OpenVLC1.1 cape Cape plugged into the BBB board
  • 7. OpenVLC Design • Flexible Design • Software Defined Solution
  • 8. OpenVLC Design Flexibility • OpenVLC cape (front-end transceiver) includes three optical components: – a low-power LED – a high-power LED, – and a photodiode (PD) • The low-power LED can be reused for both the transmitting and receiving of light signals • Design has been proved to be resilient to ambient light interference without additional electronic processing • Another advantage of exploiting the low-power LED for reception rather than adding a PD is the lower cost of LEDs Compared to photodiodes.
  • 9. OpenVLC Software Defined Solution • The software-defined transmitter (TX) selector can choose the TX between the low-power LED and the high-power LED • The software-defined receiver (RX) selector can select the RX between the PD and the low-power LED • The low-power LED can be reused for both the transmitting and receiving of light signals • Primitives are implemented to build various PHY and MAC layer protocols in the Linux operating system.
  • 10. OpenVLC Software Defined Solution… • VLC can be a valuable component to RF Communication • Developed based on IEEE 802.15.7 standard • IEEE 802.15.7 standard specifies three PHY layers, which support data rate varying from 11:67 kb/s to 96 Mb/s short range communication • Photodiodes used as a receiver or a reverse-biased LED (rather than a photodiode) is used as a receiver to implement a bidirectional LED-to-LED communication • Studied and designed with the fundamental issues of the design of a low-complexity embedded solution, such as efficient collision detection MAC protocol and light flicker elimination. VLC Communication Network
  • 11. OpenVLC Software Defined Solution… • Bidirectional Communication – OpenVLC's front-end transceiver reuses the same LED for both transmitting and receiving light signals – An advantage of exploiting the LED for reception rather than adding a photodiode is the lower cost of LEDs compared to photodiodes – Permits to reduce the design complexity and increase the resilience to ambient (e.g., sun light) noise without additional signal processing. – OpenVLC Platform includes a TransConductance Amplifier (TCA) for transmission, a TransImpedance Amplifier (TIA) and an Analog-to-Digital Converter (ADC) for reception, a tristate-output buffer, and ancillary circuitry for transmission and reception. Diagram of the OpenVLC platform
  • 12. OpenVLC Software Defined Solution… • A software-defined Transmitter (TX)/Receiver (RX) switch is used to change the LED operation mode between TX and RX through the GPIO pins: – In TX Mode ▫ The buffer is enabled and encoded signals are first amplified by the TCA and then fed to the forward-biased LED – In RX Mode ▫ In RX mode, the buffer is disabled to avoid current leakages to the TCA circuitry, and the light signal is received by the reverse-biased LED ▫ The small photocurrent is then amplified by the TIA ▫ Finally, an ADC converts the output analog signals to digital signals, which are then sent to the decoder through the Serial Peripheral Interface (SPI) Diagram of the OpenVLC platform
  • 13. OpenVLC Software Defined Solution… • Software-Defined PHY Layer – The software stack of OpenVLC is illustrated in OpenVLC Network Stack – Primitives are implemented to build various PHY and MAC layer protocols in the Linux operating system. – TX, RX and TX/RX switching ▫ In TX mode, the BBB outputs the signal to be transmitted to the anode of LED for a symbol period of T ▫ In RX mode, the small photo-current is amplified by the TIA and then sampled by the ADC and converted into a digital signal. The BBB samples the output of the ADC at fixed intervals of T. OpenVLC Network Stack
  • 14. OpenVLC Software Defined Solution… • Software-Defined PHY Layer – The TX and RX mode through a software- defined controller running on the BBB ▫ Implemented primitives write_to_led(symbol) and read_from_adc() to transmit and receive one symbol, respectively – The LED switches between TX and RX mode through a software-defined controller running on the BBB ▫ Implemented prim-itives switch_to_tx() and switch_to_rx() allow to switch the LED between TX and RX mode. OpenVLC Network Stack
  • 15. OpenVLC Software Defined Solution… • Modulation and Detection – Adopt intensity modulation for data transmission – Binary information is mapped to the presence (symbol HIGH) or absence (symbol LOW) of the visible light carrier – At the transmitter, we use the On-OFF Keying (OOK) modulation and the Manchester Run Length Limited (RLL) code – Therefore, bit 1 is mapped to symbol sequence LOW-HIGH, and bit 0 is mapped to HIGH-LOW – At the receiver, demodulation is performed with direct detection. Based on received signal's voltage, the receiver detects received signal as the sequence of symbols HIGH and LOW that are then converted to binary data.
  • 16. OpenVLC Software Defined Solution… • Preamble – The PHY layer transmits each frame with a fixed-length preamble, consisting of an alternate sequence of HIGH and LOW starting with a HIGH symbol – The numbers of HIGH and LOW symbols in the preamble are the same – To convert symbols into binary data, an adaptive symbol detection threshold is adopted – The threshold has to be adaptive because the received light intensity is greatly affected by the free path loss attenuation of light transmitted from the TX to the RX – This detection threshold is obtained on a per-frame basis by averaging out the digital samples of the preamble sequence – The end of the preamble is marked by a Special Frame Delimiter (SFD).
  • 17. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – The MAC layer generates two types of frames ▫ DATA frames and Acknowledgement (ACK) frames – The frame contains the payload length (Length) of this frame. If the frame has no payload (i.e., Length=0), it is inferred to be an ACK. Otherwise, it is recognized as a DATA frame. – The Length field takes 1 byte and each frame carries a payload varying from 0 to 255 bytes – The destination address (Dst) and source address (Src) follow the Length field and each occupies 2 bytes – The 2-byte field Protocol identifies the upper layer protocol encapsulated in the frame payload – Fields from the Length to the Protocol form the MAC header – A two-byte Cyclic Redundancy Check (CRC) over the MAC header and frame payload is appended to the end of each frame.
  • 18. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – Carrier Sensing – Wireless MAC protocols usually employ carrier sensing to reduce collisions – In OpenVLC platform, provides two type of carrier sensing ▫ Basic sensing and fast sensing – Both are implemented in the PHY layer and can be invoked by the MAC layer – In basic sensing ▫ The platform reads a certain number of continuous symbols ▫ The channel is assessed to be busy if one or more symbols are detected as HIGH symbols ▫ Otherwise it is assessed to be clear – In fast sensing ▫ operates on per symbol basis ▫ The channel is assessed to be clear if the symbol is detected as LOW, or else it is assessed to be busy ▫ Provides primitives basic_sensing() and fast_sensing() to perform basic and fast sensing, respectively
  • 19. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – MAC Access Protocol – Employed the contention-based Carrier Sensing Multiple Access/Collision Detection (CSMA/CD) MAC protocol to ensure fair channel access among all VLC nodes and reduce the impact of collisions – When a frame is available for transmission, the MAC first calls the basic sensing of the PHY layer and then the frame is transmitted immediately if the PHY layer reports the channel is clear – When the channel is assessed to be busy, the MAC starts a backoff counter – The counter is initialized with an integer value randomly drawn from a uniform distribution within the range (0, CW-1]. – The contention window CW is initialized as CWmin, where CWmin is the smallest – The PHY layer keeps sensing the channel and each time the channel is assessed to be clear, the counter is decremented – The frame is transmitted when the counter reaches zero.
  • 20. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – MAC Access Protocol – Upon frame transmission, the transmitter can engage in fast sensing. This occurs when the transmitter sends a LOW symbol of the Manchester code, as it powers down the LED and is therefore able to switch the LED to RX mode to receive a symbol – The received symbol is sufficient for fast sensing and afterwards, the LED is switched back to TX mode to carry on the transmission – The transmitter alternates between TX and RX mode during data transmission – If the transmitter detects a collision, i.e., the channel is assessed to be busy through fast sensing for no less than Bfs times, the ongoing transmission is immediately interrupted – The illustration of the backoff mechanism, basic sensing, and fast sensing in CSMA/CD – After successfully receiving a frame, the receiver sends an ACK to the transmitter – If the transmitter has not received an ACK within the timeout, it retransmits the frame and doubles the CW (until it reaches a pre-defined CWmax threshold that denotes the maximal size of the contention window) – The frame is dropped when a pre-defined number of retransmissions fail.
  • 21. OpenVLC Software Defined Solution… • Software-Defined MAC Layer – Interfacing with the Internet Layer – Implement the MAC protocol as well as part of the PHY layer as a new driver of the Linux operating system – The MAC protocol will become transparent to various applications if it can connect with the Internet layer – Implement two primitive functions vlc_mac_tx(skb) and vlc_mac_rx(vlc_pkt). – The vlc_mac_tx(skb) is called by the Internet layer to move packets to the MAC layer, where are enqueued and wait for transmission scheduling – The vlc_mac_rx(vlc_pkt) receives packets from the PHY layer, checks their protocols, and decides whether or not to send them to the Internet layer – By invoking these two functions, any MAC protocols can easily interact with the Internet layer.
  • 22. OpenVLC Project Demo Video https://www.youtube.com/watch?v=nslpUnDQMEU