13.07.2015 Views

Paper.pdf - COMPASS - FH Aachen

Paper.pdf - COMPASS - FH Aachen

Paper.pdf - COMPASS - FH Aachen

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

control law and/or estimation technique) canbe easily implemented in a ‘plug-n-play’fashion without having to redevelop theentire hardware platform.3.4 System Bus ConceptFor the data and command traffic amongsubsystems the (in particular for consumerelectronics) widely used I²C bus fromPhilips was selected. This bus concept usesonly two wires (one for the clock and one forthe data) and thus greatly simplifies theinterface of the subsystems to the system bus.Since the I²C specification does notimplement a specific protocol format forcommunication, a suitable one was designed.Originally there are four modes of buscommunication, but for Compass-1 only twoof them will be used to avoid unnecessarybus occupation. The two modes are Master-Transmitter and Slave-Receiver. Every chipthat starts a transfer on the bus by writing a7-bit address and the logic ‘0’ for write willbecome the Master for that transfer. Theaddressed chip is then the Slave and receivesthe command/data as shown in figure 2.Figure 2: Protocol FormatIn the Compass-1 satellite, each subsystemboard has its own microcontroller (microcontrolunit, MCU) that can initiate such atransfer. In order to structure the buscommunication, a list of command codes(CC) was established that applies to allsubsystems. A CC is 8bit; hence there are256 different commands realizable.It is understandable that this approach isstraight-forward, with a Master sendingcommand/data to a Slave. But what aboutthe cases the Master expects data from theSlave (for example it asked for housekeepinginformation from its sensors)? Firstthe Master sends the respective command tothe Slave to get data. Then the Master entersa polling loop that waits until the Slavereacted with the correct command code andthen reads the data from the bus. Now theformer Master becomes the Slave and viceversa. During polling by the Master theSlave might be busy collecting the data, butfor all this time the bus is free and can beused by other participants.Most of the time however, a MCU does notpoll for certain data but is rather controllingits own system or doing housekeeping. Toverify that no command that is sent over thebus to a specific participant is lost or falselyignored, each MCU implements an interruptservice routine (ISR) that receives thosecommands and prepares the necessaryactions. In most cases it will trigger statusflags of the MCU that will cause the mainprogram to run its respective programmodule.There is a major drawback for that bus. Sinceall members are wired-AND connected, afailure where one device pulls the bus linesto ground permanently will demolish buscommunication. So, other devices than thesubsystem MCUs shall be avoided to beplugged to the bus to minimize this risk.Nowadays a lot of ICs have the I²Cspecifications implemented in hardware,which facilitates its use significantly. This isthe case for all MCUs on the Compass-1spacecraft. Yet, it would also be possible toemulate it via software, with the drawback ofthe associated computational overhead.In particular for a bus system, the effects ofradiation could be disastrous. One couldimagine a corrupted command sent to anMCU, due to a bitflip. The command codeimplementation is an effective countermeasureto this scenario, because thecombination of Slave address together withthe CC provides extra security. The CCnumbers are distributed in such as that nosingle bitflip could trigger another validcommand. In the end, the bus system is notspecially protected against radiation but

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

Saved successfully!

Ooh no, something went wrong!