💸 Please consider donating on Paypal to keep this project alive.
This project was intended to develop a bidirectional transmitter and reciever device that uses Visible Light Communication (VLC) technology to transmit and recieve data from one device to another. In its basic form, data is transmitted as pulses of light where on means bit 1 and off means bit 0. This can be paired with more complicated transmitting techniques to build much more accurate and sophisticated data transmission. Programming is done using IP blocks with Verilog as the hardware description language and C/C to program the internal Zynq Processor system to communicate with the computer to retrieve and provide the data to be transmitted and recieved. The data to be transmitted and is recieved can be exchanged using the Bitstreamer software.
The Digilent Cora Z7 is an FPGA development board specially designed for students to experiment with FPGA technology. The Altera board is used in this project for the client side processes. This includes:
- Reading intensity from a photodiode and detecting the bitstream
- Transmitting the data recieved from the computer through an LED
This is used to get intensity readings to detect data transmissions. Connected to the FPGA, it will handle sending analog data to the FPGA containing the intensity changes. Any regular photodiode with average accuracy will be sufficient although the more accurate, the better it can detect transmission from farther away.
An LED is used to transmit the data from the transciever. Any regular LED is good enough but the higher the switching speed and intensity, the faster and more accurate the transmission is.
An optional LED drive circuit is required if you use high powered LEDs. In this case, the following components will be required to build one.
- 5V boost converter x4
- IRF840 N-channel Power MOSFET or equivalent x4
- 1k resistor x4
- Connection headers (Optional)
- 5V power supply with a power rating matching the four LEDs
This software is responsible for transmittion and displaying the recieved data from the transciever module.
- FPGA used is a Cora with a Zynq Processor System
- Protocol used is the Universal Asynchronous Reciever and Transmitter (UART)
- Serial port is used to connect with the bitstream software
More information will be added...
© 2022 Asanka Sovis