1 / 16

Differences Between RMAP & GAP

Differences Between RMAP & GAP. Daniel Gilley Lockheed Martin 2006 MAPLD International Conference Washington, D.C. September 25, 2006. Problems Associated with SpaceWire Network Implementations. Standard SpaceWire packets provide:

sue
Télécharger la présentation

Differences Between RMAP & GAP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Differences Between RMAP & GAP Daniel Gilley Lockheed Martin 2006 MAPLD International Conference Washington, D.C. September 25, 2006

  2. Problems Associated with SpaceWire Network Implementations • Standard SpaceWire packets provide: • No information about the nature of the data / desired operation • No way for the destination to reply with status to the source • No way to verify the data was transmitted correctly • No way to perform asynchronous read operations • … and more

  3. The Solution • A protocol that lives inside a standard SpaceWire packet (‘upper layer protocol’) offers solutions to these problems, providing a basis for reliable transport within a network

  4. SpaceWire Packets

  5. Protocol ID Byte

  6. GAP Overview • GAP (“General Access Protocol”) includes 3 transaction types • Write Request / Response • Read Request Untargeted / Response • Read Request Targeted / Response • Each transaction includes a header with a command id, return address, options fields, a checksum, and command-specific information

  7. GAP Write / Response • ‘A’ sends a write request to ‘B’ • ‘A’ sends a write request to ‘C’ • ‘B’ replies with a success response to ‘A’ • ‘C’ replies with an error response to ‘A’

  8. GAP Targeted Read / Response • ‘A’ sends a read request to ‘D’ • ‘D’ replies with data for ‘A’ – the node in ‘A’ automatically puts the read data into memory and interrupts software when it is completed

  9. RMAP Overview • RMAP, created by ESA, has 3 transactions: • Write Request / Response • Read Request / Response • Read-modify-write Request / Response • Each transaction includes a header with packet type, source address, transaction ID, and transaction-specific information.

  10. RMAP Write / Response • ‘A’ sends an acknowledged write request to ‘B’ • ‘A’ sends a verified write request to ‘D’ • ‘B’ replies with a success response to ‘A’ • ‘D’ replies with an error response to ‘A’

  11. RMAP Read / Response • ‘A’ sends a read request to ‘D’ • ‘D’ replies with data for ‘A’ • The software in ‘A’ reads the reply and takes appropriate action

  12. RMAP Read-modify-write / Response • ‘A’ writes masked data to a register in ‘C’ • ‘C’ sends a success reply to ‘A’

  13. GAP vs RMAP, Similarities • GAP and RMAP are similar: • Both have read and write transactions • Both have the protocol ID byte • Both have similar fields in their headers • Both provide means for destinations to send replies to sources • Both provide an additional layer of data validation

  14. GAP vs RMAP, Differences • GAP provides: • Automatic copying of read reply data into the memory of the requesting device • RMAP provides: • Verification of write data before it is written to destination memory • One transaction for read-modify-write operation

  15. GAP vs RMAP Summary • GAP is most useful in situations where there are a lot of packets that software has to process • Example: Flight software receiving regular telemetry data from various spacecraft subsystems • RMAP is most useful in situations where small amounts of data need to be verified before being written • Example: A controller device with bitmapped values for control registers

  16. Supporting GAP and RMAP • Best solution would be a device which supports both GAP and RMAP • Decoding method for each protocol could be determined by value of protocol byte or configuration register

More Related