Raptor-Dev-J1939-Direct-Memory-Access

From NewEagleWiki
Jump to navigation Jump to search

New Eagle > Products Wiki > Raptor Platform > Raptor-Dev > Raptor-Dev J1939 Library > Raptor-Dev J1939 Direct Memory Access

Raptor™ J1939 Direct Memory Access

The Raptor J1939 library includes an implementation of the DM14/DM15/DM16 messages for direct memory access. This is intended to allow a tool to read/write items in the memory of the controller. The raptor_j1939_dm14_dm15_dm16 block requires the raptor_j1939_transport_protocol block to be included in the model. Additionally, the block must be placed in a subsystem which is being periodically executed to properly implement the timeout functions of the protocol. It is recommended that the block be placed in a subsystem on the Foreground timed trigger.

Blocks

Block Description Appearance
DM14/DM15/DM16

This block implements PGN 55552 Memory Access Request (DM14), PGN 55296 Memory Access Response (DM15) and PGN 55040 Binary Data Transfer (DM16). This block implements the indirect memory access space for the SPN library. For more information on this block see separate documentation.

DM14/15/16 Definition block
DM14/15/16 Definition block
DMA Address Space Definition

This block is used with the raptor_j1939_dm14_dm15_dm16 block. This block defines a custom address space to be used. The custom address space allows the user to define an address space for use with DM14/15/16.

DMA Address Space Definition block
DMA Address Space Definition block
DMA Address Space Return

This block is used with the raptor_j1939_AS_trigger block. This block must be used in the function call subsystem driven by the Fn Call output of the raptor_j1939_dma_AS_trigger. The inputs to this block will be ignored if placed anywhere else in the model. This block returns the required information to the DM14/15/16 protocol for the requested operation. If this block does not exist in the function call subsystem the action will return an error to the tool.

DMA Address Space Return block
DMA Address Space Return block
DMA Address Space Trigger

This block is used with the raptor_j1939_dma_AS_def block to trigger action to be taken when an operation is requested on the custom address space. This block will execute its function call subsystem whenever a read, write or erase is requested in the custom address space for the pointers specified. Multiple address space triggers can be used for a single custom address space.

DMA Address Space Trigger block
DMA Address Space Trigger block
DMA Error

This block outputs a DM14/15/16 error code that can be used to return errors if an operation is unsuccessful in a custom address space.

DMA Error block
DMA Error block
DMA Key

This block is used with the raptor_j1939_dm14_dm15_dm16 block. This block sets the seed and key used to authenticate a connection with DM14 and DM15. This block must be used in the function call subsystem driven by the Fn Call output of the raptor_j1939_dma_key_trigger. The inputs to this block will be ignored if places anywhere else in the model.

DMA Key block
DMA Key block
DMA Key Trigger

This block is used with the raptor_j1939_dm14_dm15_dm16 block. This block connects to a function call subsystem which is triggered to calculate the seed and key used to authenticate a connection with DM14 and DM15.

DMA Key Trigger block
DMA Key Trigger block
DMA Operation

This block outputs the value of the specified operation. This can be used to compare against the operation value output by the raptor_j1939_dma_AS_trigger block.

DMA Operation block
DMA Operation block