Introduction
Processing at the edge is a rapidly increasing application for embedded systems, often these edge nodes are connected using a RF link e.g. Zigbee, WiFi etc. However, there are applications where RF is not suitable for example when you want electrical noise kept to a minimum or when adding RF communication adds significantly to the cost of the system.
In these cases simple communications can be implemented between a host and one or more slaves using Infra Red Communication.
Depending upon the architecture of solution we choose we can achieve very fast data rates to transfer data between FPGAs.
In this project we are going to look at how we can communicate between two Arty S7 boards using IR communications. This project will enable communication using a normal serial / UART communication to make receiving and transmitting data easy.
Of course such an approach also enables the system to be expanded to communicate with other non FPGA embedded systems which have a UART Interface.
Overall Architecture
The approach I am going to take is to use a IR LED emitting in the 940-950 nm wavelength range. The signal output over this IR LED will be modulated to enable better transmission performance, e.g. less interference from other IR sources.
This modulated IR signal will be received by a IR receiver which decodes the modulated signal and outputs a simple Logic level signal.
The IR decoder selected is a TSOP58438 which operates at 38KHz, this means we need to be able to modulate the IR signal at 38KHz.
Using this approach means we can work up to a range of 40 Metres.
Hardware components
- Digilent Arty S7-50 2 numbers
- Vishay TSOP58438
- bc547b
Software apps
- DigXilinx Vivado Design Suite