OCTOBUS: Difference between revisions
Initial article |
OCTOBUS: add Protocol Deep Dive with message format, station table, command/kick codes |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
Octobus (or OCTObus, as it was written in some documentation) was a high-speed serial command bus for system-internal high speed signal/command transfer. It could send short messages used for synchronization of directly coupled processors in multi-processor configurations including [[DOMINO]] I/O controllers. | '''Octobus''' (or '''''OCTObus''''', as it was written in some documentation) was a high-speed serial command bus for system-internal high speed signal/command transfer. It could send short messages used for synchronization of directly coupled processors in multi-processor configurations including [[DOMINO]] I/O controllers. | ||
[[Image:3096B OCTOBUS MPM Channel Controller.jpg |300px | thumb | OCTOBUS card in a [[ND-5700]] crate.]] | |||
== Purpose == | |||
Octobus was a part of transforming the original ND-500 design, where the ND-110 processor was an I/O bottleneck, to a multi-processor system with DOMINO I/O boards connected directly to the MF-Bus. The role of OCTObus was to manage and synchronize the processors. | Octobus was a part of transforming the original ND-500 design, where the ND-110 processor was an I/O bottleneck, to a multi-processor system with DOMINO I/O boards connected directly to the MF-Bus. The role of OCTObus was to manage and synchronize the processors. | ||
=== | == Physical implementation == | ||
The [[MPM-5]] (MultiPortMemory) system was extended with the physical wiring and features for Octobus support and was then called [[Multi-Function bus]], or MF-Bus, introduced with the [[ND-5000]] series. | |||
== Protocol overview == | |||
* An OCTObus message is 32 bits. It includes priority, destination, source, information, etc. | * An OCTObus message is 32 bits. It includes priority, destination, source, information, etc. | ||
| Line 19: | Line 23: | ||
* Retries are handled by hardware. | * Retries are handled by hardware. | ||
== | == Signals == | ||
* XREQ - Transmit request | * XREQ - Transmit request | ||
| Line 26: | Line 30: | ||
* XRFO - Refresh oscillator | * XRFO - Refresh oscillator | ||
== | == Data rate == | ||
Data rate depends on cable length. | Data rate depends on cable length. | ||
| Line 42: | Line 46: | ||
|} | |} | ||
== | == Cabling == | ||
The internal backwired OCTObus in the MF-Bus is called a ''local'' OCTObus and is [[Wikipedia:Transistor-transistor_logic|TTL]]. Non-backwired OCTObus is called ''global'' OCTObus and uses [[Wikipedia:i/Differential_signaling|differential]] cable. | The internal backwired OCTObus in the MF-Bus is called a ''local'' OCTObus and is [[Wikipedia:Transistor-transistor_logic|TTL]]. Non-backwired OCTObus is called ''global'' OCTObus and uses [[Wikipedia:i/Differential_signaling|differential]] cable. | ||
== Protocol Deep Dive == | |||
=== Software Message Format (16-bit I/O Register) === | |||
OCTOBUS frames are manipulated by software as 16-bit words in I/O registers. The following table shows bit assignments: | |||
{| class="wikitable" style="text-align: center; font-family: monospace; font-size: 90%" | |||
|- | |||
! style="width: 7%" | Bit 15 | |||
! style="width: 7%" | Bit 14 | |||
! style="width: 21%" colspan="6" | Bits 13–8 | |||
! style="width: 7%" | Bit 7 | |||
! style="width: 7%" | Bit 6 | |||
! style="width: 7%" | Bit 5 | |||
! style="width: 7%" | Bit 4 | |||
! style="width: 21%" colspan="4" | Bits 3–0 | |||
|- | |||
| '''C''' || '''B''' || colspan="6" | '''DEST/SOURCE''' || '''E''' || '''K''' || '''M''' || '''S''' || colspan="4" | '''Data/Number''' | |||
|- | |||
| Control || Broadcast || colspan="6" | Destination/Broadcast || Emergency || Kick || Multibyte || Start/Stop || colspan="4" | Info/OMD | |||
|} | |||
; '''C (Bit 15) — Control''' | |||
: 1 = Control message (commands, kicks, multibyte envelopes) | |||
: 0 = Data message (payload bytes) | |||
; '''B (Bit 14) — Broadcast''' | |||
: 1 = Broadcast to station type | |||
: 0 = Unicast to specific station number | |||
; '''Bits 13–8 (6 bits) — Destination/Source''' | |||
: When B=0: Specific station number (1-62 decimal / 1-76 octal) | |||
: When B=1: Broadcast type for all nodes of a given class | |||
: Station 0 and 63 reserved/illegal | |||
; '''E (Bit 7) — Emergency''' | |||
: 1 = Emergency command (master clear, ACCP termination) | |||
: 0 = Normal command | |||
: Combined with command byte for emergency control codes | |||
; '''K (Bit 6) — Kick''' | |||
: 1 = Process activation/synchronization signal | |||
: 0 = Not a kick message | |||
: Kick numbers in bits 3-0 specify activation type (1-6) | |||
; '''M (Bit 5) — Multibyte''' | |||
: 1 = Part of multi-frame message sequence | |||
: 0 = Single-frame message | |||
: Used with S flag to delimit SOMB/EOMB boundaries | |||
; '''S (Bit 4) — Start/Stop''' (when M=1) | |||
: 1 = Start of Multibyte (SOMB) | |||
: 0 = End of Multibyte (EOMB) | |||
: OMD (Output Message Descriptor, 0-15) in bits 3-0 | |||
; '''Bits 3–0 (4 bits) — Data/Number/OMD''' | |||
: Control messages: Command code | |||
: Kick messages: Kick number (1-6) | |||
: Multibyte messages: OMD (0-15) for message queue/handler | |||
: Data frames: Payload byte or metadata | |||
=== Station Number Assignments === | |||
Station numbers follow the format: decimal (octal in ND documentation) | |||
{| class="wikitable" | |||
|- | |||
! Type !! Stations (Decimal) !! Octal Range !! Purpose | |||
|- | |||
| ND-120 CPU || 1 || 1 || Primary processor (ND-100 on ND-500-II systems) | |||
|- | |||
| MFbus Controllers || 2-7 || 2-7 || Memory and I/O control (ND-5000) | |||
|- | |||
| SCSI Controllers || 8-11 || 10-13 || Disk/storage control | |||
|- | |||
| Matra VME || 12-13 || 14-15 || VME bus interface | |||
|- | |||
| Multifunction Comm || 14-15 || 16-17 || Communication controllers | |||
|- | |||
| Hyperchannel || 16 || 20 || Network interface | |||
|- | |||
| FDDI/Fibernet || 17-19 || 21-23 || High-speed network | |||
|- | |||
| FPS-5000 || 20-23 || 24-27 || Floating-point accelerator | |||
|- | |||
| Graphics Controller || 24-27 || 30-33 || Display/graphics control | |||
|- | |||
| '''ND-5000 CPU''' || '''56-62''' || '''70-76''' || '''Processor (up to 7 CPUs per bus)''' | |||
|} | |||
=== Message Types === | |||
; '''Ident Message''' (C=1, E=0, K=0, M=0) | |||
: Station identity request/response | |||
: Bits 3-0 carry the ident number | |||
: Used for station discovery and presence verification | |||
; '''Kick Message''' (C=1, K=1) | |||
: Process activation and synchronization signals | |||
: Bits 3-0 specify the kick type (1-6) | |||
: No response expected | |||
; '''Emergency Message''' (C=1, E=1) | |||
: High-priority control commands (master clear, ACCP termination) | |||
: Hardware priority handling | |||
: Bits 3-0 carry emergency command code | |||
; '''Multibyte Message''' (C=1, M=1) | |||
: Multi-frame protocol for complex data and commands | |||
: Consists of SOMB, payload frames, EOMB | |||
: Supports inter-processor messaging via OMD (Output Message Descriptor) | |||
; '''Data Message''' (C=0) | |||
: Payload frame (body of multibyte message) | |||
: Bits 7-0 carry one data byte | |||
: Part of an active multibyte message sequence | |||
=== Multibyte Message Protocol === | |||
Multibyte messages allow transmission of variable-length payloads (0-255 bytes) across multiple frames. Used for: | |||
* [[NUCLEUS]] inter-processor messaging | |||
* System parameter configuration | |||
* Complex command sequences | |||
; '''Frame Sequence''' | |||
: '''SOMB (Start of Multibyte)''': C=1, M=1, S=1, OMD in bits 3-0 | |||
:: Destination station/broadcast type in bits 13-8 | |||
:: Initiates message reception at destination | |||
: '''Data Frame 1''': C=0, destination station, low byte = source OMD | |||
:: Identifies which OMD at the source will receive the reply | |||
: '''Data Frame 2''': C=0, destination station, low byte = payload byte count N | |||
:: Specifies how many payload bytes follow | |||
: '''Data Frames 3..N+2''': C=0, destination station, low byte = payload byte i | |||
:: Payload bytes transmitted one per frame | |||
: '''EOMB (End of Multibyte)''': C=1, M=1, S=0, OMD in bits 3-0 | |||
:: Signals message completion | |||
:: Destination processes the complete message | |||
; '''OMD (Output Message Descriptor)''' | |||
: Range 0-15 (4 bits), identifies message queue/handler at destination | |||
: OMD 0 reserved for OCTOBUS Test Protocol (station firmware service) | |||
: OMD 1-15 available for application messages | |||
: Destination replies by sending to the source OMD specified in Data Frame 1 | |||
=== Command Codes === | |||
Control messages (C=1, E=0) use command codes in the low byte: | |||
{| class="wikitable" | |||
|- | |||
! Code (hex) !! Octal !! Symbol !! Purpose | |||
|- | |||
| 0x00 || 000 || CMACK || Acknowledge | |||
|- | |||
| 0x0E || 016 || CMSYS || System parameter (multibyte header) | |||
|- | |||
| 0x10 || 020 || CMREA || Read address | |||
|- | |||
| 0x14 || 024 || CMDWW || Direct write word | |||
|- | |||
| 0x16 || 026 || CMDRW || Direct read word | |||
|- | |||
| 0x1B || 033 || CMRUN || Run | |||
|- | |||
| 0x1C || 034 || CMSTO || Stop | |||
|- | |||
| 0x1D || 035 || CMCON || Continue | |||
|- | |||
| 0x1E || 036 || CMRES || Reset | |||
|- | |||
| 0x21 || 041 || CMMAC || Master Clear (with E=1: emergency 0xA1/241₈) | |||
|- | |||
| 0x22 || 042 || CMACO || Continue ACCP (with E=1: emergency 0xA2/242₈) | |||
|- | |||
| 0x24 || 044 || — || Terminate ACCP (with E=1: emergency 0xA4/244₈) | |||
|- | |||
| 0x31 || 061 || CMENK || Enable kick | |||
|- | |||
| 0x36 || 066 || CMMIC || Microcode command | |||
|- | |||
| 0x39 || 071 || CMCPU || CPU reset (sent as multibyte to OMD 3 on ACCP) | |||
|- | |||
| 0x3A || 072 || CMTES || Test command | |||
|} | |||
=== Kick Numbers === | |||
Kick messages (K=1) use 4-bit kick numbers (bits 3-0) for process synchronization: | |||
{| class="wikitable" | |||
|- | |||
! Kick # !! Symbol !! Purpose !! Used By | |||
|- | |||
| 1 || N100KICK || Activate ND-5000 process || ND-100 to ND-500/ND-5000 | |||
|- | |||
| 2 || — || Alternate activate signal || ND-5000 | |||
|- | |||
| 3 || CLRKICK || Clear flag, continue process || Inter-CPU coordination | |||
|- | |||
| 4 || — || Update internal clock || System timing | |||
|- | |||
| 5 || — || '''NUCLEUS kick''' || NUCLEUS inter-processor messaging | |||
|- | |||
| 6 || IDLEKICK || Save context, go IDLE || Processor idle/sleep | |||
|} | |||
=== Hardware Message Format (32-bit on Wire) === | |||
The wire format includes bits not visible to software (managed by hardware). Total: 1 start bit + 30 data bits + 1 stop bit = 32 bits. | |||
{| class="wikitable" style="text-align: center; font-family: monospace; font-size: 85%" | |||
|- | |||
! style="width: 12%" | Priority<br/>(4 bits) | |||
! style="width: 12%" | Dest<br/>(6 bits) | |||
! style="width: 3%" | C<br/>(1) | |||
! style="width: 3%" | B<br/>(1) | |||
! style="width: 12%" | Source<br/>(6 bits) | |||
! style="width: 16%" | Information<br/>(8 bits) | |||
! style="width: 12%" | Parity<br/>(2 bits) | |||
! style="width: 12%" | Ack<br/>(2 bits) | |||
|- | |||
| Lost Access Counter || Destination Station || Control || Broadcast || Source Station || Data/Command || Bit Count || Delivery Status | |||
|} | |||
; '''Priority (4 bits)''' | |||
: Hardware-managed Lost Access Counter for bus arbitration | |||
: Prevents starvation: stations that lose arbitration gain higher priority | |||
; '''Parity (2 bits)''' | |||
: Two LSBs of count of '1' bits in frame (computed by hardware) | |||
; '''Ack (2 bits)''' — Delivery status code | |||
: 00 = Timeout (15 retries) | |||
: 01 = Successfully received | |||
: 10 = Destination busy (255 retries with automatic retry) | |||
: 11 = Parity error (B=0) or Ambiguous response (B=1) | |||
; '''Source (6 bits)''' | |||
: Station number of transmitter (set by hardware from STANO register) | |||
: On reception, this becomes the visible station number in software | |||
=== OCTOBUS Test Protocol (OMD 0) === | |||
Every station serves OMD 0, which implements the OCTOBUS Test Protocol. Used for: | |||
* Station discovery (Identify yourself) | |||
* Get present stations on bus | |||
* Echo single/multi-word messages | |||
* Read/write Octobus registers | |||
* Get station type and firmware version | |||
* Diagnostic and maintenance operations | |||
Protocol verified from TPE (Test Program Equipment) OCTOBUS B00 test suite: | |||
* Test 1: Transmit-receive loopback | |||
* Test 2: Pattern exhaustion | |||
* Test 3: FIFO depth verification | |||
* Test 4: Station discovery and registry | |||
* Test 5: Single-word echo | |||
* Test 6: Multi-word message echo | |||
== See Also == | |||
* [[ND-500]] — Classic 32-bit coprocessor | |||
* [[ND-500-II]] — ND-500 with OCTOBUS via line driver | |||
* [[ND-5000]] — Native OCTOBUS processor | |||
* [[NUCLEUS]] — Inter-processor messaging runtime | |||
* [[DOMINO]] — I/O controller system | |||
* [[MPM-5]] — Shared memory predecessor | |||
* [[MFbus]] — Modern successor bus (ND-5000) | |||
== Sources == | == Sources == | ||
| Line 51: | Line 328: | ||
{{Stub}} | {{Stub}} | ||
[[Category:Norsk Data hardware]] | |||
[[Category:Communication protocols]] | |||
[[Category:Bus architectures]] | |||
Latest revision as of 12:31, 22 July 2026
Octobus (or OCTObus, as it was written in some documentation) was a high-speed serial command bus for system-internal high speed signal/command transfer. It could send short messages used for synchronization of directly coupled processors in multi-processor configurations including DOMINO I/O controllers.

Purpose
Octobus was a part of transforming the original ND-500 design, where the ND-110 processor was an I/O bottleneck, to a multi-processor system with DOMINO I/O boards connected directly to the MF-Bus. The role of OCTObus was to manage and synchronize the processors.
Physical implementation
The MPM-5 (MultiPortMemory) system was extended with the physical wiring and features for Octobus support and was then called Multi-Function bus, or MF-Bus, introduced with the ND-5000 series.
Protocol overview
- An OCTObus message is 32 bits. It includes priority, destination, source, information, etc.
- Each device connected to the OCTObus is called a node.
- There can be up to 62 nodes on one OCTObus.
- An OCTObus can be bridged to another OCTObus if 62 nodes isn't sufficient.
- One node must be set up as MASTER. This node supplies the OCTObus clock (XCLK)
- Any node can be set up as MASTER, the MASTER node is not special.
- All nodes can take control of the bus, by issuing a request (XREQ) intercepted by the MASTER.
- Power failures are tolerated by all nodes.
- Retries are handled by hardware.
Signals
- XREQ - Transmit request
- XCLK - Clock
- XDAT - Data
- XRFO - Refresh oscillator
Data rate
Data rate depends on cable length.
| Cable length in meters | Clock frequency in MHz | Data rate in Mbits/s |
|---|---|---|
| 6 | 4 | 1.0 |
| 60 | 1 | 0.250 |
| 120 | 0.5 | 0.125 |
Cabling
The internal backwired OCTObus in the MF-Bus is called a local OCTObus and is TTL. Non-backwired OCTObus is called global OCTObus and uses differential cable.
Protocol Deep Dive
Software Message Format (16-bit I/O Register)
OCTOBUS frames are manipulated by software as 16-bit words in I/O registers. The following table shows bit assignments:
| Bit 15 | Bit 14 | Bits 13–8 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bits 3–0 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | B | DEST/SOURCE | E | K | M | S | Data/Number | ||||||||
| Control | Broadcast | Destination/Broadcast | Emergency | Kick | Multibyte | Start/Stop | Info/OMD | ||||||||
- C (Bit 15) — Control
- 1 = Control message (commands, kicks, multibyte envelopes)
- 0 = Data message (payload bytes)
- B (Bit 14) — Broadcast
- 1 = Broadcast to station type
- 0 = Unicast to specific station number
- Bits 13–8 (6 bits) — Destination/Source
- When B=0: Specific station number (1-62 decimal / 1-76 octal)
- When B=1: Broadcast type for all nodes of a given class
- Station 0 and 63 reserved/illegal
- E (Bit 7) — Emergency
- 1 = Emergency command (master clear, ACCP termination)
- 0 = Normal command
- Combined with command byte for emergency control codes
- K (Bit 6) — Kick
- 1 = Process activation/synchronization signal
- 0 = Not a kick message
- Kick numbers in bits 3-0 specify activation type (1-6)
- M (Bit 5) — Multibyte
- 1 = Part of multi-frame message sequence
- 0 = Single-frame message
- Used with S flag to delimit SOMB/EOMB boundaries
- S (Bit 4) — Start/Stop (when M=1)
- 1 = Start of Multibyte (SOMB)
- 0 = End of Multibyte (EOMB)
- OMD (Output Message Descriptor, 0-15) in bits 3-0
- Bits 3–0 (4 bits) — Data/Number/OMD
- Control messages: Command code
- Kick messages: Kick number (1-6)
- Multibyte messages: OMD (0-15) for message queue/handler
- Data frames: Payload byte or metadata
Station Number Assignments
Station numbers follow the format: decimal (octal in ND documentation)
| Type | Stations (Decimal) | Octal Range | Purpose |
|---|---|---|---|
| ND-120 CPU | 1 | 1 | Primary processor (ND-100 on ND-500-II systems) |
| MFbus Controllers | 2-7 | 2-7 | Memory and I/O control (ND-5000) |
| SCSI Controllers | 8-11 | 10-13 | Disk/storage control |
| Matra VME | 12-13 | 14-15 | VME bus interface |
| Multifunction Comm | 14-15 | 16-17 | Communication controllers |
| Hyperchannel | 16 | 20 | Network interface |
| FDDI/Fibernet | 17-19 | 21-23 | High-speed network |
| FPS-5000 | 20-23 | 24-27 | Floating-point accelerator |
| Graphics Controller | 24-27 | 30-33 | Display/graphics control |
| ND-5000 CPU | 56-62 | 70-76 | Processor (up to 7 CPUs per bus) |
Message Types
- Ident Message (C=1, E=0, K=0, M=0)
- Station identity request/response
- Bits 3-0 carry the ident number
- Used for station discovery and presence verification
- Kick Message (C=1, K=1)
- Process activation and synchronization signals
- Bits 3-0 specify the kick type (1-6)
- No response expected
- Emergency Message (C=1, E=1)
- High-priority control commands (master clear, ACCP termination)
- Hardware priority handling
- Bits 3-0 carry emergency command code
- Multibyte Message (C=1, M=1)
- Multi-frame protocol for complex data and commands
- Consists of SOMB, payload frames, EOMB
- Supports inter-processor messaging via OMD (Output Message Descriptor)
- Data Message (C=0)
- Payload frame (body of multibyte message)
- Bits 7-0 carry one data byte
- Part of an active multibyte message sequence
Multibyte Message Protocol
Multibyte messages allow transmission of variable-length payloads (0-255 bytes) across multiple frames. Used for:
- NUCLEUS inter-processor messaging
- System parameter configuration
- Complex command sequences
- Frame Sequence
- SOMB (Start of Multibyte): C=1, M=1, S=1, OMD in bits 3-0
- Destination station/broadcast type in bits 13-8
- Initiates message reception at destination
- Data Frame 1: C=0, destination station, low byte = source OMD
- Identifies which OMD at the source will receive the reply
- Data Frame 2: C=0, destination station, low byte = payload byte count N
- Specifies how many payload bytes follow
- Data Frames 3..N+2: C=0, destination station, low byte = payload byte i
- Payload bytes transmitted one per frame
- EOMB (End of Multibyte): C=1, M=1, S=0, OMD in bits 3-0
- Signals message completion
- Destination processes the complete message
- OMD (Output Message Descriptor)
- Range 0-15 (4 bits), identifies message queue/handler at destination
- OMD 0 reserved for OCTOBUS Test Protocol (station firmware service)
- OMD 1-15 available for application messages
- Destination replies by sending to the source OMD specified in Data Frame 1
Command Codes
Control messages (C=1, E=0) use command codes in the low byte:
| Code (hex) | Octal | Symbol | Purpose |
|---|---|---|---|
| 0x00 | 000 | CMACK | Acknowledge |
| 0x0E | 016 | CMSYS | System parameter (multibyte header) |
| 0x10 | 020 | CMREA | Read address |
| 0x14 | 024 | CMDWW | Direct write word |
| 0x16 | 026 | CMDRW | Direct read word |
| 0x1B | 033 | CMRUN | Run |
| 0x1C | 034 | CMSTO | Stop |
| 0x1D | 035 | CMCON | Continue |
| 0x1E | 036 | CMRES | Reset |
| 0x21 | 041 | CMMAC | Master Clear (with E=1: emergency 0xA1/241₈) |
| 0x22 | 042 | CMACO | Continue ACCP (with E=1: emergency 0xA2/242₈) |
| 0x24 | 044 | — | Terminate ACCP (with E=1: emergency 0xA4/244₈) |
| 0x31 | 061 | CMENK | Enable kick |
| 0x36 | 066 | CMMIC | Microcode command |
| 0x39 | 071 | CMCPU | CPU reset (sent as multibyte to OMD 3 on ACCP) |
| 0x3A | 072 | CMTES | Test command |
Kick Numbers
Kick messages (K=1) use 4-bit kick numbers (bits 3-0) for process synchronization:
| Kick # | Symbol | Purpose | Used By |
|---|---|---|---|
| 1 | N100KICK | Activate ND-5000 process | ND-100 to ND-500/ND-5000 |
| 2 | — | Alternate activate signal | ND-5000 |
| 3 | CLRKICK | Clear flag, continue process | Inter-CPU coordination |
| 4 | — | Update internal clock | System timing |
| 5 | — | NUCLEUS kick | NUCLEUS inter-processor messaging |
| 6 | IDLEKICK | Save context, go IDLE | Processor idle/sleep |
Hardware Message Format (32-bit on Wire)
The wire format includes bits not visible to software (managed by hardware). Total: 1 start bit + 30 data bits + 1 stop bit = 32 bits.
| Priority (4 bits) |
Dest (6 bits) |
C (1) |
B (1) |
Source (6 bits) |
Information (8 bits) |
Parity (2 bits) |
Ack (2 bits) |
|---|---|---|---|---|---|---|---|
| Lost Access Counter | Destination Station | Control | Broadcast | Source Station | Data/Command | Bit Count | Delivery Status |
- Priority (4 bits)
- Hardware-managed Lost Access Counter for bus arbitration
- Prevents starvation: stations that lose arbitration gain higher priority
- Parity (2 bits)
- Two LSBs of count of '1' bits in frame (computed by hardware)
- Ack (2 bits) — Delivery status code
- 00 = Timeout (15 retries)
- 01 = Successfully received
- 10 = Destination busy (255 retries with automatic retry)
- 11 = Parity error (B=0) or Ambiguous response (B=1)
- Source (6 bits)
- Station number of transmitter (set by hardware from STANO register)
- On reception, this becomes the visible station number in software
OCTOBUS Test Protocol (OMD 0)
Every station serves OMD 0, which implements the OCTOBUS Test Protocol. Used for:
- Station discovery (Identify yourself)
- Get present stations on bus
- Echo single/multi-word messages
- Read/write Octobus registers
- Get station type and firmware version
- Diagnostic and maintenance operations
Protocol verified from TPE (Test Program Equipment) OCTOBUS B00 test suite:
- Test 1: Transmit-receive loopback
- Test 2: Pattern exhaustion
- Test 3: FIFO depth verification
- Test 4: Station discovery and registry
- Test 5: Single-word echo
- Test 6: Multi-word message echo
See Also
- ND-500 — Classic 32-bit coprocessor
- ND-500-II — ND-500 with OCTOBUS via line driver
- ND-5000 — Native OCTOBUS processor
- NUCLEUS — Inter-processor messaging runtime
- DOMINO — I/O controller system
- MPM-5 — Shared memory predecessor
- MFbus — Modern successor bus (ND-5000)
Sources
- ND-14.001.1A DOMINO Standard Hardware Description
- "Sales information ND-5000 series" (found at www.sintran.com, original published by Norsk Data). Filesize 1.1 MB. Accessed on 03 August 2010.
|
|
This article is a stub. You can improve NDWiki by expanding it. |