Networking and Communications
Assignment: design and build a wired &/or wireless network connecting at least two processors.
There were different types of networking and communication learnt this week.
Synchronous Serial Bus
Serial basically means sending one bit followed by another, rather than multiple bits over multiple wires simultaneously (which is parallel)
Synchronous system pairs its data line(s) with a clock signal, so all devices on a synchronous serial bus share a common clock. This makes for a more straightforward, often faster serial transfer, but it also requires at least one extra wire between communicating devices
Serial Peripheral Interface (SPI)
>Asynchronous Serial Bus
Asynchronous means that data is being transmitted without support from an external clock signal/timer.
The sender sends pulses representing the data to be sent at the agreed-upon data rate, and the receiver listens for pulses at that same rate.
In order to communicate, the two devices need to agree on a few things:
- the rate at which data is sent and read
- the voltage levels representing a 1 or a 0 bit
- the meaning of those voltage levels;- is a high voltage 1 and a low voltage 0, or is the signal inverted so that a low voltage is a 1 and high voltage is 0?
I worked on the Asynchronous serial bus.
The board design is on this page. Since I was going to etch them, I took the designs of both the bridge and the node to corel draw and mirrored them first in order to have an accurate transfer.

After that I etched and soldered all the components in place and I was ready to program them.

Programming
I downloaded the C code and the Make file and did some modifications on them before programming.
On the C program, I added another line to make the LEDs blink one extra time for a better visibility of the networking process.
I had used attiny25 on all the three boards, so I adjusted the make file accordingly to specify for t25 and not t45.

I then set up the boards for programming.

I ran the make file using;
'sudo make -f hello.bus.45.make'

sudo make -f hello.bus.45.make program-usbtiny


Here is a video showing how a asynchronous serial bus works. I have a bridge which has been connected to the computer hrough ftdi, and two node borads/processors which are connected to the bridge. Whenever I dial key No.0 on the computer, all the boards blink once but the bridge blinks 3 times.
When I dial No.1, all the boards blink once but node 1 blinks 3 times.
On dialing key No.2, all the boards blink once but node 2 blinks 3 times. The boards also communicate back to the computer to indicate that they have responded to the initial communication.
Download files
hello.bus.45.c
hello.bus.25.make