Bhuvan’s status report (Apr 6, 2019)
After the interim demo this week, I continued to work on Pong. The server module will contain the up-to-date position of the ball and its motion. The server will forward the ball location to the nodes as frequently as possible. The nodes will transmit their respective player 1’s paddle location to the server. The server will then use this data to perform calculations to compute the location of the ball on the next game clock. The server will also transmit the opponents paddle location to each node. The node can use the paddle location of its player 1 and the ball and paddle locations received from the server to draw the screen. I currently have the logic for forwarding implemented but there are a few issues in the math used for converting the motion of the ball between nodes (the ball appears to be on screen for one player but is off screen for the other player).
This week I will fix this issue and begin work on integrating Pong with the encoder and receiver modules. For this I will have to write logic to chop the data to be transmitted into packets and send the correct control signals to the encoder and receiver modules.
Dhruva’s Status Report (Mar 30, 2019)
This week was the mid point demo which went pretty well. We demonstrated a full duplex communication between two FPGAs via the transmitting and receiving circuits we had built as we had promised.
A significant amount of time went in reading for the project management assignment due Sunday. We also spent some time giving feedback as a focus group. Thus, I was not as productive as I had wanted to be.
As for work covered, I decided to use the CRC module that we had implemented as part of an 18-240 lab for our error detection and correction process. I also started the process of building the circuit which will be used for the final demo. The main challenge I encountered was that the receiver node has only one receiving photodiode which needs to get pulses from all the IR LEDs i.e.: 4 different nodes. So the circuit needs to be built such that the LEDs are perfectly aligned and the photodiode is receiving the bits continuously. The alignment is a constant whose optimization is out of scope for our project since we have only one reveiver and transmitter on the hub. In an ideal VLC network, every source of light will act as a hub receiver so the alignment issue will not exist. Thus to combat this, I need to figure out the amount of gain on the hub’s receiver needed such that the furthest transmitter is able to send the bits without errors as well as a optimum orientation so that the transmission is seamless.
Since I had finished some of the previous work earlier than expected, I am still on track with our schedule.
Raziq’s Status Report (Apr 6, 2019)
This week, we completed our Interim Demo on Monday April 1. I am pleased that I was able to demonstrate working duplex communications between two FPGAs. We were able to implement a digital low-pass filter on the GPIO input to prevent unintended edges from appearing in the Decoder input. This and other error handling has made the Decoder more robust.
Leading up to the final demo, there are two main integration-level objectives I want to complete. The first is tuning parameters for optimal performance and reliability. Pulse width and offset delta are related to the physical layer, and preamble size and data size are related to the application layer. In the Design Report, we estimated the best values for throughput, but we will now need to see if this still holds with actual hardware.
The second objective is expanding the Decoder to support multiple transmissions, necessary for the hub. The general algorithm is described in the DarkLight paper, and I believe it is straightforward (though not trivial) to convert the procedural algorithm into a synthesizable design. I’ve started by writing more tests both to aid in development and to clarify the specification.
Upcoming work
Finish and test multiple transmissions with one receiver.
Error estimation and CRC implementation integration.
Figure out the amount of gain on the hub’s receiver needed such that the furthest transmitter is able to send the bits without errors
Figure out the optimum orientation so that the transmission of the 4 nodes is seamless.
Continue integration testing for node-server communications
Work on game server module
Team Status Report
We are working towards our final demo on April 24.
We are on track with our proposed schedule and do not anticipate any delays.