Space Controller

License Caravel Build

Authors

  • Ivan Rodriguez-Ferrandez (UPC¹-BSC²)
  • Alvaro Jover-Alvarez (UPC¹-BSC²)
  • Leonidas Kosmidis (BSC²-UPC¹)
  • David Steenari (ESA³)
    ¹ Universitat Politècnica de Catalunya (UPC)
    ² Barcelona Supercomputing Center (BSC)
    ³ European Space Agency (ESA)

Main Version of the chip: 1.0V

Change Log

  • Version 1.0V:
    • TODO

Chip Layout

Description

How To Use The Chip

This chip uses the UART port for main communication. This communication port is use to send instructions and receive the requested output. The input is a 52 bit word for communication. In order to fill up the word the values are send one by one via the UART port. The 52 bit are divided in this well defined sections:

  • [51:48] 4 bit operation code.
  • [47:43] 5 bit primary register operation.
  • [42:0] 43 bit auxiliary values.

As commented the communication is throw the UART port, and each 4 bits are codification in hex. Because UART uses the ASCII table for the characters, the following list is the translation between the ASCII characters and the hex value interpreted by the chip:

  • 1 ➜ 1
  • 2 ➜ 2
  • 3 ➜ 3
  • 4 ➜ 4
  • 5 ➜ 5
  • 6 ➜ 6
  • 7 ➜ 7
  • 8 ➜ 8
  • 9 ➜ 9
  • : ➜ A
  • ; ➜ B
  • < ➜ C
  • = ➜ D
  • > ➜ E
  • ? ➜ F

The sended data is stored in a shift register, so in order to confirm that the command is fully sended, the ASCII character 0D (New line) needs to be send. If you want to clear the instruction sended you can send the ASCII character 20 (Space) in order to clear the shift registers.

Instruction Set

IWrite instructions

TypeDescriptionOP Code [51:48]Primary Register [47:43]Auxillary [42:0]
IWriteWrite a logic 1 in the selected register
and is maintained Auxillary number of cycles
0000registercycles
IWriteWaits 1 Second and writes a logic 1 in
the selected selected register and is
maintained Auxillary number of cycles
0001registercycles
IWriteWaits Auxillary number of cycles and
writes a logic 1 in the selected selected
register and is maintained Auxillary number of cycles
0010registercycles

IRead instructions

TypeDescriptionOP Code [51:48]Primary Register [47:43]Auxillary [42:0]
IReadReads the logic value in the selected register
and the read is delayed by Auxilar number of cycles
1000registercycles
IReadReads delayed by 1 Second and reports the a
logic value in the selected selected register
1001registerNot/use

Triple Redundancy Implementation

Block Description

Module Ports:

  • Input Ports
  • Output Ports

Caravel Connections

GPIO Connections

Logic Analyzer Probes

  • Input probes:

  • Output probes:

Wishbone Connection

User Maskable Interrupt Signals

Description of the Modules

Module List

Wishbone Description

Memory Map

Software Example

Available Tests