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.

arbitrarily assigned. In the specific case of the <strong>Skin</strong> Patch assembled to test the project, 12<br />

nodes were connected and addresses 0x100–0x10A were assigned, to consequent nodes.<br />

Now, all nodes are first loaded with the Bootloader program described before, however<br />

what was not mentioned before is that when the Bootloader is programmed using the<br />

JTAG debugger, the I 2 C address assigned to the node is assembled into location 0x1080 in<br />

flash memory. This is done so that I 2 C addresses are only assigned once in the programming<br />

lifetime of the nodes, and no conflicts are created in the bus. If two nodes with the same<br />

address are placed on the same bus, the system will eventually reach a deadlock state which<br />

must be manually reset, which is why it is so critical to avoid this situation.<br />

The solution to the last question, ”How is the bus arbitrated?” is actually really simple:<br />

the MSP430 does it. The I 2 C hardware module of the MSP430 microcontroller, can detect<br />

collisions in the bus and has a method to resolve contentions. Whenever a collision is<br />

detected, the device that first takes the data line to ground loses arbitration and an interrupt<br />

flag is generated. Processing this interrupt flag allows communications to remain reliable.<br />

These cases are rare though, as only one master exists in every <strong>Skin</strong> Patch: the Brain.<br />

The last consideration to make about the I 2 C backbone bus is the speed at which it is run.<br />

This is the second parameter that limits the amount of nodes that can be connected to<br />

the same patch. Although bandwidth requirements are supposed to be brought down with<br />

the addition of processing power into each node, there is still the need to transfer either<br />

higher-order features into a PC, or simple raw data if the <strong>Skin</strong> Patch is to be used as a data<br />

extraction device. The amount of bandwidth needed will depend on a variety of factors,<br />

like the number of nodes, the sampling rates, and the resolution at which each sensor is<br />

sampled. Making the bus run at fast-speed (3.4Mbps) would have placed huge constraints<br />

on the length of the bus lines, and running it at the standard speed of 100Kbps would not<br />

have been enough for more than a couple of nodes. Therefore high-speed mode was chosen,<br />

and the bus is then run at 400Kbps 13 .<br />

13 Although these are the standard speeds of the I 2 C standard, the I 2 C module of the MSP430 can run<br />

the bus at any arbitrary speed, up to a limit of close to 500Kbps<br />

102

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

Saved successfully!

Ooh no, something went wrong!