03.08.2013 Views

S.N.A.K.E.: A Dynamically Reconfigurable Artificial Sensate Skin ...

S.N.A.K.E.: A Dynamically Reconfigurable Artificial Sensate Skin ...

S.N.A.K.E.: A Dynamically Reconfigurable Artificial Sensate Skin ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.3 Communications Software<br />

The last part of the software section corresponds to the specifics of the communications<br />

channels used in the entire project. This will briefly outline some of the necessary design<br />

choices that were taken along the whole process.<br />

4.3.1 I2C Backbone<br />

We have talked about the hardware considerations of the I 2 C backbone, but nothing has<br />

been mentioned about the software that runs the bus. The I 2 C bus requires two lines to<br />

be routed among all devices which are to be connected to it plus a common ground. This<br />

means that whenever a device needs to talk to another one in the bus, it needs a way to<br />

address it. In fact the I 2 C bus has two different addressing schemes: 7-bit and 10-bit.<br />

The addressing scheme is actually the theoretical limit to the number of devices that can<br />

coexist in the same bus. The first one allows a maximum of 2 7 − 1 = 128 devices while the<br />

second one allows 2 10 − 1 = 1023 devices. Naturally, the second one was chosen to allow<br />

a larger number of devices to be connected to the bus. These numbers are not the actual<br />

allowed limit, because the input capacitance of all pins connected to the bus add to the<br />

total, which as we already mentioned cannot exceed 400 pico-farads. We already mentioned<br />

some ways to get around this limitation, however for the case of the current project, the<br />

real limit to this will be presented in the Results Chapter.<br />

There are however several questions that must be answered though: How are these addresses<br />

assigned? Is it the Bootloader which assigns the address or is it the application code or<br />

both? What happens if there are more than one device in a <strong>Skin</strong> Patch with the same<br />

address? How is the bus arbitrated?<br />

First of all, the scope of an I 2 C address is limited to the Patch of <strong>Skin</strong> to which the node is<br />

connected. So although there can’t be two nodes with the same address in the same Patch<br />

of <strong>Skin</strong>, addresses can be reused if a different Brain is used. In other words, as long as<br />

there are not two nodes with the same address on the same <strong>Skin</strong> Patch, addresses can be<br />

101

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!