HGG: Backplane v1 Design Idea

Bus

  • Data (possibilities)
    • RS485 (Single master, Multi point)
    • CAN (Multi master)
  • Timing
    • PPS
    • High accuracy clock

Timing Bus

Information on the timing Bus can be found on the Timing Bus-Article

Module <> Bus Interface

A high precision clock source (compensated VCXO or OCXO) is used to increment a counter which can cover the time of one second without roll-over. The counter is reset via the PPS signal. Time since last PPS is thus tracked by the adder. To read the time the adder state is latched to a series of parallel-in/serial-out and then lazily clocked out to the uC.

Prototype implementation by hadez, armin et al in shackspace

OSI-like Layer Model for Data Transfer

The groundstation should be as modular as possible. It should be possible to implemente different kinds of modules as

  • Clock Sources (those feed the timing bus)
  • Position Sources (those can determine a position)
  • Data Sources (those receive data, eg HAMSAT, ADS-B, packet radio, information is highly timing critical)
  • Sensors (those also measure data, eg radiation, temperature and weather data, etc but are less timing critical)
  • Sniffer Modules (used for debugging or visualisation, just passively listen on the data bus)
  • Output modules (used for sending measured data / received data to a PC)

The current idea is to use RS485 as a data-bus that runs on the backplane of the station in parallel to the timing bus.

Layer 1

should be somthing like RS485 since this is implemented in most microcontrollers and for most FPGAs.

Needs are:

  • modules can be enumerated (possibly chipselect)
  • transfers between two modules are possible
  • should use a fixed frame length (use finite state automaton for validity checking)

Layer 2

layer 2 should be able to perform enumeration of modules, transferring data between two modules, define the frame format and a protocol number for selecting the information.

Layer 3

data payload, defined for each module format, every module should support raading a config rom that contains information about the module in key/value pairs. Minimum information for a module is it's type, manufactor name, it's serial number and it's name. It should also be used to encode capabilities and calibration data as needed for the module. We could also think about giving out a module unique ID.

This part of the backplane is currently a TODO.

Module specification (formfactor, shielding, ...)

project/hgg/hardware/backplane_v1.txt · Zuletzt geändert: 2012/01/07 20:29 von 93.193.109.236