Atmel SpaceWire Router SpW-10X User Manual

Page of 155
Ref.:   UoD_SpW-10X_ 
UserManual
 
Issue:  3.4 
  
 
 
SpW-10X 
SpaceWire Router 
User Manual 
Date:  11
th
 July 2008 
 
 
Preliminary 
68
 
Mask 
Length  
4 bytes for the mask to modify a 32-bit register. 
Header 
CRC  
The header CRC used to detect errors in the header part of the command 
packet. 
Data and 
Mask 
The data and mask values to write to the SpaceWire router. The data is 
written dependent on the mask as shown in Figure 7-8. 
Data and 
Mask CRC  
The data and mask CRC used to detect errors in the data part of the 
command packet. 
 
A Read-Modify-Write command modifies the bits of a SpaceWire router register dependent on the 
contents of the register (Register Data), the command data (Command Data) and the command mask 
value (Mask) as follows: 
Register Value = (Mask AND Command Data) OR (NOT Mask AND Register Data) 
An example is shown below, the highlighted bits are set or reset by the command. 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31
23
0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0
15
0
7
Command Data
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31
23
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
15
0
7
Command Mask
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
31
23
1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0
15
0
7
Register Data
Returned to source
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
31
23
0 1 1 0 0 0 1 1
0 0 0 0 1 0 1 0
15
0
7
Data Written to Register
(Mask AND Command Data) OR (NOT Mask and Register Data)
 
Figure 7-8 Read-Modify-Write example operation