Page 2
Astrium GmbH. The contents are for confidential use only and are not to be disclosed to any others in any manner, in whole or in part, except with the express written approval of EADS Astrium GmbH or to the provision of the relevant contract.
Register address map............................18 4.1.1 SMCS332SpW status and control registers ....................18 4.1.2 SMCS332SpW channel 1 status and control registers ................19 4.1.3 SMCS332SpW channel 2 status and control registers ................20 4.1.4 SMCS332SpW channel 3 status and control registers ................21 4.1.5...
Page 4
Restrictions ............................... 49 Wormhole Routing ............................49 5.5.1 Overview..............................49 5.5.2 Wormhole routing on SMCS332SpW....................... 50 5.5.3 Routing Implementation on SMCS332SpW ..................... 50 5.5.4 SMCS332332SpW Routing Examples...................... 51 Header bytes generation ........................... 51 5.6.1 Header field control bit ..........................51 5.6.2 Routing and Checksum Generation......................
Page: 7 of 131 1 Scope and Objectives This document describes in detail the new SMCS332SpW. The SMCS332SpW provides an interface between three SpaceWire links according to the SpaceWire Standard ECSS-E-50-12A and a data processing node like a CPU. List of applicable documents...
The SMCS332SpW provides an interface between 3 SpaceWire links according to the SpaceWire Standard ECSS-E-50-12A specification and a data processing node consisting of a CPU and a communication data memory. The SMCS332SpW provides HW supported execution of the major parts of the simple interprocessor communication protocol, particularly: ·...
CPU. A special pin is provided to select between control of the SMCS332SpW by HOCI or by link. If control by link is enabled, the host data bus functions as a 32-bit general purpose interface (GPIO).
SMCS332SpW Control by SpaceWire link A feature of the SMCS332SpW is the possibility to control the SMCS332SpW not only via HOCI but via one of the three links. This allows to use the SMCS332SpW in systems without a local controller (µController, FPGA etc.). Since the HOCI is no longer used in this operation mode, it is instead available as a set of general purpose I/O (GPIO) lines.
Receive, Transmit, Acknowledge: the transmit and receive FIFOs decouple the SpaceWire link related operations from the SMCS332SpW related operations in all modes and such allows to keep the speed of the different units even when the source or sink of data is temporarily blocked.
A/D-converter or sensor interfaces can be assembled with the SMCS332SpW because of the "control by link" feature. The complete control of the SMCS332SpW can be done via link from a central controller-node. The SMCS332SpW is a very high speed, scalable link-interface chip with fault tolerance features. The initial exploitation is for use in multi-processor systems where the standardization or the high speed of the links is an important issue and where reliability is a requirement.
To compensate for these deficiencies of the SpaceWire specification, the SMCS332SpW implementations (the SMCS332SpW and the SMCS116SpW) introduce an (optional) transaction layer extension to the SpaceWire protocol standard. This high-level protocol extension supports applications in fault tolerant systems, heterogeneous architectures, feature power saving modes and remote configuration of the communication controller and autonomous command execution.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 15 of 131 Character Type Abbreviation Coding Data character P0DDDDDDDD control characters: Flow control P100 Normal End of Packet P101 Error End of Packet P110 Escape...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 16 of 131 Link speeds The SpaceWire links can support a range of communication speeds, which are programmed by writing to registers. At reset all links are configured to run at the base speed of 10 Mbits/sec. Only the transmission speed of a link is programmed as reception is asynchronous.
SpaceWire link is started up it transmits NULL's. Data may not be transferred over the link until the receiving link has sent a FCT, which it will do as soon as it has been started. In remote mode (control by link) however, the SMCS332SpW will send characters as soon as it receives a NULL on one of the three links, the control link.
4 Register Set This chapter describes the SMCS332SpW registers which can be read or written by the HOCI or via the link (in case the "control by link" is enabled) to control SMCS332SpW operations. All SMCS332SpW control operations are performed by writes or reads of the respective registers.
User Manual Updated: 9-Sep-2006 Page: 22 of 131 4.1.5 SMCS332SpW GPIO control registers These registers are only enabled when the SMCS332SpW is configured for "control by link" using the 'BOOTLINK' pin (see sections 2.3, 5.4 and 9.2). Port Width Register Function...
Status channel 3 no connection connection to channel 1 connection to channel 2 connection to local fifo reserved SMCS332SpW Wormhole Route Enable Bit: Wormhole Routing disabled (Reset) Wormhole Routing enabled 4.2.1.4 Interrupt Status Register (ISR) - address: 0x04 – 0x07...
Page 25
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 25 of 131 Description channel 1: SpaceWire parity, disconnect, ESC or credit error. For more information refer to register CH1_DSM_STAR: channel SpaceWire status register channel 1: error For more information over this error flag refer to register CH1_ESR1 and CH1_EXR2 channel 1: data from the communication memory are read.
Page 26
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 26 of 131 address: 8 bit mode: 0x06 16 bit mode: 0x06 32 bit mode: 0x04 ISR Byte 2 Description channel 2: transmit fifo is empty (set after reset)
When COCI is asserted, the SMCS332SpW COMI interface completes the current access, places the interface in a high- impedance state and then deasserts the output signal COCO to indicate to the requesting SMCS332SpW that it is no longer driving the COMI bus.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 28 of 131 COMI_ACR values from 0x00 = disable communication memory interface 0x01 = is not allowed to 0x0F = max. CLK cycles between two accesses.
(the link received to much normal characters or FCT control characters) always ‘0'/reserved Differences between the SMCS332 and the SMCS332SpW for the bits D0, D3 and D4: When D0, D3 and D4 are set, the SpaceWire link is/was in the "Run" state. See [AD1].
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 31 of 131 4.2.2.4 Channel 1 SpaceWire Test Register (CH1_DSM_TSTR) - address: 0x13 - data width: 4 bit, D3:0 - access mode: read / write - reset value: The test register is writeable only when bit 7 of register CH1_DSM_MODR is set.
SpaceWire cells. The result of the comparison is used to determine the destination of the packet. It can be delivered to the internal channel FIFO or to one of the two other SpaceWire channels inside the SMCS332SpW. For more information see chapter 5.5 Description register content will be compared with first byte of an incoming packet (if routing is enabled) 4.2.2.7...
See Note. header field control bit when set, the SMCS332SpW use the first byte of a packet as number of bytes which are transmitted as header bytes. If checksum enabled, this bytes are excluded from the checksum. The range for the header field is from minimum 2bytes (number byte + header byte) to maximum16 bytes.
The channel 1 error source register 2 is readable and the bits are reset only by writing '1', thus ensuring status never gets missed by software. Description Simple Interprocessor Command (SIC) sequence error. That means: the SMCS332SpW received an unexpected acknowledge packet. Received SIC packet with a wrong checksum (only, when generate checksum enabled, bit 4 of register CH1_CNTRL1).
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 37 of 131 Description transmit data port width the COMI data port operates in transmit direction with 8 bit (after reset), each access of the COMI...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 38 of 131 - reset value: 0x0000 The value of CH1_TX_SAR shows the start address, the value of CH1_TX_EAR shows the end address of a packet in the communication memory, which should be transmitted over channel 1.
For data transfer over the transmit FIFO, the host processor has to send the EOP character at the end of the packet. If the host processor sets bit 0 or 1 or both, the SMCS332SpW sends an EOP character at the end of the packet.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 40 of 131 Description lower byte of the start address Byte 1 at address 0x29: (only in 8 bit mode of the HOCI data port): Description upper byte of the start address 4.2.2.21...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 41 of 131 Byte 1 at address 0x2D: (only in 8 bit mode of the HOCI data port): Description upper byte of the current address 4.2.2.23...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 42 of 131 4.2.5 Time Code Registers 4.2.5.1 Time Code Control Register (TIME_CNTRL) - address: 0x78 - data width: 8 bit, D7:0 - access mode: D4:0: read / write...
Page 43
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 43 of 131 Description After a write access to this register, the new value will be send as a time code character over the active SpaceWire links.
- register byte 3 is connected with pin HDATA7 - HDATA0 The registers of the SMCS332SpW are 1, 2 or 4 Bytes wide. That means, if the HOCI data port is in 8 bit mode, 4 read or write accesses are necessary to access a 4 Byte register (e. g. the interrupt mask register). In 16/32 bit mode the data bits 31 - 8 are '0' if an 8 bit register is read.
- byte 2 is transferred via CMDATA15 - CMDATA8 - byte 3 is transferred via CMDATA7 - CMDATA0 COMI Arbitration The operation of two SMCS332SpW in master / slave mode is shown below: – All Rights Reserved – Copyright per DIN 34 –...
Page 46
Now, SMCS332SpW -B "parks" on the bus until there is a request from SMCS332SpW -A. If a bus owner releases the bus after a request from the other SMCS332SpW, it has to wait for N-1 Cycles (N = value from Register COMI_ACR), before it can request the bus again.
Page 47
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 47 of 131 (4-1) = 3 readcycles 25 MHz * 3/12 * 4 Bytes/cycle = 25 Mbyte/s Note: COMI_ACR value 0x01 is not allowed. COMI_ACR value 0x00 means: disable communication memory interface.
Determination of the control link After the reset signal is released the SMCS332SpW will wait for NULL characters on the three links. It will not start a link until it has received NULL characters on this link. Only then the SMCS332SpW will send NULL characters itself. After the links are active, the SMCS332SpW scans these links for data (characters).
The block diagram below shows a typical constellation of a remotely controlled SMCS332SpW controlled via link 2 from another SpaceWire device (in this case an SMCS332SpW). Note that if data is to be written to the RAM of the remote- controlled SMCS332SpW, an extra link (in the figure below this is link 1) needs to be used.
The SMCS332SpW interprets the signals on its inputs as sequences of packets. It takes the first byte of data as the header of the packet, which determines what it will do with the whole packet. The length and contents of the remainder of the packet are arbitrary.
CHx_CNTRL1. Description: If bit 5 in the register CHx_CNTRL1 is set, the SMCS332SpW will use the first byte of an incoming data to be transmitted (from COMI or HOCI) as number of bytes which are excluded from checksum (if checksum is enabled). The allowed range is from 1 to 15.
Page 52
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 52 of 131 This means that data has to start at the next modulo 4 bytes. The rest of a 4-byte-block which is not covered by the number of header bytes will not be transmitted.
In this case the SMCS332SpW, generates two checksum bytes from the data bytes and appends these bytes at the end of the data bytes. The SMCS332SpW at the other end of the virtual link generates again a checksum from the received bytes( without the last 2 bytes) and compares these with the received checksum (last 2 bytes).
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 54 of 131 Time Code Interface Both time code interface registers TIME_CNTRL and TIME_CODE controls the receiving and transmitting of time code characters. A time code on the SpaceWire links consists of an ESC control character and a data character: the time code value.
SMCS332SpW receive time code Status bits 5, 6 or 7 in register TIME_CNTRL will be set, when the SMCS332SpW receives a time code character over link1, 2 or 3. If bit 2 of the TIME_CNTRL register is set, the received time code will be written in the TIME_CODE register.
SMCS332SpW Initialization After power-up or any other reset the configuration registers of the SMCS332SpW are set to their default values (see chapter register description). For proper operation, each application has to adapt them according to their specific needs.
Communication Memory (refer to chapter "Data Transfer via COMI"). 6.1.5.3 Control Register 1 (CHx_CNTRL1) No configuration has to be made if transmission in transparent mode is desired. For operation with the SMCS332SpW in protocol mode the respective bits are to set, see chapter 13. 6.1.5.4 SpaceWire Command Register (CHx_DSM_CMDR) The link can be started by writing a '1' to bit 1 of this register.
The interrupt capability can be switched off by masking all interrupt sources through setting the complete interrupt mask register to “0" when the system is not able to service it. In this case SMCS332SpW ISR can be polled to wait for the event.
Page 59
RX-address generation after receiving an EOP/EEP and for the reception of another packet the receive channel must be set up again. In the second case the packets are appended and the SMCS332SpW only signals that the end of the segment is reached (RX generator finished).
Communication Memory. Also applications with sample oriented processing can take advantage of this feature. The CPU user makes usage of its direct access on the SMCS332SpW internal FIFOs to read/write the single data words to be transferred. With checking the FIFO flags the CPU must assure to handle the process of communication properly. This action results in a programming overhead of course, but saves board space and power.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 62 of 131 Example #2: The following two C-code routines show a handling of transferring small packets. (m: SMCS number, n: channel number) #define TXfull 0x02;...
Page 63
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 63 of 131 causes a special behaviour if a link error occurs. The remainder of the last written packet remains in the internal pipe which is not cleared in case of a SpaceWire link error. After the link reconnects, this remainder will be transmitted immediately after a new data character or an EOP is written to the HOCI FIFO.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 64 of 131 7 Signal Description The Figure below shows the SMCS332SpW embedded in a typical module environment: SMCS332SpW Processor HOSTBIGE HINTR INTERRUPT IN BOOTLINK HSEL CHIP SELECTS...
Page 65
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 65 of 131 Signal Name Type Function max. output load [pF] current [mA] host I/F Big Endian BOOTLINK control by host control by link CMCS(1:0)* O/Z Communication memory select lines. These pins are asserted as chip selects for the corresponding banks of the communication memory.
Page 66
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 66 of 131 Signal Name Type Function max. output load [pF] current [mA] Test Clock. Provides an asynchronous clock for JTAG boundary scan. Test Mode Select. Used to control the test state machine.
= GND see also the signal description in chapter 7. Although specified for TTL outputs, all SMCS332SpW outputs are CMOS compatible and will drive to VCC and GND assuming no dc loads. – All Rights Reserved – Copyright per DIN 34 –...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 68 of 131 Power consumption Max. power consumption figures at V = + 5.5V/ -55°C, CLK = 25MHz are: Operation Mode Power consumption [mA] not clocked...
SMCS332SpW provides separate supply pins for its internal logic and for its external drivers. All GND pins should have a low impedance path to ground. A ground plane is required in SMCS332SpW systems to reduce this impedance, minimizing noise.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 73 of 131 Host Read = 5 V ± 0.5V Description Symbol Min. Max. Unit HSEL*, HRD* and SMCSADR and HADR setup before CLK high HRSU...
Page 74
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 74 of 131 = 3.3 V ± 0.3V Description Symbol Min. Max. Unit HSEL*, HRD* and SMCSADR and HADR setup before CLK high HRSU HADR, SMCSADR hold after HSEL*, HRD* high...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 75 of 131 Host Write = 5 V ± 0.5V Description Symb. Min. Max. Unit HSEL*, HWR* and SMCSADR and HADR setup before CLK high HWSU...
Page 76
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 76 of 131 Description Symb. Min. Max. Unit HSEL*, HWR* and SMCSADR and HADR setup before CLK high HWSU HADR, SMCSADR hold after HSEL* or HWR* high...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 77 of 131 COMI Read = 5 V ± 0.5V Description Symbol Min. Max. Unit CMCS0*, CMCS1* and CMRD* low and CMADR valid after CLK CRCA...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 78 of 131 COMI Write = 5 V ± 0.5V Description Symbol Min. Max. Unit CMCS0*, CMCS1* and CMWR* low and CMADR valid after CLK CWCA...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 79 of 131 COMI Arbitration = 5 V ± 0.5V Description Symbol Min. Max. Unit COM Interface disable after CLK low CAID COM Interface enable after CLK high...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 80 of 131 CPUR, SES, Interrupt = 5 V ± 0.5V Description Symbol Min. Max. Unit CPUR*, SESx*, HINTR* delay after CLK high OUTC = 3.3 V ± 0.3V...
LDSI Note: is the minimum separation time between consecutive edges on the data and strobe inputs that the LDSI SMCS332SpW can discriminate correctly (for all speeds from 1.25 Mbps - 200 Mbps). = 3.3 V ± 0.3V Description Symbol Min.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 82 of 131 9.10 Test Port (JTAG) = 5 V ± 0.5V Description Symbol Min. Max. TCK period TCK width high TCKH TCK width low TCKL...
Page 83
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 83 of 131 Description Symbol Min. Max. TRST* pulse width 2 * t TRST SMCS Inputs setup before TCK high SYSS SMCS Inputs hold after TCK high...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 85 of 131 10.2 Pin Assignment The table below lists the pins of the SMCS332SpW Name Pin Number Name Pin Number Name Number PLLOUT HDATA18 CMDATA8...
Page 86
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 86 of 131 Name Pin Number Name Pin Number Name Number SMCSADR0 CMRD* CMDATA30 SMCSADR1 CMWR* CMDATA31 SMCSADR2 CMADR0 SMCSADR3 CMADR1 SMCSID0 CMADR2 VCC_3VOLT SMCSID1 CMADR3...
Yes; the SMCS332SpW features CMOS outputs and TTL inputs. When the SMCS332SpW is connected to a dual port memory, can it monitor the “busy” wire of the DPRAM? No. External logic is required for that. Due to the mechanism applied in the SMCS, it is not necessary to monitor busy wire when data is flowing via COMI.
Page 88
88 of 131 SMCS332SpW protocol specification (see Appendix B). When using the SMCS332SpW internal link loopback test mechanism, do the link signals propagate outside the SMCS332SpW? Yes, but you can avoid this by using the CHx_DSM_TSTR register bit 4: link output mute.
Page 89
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 89 of 131 and Byte3 Bit 7='0' COMI data port is set to 8 Bit width: datalines: 31-24 23-16 15-8 Byte0 if CHx_COMICFG bit 7 = 0...
Page: 90 of 131 11.2 BSDL File for the SMCS332SpW Below is the BSDL file required for using the JTAG port of the SMCS332SpW. -- BSDL for SMCS332SpW -- Uses HP's BSDL format and compiles correctly using HP's -- parser or compiler of JTAG Technologies...
Page 91
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 91 of 131 TDO : out bit; TMS : in bit; TRST : in bit; CMADR : out bit_vector(0 to 15); CMCS0 : out bit; CMCS1 : out bit;...
Page 93
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 93 of 131 attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true;...
Due to an anomaly in the SpaceWire CODEC (Coder / Decoder) version 1.4, which is used in the SMCS332SpW, the SMCS332SpW behavior is affected when more than one empty packet is received in a row. In this case the credit count is not updated correctly.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 111 of 131 *after Link-Initialisation/Disconnect the RCVEOP (received EOP) flag is cleared, therefore an EOP/EEP transmitted directly after link connects is counted properly and can be read from Rx-Buffer...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 113 of 131 12.2 Workaround A stop at either end of the link causes a disconnect and hence clears this problem. Note that there is NO need to reset the entire device Please do make sure that this situation be treated properly if consecutive empty packets are expected.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 114 of 131 13 Simple Interprocessor Communication Protocol Specification 13.1 Application Scenario The purpose of this protocol specification is to provide a framework which allows the exchange of data and simple system control commands between single nodes of a multiprocessor system.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 115 of 131 13.2 Assumptions about the Environment The protocol specified here is intended to work on top of the SpaceWire link protocol. This covers e.g. link startup, low level error handling, low level flow control, timeouts, routing provisions and the like.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 116 of 131 node CPU's working memory. If required, it is up to higher levels of a communication protocol to provide this acknowledge. Refer to para. 4.1 for details.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 117 of 131 Reset Link Interface Unit HW This command performs a hard reset (interrupting all currently running transmissions) of all link interfaces integrated within one link interface unit.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 118 of 131 This command is required since the link end which intents to stop link operation must inform the other end of the link. Otherwise the link shutdown might be interpreted as a link failure.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 119 of 131 Complex Commands Issuing complex commands results in two acknowledges: the low level acknowledge of the successful reception of the data packet containing the complex command and a high level acknowledge (contained in a response data packet) with information on e.g.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 120 of 131 After a critical simple command has been executed, the simple command execution state is immediately changed from 'enable' to 'disable'. This assures that every critical simple command execution must be preceded by a 'enable' command.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 121 of 131 received and decoded correctly. Data received previous to the reset command is still forwarded to the node's working memory. Utilizing the interrupt signal indicating to the node CPU that an externally commanded link reset has occurred, the CPU can then decide on invalidating data already received via this channel.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 122 of 131 13.5 Encoding (Format) of Transactions 13.5.1 Header and EOP Coding DEST Destination address of the packet 8 bit field CNTRL 8 bit control word for commands and acknowledges according to para.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 123 of 131 Req. Command Specification Remarks Spec reserved for future use, Bit 3-0 are not interpreted Complex Command Request (coded within the datafield), Bit 2-0 are not interpreted...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 124 of 131 13.5.3 Link Interface Status Register Encoding General Layout of the Link Interface Status Register: Bit 3 - Bit 0 (LSB) Link Interface Operation Mode...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 125 of 131 13.5.4 Data Transfer Type Transactions Requester Packet DEST CNTRL DATA CNTRL = Transfer Data, Complex Command Request or Complex Command Acknowledge DATA =...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 126 of 131 13.5.5 Read Link Interface Status Register Transaction Requester Packet DEST CNTRL CNTRL = Read Link Interface Status Register Actions: Reads the Link Interface Status Register...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 129 of 131 13.6 Glossary Communication Memory Part of a node's working memory reserved for communication. Computing Node A node which performs only computing tasks. Controlling Node A node which is allowed to perform system control tasks.
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 130 of 131 14 Differences between the SMCS332SpW and the old SMCS332 Summary of changed/modified/added registers or register bits 14.1 Address Register Description SMCS332 Description SMCS332SpW 0x04...
EADS Astrium GmbH, ASE2 SMCS332SpW Doc No: SMCS_ASTD_UM_100 Issue: User Manual Updated: 9-Sep-2006 Page: 131 of 131 Address Register Description SMCS332 Description SMCS332SpW the end of the packet '1' = send NO EOP token at the end of the packet...