CobraNet Datasheet

Real Time Audio Distribution Via

Features Overview

CobraNet CobraNet is a combination of hardware (the CobraNet interface), network protocol and firmware. CobraNet • Real-time distribution via Ethernet operates on a switched Ethernet network or on a dedicated • No overall limit on network channel capacity Ethernet repeater network. CobraNet provides the • Supports switched and repeater Networks following additional communications services for an • Fully IEEE 802.3 Ethernet standards compliant Ethernet network. • Fiber optic and variants fully supported • Ethernet infrastructure can be used simultaneously for • Isochronous data transport audio and data communications • Sample clock distribution •FreeCobraCAD™ audio network design tool • Control and monitoring data transport • High-quality audio sample clock delivery over Ethernet The CobraNet interface performs synchronous to • Bit transparent 16, 20, and 24-bit audio transport ischronous and ischronous to synchronous conversions as • Professional 48Khz sample rate well as the data formatting required for transporting real • Low (5-1/3 ms) time digital audio over the network. • Flexible many-to-many network audio routing capabilities The CobraNet interface has provisions for carrying and • Reduced cost, improved performance convergent audio utilizing control and monitoring data such as Simple distribution infrastructure Network Management Protocol (SNMP) through the same network connection as the audio. Standard data transport capabilities of Ethernet are shown here as unregulated traffic. Since CobraNet is Ethernet based, in most cases, data communications and CobraNet applications can coexist on the same physical network.

Data Services

Isochronous Data (Audio) Ethernet

Unregulated Traffic Control Data

Clock

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com Features (Cont.) CobraNet Interface Audio clock interface • Auto negotiating 100Mbit full-duplex Ethernet • 4 host audio clocking modes for maximal flexibility in connections digital audio interface design • 64 audio channel I/O capability • Low jitter 512FS (24.576 MHz) master clock oscillator • Implements CobraNet protocol for real-time transport of • Synchronize to supplied master and/or sample clock • Sophisticated jitter attenuation assures network • Local management via 8-bit parallel host port perturbations do not affect audio performance • UDP/IP network stack with dynamic IP address assignment via BOOTP or RARP Audio routing and processing • Remote management via Simple Network Management • Single channel granularity in routing from synchronous Protocol (SNMP) serial audio interface to CobraNet network • Module form factor allows for flexible integration into • Two levels of audio routing indirection absorbs any audio products quirks in audio I/O interface design in host system • 100 MIPS digital processor • Local audio loopback and output duplication capability • Non-volatile storage of configuration parameters • Peak reading audio metering with ballistics • Safely upgrade firmware over Ethernet connection • LED indicators for Ethernet link, activity for conductor status and fault annunciation • Watchdog output for system integrity assurance • Comprehensive power on self-test (POST) • Error and fault reporting and logging mechanisms Host Interface • 8-bit data, 3-bit address • Virtual 24-bit data and addressing • Polled, Interrupt and DMA modes of operation • Configure and monitor CobraNet interface • Transmit and receive Ethernet packets at 100Mbit wire speed Asynchronous serial interface • Full duplex capable • 8 and 9-bit data formats • All standard baud rates up to 57.6K • Transmitter tri-state control for multi-drop networking Synchronous serial audio interface • 4 bi-directional interfaces supporting up to 64 channels of audio I/O • 64FS (3.072 MHz), 128FS (6.144 MHz) and 256FS (12.288 MHz) bit rates supported • Configure data and clock skew to accommodate many synchronous serial formats including I2S • 24-bit data resolution on all audio I/O

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com Table of Contents

Overview ...... 1 CobraNet Terminology ...... 1 Protocol ...... 1 Beat Packet ...... 2 Isochronous Data Packet ...... 2 Reservation Packet ...... 2 Timing and Performance ...... 2 Bundle Identification ...... 3 Hardware...... 4 Signal Descriptions...... 4 Host port...... 5 SCI Port...... 5 Synchronous Serial (Audio)...... 5 Audio Clocks...... 6 Indicators...... 6 Miscellaneous...... 7 Power ...... 7 Control Communications ...... 8 Serial Bridge...... 8 Packet Bridge ...... 9 Synchronization...... 12 CobraNet Audio Clock Block Diagram ...... 12 Synchronization Modes ...... 12 Internal ...... 13 Internal with External Sample Synchronization ...... 13 External Word Clock...... 13 External Master Clock ...... 13 External Master Clock with External Sample Synchronization ...... 14 Network Stack ...... 15 CobraNet Audio...... 15 Serial Bridge...... 15 Packet Bridge ...... 15 BOOTP...... 15 RARP (partial support) ...... 16 ICMP (partial support) ...... 16 ARP ...... 17 IP ...... 17 UDP...... 17 TFTP ...... 18 SNMP ...... 18 Synchronous Serial Interface ...... 19 SSI Electrical Timing ...... 20 Normal Mode Data Timing...... 21 I2S Mode Data Timing...... 21 Audio Paths ...... 22 Audio Routing Channels...... 23 Bundle Transmitters ...... 23

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com iii

Bundle Receivers...... 23 Loopback ...... 24 Output Channel Duplication...... 24 Meters...... 24 Low Latency Audio Support...... 24 96 KHz Sample Rate Support...... 26 Management Interface...... 28 Flash ...... 28 Persistence ...... 29 Host Management Interface ...... 29 Read ...... 31 Write...... 31 Set Address ...... 32 Translate Address...... 33 Multiplex Operation...... 33 Goto Translation...... 34 Goto Packet...... 34 Goto Interrupt ...... 34 Packet Transmit ...... 34 Packet Received ...... 34 Interrupt Acknowledge ...... 35 Reference Implementation...... 35 High Performance Reference Implementation...... 36 DMA and Interrupt Driven Modes ...... 39 Bounds Violation / Invalid Address ...... 39 Read-Only...... 40 Addressing...... 40 Timing Specifications...... 40 Data Service—CM-1 ...... 40 Data Service—Reference Design ...... 40 Interrupt Service ...... 40 Set Address...... 41 Error Handling...... 41 Data and Interrupt Services...... 41 Set Address and Other Waits...... 41 Watch Dog ...... 41 SNMP Extension Agent ...... 42 Overview...... 42 Designing a MIB...... 43 Defining an Extension Agent...... 43 Declare Variables ...... 43 Create HMI Mappings ...... 43 Create MIB Mappings...... 44 Example Extension Agent MIB (exta.mib) ...... 46 Example Extension Agent Definitions (exta.asm)...... 48 Management Interface Variable Reference ...... 51 Legend...... 51 Data Types ...... 51 MIB-II Variables ...... 54 System...... 54 Interface...... 57 Address Translation...... 65 IP ...... 66 UDP ...... 73

CobraNet Datasheet - rev 1.6 May 27, 2003 iv www.cirrus.com SNMP ...... 75 CobraNet Variables ...... 85 Firmware...... 85 Flash...... 88 Errors...... 92 Conductor...... 95 Packet Bridge ...... 97 Serial Bridge...... 102 Interrupt Control...... 105 Audio ...... 107 Receivers...... 113 Transmitters...... 117 Synchronization...... 122 SNMP Monitor ...... 125 MI Monitor...... 126 IP Monitor ...... 127 Recommended User Interface Practices...... 128 Channel Assignments and Labeling...... 128 Audio I/O Map ...... 128 Bundle Assignments...... 128 Conductor Priority...... 129 Name...... 129 Recoverable Errors ...... 130 Receive and Transmit Errors...... 130 Faults...... 130 Unrecoverable Errors ...... 130 Fatal Faults...... 130 POST Failure...... 131 Error Code Reference ...... 132 Legend ...... 132 Error Codes ...... 133

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com v

CobraNet Datasheet - rev 1.6 May 27, 2003 vi www.cirrus.com Overview

Overview

CobraNet Terminology

CobraNet is a technology that spans the audio and data communications industries. While each industry has its own set of terminology, the following terms are associated with CobraNet itself. CobraNet Interface—The CobraNet interface is the hardware (or hardware design) and software supplied by Peak Audio to CobraNet licensees and affiliates. CobraNet Device—A CobraNet device is any equipment containing one or more CobraNet interfaces. Conductor—The conductor is the CobraNet interface elected to provide master clock and transmission arbitration for the network. The role of the conductor and the means for selecting a conductor will be described in more detail shortly. All other CobraNet devices onthenetworkcanbesaidtobeoperatinginaperformer role. Audio Channel—On CobraNet an audio channel is digital with a 48KHz sample rate, and user selectable 16, 20 or 24 bit resolution. Bundle—A bundle is the smallest network audio routing element. A bundle represents transmission of an Ethernet packet once per isochronous cycle. A bundle may carry 0 to 8 audio channels. Bundles are numbered 1 through 65279. Bundles have a single transmitter. Bundles were formerly known as Network Channels. You may see bundles referred as channels or network channels in some SNMP variable names and older documentation. There are two types of bundles: Multicast Bundle—Bundles 1 through 255 are multicast bundles. A transmitter configured to source a multicast bundle will always transmit the audio regardless of whether anyone is receiving. Point-to-multipoint connections are possible. Multicast addressing is used for the data packets associated with a multicast bundle. Unicast Bundle—Bundles 256 through 65279 are unicast bundles. In most cases, unicast addressing is used for data packets supporting a unicast bundle. A transmitter and receiver must both be dialed in to a unicast bundle before any data flows.

Protocol

The CobraNet protocol operates at the (OSI Level 2). CobraNet uses three basic packet types. All packets are identified with a unique protocol identifier (0x8819) assigned to Peak Audio. As CobraNet is a (LAN) technology not a Wide Area Network (WAN) technology, CobraNet does not utilize the popular Protocol (IP) to transport audio. The IP transport is most valuable on a WAN.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 1 Overview

Beat Packet A multicast addressed packet (01:60:2B:FF:FF:00). Contains network operating parameters, clock and transmission permissions. The beat packet is transmitted from a single CobraNet device on the network and indicates the start of the isochronous cycle. Since the beat packet carries the clock for the network, it is sensitive to delivery variation. Failure to meet the delay variation specification specified below may prevent devices from locking their local sample clock to the network clock. The beat packet is typically small (100 bytes) but can be large on a network with numerous active bundles.

Isochronous Data Packet A multicast or unicast destination addressed (depending on number of destinations and bundle type) packet. Buffering is performed in the CobraNet devices thus out of order delivery of data packets is acceptable. To keep overhead in check, data packets are typically large (1000 bytes).

Reservation Packet A multicast addressed packet (01:60:2B:FF:FF:01). CobraNet devices typically transmit a reservation packet once per second. The reservation packet is never large.

Timing and Performance

CobraNet provides real-time audio delivery. As such CobraNet requires real-time performance from the network on which it is deployed. The best means of insuring a network will deliver the performance required by CobraNet is to verify the design using Peak Audio's CobraCAD software (available for download at www.peakaudio.com). The design check algorithm in CobraCAD assures that the following numerical performance requirements are met. In addition, CobraCAD will verify that the network is capable of carrying the requirements of the audio application.

Parameter Maximum Commentsa

Receivers may loose sample lock or fail to meet clock delivery specifications Beat Packet Delay Variation 250µs when this specification is exceeded. Forwarding delay is the sum of store forward, queuing and propagation delays. Forwarding delay includes delay variation i.e. 150µs forwarding delay + 250µs Forwarding Delay towards delay variation = 400µs. Thus tolerance of forwarding delay is reduced in the achieving 5-1/3ms audio 400µs presence of delay variation. Additional audio latency is added to the audio in propagation delay increments of 64 sample periods (1-1/3ms) if the forwarding delay specification is violated. Forwarding Delay 3800µs Audio cannot be delivered at any latency with extreme forwarding delays.

a. With the exception of the reservation packet, any dropped packet will cause an interruption in service. Dropped isochronous data packet(s) will affect only the associated bundle(s). Dropped beat packets may affect the entire network.

CobraNet Datasheet - rev 1.6 May 27, 2003 2 www.cirrus.com Overview

Bundle Identification

Audio is carried in bundles on a CobraNet network. A bundle is the smallest routing element on the network. A bundle may contain zero to 8 audio channels. Multicast bundles are a global resource. There may be only one transmitter assigned to a multicast bundle during any isochronous cycle. The conductor enforces this restriction. Multicast bundles represent a least common denominator for audio interoperability in networks. Since they are never unicast, data packets associated with multicast bundles are delivered indiscriminately to all points on the network and thus wreak havoc on switched networks. See Bundle Assignments in CobraNet Systems (available at www.peakaudio.com) for a discussion of issues associated with multicast bundles. Unicast bundles are a global resource there may be only one transmitter assigned to a unicast bundle during any isochronous cycle. The conductor enforces this restriction. These bundles may be unicast or multicast addressed at the discretion of the transmitter. Control over the selection of multicast vs. unicast addressing is provided in the txUnicastMode variable. The default configuration for txUnicastMode insures that unicast bundles are never multicast. Even when using unicast addressing, unicast bundles may be used for point-to-multipoint routing by adjusting the txMaxUnicast variable and transmitting multiple copies of the same audio data to different destinations using unicast addressing. Individual transmitters locally allocate private bundles. Like unicast bundles, these may be either unicast or multicast based on txUnicastMode. The transmitter's MAC address in addition to the bundle number is required to fully qualify a private channel at the receiver.

Hexadecimal Decimal Transmission Transmission Designation Usage Bundle # Bundle # Addressing Mode

Unused bundle. Disables 00Nulltransmission/reception when Never transmitted. Never transmitted. selected. Transmitted by a single Always 1-0xFF 1-255 Multicast CobraNet interface and received Always multicast transmitted. by any number of interfaces. Transmitted by a single CobraNet interface. Dependent Only transmitted Generally unicast on txUnicastMode and when at least one but may multicast if 0x100- txMaxUnicast settings may be receiver is 256-65279 Unicast txUnicastMode 0xFEFF received at a single (default identified via variable is case), a few (multiple unicast reverse adjusted. case) or a large number reservation. (multicast case) of interfaces. Individual transmitters locally allocate private channels. The Only transmitted Generally unicast bundle number is conditioned on when at least one but may multicast if 0xFF00- the transmitter's MAC address. receiver is 65280-65535 Private txUnicastMode 0xFFFF There are 256 of these bundles identified via variable is per transmitter thus the total reverse adjusted. number of private bundles is reservation. virtually unlimited.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 3 Hardware

Hardware Flash memory holds the DSP firmware and management interface variable settings. Static random access memory (SRAM) is the working store for the DSP. All Ethernet and audio buffers are located in SRAM. The (DSP) is the heart of the CobraNet interface. It implements the network protocols stacks and performs the synchronous to isochronous and isochronous to synchronous conversions. The DSP has a role in sample clock re- generation and performs all interactions with the host system. The sample clock is generated by a voltage controlled crystal oscillator (VCXO) controlled by the DSP. The DSP carefully adjusts the VCXO frequency to achieve lock with the network clock. The Ethernet media access controller (MAC) and physical interface (PHY) are standard interface chips that implement the 100Mbit Fast Ethernet standard. As per Ethernet requirements the interface is transformer isolated.

Flash

SRAM Sample Clock Clock DSP Ethernet Ethernet Audio MAC PHY

Serial Ethernet OP Timer Host

Figure 1. CobraNet Interface Hardware Block Diagram

Signal Descriptions

Think of the CobraNet core as an integrated circuit. The pinout of this integrated circuit defines its interface to the other portions of an audio product in which it resides. The interface described below represent the external pins of the CobraNet interface. There have been several versions of the CobraNet interface hardware since the introduction of CobraNet. The Reference Design was the first widely available implementation. The reference design has now been entirely superseded by the CM-1.

CobraNet Datasheet - rev 1.6 May 27, 2003 4 www.cirrus.com Hardware

The following signal descriptions document both the Reference Design and CM-1 signals. There are some variations between the two.

Host port The host port is used to manage and monitor the CobraNet interface. Electrical operation and protocol is detailed in the host management interface (HMI) section of this datasheet.

Reference Description CM-1 Signal Direction Notes Design Signal

Host Data HDATA[7-0] HD[7-0] In/Out Host port data. Host Address HADDR[2-0] HA[2-0] In Host port address. Host HRW HR/!W In Host port transfer direction. Direction Host Request HREQ# !HREQ Out Host port data request. Host Alert HACK# !HACK Out Host port interrupt request. Host Strobe HDS# !HEN In Host port strobe. This signal connects to the DSP563030’s HCS signal. Because of the way the host port is configured by the Host Enable HEN# n.a. In CobraNet application, this signal is unused and should be tied low.

SCI Port These are un-buffered DSP serial communications interface (SCI) signals. Drive and buffer circuits are typically required between these signals and any external connections.

Description Signal Direction Notes

Asynchronous Serial Receive SCI_RXD In Pull-up to VCC if unused. Data Asynchronous Serial Transmit SCI_TXD Out Data Enable transmit (active high) drive for 2 wire multi-drop Transmit Drive Enable SCI_SCLK Out interface.

Synchronous Serial (Audio) The synchronous serial interfaces are used to bring digital audio into and out of the system. Typically the SSI is wired to ADCs and/or DACs. Detailed SSI timing and format is described in Synchronous Serial Interface Data Format.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 5 Hardware

Description CM-1 Signal Signal Direction Notes

Synchronous serial bit clock. Depending on audio Audio Bit Clock SSI_CLK SSI_BCLK Out interface mode operation, this is 256FS (8x4 channels), 128FS (4x4 channels) or 64FS (2x4 channels). Audio Output SSI_DOUT[3-0] SSI_STD[3-0] Out Output synchronous serial audio data Data Audio Input Data SSI_DIN[3-0] SSI_SRD[3-0] In Output synchronous serial audio data

Audio Clocks See synchronization section for an overview of synchronization modes and issues.

Reference Description CM-1 Signal Direction Notes Design Signal

48Khz sample clock (1FS) is present at this output while EXTWRDCLK Sample clock FS1 Out the interface is connected to the network and operating OUT properly. Clock input for synchronizing network to an external EXTWDRCLK Reference clock REFCLK_IN In clock source, for redundancy control and IN synchronization of FS divider chain to external source. Master audio clock For systems featuring multiple CobraNet interfaces FS512_IN EXTFS256 In input operating off a common master clock. Master audio clock Note that CM-1 uses a faster master clock than FS512_OUT FS256B Out output reference design FS[128..2], Derived audio clocks n.a. Out All binary divisors of master audio clock FS

Indicators

CM-1 Indicator Reference Design Signal Description

Transmission onto Ethernet in progress (hardware [PHY] controlled Flashing Green TRANSMIT_LED signal) Flashing Green RECEIVE_LED Activity on Ethernet detected (hardware [PHY] controlled signal) Solid or Flashing LINK_LED Valid connection to Ethernet (hardware [PHY] controlled signal) Green n.a. 100/10_LED 100Mbit ethernet connection (hardware [PHY] controlled signal) n.a. RX_ERROR Receive error condition (firmware controlled signal) n.a. TX_ERROR Transmit error condition (firmware controlled signal) Indicates interface is providing master clock for the network (firmware Yellow CONDUCTOR controlled signal). Red FAULT Indicates internal fault detected in interface (firmware controlled signal).

CobraNet Datasheet - rev 1.6 May 27, 2003 6 www.cirrus.com Hardware

Miscellaneous

Reference Description CM-1 Signal Direction Notes Design Signal

Reset HRESET# !RESET In System reset (active low). 10 ns max rise time. Indicates a reset request has been received from the Debugger OnCE debugging interface. This should be wired back to n.a. !ONCE_RST Reset !REST in some way. Module contains integral circuity for supporting debug reset. Pulses at 750Hz nominal rate to indicate proper !WATCH_DAW operation. Duration in excess of 200ms indicates Watch Dog WATCHDOG Out G hardware or software failure has occurred and the interface should be reset. Interface Asserts (active low) during initialization and when fault MUTE# n.a. Out Ready detected or connection to network is lost. Direct connections to unused RJ-45 pins. Can be used for remotely powering the CobraNet interface and attached equipment over the CAT-5 Ethernet cable: Cable Power AUX_POWER[0..3] n.a. In/Out • AUX_POWER0: RJ-45 pin 4 • AUX_POWER1: RJ-45 pin 5 • AUX_POWER2: RJ-45 pin 7 • AUX_POWER3: RJ-45 pin 8 Signals reserved for future/application specific features. Reserved RSVD[0..5] n.a. In/Out Leave disconnected.

Power

CM-1 Power Reference Design Power Description Specification

VCC_+3 n.a. System digital +3.3v 3.3 +/- 0.3v, 1.2A VCC_+5 n.a. System digital +5.0v 5.0 +/- 0.25v, 0.1A n.a. VCC System digital +5.0v 5.0 +/- 0.25v, 2.0A GND GND Digital Ground

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 7 Control Communications

Control Communications

Serial Bridge

Asynchronous serial data streams may be bridged across the network using the serial communications interface (SCI) port. Characters received into the SCI port are buffered andplacedinthepayloadofanEthernetpacket.Thepacketisthentransmittedontothe network in either a unicast or multicast manner as selected by the host or manager. Most standard asynchronous serial formats are supported. The feature can bridge 8 or 9 bit formats without parity or 8 bit formats with any parity configuration. Baud rates up to 57.6K are supported. With proper physical interface circuitry, this port can be made to support RS-232, RS-422 or RS-485 electrical formats. Multi-drop network mode (RS-485) is also supported. The feature can be useful in a CobraNet enable product as either an internal or external feature. Used externally, an interface to back-panel connectors can be supplied. Anything can be plugged into these connections. This can be used to allow remote control of other devices in a rack that are not directly connected to the network. When used externally, the serial bridging feature would be configured to use public asynchronous communications addresses.

CobraNet Ethernet CobraNet Interface Network Interface

RS-232 RS-485 Connection Multi-drop Network

Figure 2. Serial Bridging

Internally this feature can be used for control communications between host processors in different devices on the network. Using this communication scheme reduces engineering effort in integrating CobraNet into audio products that already accomplish control communications via serial link.

Micro- CobraNet Ethernet CobraNet Micro- controller Interface Network Interface controller

Figure 3. Packet Bridging

CobraNet Datasheet - rev 1.6 May 27, 2003 8 www.cirrus.com Control Communications

The serial bridging feature attempts to emulate a straight wire connection, however, delays are introduced in serial communications by the process of packetizing and re- serializing data. These delays are on the order of 10ms. This delay is most significant when query/response protocols are bridged as the delay can dominate response time when queries and/or responses are short.

Packet Bridge

The packet bridge provides a means for using the CobraNet interface as if it were an Ethernet controller. This feature provides the basic capability of sending and receiving raw Ethernet packets. A product utilizing a control processor with network stack can use this feature to achieve control and audio transmission over the same connection. The host sees the packet bridge as several control variables and two large packet buffers, one for transmit and one for receive. All of these are located in the HMI memory space. Ethernet data packets are transferred in both directions over the host port using the same semantics as is used to read and write management variables. The packet bridge can operate in either a series or parallel mode. In series mode, the packet bridge presents, to the host, all packets that are of no interest to the CobraNet interface. Packets of interest to the CobraNet interface include BOOTP requests, ARP requests, RARP responses, UDP packets to port 161 (SNMP) and 69 (TFTP) and CobraNet reservation requests. In parallel mode, the interface makes copies of these packets so that they can be processed by CobraNet network stack and the host processor's network stack. The packet bridge never passes audio data packets or beat packets to the host though reservation packets can be made available to the host. The bridgeRxFilter variable controls which received packets are made available to the host through the packet bridge as shown in Figure 4.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 9 Control Communications

Ethernet packet

0x10 bridges all packets with unknown protocol (usually custom control protocol)

N NN CobraNet? Process packet ARP/RARP? IP? 0x8819 bridgeRxPktBuffer

Y Y Y

CobraNet IP? N N N MyIpAddr Reservation Beat Packet? Audio request?

N=specialcase Y

Y Y Y SNMP? SNMP Agent

Process beat packet Process ARP or N Process RARP request reservation request Y TFTP? TFTP Server

N

Y 0x08 copies all IP packets and forwards to host processor BOOTP? BOOTP Client

0x01 bridges special 0x8819 non-audio packets

0x02 copies reservation requests and forwards to host processor

Figure 4. Packet bridge receive filtering

Series mode is the default mode of operation and is used when the host processor and the CobraNet interface are to share an IP address. From the network manager's perspective this is probably the most straightforward approach. This approach may, however require some work on the host processor network stack such that it can cooperate with the CobraNet stack. Also, the host processor has no direct access to services already supported by the CobraNet interface—principally SNMP and TFTP.This needn't be a huge obstacle as FTP is still available and generally preferred over TFTP for file transfer operations. Through the use of extension agent technology, the host can gain SNMP functionality by piggybacking on CobraNet's SNMP agent. Parallel mode is invoked by setting the 0x08 bit in bridgeRxFilter. When parallel mode is used, the CobraNet interface and the host processors are typically operating independently with different IP addresses. To network management applications a device operating in parallel mode will appear as two separate devices. In the parallel scheme, the host processor's network stack is not constrained in the services it supports and is not

CobraNet Datasheet - rev 1.6 May 27, 2003 10 www.cirrus.com Control Communications

required to cooperate with CobraNet's stack. This flexibility may be well suited when adapting existing network applications to CobraNet or when a less flexible off the shelf network operating system is used on the host processor.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 11 Synchronization

Synchronization

CobraNet Audio Clock Block Diagram

This diagram shows clock related circuits on the CM-1. The reference design hardware has a similar circuit. This circuitry allows the synchronization modes documented below to be achieved. Modes are distinguished by different settings of the multiplexors and software elements.

FS512OUT VCXO DAC 24.576MHz AClkConfig ±100PPM Audio SSI FS1 Clock Sample Generator SCK Phase FS512IN Counter Ext512Enable Time Loop RefClkEnable Edge Stamper Filter Detect RefClkPolarity

REFCLK

BeatReceived

Legend:

Hardware FPGA Software Component Component Component

Figure 5. Audio Clock Sub-system

Synchronization Modes

Clock synchronization mode for Conductor and Performer roles is independently selectable via management interface variables syncConductorClock and syncPerformerClock. The role (conductor vs. performer) is determined by the network environment including the conductor priority of the device and the other devices on the network. It is possible to assure you will never assume the conductor role by selecting a conductor priority of 0. It is not reasonable to assume that by setting a high conductor priority, you will always assume the conductor role.

CobraNet Datasheet - rev 1.6 May 27, 2003 12 www.cirrus.com Synchronization

Internal All CobraNet clocks are derived from the onboard VCXO. The master clock generated by the VCXO is available to external circuits via the master clock output. Conductor—The VCXO is parked according to the syncClockTrim setting. Performer—The VXCO is steered to match the clock transmitted by the Conductor.

Internal with External Sample Synchronization This mode is identical to internal mode except that it allows synchronization of derived clocks (sample clock, audio bit clock) to an external source via the reference clock input. This additional functionality is useful when adapting the CobraNet interface to a device that already has circuitry for generating the derived clocks. Conductor—The VCXO is parked according to the syncClockTrim setting. Performer—The VXCO is steered to match the clock transmitted by the conductor.

External Word Clock All CobraNet clocks are derived from the onboard VCXO. The VCXO is steered from an external clock supplied to the reference clock input. The clock supplied can be any integral division of the sample clock in the range 750Hz-48KHz. The clock must have a +/ -50ppm precision. External synchronization lock range: +/-0.25 audio sample period (+/-5.2µs). This specification indicates drift or wander between the supplied clock and the generated network clock at the conductor. Absolute phase difference between the supplied reference clock and generated sample clock is unspecified i.e. +/-0.5 sample period. Conductor—This mode gives a means for synchronizing an entire CobraNet network to an external clock. Performer—The node will disregard the fine timing information delivered over the network from the conductor. Fine timing information will instead be supplied by an reference clock. The external clock source must be synchronous with the network conductor. This mode may be useful in installations where a house sync source is readily available.

External Master Clock The VCXO is disabled and the supplied master audio clock input is used as the master clock for the node. This is a “hard” synchronization mode. The supplied clock is used directly by the CobraNet interface for all timing. The supplied clock must be 24.576MHz for CM-1 or 12.288MHz for the Reference Design. The supplied clock must have a 50PPM precision. Conductor—The entire network is synchronized to the supplied clock. Performer—The node will initially lock to the network clock and will “jam sync” via the supplied master clock. The external clock source must be synchronous with the network conductor. This mode is primarily useful for devices with multiple CobraNet interfaces.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 13 Synchronization

External Master Clock with External Sample Synchronization This mode is identical to External Master Clock mode except that it allows synchronization of the derived clocks (sample clock, audio bit clock) to an external source via the reference clock input. This additional functionality is useful when adapting the CobraNet interface to a device that already has circuitry for generating derived clocks of its own. Conductor—The entire network is synchronized to the supplied clock. Performer—The node will initially lock to the network clock and will “jam sync” via the supplied master clock. The external clock source must be synchronous with the network conductor. This mode is useful for devices with multiple CobraNet interfaces.

CobraNet Datasheet - rev 1.6 May 27, 2003 14 www.cirrus.com Network Stack

Network Stack

Internet Protocol Suite CobraNet Services

Application BOOTP SNMP TFTP CobraNet Serial Audio Bridge Transport UDP Packet Bridge Network RARP ARP ICMP IP

Logical Link 802.3 Ethernet

Physical Fast Ethernet Interface

Figure 6. CobraNet Network Stack

CobraNet Audio

This includes transmission and reception of audio data packets and reservation requests, implementation of conductor arbitration and the ability to serve in either conductor or performer roles. CobraNet audio is a self-contained service that spans from Logical Link (2) to Application (7) layers.

Serial Bridge

This service provides bridging of asynchronous serial streams over the Ethernet network. This self-contained service spans from the Logical Link to the Application layer. The serial bridge service has been discussed in detail in the control communications section.

Packet Bridge

This service simply allows the CobraNet interface to operate as an Ethernet controller for a connected host. This service works at the Logical link layer and provides access to the network without providing any actual network services. The packet bridge feature has been discussed in detail in the control communications section.

BOOTP

The boot protocol (BOOTP) is supported as specified in RFCs 951 and 1542. Network clients use BOOTP to receive an IP address from a central server or servers.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 15 Network Stack

Clients needing an IP address will broadcast a BOOTP request packet. A BOOTP server on the network will respond with a BOOTP response containing the preferred IP address for the client to use. Use of BOOTP simplifies the otherwise error-prone task of assigning unique IP addresses to devices on a large network. BOOTP is carried via UDP/IP and as such is able to pass through properly configured routers. BOOTP support for CobraNet was first introduced in the 2.6.3 firmware release. BOOTP requests are transmitted by the CobraNet interface on a randomized schedule as recommended in the RFCs. Requests are sent out more frequently at startup and then taper down to an approximate 2 per minute minimum rate. Two conditions must be met before a CobraNet device will send out BOOTP requests... • Device must not already have an IP address. Apart from BOOTP, there are two other means for a CobraNet interface to obtain an IP address—RARP and the ipMonitor variables. • Device must be attached to a switched network. This requirement is intended to avoid producing unregulated traffic on a repeater network. Upon receipt of a valid BOOTP response, a CobraNet device will change its IP address to the IP address indicated by the BOOTP response. A response needn't be paired with a specific request to be considered valid.

RARP (partial support)

RFC 903 defines reverse address resolution protocol (RARP). Network clients use RARP to receive an IP address from a central server. RARP differs from BOOTP in that it is carried at the logical link layer and thus cannot pass through IP routers. RARP is comprised of request and response packet types. Upon receipt of a valid RARP response packet, a CobraNet device will change its IP address to the IP address indicated by the RARP response. The CobraNet network stack does not transmit RARP request packets. RARP support for CobraNet was introduced in the 2.4.3 firmware release. RARP is the means used by the CobraNet discovery application (Disco) and CNDisco COM object for IP address assignment.

ICMP (partial support)

Internet control message protocol (ICMP) is an administrative helper protocol to the . ICMP is defined in RFC 972. CobraNet devices respond to ICMP echo requests. This is the functionality used by the ubiquitous “ping” network diagnostic utility. No other ICMP messages are implemented in the CobraNet network stack. ICMP support for CobraNet was introduced in the 2.6.1 firmware release.

CobraNet Datasheet - rev 1.6 May 27, 2003 16 www.cirrus.com Network Stack

ARP

Address resolution protocol (ARP) is used by IP for translation between Ethernet hardware (MAC) address and IP address. RFC 826 defines ARP. A host seeking a MAC address associated with a specified IP address broadcasts an ARP request. The device using the specified IP address replies with an ARP response packet. In this way the requesting host obtains the MAC address for the target device. The CobraNet responds to ARP request when appropriate. The CobraNet device is not capable of generating an ARP request. This means that the CobraNet network stack is limited to responding to IP messages and is not able to initiate communications.

IP

The internet protocol (IP) is defined in RFC 791. IP is a network protocol (layer 3 of the OSI 7 layer networking model) responsible for routing of message packets and segmentation and reassembly of these message packets. The CobraNet implementation of IP has the following limitations: • Segmentation and reassembly is not supported. Segmentation is primarily utilized by stream based TCP based protocols that can generate large data packets. Reassembly capability can be necessary on heterogeneous networks (those comprising multiple network technologies such as Ethernet, FDDI and ISDN). • Cannot initiate communications; can only respond to incoming messages. The CobraNet implementation does not support net mask and default gateway concepts required to initiate communications to other subnets. Furthermore CobraNet's implementation of ARP does not support generation of the ARP requests. None of the IP protocols supported by CobraNet require initialization of communications.

UDP

User datagram protocol (UDP) is defined in RFC 768. UDP is a transport protocol (layer 4 of the OSI 7 layer networking model) responsible for maintaining the integrity of data. UDP is an extremely simple protocol which, by design, defers the data integrity problem to application protocols in higher network layers. CobraNet fully supports UDP. This functionality was introduced in the 2.4.3 firmware release.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 17 Network Stack

TFTP

Trivial file transfer protocol (TFTP) is defined in RFC 783. TFTP supports file read and write via a UDP/IP transport. The CobraNet implementation supports only binary reads and writes to a specific set of files that represent the sectors of the flash memory. The TFTP file names differ for different revisions of CobraNet interface hardware. CobraNet utilizes TFTP for firmware upgrades. A TFTP server is implemented in the CobraNet interface. A TFTP client can directly read and write the flash memory in the interface to affect a firmware update. Firmware update is a complex process best left to an encapsulated software module such as the PACNFirm COM object that is well aware of the data structures utilized.

SNMP

Version 1 of the simple network management protocol (SNMP) is defined in RFC 1157. TheSNMPprotocolhascontinuedtoevolveandaversion3iscurrentlydeployed. Despite this, version 1 has sustained deployment and support. CobraNet supports version 1 (SNMPv1). A management information base (MIB) is associated with any SNMP implementation. CobraNet supports the standard MIB for network devices as defined in RFC 1213 “MIB- II.” In addition CobraNet supports its own MIB for CobraNet specific settings and status. The CobraNet MIB specification is available for public download from the Peak Audio web site (www.peakaudio.com).

CobraNet Datasheet - rev 1.6 May 27, 2003 18 www.cirrus.com Synchronous Serial Interface

Synchronous Serial Interface These specifications apply specifically to the CM-1 CobraNet interface hardware. The older reference design interface hardware operates on the same principals though only supports the “normal” timing mode and does not support I2S. The new CM-1 interface hardware is more flexible in its support of different serial formats and timing variants. In fact the CM-1 is capable of supporting a myriad of timing variants. Timing configurations beyond the “normal” and I2S can be produced through firmware change. The CM-1 supports 4 bi-directional synchronous serial interfaces. All interfaces operate in master mode with SSI_BCLK as the bit clock and FS as the frame clock. A sample period worth of SSI data may include 2, 4 or 8 audio channels depending on the mode selected as described below. CobraNet operates only at a 48Khz sample rate. Three synchronous serial bit rates are supported. Bit rate is selected by the which firmware is loaded into the interface. Bit rate cannot be configured dynamically. All synchronous serial interfaces operate at the same bit rate. • Mode A: the bit rate is 256 times the sample rate (12.288Mhz) and 8 audio channels are supported per synchronous serial interface. • Mode B: the bit rate is 128 times the sample rate (6.144Mhz) and 4 audio channels are supported per synchronous serial interface. • Mode C: the bit rate is 64 times the sample rate (3.072Mhz) and 2 audio channels are supported per synchronous serial interface. Mode C is used when driving the codec on the CobraNet evaluation module.

FS1

Mode A audio channel timeslots 1 2 3 4 5 6 7 8

Mode B audio channel timeslots 1 2 3 4

Mode C audio channel timeslots 1 2

Figure 7. Channel structure for 3 serial audio modes of operation. Interval shown is one sample period.

Default channel ordering is shown above. The interface supports an indirection layer for mapping the SSI interfaces and time slots to the internally used channel numbering scheme. Mapping of SSI time slots to channel numbers is defined by the audioMap variables. Therefore there's no need to feel constrained in your selection of a hardware scheme or panel labeling. Note that the first channel always begins after the falling edge of SSI_WCLK for all three modes. Also note that there is no explicit signal coming from the FPGA that is labeled SSI_WCLK, use FS1 in all modes for this signal. SSI_CLK period depends on which synchronous serial operating mode is selected. 24 significant bits are received and buffered by the DSP for synchronous inputs. 24 significant bits are transmitted by the DSP for synchronous outputs. Bit 23 is always the most significant (sign) bit. A 16-bit audio source must drive to bit periods 23-8 with audio data and bits 7-0 should be actively driven with either a dither signal or 0’s. Note that while a word spans 32 bit periods, no usable data is present during the last 8 bits periods.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 19 Synchronous Serial Interface

For synchronous outputs, the state of the SSI_DOUT signals are 0 during this interval. The SSI_DIN signals are not sampled during the invalid interval by the input ports. Although data is always transmitted and received with 24 bit resolution by the SSI ports, the resolution of the data transferred to/from the Ethernet may be lesser. Incoming audio data is truncated to the selected resolution. Unused LS bits on outgoing data is 0 filled.

SSI Electrical Timing

0 – 5ns

FS512_OUT

SSI_CLK

FS1

0 – 10ns

Figure 8. Timing Relationship between FS512_OUT, SSI_CLK and FS1

An SSI_CLK edge follows an FS512_OUT edge by 0.0 to 5.0ns. An FS1 edge follows a FS512_OUT edge by 0.0 to 10.0ns.

Note: The SSI_CLK and FS1 might be synchronized with the either the falling edge or the rising edge of FS512_OUT. Which edge is impossible to predict since it depends on power up timing.

≥5ns ≥0ns

SSI_CLK

SSI_DIN

SSI_DOUT

0 – 12ns

Figure 9. Serial Port Data Timing Overview

SetuptimesforSSI_DINandFS1are5.0nswithaholdtimeof0.0nswiththeedgeof SSI_CLK. Clock to output times for SSI_DOUT is 0.0 to 12.0ns from the edge of SSI_CLK. Which edge of SSI_CLK is used depends on operating mode of the interface.

CobraNet Datasheet - rev 1.6 May 27, 2003 20 www.cirrus.com Synchronous Serial Interface

Normal Mode Data Timing

SSI_CLK

FS1

SSI_DIN 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 unused 23

SSI_DOUT 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 23

Figure 10. Audio Data Timing Detail - Normal Mode

Each SSI audio channel uses 32 bits of data, with the MSB left justified and in sync with FS1. The unused eight bits are ignored on SSI_DIN and output as zeros on SSI_DOUT. Data changes on the rising edge of SSI_CLK and is sampled on the falling edge.

I2S Mode Data Timing I2S mode differs from “normal” mode in that 1FS comes one bit period before the MSB and the SSI Clock is inverted.

SSI_CLK

FS1

SSI_DIN 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 unused 23

SSI_DOUT 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 23

Figure 11. Audio Data Timing Detail - I2S Mode

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 21 Audio Paths

Audio Paths

Audio Output Object Network Receive (maps audio Objects output chan- (maps network Audio Interface nels to audio receivers to au- Mapping (Fixed) Audio Output I/O buffers) Channels dio outputs)

Synchronous Audio I/O Serial Transmit- Buffering Network Receive ters and Receivers Channels

RX . From TX . Ethernet . RX Audio Meter- To Codecs or ing Object other Audio TX I/O

RX Audio Meter- ing Data Object TX

RX . . TX .

Audio Loop- back Object

. To . Ethernet .

Network Trans- mit Channels Audio Input Network Trans- Object mit Objects (maps audio (maps network inputs to transmitters to audio I/O Audio Input audio inputs) buffers) Channels

Figure 12. CobraNet Interface Audio Model

CobraNet Datasheet - rev 1.6 May 27, 2003 22 www.cirrus.com Audio Paths

Audio Routing Channels

Audio routing within the CobraNet interface is done with respect to 64 internal routing channels. Channel 0 is a special channel indicating no routing and supplies silence when used as an input and serves as a “bit bucket” when used as an output. Channels 1 through 32 are used for routing audio destined to the network or coming from local audio inputs (or both). Channels 33 through 64 are used for routing audio arriving from the network or audio destined to the local audio outputs (or both). The correspondence of local I/O connection to internal channel number is specified by the audioMap variables. The mapping of audio I/O to internal channel numbers is generally preset per product specifics (i.e. how I/O connections are labeled) but not adjusted during operation nor when network routing is adjusted. Audio arrives and leaves the node through the SSI receivers and transmitters. As each sample arrives it is buffered in the audio I/O buffering section (dark gray block). The mapping of audio input and output channels to audio I/O buffer offsets is fixed (and non- intuitive). To accommodate channel numbering differences of different CobraNet products, the Audio Input and Output objects allow a mapping from audio I/O buffer offsets to user channel numbers (large light gray block). This mapping (thin blue rectangle) is expected to be a set and forget mapping for each product.

Bundle Transmitters

Audio channels are mapped onto the network by the network transmitters. The network transmitters reference a set of audio input channels to be packed into a bundle for transmission. The correspondence of network I/O to internal channel is defined by txSubMap variables for network transmitters (channels 1 through 32). Audio resolution is determined by transmitter parameters.

Bundle Receivers

Audio channels are mapped off of the network by the network receivers. The network receiver specifies destination audio output channels for multiple audio channels received over a bundle. The correspondence of network I/O to internal channel is defined by rxSubMap variables for network receive channels (channels 33 through 64.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 23 Audio Paths

Loopback

The loopback object provides a means for the core to regurgitate audio. The primary objective is to overcome the fact that a device cannot receive its own transmission and allow the audio I/O system to be tested locally.

Output Channel Duplication

The audio routing channel mapping facilities allow a single routing channels to be mapped to any number of audio channels in any number of network transmitters. It is, however, not possible to direct an audio channel in a network receiver to multiple audio routing channels for output on the synchronous serial interfaces. The loopback feature provides a means of copying audio from an input routing channel to an output routing channel. This feature allows for a local loopback of audio for testing purposes and to overcome the Ethernet idiosyncrasy that prevents a device from receiving its own transmissions. Output channel duplication allows output routing channels to be copied to other output routing channels. This feature is implemented as a separate set of dup paths controlled by audioDupSource and audioDupDest variables. An output can be specified as the source for a duplication by multiple dup paths. Output duplication is accomplished without incurring additional audio latency.

Meters

Metering is provided for all 64 audio routing channels. The first 32 meters can be mapped in any combination to the 32 input routing channels. The second 32 meters are available for metering output routing channels. Metering is disabled by default to conserve processing cycles. Meters are peak detecting with simple first order decay ballistics. Ballistics are adjusted globally for all meters. A cumulative peak hold element on each meter allows accurate detection of any clipping condition.

Low Latency Audio Support

Low Latency Audio Support Implementation Low latency modes are supported on CM-1 and reference design hardware. No hardware changes are required to support low latency modes. Low latency modes will be supported on future hardware platforms i.e. CobraNet chip. Low latency modes are available via a firmware upgrade. The default mode of operation remains 5-1/3ms latency at 48KHz sample rate. Running in low latency mode requires more DSP resource at the receiving and transmitting nodes. This implies there is a trade-off between amount of traffic supported and reduction of latency. Some Reference Design based products need to operate at reduced channel count to support the lower latency. CM-1 based devices face some

CobraNet Datasheet - rev 1.6 May 27, 2003 24 www.cirrus.com Audio Paths

limitation in channel capacity and number of transmitters and receivers and multiple unicast transmissions supported. The following table shows CM-1 channel capacity for several latency and sample rate operating modes. 8 channel bundles unicast to a single destination or multicast with 20- bit resolution is assumed.

Latency Sample Rate CM-1 Channel Capacity

5-1/3 ms 48 KHz 64 5-1/3 ms 96 KHz 48 (4 channel bundles) 2-2/3 ms 48 KHz 64 2-2/3 ms 96 KHz 32 1-1/3 ms 48 KHz 32 1-1/3 ms 96 KHz 16

Low latency modes also place additional demands on network performance. Specifically, in order to achieve the desired latency, forwarding delay across the network need to be reduced by approximately the same factor that audio latency is being reduced. These requirements bring into play new network design rules which are incorporated into an updated version of CobraCAD. Lower latency is achieved by transmitting audio packets at a higher rate. Since the amount of data remains constant, this implies that each packet is smaller for the low latency case than for the high latency case. A restriction on the number of audio channels allowed in a bundle is due to a restriction on the maximum sized Ethernet packet. Lower latency modes thus have lessened restrictions. Audio channel count restrictions are summarized below.

Channels per Bundle Latency 16 bit, 48 KHz 20 bit, 48 KHz 24 bit, 48 KHz 16 bit, 96 KHz 20 bit, 96 KHz 24 bit, 96 KHz

5-1/3ms887443 2-2/3 ms 8 8 8 8 8 7 1-1/3 ms 8 8 8 8 8 8

A CobraNet interface operates at a single latency and sample rate mode as specified by the modeRateControl variable. This latency mode applies to all incoming and outgoing audio at the interface. 96KHz and low-latency are orthogonal enhancements. 96KHz is supported in the new low-latency modes of operation With the introduction of low latency modes, the underlined data formats are introduced as options for txSubFormat in the table below.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 25 Audio Paths

txSubFormatValue Resolution Sample Rate Latency

0 No Signal 0x044000 16 bit 48 KHz 5-1/3 ms 0x054000 20 bit 48 KHz 5-1/3 ms 0x064000 24 bit 48 KHz 5-1/3 ms 0x148000 16 bit 96 KHz 5-1/3 ms 0x158000 20 bit 96 KHz 5-1/3 ms 0x168000 24 bit 96 KHz 5-1/3 ms 0x042000 16 bit 48 KHz 2-2/3 ms 0x052000 20 bit 48 KHz 2-2/3 ms 0x062000 24 bit 48 KHz 2-2/3 ms 0x142000 16 bit 96 KHz 2-2/3 ms 0x152000 20 bit 96 KHz 2-2/3 ms 0x162000 24 bit 96 KHz 2-2/3 ms 0x041000 16 bit 48 KHz 1-1/3 ms 0x051000 20 bit 48 KHz 1-1/3 ms 0x061000 24 bit 48 KHz 1-1/3 ms 0x141000 16 bit 96 KHz 1-1/3 ms 0x151000 20 bit 96 KHz 1-1/3 ms 0x161000 24 bit 96 KHz 1-1/3 ms

rxSubFormat indicates the type of audio being received. As documented, the LS bit of this value is used to indicate whether the data in the sub channel is being decoded. An interface can only receive audio from a device operating at the sample rate and latency mode. In the case of a mode mismatch between transmitter and receiver, the LS bit in rxSubFormat clears.

96 KHz Sample Rate Support

The sample clock used for 96KHz audio is exactly two times the existing 48KHz network clock generated by the conductor. 96KHz and 48KHz audio may coexist on the same network. A CobraNet interface may operate at either 48KHz or 96KHz but not both rates simultaneously. A device operating at 48KHz can not receive audio from device operating at 96KHz. The converse is also true. 96KHz is only supported on CM-1 and derivative hardware. 96KHz will be supported on future hardware platforms i.e. CobraNet chip. No hardware changes are required to support the increased sample rate. A CM-1 firmware upgrade can reconfigure the synchronous serial ports to operate at the doubled word and bit rates required for 96KHz audio (see Hardware section below for details on these changes).

CobraNet Datasheet - rev 1.6 May 27, 2003 26 www.cirrus.com Audio Paths

A CobraNet interface can operate at either 48KHz or 96KHz sample rate. Sample rate is selected by the modeRateControl variable which selects sample rate and audio latency mode. 96KHz and low-latency are orthogonal enhancements. 96KHz is supported in the low-latency modes of operation. rxSubFormat indicates the type of audio being received. As documented, the LS bit of this value indicates whether the data in the sub channel is being decoded. An interface operating at 48KHz cannot decode 96KHz audio. An interface operating at 96KHz cannot decode 48KHz audio. In either of these cases, the LS bit in rxSubFormat clears. 96KHz audio requires twice the bandwidth and thus twice the amount of space in an Ethernet packet as its 48KHz counterpart. Due to the additional payload size, at the standard 5-1/3ms latency mode, only 4 96KHz audio channels can fit into a bundle at 16 and 20 bit resolutions and only 3 96KHz channels fit at the 24-bit resolution. Lower latency modes feature relaxed restrictions on the number of audio channels allowed in a bundle. When the operating in 96KHz mode the Master Clock remains at the same 24.576MHz rate present in 48KHz mode. In 96KHz mode, the Sample Clock Output (FS1) produces a 96KHz signal. If a Sample Clock Cascade and or Reference Clock input is supplied, this signal may be either 48KHz or 96KHz in 96KHz mode but must be 48KHz in 48KHz mode.

Synchronous Serial Port Operating Mode 48 KHz SCK Rate 96 KHz SCK Rate

64Fs (2 channels x 4 interfaces) 3.072 MHz 6.144 MHz 128Fs (4 channels x 4 interfaces) 6.144 MHz 12.288 MHz 256Fs (8 channels x 4 interfaces) 12.288 MHz 24.576 MHz

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 27 Management Interface

Management Interface The Management Interface (MI) is the means by which the CobraNet interface is controlled and monitored. At the core of the management interface is a set of MI variables. Through an exchange of host port transactions or SNMP messages, MI variables may be examined and manipulated. The operation of the CobraNet device is modified as variables are manipulated. Variables may have either read-only, read/write or read/write-persistent attributes. All variables are given an initial value on startup. All variables have a current value that may be monitored. The current value may also be changed for read/write and read/write-persistent variable types. The read/write-persistent variables have a persistent value that is read from flash during boot. All MI variables are documented in detail in the management interface variable reference section. The purpose of the CobraNet management interface is to allow the CobraNet interface to be monitored and controlled. This management can be done either locally via the host management interface (HMI) or remotely over the audio network using SNMP. While the two interfaces utilize different protocols, they operate on the common set of MI variables. MI variables fall into three classes. CobraNet variables allow for configuration control and monitoring of CobraNet specific functionality such as network audio transmission and reception. A second class of variables known as SNMP MIB-II variables provides a uniform means of monitoring a network device. These variables are primarily concerned with performance and configuration of the network interface and associated protocol stacks. A third class of product specific variables exists when a manufacturer makes use of SNMP extension agent capabilities. This third class of variables is used for controlling and monitoring product specific features and functions such as microphone preamplifiers.

Flash

Flash memory may be updated via TFTP or through HMI. The HMI Flash Memory Access mechanism allows flash contents to be read and written via the host port. This essentially provides the same functionality for the host as TFTP provides for the network. The mechanism cannot allow direct access to the flash memory. Instead a request to read or write flash is formulated by supplying flash address (flashTAddress), byte length (flashTLength) and transfer direction (flashTDirection). The request is then initiated by writing to flashTRequest. All transactions transfer data between the flash memory and the packet bridge transmit buffer (bridgeTxPktBuffer). The flash memory is a byte-wide device. The transmit buffer is a 3 byte-wide memory. The mapping between the byte-wide flash data and wider buffer memory is as follows

Most Significant Middle Least Significant

First Word Byte 3 Byte 2 Byte 1

Second Word Byte 6 Byte 5 Byte 4

CobraNet Datasheet - rev 1.6 May 27, 2003 28 www.cirrus.com Management Interface

Persistence

The persistence feature causes values of read/write-persistent type variables to be written to non-volatile memory when they are changed and for these stored values to be recalled during startup. With the persistence feature disabled, read/write and read/write- persistent variables behave identically; no values are written to non-volatile memory and all variables are restored to documented initial values on startup. The flashPersistEnable variable controls the persistence feature. With persistence enabled, read/write-persistent variable values are automatically written to non-volatile memory as their values are changed. These writes are done on a schedule as to prevent excessive wear on the non-volatile memory device and to avoid interference with other critical functions being performed in the interface. Care must be taken in certain setup operational scenarios where read/write-persistent variables are modified and then power is removed from the interface. The flashPersistAck variablecanbeusedtodeterminewhensettingshavebeenstoredtonon-volatile memory and it is safe to remove power. The persistence feature is implemented such that it is safe to remove power at any time. It can take up to 1 minute to store changed values. While, the variable values recalled when power is restored may not include any changes made immediately before power was removed, variables will under no circumstances become corrupted by removal of power while values are being written to non-volatile memory.

Host Management Interface

The host port is bi-directional and 8 bits wide. The port allows the CobraNet interface to be attached to a host microcontroller as a peripheral. In addition to the 8 bi-directional data lines, the host port includes 3 address lines, an enable a read/write line and asynchronous request for use in DMA and/or interrupt driven data transfers. The host sees the host port as a set of 8 registers. 4 registers serve control and status functions and 4 are used for transfer of data between the host processor and the CobraNet interface. The host port will support polled I/O, interrupt driven and DMA modes of operation. The semantics of the host port operation is largely defined by the software driver running in the CobraNet interface. The host port on the CobraNet interface is the host port of the Motorola DSP56303 (CM-1) or DSP56002 (Reference Design). Electrical characteristics of the host port can be found in the Motorola data sheets. These data sheets are available for download from the Motorola web site at http://www.motorola.com/ SPS/DSP/. The DSP56303 host port on the CM-1 has numerous operating modes supporting multiplexed and non-multiplexed busses, single and dual data strobes, configuration of signal polarity. In the CobraNet application, the DSP56303 host port is configured in a manner identical with the single operational mode supported by the DSP56002. That is single active low data strobe, non-multiplexed bus. An acknowledge signal is used to indicate occurrence of an event within the interface (i.e. data waiting in packet bridge) and may be wired to an interrupt request input at the host. The function of the acknowledge signal is controlled by the hackEnable variable. Status

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 29 Management Interface

information relevant when the acknowledge signal is asserted is available from the hackStatus, hackTranslations and hackSNMPModify variables. Host port operation under CobraNet allows the host processor to efficiently read and write a 16Mword by 24-bit virtual memory space sparsely populated by MI variables. 6 primitive functions: Set Address, Translate Address, Interrupt Acknowledge, Multiplex Operation, Read and Write are supported. All read and write operations are performed with respect to internal data pointers that are manipulated by the set address or Translate Address operations. Separate pointers are maintained for read and write. Both read and write operations post-increment their respective internal pointer allowing blocks of data to be read or written efficiently without the need to issue intervening Set Address or Translate Address commands.

Operation Purpose

Read Read MI variable data.

Write Write MI variable data.

Set Address Move read and write address pointers.

Translate Address Compute new read and write address pointer locations.

Interrupt Acknowledge De-assert acknowledge hardware signal.

Multiplex Operation: Goto Move read and write address pointers to location computed by previous Translate Address Translation operation

Multiplex Operation: Goto Packet Move read address pointer to packet bridge receive buffer (bridgeRxPktBuffer). Move write address pointer to packet bridge transmit buffer (bridgeTxPktBuffer). Multiplex Operation: Goto Interrupt Move read and write address pointers to interrupt status variables (hackStatus). Status

Multiplex Operation: Packet Transmit Increment bridgeTxPkt initiating transmission of packet from packet bridge transmit buffer (bridgeTxPktBuffer)

Multiplex Operation: Packet Receipt Set bridgeRxPkt=bridgeRxReady acknowledging receipt of packet in bridge packet receive buffer (bridgeRxPktBuffer).

The following constants are used in the example code which follows.

#if CM1 #define CVR_SET_ADDRESS 0xb2 /* existing command vector */ #define CVR_TRANSLATE_ADDRESS 0xb3 #define CVR_INTERRUPT_ACK 0xb4 #define CVR_MULTIPLEX_OP 0xb5 #else #define CVR_SET_ADDRESS 0x92 /* existing command vector */ #define CVR_TRANSLATE_ADDRESS 0x93 #define CVR_INTERRUPT_ACK 0x94 #define CVR_MULTIPLEX_OP 0x95 #endif #define MOP_GOTO_TRANSLATION 0 #define MOP_GOTO_PACKET 1 #define MOP_GOTO_INTERRUPT 2 #define MOP_PACKET_TRANSMIT 3 #define MOP_PACKET_RECEIPT 4

CobraNet Datasheet - rev 1.6 May 27, 2003 30 www.cirrus.com Management Interface

Read

RXDF

Read Data (RXH, RXM, RXL)

DatashouldbereadoutofthehostportinRXH,RXM,RXLorder(RXM,RXH,RXLis also a valid ordering for the deranged). RXDF indicates the presence of valid data at the host port. No read should be performed until RXDF is seen high. The HREQ signal can be programmed indicate the status of RXDF enabling interrupt or DMA driven data transfers. The RXL read causes the interface to move the next word from internal memory to the host interface and post-increment the read pointer. Since data is stored in the host port awaiting a read, there are circumstances when this renders the read data stale. Updating the address pointers (Set Address or one of the “Goto” Multiplex Operations) freshens the data stored in the host port. When the last instantiated location in a variable block is read, RXDF will remain low. Updating the address pointers is required to clear this condition.

Write

TXDE

TRDY

Write Data (TXH, TXM, TXL)

A write operation is initiated by writing to the data registers. In order to avoid overwriting unprocessed data in the host port, no writes should be performed until TXDE is seen high. The HREQ signal can be programmed indicate the status of TXDE enabling interrupt or DMA driven data transfers. Data should be written in TXH, TXM, TXL order (TXM, TXH, TXL is also a valid ordering for the deranged). The write to TXL causes the interface move the data to internal memory and post increment the write pointer. In the

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 31 Management Interface

event a write is attempted at an uninstantiated or read-only location, TRDY will remain low. A second write under these circumstances will cause TXDE to remain low. Both writes are rejected and will not affect values of MI variables.

Set Address

HC

HF2

TXDE

TRDY

RXDF

Write CVR Write Address Read "Garbage" (TXH, TXM, TXL) (TXL)

A Set Address operation is initiated by writing 0x92 (older 56002 based reference design) or 0xB2 (56303 based CM-1) to the command vector register (CVR). The interface will respond by clearing the HC flag (bit 0x80 in CVR). The interface will then raise HF2 (bit 0x08 of ISR) indicating it is ready to accept an address value through the transmit data registers (TXH, TXM, TXL). Writing TXL causes TRDY to drop and indicates to the interface that the address is available. The interface will process the address and then will respond by lowering HF2. The lowering of HF2 indicates that the interface is prepared to service Read or Write requests at the new address. Due to a double buffering of the read data within the host interface, a “garbage” read of RXL is required. This is read is usually included as part of the set address operation as illustrated above.

CVR := CVR_SET_ADDRESS Wait( !HF2 ) TXH, TXM, TXL := address Wait( !HF2 ) garbage := RXL /* garbage read */

CobraNet Datasheet - rev 1.6 May 27, 2003 32 www.cirrus.com Management Interface

Translate Address

HC

HF2

TXDE

TRDY

Write CVR Write Address (TXH, TXM, TXL)

Translate Address is an alternative, higher performance means of updating the HMI address pointers. Translate Address does not actually update the address pointers but initiates the processing required to eventually move them. The advantage of Translate Address over Set Address is that the host can accomplish other chores, including HMI Reads and Writes while the address translation is being processed. A logical description of Translate Address is given below. A contextual use of the Translate Address operation is shown in the High Performance Reference Implementation. CVR := CVR_TRANSLATE_ADDRESS Wait( HF2 ) TXH, TXM, TXL := address Wait( !HF2 )

Multiplex Operation

HC

HF2

TXDE

TRDY

Write CVR Write Operation Code (TXL)

The Multiplex Operation invokes one of several common operations. These operations are designed to improve performance by consolidating several common operations into a single operation There are currently 5 multiplex operations: Goto Translation, Goto Packet, Goto Interrupt Status, Transmit Packet and Acknowledge Receipt. These

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 33 Management Interface

operations have been summarized in Table L. A logical descriptions of Multiplex Operations are given below. Contextual use of all Multiplex Operations is demonstrated in the High Performance Reference Implementation. Goto Translation Moves HMI data pointers to the results of the most recently completed translate address operation.

CVR := CVR_MULTIPLEX_OP Wait( HF2 ) TXL := MOP_GOTO_TRANSLATION Wait( !HF2 ) garbage := RXL Goto Packet Moves HMI read pointer to bridgeRxPktBuffer. Moves HMI write pointer to bridgeTxPktBuffer.

CVR := CVR_MULTIPLEX_OP Wait( HF2 ) TXL := MOP_GOTO_PACKET Wait( !HF2 ) Goto Interrupt Moves HMI data pointers to interrupt status variables (beginning at hackRxAvailable).

CVR := CVR_MULTIPLEX_OP Wait( HF2 ) TXL := MOP_GOTO_INTERRUPT Wait( !HF2 ) Packet Transmit Sets bridgeTxPkt := bridgeTxPktDone+1 thus initiating transmission of the contents of bridgeTxPktBuffer.

CVR := CVR_MULTIPLEX_OP Wait( HF2 ) TXL := MOP_PACKET_TRANSMIT Wait( !HF2 ) Packet Received Sets bridgeRxPkt := bridgeRxReady thus acknowledging receipt of the packet in bridgeRxPktBuffer.

CVR := CVR_MULTIPLEX_OP Wait( HF2 ) TXL := MOP_PACKET_RECEIPT Wait( !HF2 )

CobraNet Datasheet - rev 1.6 May 27, 2003 34 www.cirrus.com Management Interface

Interrupt Acknowledge

HC

Write CVR

Causes HACK to be de-asserted.

CVR := CVR_INTERRUPT_ACK Wait( !( CVR & 0x80 ) )

Reference Implementation

long PeekPointer = -1; long PokePointer = -1; void SetAddress( long Address ) { #if CM1 /* 56303 based hardware */ CVR = 0xB2; /* initiate Set Address operation */ #else /* 56002 based hardware */ CVR = 0x92; /* initiate Set Address operation */ #endif While( !( ISR&8));/*wait for HF2 high */ /* write address */ TXH = Address >> 16; TXM = Address >> 8; TXL = Address; while( ISR & 0x08 ); /* wait for HF2 low */ garbage = RXL; /* "garbage" read */ PeekPointer = PokePointer = Address; /* maintain local pointers */ } long Peek( long Address ) { if( Address != PeekPointer ) { SetAddress( Address ); } while( !( ISR&1));/*wait for RXDF high */ long value = RXH; value = ( value <<8)|RXM; value = ( value <<8)|RXL; PeekPointer++; /* maintain local pointer */ return value; } void Poke( long Address, long Value ) { if( Address != PokePointer ) { SetAddress( Address ); } while( !( ISR&2));/*wait for TXDE high */ TXH = Value >> 16; TXM = Value >> 8; TXL = Value; PokePointer++; /* maintain local pointer */

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 35 Management Interface

PeekPointer = -1; /* force SetAddress()next Peek() to freshen data */ }

High Performance Reference Implementation

/*======** Scheduler Stuff **======*/

/*------Obtain_Semaphore ** obtains the specified 'semaphore'. only one task may have possession ** of a semaphore at any time. if the semaphore is not available, the ** current task is put to sleep until the semaphore is released. the ** priority of the task owing semaphore may be automatically boosted to gain ** speedy release of the semaphore. **------*/ Obtain_Semaphore( semaphore ) { }

/*------Release_Semaphore ** releases the resource indicated by the 'semaphore' parameter. the ** semaphore must have been previously obtained. **------*/ Release_Semaphore( semaphore ) { }

/*------Dispatch ** causes the process indicated by the 'task' parameter to run. **------*/ Dispatch( task ) { }

/*------Block ** the current task is suspended until the specified 'signal' is received ** by virtue of another task using the Signal() function. **------*/ Block( signal ) { }

/*------Signal ** wakes task waiting for 'signal'. see Block(). **------*/ Signal( signal ) { }

/*------Wait ** polls until 'condition' returns true. may yield to other tasks in ** the process. **------*/ Wait( condition ) { }

/*------Mask_HACK() ** disables HACK interrupt source. **------*/ Mask_Hack() { }

/*------Unmask_HACK()

CobraNet Datasheet - rev 1.6 May 27, 2003 36 www.cirrus.com Management Interface

** enables HACK interrupt source. **------*/ Unmask_HACK()

/*======** HMI Helper Functions **======*/

HMI_Multiplex_Op( command ) { Mask_HACK(); CVR = CVR_MULTIPLEX_OP; Wait( HF2 ); TXL = command; Wait( !HF2 ); Unmask_HACK(); }

HMI_Translate_Address( location ) { Mask_HACK(); CVR = CVR_TRANSLATE_ADDRESS; Wait( HF2 ); TXH, TXM, TXL = location; Wait( !HF2 ); Unmask_HACK(); }

HMI_Read_Word() { wait( RXDF ); /* wait for data to be available at host port */ value = RXH << 16; value += RXM << 8; return value + RXL; }

HMI_Write_Word( value ) { wait( TXDE ); /* wait for space available in host port */ TXH = ( value >> 16)&0xff; TXM = ( value >>8)&0xff; TXL = value & 0xff; }

/*======** HMI User Functions **======*/

/*------HMI_Init ** **------*/ HMI_Init() { Obtain_Semaphore( HMI_Data ); Mask_HACK(); HMI_Multiplex_Op( MOP_GOTO_INTERRUPT ); garbage = RXL; /* skip hackStatus variable */ Translate_Image = HMI_Read_Word(); SNMPModify_Image = HMI_Read_Word(); Release_Semaphore( HMI_Data ); Unmask_HACK(); }

/*------HMI_Peek ** read an HMI location **------*/

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 37 Management Interface

HMI_Peek( location ) { Obtain_Semaphore( HMI_Translate ); Obtain_Semaphore( HMI_Data ); HMI_Translate_Address( location ); /* initiate address translation */ Release_Semaphore( HMI_Data ); Block( Translation_Complete ); /* wait for address translation to complete */ Obtain_Semaphore( HMI_Data ); HMI_Multiplex_Op( MOP_GOTO_TRANSLATION ); Release_Semaphore( HMI_Translate ); garbage = RXL; result = HMI_Read_Word() Release_Semaphore( HMI_Data ); return result; }

/*------HMI_Poke ** write an HMI location **------*/ HMI_Poke( location, value ) { Obtain_Semaphore( HMI_Translate ); Obtain_Semaphore( HMI_Data ); HMI_Translate_Address( location ); /* initiate address translation */ Release_Semaphore( HMI_Data ); Block( Translation_Complete ); /* wait for address translation to complete */ Obtain_Semaphore( HMI_Data ); HMI_Multiplex_Op( MOP_GOTO_TRANSLATION ); Release_Semaphore( HMI_Translate ); result = HMI_Write_Word() Release_Semaphore( HMI_Data ); }

/*------HMI_Interrupt_Serivce_Routine ** hardware interrupt service routine called in response to HACK assertion. ** HACK detection can be either level or edge sensitive. Be aware, however, ** that there is a short delay between handling of the CVR_INTERRUPT_ACK ** command and de-assertion of the HACK signal. In a level sensitive ** configuration, it is possible for this condition to cause multiple ** invocations of this interrupt service routine for a single event. ** This may be considered inefficient but is not harmful. **------*/ HMI_Interrupt_Serivce_Routine() { CVR = CVR_INTERRUPT_ACK; Dispatch( HACK_Interrupt_Service_Task ); Wait( !( CVR & 0x80 ) ); }

/*------HMI_Interrupt_Service_Task ** this is a high priority task that determines which HACK interrupt ** conditions are pending and take appropriate action. **------*/ HMI_Interrupt_Service_Task() { Obtain_Semaphore( HMI_Data ); HMI_Multiplex_Op( MOP_GOTO_INTERRUPT ); hackstatus = HMI_Read_Word(); translations = HMI_Read_Word(); snmpmodify = HMI_Read_Word(); Release_Semaphore( HMI_Data ); if( hackstatus&1){ Obtain_Semaphore( HMI_Data ); HMI_Multiplex_Op( MOP_GOTO_PACKET ); garbage = RXL; first = HMI_Read_Word(); wordlength = ( first + 0x100 ) >> 9;

CobraNet Datasheet - rev 1.6 May 27, 2003 38 www.cirrus.com Management Interface

packet = new short[ wordlength ]; *packet = first; Setup_Receive_DMA( wordlength, packet+1); Block( Receive_Data ); RxQueue.Put( packet ); HMI_Multiplex_Op( MOP_PACKET_RECEIPT ); Release_Semaphore( HMI_Data ); } if( ( hackstatus&2)&&!TxQueue.isEmpty() ) { Obtain_Semaphore( HMI_Data ); HMI_Multiplex_Op( MOP_GOTO_PACKET ); packet = TxQueue.Get(); Setup_Transmit_DMA( ( *packet+1)>>9,packet ); Block( Transmit_Data ); HMI_Multiplex_Op( MOP_PACKET_TRANSMIT ); Release_Semaphore( HMI_Data ); } if( translations != Translations_Image ) { Translations_Image = translations; Signal( Translation_Complete ); } }

/*------User_Task ** an example of what user code might want to do with regards to HMI services ** implemented above. **------*/ User_Task() { result = HMI_Peek( location ); if( !RxQueue.isEmpty() ) { if( Parse_Packet( RxQueue.first())){ TxQueue.Put( Generate_Reply( RxQueue.Get() ) ); Dispatch( HACK_Interrupt_Service_Task ); } } }

DMA and Interrupt Driven Modes DMA and interrupt driven modes are attractive towards improving the efficiency in transferring large blocks of data to or from the interface. Large data transfers are used primarily in the packet bridging feature. Through the host interface, the host processor is able to dynamically configure the operation of the Host Request line to respond to RXDF and/or TXDE. An interrupt driven host can use this signal as an interrupt request signal. The host may also invoke a DMA mode for the host interface in which the Host Request signal is used as a DMA request and the data registers are rearranged in a configuration that is aesthetically pleasing to a DMA controller.

Bounds Violation / Invalid Address The 16Mword by 24-bit address space is sparsely populated. An un-instantiated address should never be specified directly through set address. Due to the post-increment feature of the read and write operations, the internal pointer may naturally find itself at an invalid location. If the read pointer specifies an un-instantiated location, the receive data registers (RXL, RXM and RXH) will not be serviced—RXDF will go low and remain so until a set address operation is performed. If the write data pointer specifies an un- instantiated location, the transmit data registers (TXL, TXM and TXH) and data registers

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 39 Management Interface

will not be serviced - following a write TXRDY will go low and remain so until a Set Address operation is performed. hackReadLength and hackWriteLength variables can be used to avoid bounds violations.

Read-Only Portions of the memory space are designated read-only. A read-only location is treated as an uninstantiated location as far as Write operations are concerned.

Addressing The 24 bit addresses can be seen as mapping into a sparsely populated 16Mword by 24- bit address space. Refer to the Management Interface Variable Reference section and the cobrami.h header file for variable addresses. Related variables are typically found in adjacent locations aiding efficient access.

Timing Specifications

Typical Minimum (no Typical Maximum (full audio Absolute Maximum audio) load) (broadcast storm)

Data Service - CM-1 25ns 5us 100us

Data Service - Reference 15us 100us 5ms Design

Interrupt Service 15us 100us 5ms

Set Address 50us 2ms 100ms (Unbounded)

Watch Dog 1.33ms 10ms 200ms

Note: The HMI requires 2000 ms (2 s) after reset before it is fully operational.

Data Service—CM-1 The CM-1 uses an internal DMA controller for transfer data to and from the host port. DMA is used for all normal HMI data transfers. DMA is not used for transferring the address word during a Set Address or Translate Operation nor for the command word for a Multiplex Operation. Data Service—Reference Design The Reference Design uses an interrupt service to transfer data to and from the host port. The interrupt service is subject to greater processor latencies than the DMA service. Furthermore host data interrupts may be disabled under some extraordinary high load circumstances such as when a broadcast storm is present on the network. Interrupt based data service is used for all data transfers on the Reference Design platform and for transferring address and command words on the CM-1. Interrupt Service In addition to the data interrupt service, there is an interrupt service associated with the Command Vector Register (CVR). Writing to the CVR initiates commands such as Set

CobraNet Datasheet - rev 1.6 May 27, 2003 40 www.cirrus.com Management Interface

Address, Translate Address and Multiplex Operation. Responsiveness of this interrupt service is subject to the same constraints as the data interrupt service. Set Address The Set Address operation consists of the following 5 steps • Write CVR • Wait for HF2=1 • Write address • Wait for HF2=0 • Read garbage Steps 2 and 4 require the host to poll and wait for the HMI to (2) become prepared to accept the address and (4) translate the supplied address and set up internal address pointers. Step 2 is handled by an interrupt service and will complete promptly. Step 4 is more computationally and so is handled as a lower priority task. This task cannot be guaranteed to complete its work within a set period of time so special handling of this wait is required.

Error Handling Data and Interrupt Services DMA and interrupt services are handled promptly. Delays in handling these requests are due to interrupt and bus latencies. These latencies are bounded under all conditions on a healthy interface. Failure of one of these operations to complete with in the Absolute Maximum time specified indicates that the interface is not healthy. A timeout waiting for a Data or Interrupt service should be handled in the same manner as a watch dog timeout. The interface should be reset and re-initialized if necessary. Set Address and Other Waits The time required to complete a set address operation as well as certain other HMI initiated operations (i.e. transmit a bridge packet) cannot be easily quantified. We've specified a suggested timeout value to use for these operations. Failure to complete before this timeout expires does not necessarily indicate that the interface is unhealthy. It may indicate that the interface is overloaded by, for instance, a broadcast storm on the network. It is therefore recommended that these operations be retried if a timeout condition occurs. The retry will necessarily involve exercising some data and interrupt services. If the interface is truly unhealthy, these will timeout and, in accordance with the recommendations above, the interface will be reset and re-initialized.

Watch Dog The watch dog is a digital output signal from the CobraNet interface. The watchdog is designed to protect against hardware or software failure. Specific failure scenarios include electrostatic discharge (ESD), power glitches, surges and electromagnetic interference (EMI). Additionally the watch dog signal is made to go silent following reporting of a fatal error condition. The watch dog signal is toggled periodically as long as all hardware and software interface subsystems are believed to be operating properly. If the watch dog signal fails to toggle within the specified absolute maximum specification, the interface should be reset and re-initialized if necessary.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 41 Management Interface

The watchdog does require external hardware or software to be effective. A hardware solution can be implemented with a microprocessor manager chip such as the DS1236 from Dallas/Maxim. A software solution could involve wiring the watch dog signal to an interrupt or timer interrupt on the host processor and the CobraNet reset signal to a general purpose output. Software on the host processor measures the interval between watch dog transitions and asserts the reset signal if the interval exceeds the absolute maximum specification. Implementation of the watch dog feature is not mandatory but is strongly recommended. Although a less thorough software restart is performed if the silencing the watch dog does not invoke a reset, the watch dog is the primary mechanism for self-rebooting the interface should a fatal error be detected. ESD, EMI and power fluctuations are regularly experienced in audio installations. Surviving these disturbances is a prerequisite for passing some electrical certification programs.

SNMP Extension Agent

CobraNet’s SNMP agent feature allows the CobraNet interface to be monitored and optionally configured over the Ethernet network by an SNMP manager or managers. The SNMP extension agent feature allows these monitoring and control capabilities to be extended to product specific features and functionality. For example, if you are building a CobraNet microphone pre-amp, the extension agent capability will allow your pre-amp to report status information such as a clipping condition and accept settings such as per channel gain over the network via SNMP. The system will also benefit from the persistence feature allowing settings for the entire product, not just the CobraNet interface, to be retained through a power-cycle. The extension agent is applicable for products which include a host microcontroller attached via the host port to the CobraNet interface. The extension agent appears to the microcontroller as additional product specific variables in the HMI memory space. For status reporting, the host microcontroller writes updated values to the associated HMI locations. SNMP requests may come in and read the most recent status at any time (and without the host’s knowledge). For settings, the host monitors the associated HMI locations and adjusts hardware to reflect their current values. The values of these variables may change in response to SNMP set operations performed by a remote manager. By using the extension agent, the whole product may be made SNMP manageable and the host microcontroller is not burdened with the complexity of running a network stack and SNMP agent.

Overview If you need to familiarize yourself with SNMP, we maintain an SNMP Resources page on our public web site. The general process for building an extension agent into your product is as follows: 1. Design a MIB containing the additional variables you would like to use for monitor and control of product specific elements. You may choose to start with the MIB given for the example extension agent (exta.mib). The result of this will

CobraNet Datasheet - rev 1.6 May 27, 2003 42 www.cirrus.com Management Interface

be an ANS.1 format MIB text file. 2. Create the extension agent declarations corresponding to the MIB you’ve created. There are three parts to this task. A. Declare and allocate physical memory space for the variables B. Declare an HMI representation for the variable set C. Declare a MIB representation for the variable set. The MIB representation should match the MIB you created previously. 3. Write host processor code to observe and update variable set. Note that steps 2 and 3 require access to the source code for the CobraNet firmware. Licensees have access to this source code, affiliates do not. Peak Audio can do these steps for any affiliate. The work will be billed at the discounted hourly rate available to affiliates.

Designing a MIB The MIB defines the layout and naming and data types for the product specific SNMP variables you are adding. These extension variables are generally placed aside the CobraNet variables at iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).peakAudio(2680).cobraNet(1).mf gExtensions(2).mfgID(n).productID(m) where mfgID (and corresponding branch number) are assigned by Peak Audio. productID may be assigned by the manufacturer. The MIB is a machine readable ASCII file that enumerates a set of variables supported by an SNMP agent. You may choose to start with the MIB given for the example extension agent (exta.mib) and manually edit that to accomplish the functions you desire. A MIB can also be created visually using a drag and drop tool such as MG-Soft’s Visual MIB Builder.

Defining an Extension Agent An extension agent is defined by creating a source file which is then compiled and linked intocreateacustomizedfirmwareversionwiththeextendedMIB.Macrosareused extensively to simplify this process. It is suggested that you begin with the example extension agent (exta.asm). Declare Variables Variables are declared using normal 56K declarations. These declarations reserve space for the extension variables and optionally assign default values to the variables. Variables should be arranged in blocks with common read/write, read-only, persistence attributes. Blocks should be demarcated by symbols referencing the beginning and end points of a block. The status variables in the example extension agent demonstrated these basic concepts.

; status extaStatus dc 0 extaTemperature dc 0 extaStatusEnds

Create HMI Mappings With this set of declarations, we define a mapping from the variables we’ve defined to the HMI address space. HMI addresses 0x800000 through 0xEFFFFF are reserved for

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 43 Management Interface

product specific extensions. HMI address space is instantiated in blocks. Blocks have a starting address, word length and attributes (read-only, read/write, read/write - persistent). A block is declared using the HMIEntry macro. The four parameters to this macro are HMI start address, physical start address, physical end address (exclusive) and attributes. The two status variables declared above are mapped into HMI address space locations 0x800000 and 0x800001 with the following declaration.

HMIEntry $800000,extaStatus,extaStatusEnds,HMI_ACCESS_READONLY Create MIB Mappings The final and most complex mappings associate the defined variables with a location in the SNMP MIB. The MIB is defined by specifying the connections and paths to the variables which appear at the leaves of a tree structure. Several macros assist in defining this structure. The most important of these are MIB_NODEBEGIN, MIB_NODEEND, MIB_CHILD, MIB_NULL, MIB_LEAF. A node is defined between MIB_NODEBEGIN and MIB_NODEEND declarations. Each node has a unique name and is given as a parameter to both MIB_NODEBEGIN and MIB_NODEEND. Between these two declarations my be any combination of MIB_CHILD, MIB_NULL and MIB_LEAF declaration. MIB_NULL is a placeholder for a branch from a node which leads nowhere. MIB_CHILD defines a connection from the current note to the next node further up the tree. MIB_CHILD destination node • destination node - Name of the node at the next level in the tree. MIB_LEAF defines a MIB variable connected from the current node. MIB_LEAF variable, data type, writable, indexed • physical variable - the name or location of the variable as given in the declaration. • data type - specifies how data is to be interpreted. The available data types are listed below. • writable - allow set operations when 1 • indexed -append.0OIDwhen0thisistheSNMPconventionforasimpleleaf variable. Indexed variables in a table operate according to a different convention. This parameter should be set to 1 for these variables.

Type Identifier Description

UInt16 16 bit unsigned (LS byte unused)

Int24 24 bit signed

UInt24 24 bit unsigned DSP word

UInt48RP 48 bit unsigned (LS word first) with MS bits truncated to 32 bits

Counter24 24 bit unsigned with counter tag

Counter48 48 bit unsigned with counter tag

Gauge24 24 bit unsigned with gauge tag

CobraNet Datasheet - rev 1.6 May 27, 2003 44 www.cirrus.com Management Interface

Type Identifier Description

Gauge48 48 bit unsigned with gauge tag

TimeTicks 48 bit unsigned withTimeTicks tag

OctetString Raw binary or ASCII string

Oid SNMP object identifier

IPAddress 32 bit IP address

PhyAddress 48 bit Ethernet MAC address

When a table object is being declared, MIB_INTINDEX is allowed as the first entry in the node declaration (immediately after MIB_NODEBEGIN). This is a space saving shortcut towards defining an integer indexed table. MIB_INTINDEX name, rows • name - name of index entry node. this is generally unused but must be unique. • rows - number of rows in table In addition to defining connections between nodes with MIB_CHILD declarations, an OID fragment may be used to efficiently describe a linear connection of nodes. MIB_FRAGBEGIN and MIB_FRAGEND brackets an OID fragment definition. a fragment definition consists of a MIB_CHILD or MIB_LEAF declaration followed by OID fragment data bytes. the OID fragment is BER encoded. MIB_FRAGBEGIN name, domain, byte length • name - unique name for the OID fragment • domain - access control group • byte length - byte length of OID fragment MIB_FRAGEND name • name - unique name for the OID fragment as specified for paired MIB_FRAGBEGIN. Declaration of the MIB mapping of the two status variables extaStatus with OID of iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).peakAudio(2680).cobraNet(1).mf gExtensions(2).peakAudioExt(3).exta(1).extaStatus(1).0 and extaTemperature with OID of iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).peakAudio(2680). cobraNet(1).mfgExtensions(2).peakAudioExt(3).exta(1).extaTemperature(2).0 is shown below.

; peakAudioExt(3).exta(1) xdef extaFrag MIB_FRAGBEGIN exta,MIBDOMAIN_MANUFACTURER,2 MIB_CHILD exta dcb MFGID_PEAKAUDIO,1 MIB_FRAGEND exta

MIB_NODEBEGIN exta MIB_LEAF extaStatus,Int24,0,0 MIB_LEAF extaTemperature,Int24,0,0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 45 Management Interface

MIB_NODEEND exta Example Extension Agent MIB (exta.mib) -- Title: Example Extension Agent for CobraNet interface -- Version: $Header: /CobraNet/Software/cobra/exta.mib 2 11/17/00 11:53a Kg $

PEAKEXTA-MIB DEFINITIONS ::= BEGIN

IMPORTS OBJECT-TYPE FROM RFC-1212 Counter FROM RFC1155-SMI DisplayString FROM RFC1213-MIB mfgExtensions FROM PEAKAUDIO-MIB;

peakAudioExt OBJECT IDENTIFIER ::= { mfgExtensions 3 }

exta OBJECT IDENTIFIER ::= { peakAudioExt 1 }

-- global status and control

extaStatus OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Operational status of the peripheral portions of the CobraNet device. 0 - no communication with peripherals 1 - peripherals operating normally" ::={exta1}

extaTemperature OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Temperature in centigrade of the air leaving the CobraNet device." ::={exta2}

-- input table

extaInputTable OBJECT-TYPE SYNTAX SEQUENCE OF ExtaInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Table of input channel parameters." ::={exta3}

CobraNet Datasheet - rev 1.6 May 27, 2003 46 www.cirrus.com Management Interface

extaInputEntry OBJECT-TYPE SYNTAX ExtaInputEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Input channel parameters entry." INDEX { extaInputIndex } ::= { extaInputTable 1 }

ExtaInputEntry ::= SEQUENCE { extaInputIndex INTEGER, extaInputDescr DisplayString, extaInputMute INTEGER, extaInputGain INTEGER, extaInputClip Counter }

extaInputIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "extaInputTable index." ::= { extaInputEntry 1 }

extaInputDescr OBJECT-TYPE SYNTAX DisplayString ACCESS read-write STATUS mandatory DESCRIPTION "An administratively-assigned name for this input channel." ::= { extaInputEntry 2 }

extaInputMute OBJECT-TYPE SYNTAX INTEGER (0..1) ACCESS read-write STATUS mandatory DESCRIPTION "Input mute control. 0 - input active 1 - input muted" ::= { extaInputEntry 3 }

extaInputGain OBJECT-TYPE SYNTAX INTEGER (-1000..450) ACCESS read-write

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 47 Management Interface

STATUS mandatory DESCRIPTION "Input gain control in tenths of a decibel units." ::= { extaInputEntry 4 }

extaInputClip OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "Incremented when clipping is detected in the pre-amp stage of the input. extaInputGain can be reduced to eliminate clipping condition." ::= { extaInputEntry 5 }

END Example Extension Agent Definitions (exta.asm)

;======; $Header: /CobraNet/Software/cobra/exta.a 4 12/17/01 10:14a Kg $ ; Copyright (c) 1998-2002 Peak Audio Inc. ;------; example SNMP extension agent definition ;======include ’opts.inc’ include ’default.inc’ if !@def(EXTA) include ’regs.inc’ ; this include is required to avoid assembler internal fault else include ’hostmi.inc’ include ’main.inc’ include ’mi.inc’ include ’mib.inc’ include ’regs.inc’ ; this include is required to avoid assembler internal fault

list beginsection exta

;------; variable declarations ;------INIT ; status extaStatus dc 0 extaTemperature dc 0 extaStatusEnds

; input table define DEF_INPUT_DESCR ’Input ?n’ dupf n,0,MAX_EXTAINPUTS-1 extaInputConfig\?n

CobraNet Datasheet - rev 1.6 May 27, 2003 48 www.cirrus.com Management Interface

extaInputDescr\?n dc @len("DEF_INPUT_DESCR") dcb "DEF_INPUT_DESCR" AsmAssert *-extaInputDescr\?n<=STRING_SIZE bsc STRING_SIZE-(*-extaInputDescr\?n),0 ; pad to STRING_SIZE extaInputMute\?n dc 0 extaInputGain\?n dc 0 extaInputConfigEnds\?n extaInputStatus\?n extaInputClip\?n dc 0 extaInputStatusEnds\?n endm

;------; HMI definitions ;------xdef extaTable extaTable

; status variables EXTA_STATUS_BASE set HMI_PRODUCT_BASE HMIEntry EXTA_STATUS_BASE,extaStatus,extaStatusEnds,HMI_ACCESS_READONLY

; input table EXTA_INPUT_BASE set HMI_PRODUCT_BASE+$10000 dupf n,0,MAX_EXTAINPUTS-1 EXTA_INPUT_START set EXTA_INPUT_BASE+($1000*n) HMIEntry EXTA_INPUT_START+0,extaInputConfig\?n,extaInputConfigEnds\?n,HMI_ACCESS_PERSISTENT HMIEntry EXTA_INPUT_START+$100,extaInputStatus\?n,extaInputStatusEnds\?n,HMI_ACCESS_READONLY endm

xdef extaTableEnds extaTableEnds

;------; MIB definitions ;------; peakAudioExt(3).exta(1) xdef extaFrag MIB_FRAGBEGIN exta,MIBDOMAIN_MANUFACTURER,2 MIB_CHILD exta dcb MFGID_PEAKAUDIO,1 MIB_FRAGEND exta

MIB_NODEBEGIN exta MIB_LEAF extaStatus,Int24,0,0 MIB_LEAF extaTemperature,Int24,0,0 if MAX_EXTAINPUTS>0 MIB_CHILD extaInputTable endif MIB_NODEEND exta

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 49 Management Interface

;------input table if MAX_EXTAINPUTS>0 MIB_NODEBEGIN extaInputTable MIB_CHILD extaInputEntry MIB_NODEEND extaInputTable

MIB_NODEBEGIN extaInputEntry MIB_INTINDEX extaImputIndex,MAX_EXTAINPUTS MIB_CHILD extaInputDescr MIB_CHILD extaInputMute MIB_CHILD extaInputGain MIB_CHILD extaInputClip MIB_NODEEND extaInputEntry

MIB_NODEBEGIN extaInputDescr dupf n,0,MAX_EXTAINPUTS-1 MIB_LEAF extaInputDescr\?n,OctetString,1,1 endm MIB_NODEEND extaInputDescr

MIB_NODEBEGIN extaInputMute dupf n,0,MAX_EXTAINPUTS-1 MIB_LEAF extaInputMute\?n,Int24,1,1 endm MIB_NODEEND extaInputMute

MIB_NODEBEGIN extaInputGain dupf n,0,MAX_EXTAINPUTS-1 MIB_LEAF extaInputGain\?n,UInt24,1,1 endm MIB_NODEEND extaInputGain

MIB_NODEBEGIN extaInputClip dupf n,0,MAX_EXTAINPUTS-1 MIB_LEAF extaInputClip\?n,Counter24,0,1 endm MIB_NODEEND extaInputClip endif ; MAX_EXTAINPUTS>0

endsection exta endif ; @def(EXTA)

CobraNet Datasheet - rev 1.6 May 27, 2003 50 www.cirrus.com Management Interface Variable Reference

Management Interface Variable Reference

Legend

Figure 13 illustrates meanings for the content provided in the MIB II Variables tables on the following pages.

Name of the variable as seen in Description of the variable including the SNMP MIB and the cobrami.h allowed values and usage discussion. header file. HMI address for variable. HMI addresses SNMP object identifier (OID) for variable. are 24-bit quantities with a range of 0 to Name The OID is the numeric name of the variable 224-1 (0xFFFFFF). If blank, the variable in the SNMP context. If blank, the variable is is not available via the HMI. Description not available via SNMP. Length of variable in 24 bit DSP words. Host Address Number of entries for array or buffer type variables. This field is only applicable to variable SNMP Object ID Absence of a count specification implies a single access via the HMI. Length is indicated instance variable and thus a count of 1. for variable length data types such as Length Display String, Octet String and OID. Data type of the variable. Length is not indicated for fixed length Count types, whose length is implied by their Read-only for variables which can't be written. data type. Type Read/Write for variables which can be read and Value of variable on boot (Read-only and Read/Write Attributes written but return to their specified default value variables) or on boot when persistent settings are not on boot. available (Read/write-Persistent variables). Some Default Value variables, such as those indicating the real-time state Read/Write-Persistent for variables which can be read of a resource, do not have a default value since they Implemented Version and written and retain their value through a reboot or are updated to indicate state of the resource during boot. power cycle. The persistence feature must be enabled via the flashPersistEnable for variables to retain their values otherwise Read/Write-Persistent variables Version in which the variable was first introduced. operate in the same manner as Read/Write variables. The intent is to never remove variables once introduced so one can assume the variable will be available in the revision indicated and all subsequent revisions. If blank, the variable has not been implemented. Legal disclaimer: documentation of a feature does not constitute a commitment on our part to implement the feature.

Figure 13. MIB II Variables Table Legend

Data Types

DisplayString—An ASCII string comprised entirely of printable characters. HMI: The first word indicates the length of the string in bytes. Data is stored three characters per 24-bit word. Character order is MS, middle, LS. Documented length indicates the largest possible size of the variable (including the length field) in 24-bit words. The maximum number of characters for a DisplayString variable is (Length-1)×3. OctetString—A string of octets (bytes). An octet string may contain nulls or other unprintable characters.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 51 Management Interface Variable Reference

HMI: Data is stored three octets per 24-bit word. Character order is MS, middle, LS. Documented length indicates the largest possible size of the variable in 24-bit words. The maximum number of data octets for an OctetString variable is Length×3. OID—An SNMP object identifier is the numeric name of an SNMP variable. OIDs are also used as system unique identifiers for other purposes. HMI: OIDs are presented in their native BER encoding. The first word indicates the length of the encoding in bytes. Data is stored three octets per 24-bit word. Character order is MS, middle, LS. Documented length indicates the largest possible size of the variable (including the length field) in 24-bit words. The maximum number of octets for the OID variable encoding is (Length-1)×3. IpAddress—A 32-bit internet protocol (IP) address. HMI: Data is stored in the most significant 16 bits of 2 consecutive memory locations as illustrated below. The least significant 8 bits of each location are read as 0 and must be written as 0.

MS Middle LS

First Word IP address byte 2 IP address byte 1 0

Second Word IP address byte 4 IP address byte 3 0

PhysAddress—A 48-bit Ethernet media access control (MAC) address. HMI: Data is stored in the most significant 16 bits of 3 consecutive memory locations as illustrated below. The least significant 8 bits of each location are read as 0 and must be written as 0.

MS Middle LS

Word 1 MAC byte 2 MAC byte 1 0

Word 2 MAC byte 4 MAC byte 3 0

Word 3 MAC byte 6 MAC byte 5 0

TimeTicks—A 48-bit integer encoding for time durations. Rolls over after 232 100ths of a second (over one year). HMI: Time is reported in units of 15.26ns. The time value is stored in two successive memory locations. The most significant word appears first. It is suggested that one read the MS word followed by LS word followed by a second read of the MS word and verify that the MS word does not changed during the LS read (if so, start over).

CobraNet Datasheet - rev 1.6 May 27, 2003 52 www.cirrus.com Management Interface Variable Reference

SNMP: Only the most significant 32 bits of the HMI time value is reported. Thus via SNMP, time is this reported in units or 100ths of a second. Time wraps at 2³². These behaviors conform to the expected behavior for the standard SNMP TimeTicks data type.

Counter24—A 24 bit unsigned event counter. Rolls over after 224 counts. Counters are never writable.

Counter48—A 48 bit unsigned event counter. Rolls over after 248 counts. Counters are never writable. HMI: The counter value is stored in two successive memory locations. The most significant word appears first. It is suggested that one read the MS word followed by LS word followed by a second read of the MS word and verify that the MS word does not changed during the LS read (if so, start over). SNMP: Only the least significant 32 bits of the counter is reported. This gives the illusion that the counter wraps at 232. This conforms to the expected behavior for the standard SNMP Counter32 data type. Integer16—A signed 16-bit integer. HMI: Signed data is represented in 2's compliment form. The most significant 16 bits of the 24 bit host data contain the significant bits. The LS 8 bits are read as 0 and must be written as 0.

SNMP: Bad Value error is reported if value magnitude exceeds 215 on a set operation. Integer24—A signed 24-bit integer. HMI: Signed data is represented in 2's compliment form.

SNMP: Bad Value error is reported if value magnitude exceeds 223 on a set operation. Integer48—A signed 48-bit integer. HMI: Data is stored in 2 consecutive memory locations. The most significant word appears first. Signed data is represented in 2's compliment form. SNMP: Only the least significant 32 bits of the value is reported.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 53 Management Interface Variable Reference

MIB-II Variables

These variables are standard for all SNMP implementations. This common set of management variables is defined in the Internet Engineering Task Force (IETF) standards document RFC 1213.

System

Name sysDescr

A textual description of the entity. This value should include the full name and version identification Description of the system's hardware type, software operating-system, and networking software. It is mandatory that this contains only printable ASCII characters.

Host Address 0x100000

SNMP Object ID 1.3.6.1.2.1.1.1

Length 21

Type DisplayString

Attributes Read-only

Default Value “[manufacturer name] [product name] CobraNet firmware [protocol version].[major version].[minor version].[manufacturer's version (optional)]”

Implemented Version 2.6.3

Name sysObjectID

The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises sub-tree (1.3.6.1.4.1) and provides an easy Description and unambiguous means for determining `what kind of box' is being managed. For example, if vendor `Peak Audio, Inc.' was assigned the sub-tree 1.3.6.1.4.1.2680, it could assign the identifier 1.3.6.1.4.1.2680.1.2.1.1 to its `EV-1'.

Host Address 0x100100

SNMP Object ID 1.3.6.1.2.1.1.2

Length 21

Type OID

Attributes Read-only

Default Value 1.3.6.1.4.1.2680.1.3.(CobraNet manufacturer ID).(manufacturer product ID)

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 54 www.cirrus.com Management Interface Variable Reference

Name sysContact

Description The textual identification of the contact person for this managed node, together with information on how to contact this person.

Host Address 0x100200

SNMP Object ID 1.3.6.1.2.1.1.4

Length 21

Type DisplayString

Attributes Read/write - Persistent

Default Value Zero length string

Implemented Version 2.6.3

Name sysName

Description An administratively assigned name for this managed node. By convention, this is the node's fully qualified domain name.

Host Address 0x100300

SNMP Object ID 1.3.6.1.2.1.1.5

Length 21

Type DisplayString

Attributes Read/write - Persistent

Default Value Product specific

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 55 Management Interface Variable Reference

Name sysLocation

Description The physical location of this node (e.g., “telephone closet, 3rd floor”)

Host Address 0x100400

SNMP Object ID 1.3.6.1.2.1.1.6

Length 21

Type DisplayString

Attributes Read/write - Persistent

Default Value Zero length string

Implemented Version 2.6.3

Name sysUpTime

Description Time in 100ths of a second since the network management portion of the system was last re- initialized.

Host Address 0x100500

SNMP Object ID 1.3.6.1.2.1.1.3

Type TimeTicks

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 56 www.cirrus.com Management Interface Variable Reference

Name sysServices

A value which indicates the set of services that this entity primarily offers. The value is a sum. This sum initially takes the value zero, Then, for each layer, L, in the range 1 through 7, that this node performs transactions for, 2 raised to (L - 1) is added to the sum. For example, a node which performs primarily routing functions would have a value of 4 (2^(3-1)). In contrast, a node which is a Description host offering application services would have a value of 72 (2^(4-1) + 2^(7-1)). Note that in the context of the Internet suite of protocols, values should be calculated accordingly: layer functionality 1 physical (e.g., repeaters) 2 datalink/subnetwork (e.g., bridges) 3 internet (e.g., IP gateways) 4 end-to-end (e.g., IP hosts) 7 applications (e.g., mail relays) For systems including OSI protocols, layers 5 and 6 may also be counted.

Host Address 0x100502

SNMP Object ID 1.3.6.1.2.1.1.7

Type Integer24

Attributes Read-only

Default Value 72

Implemented Version 2.6.3

Interface

Name ifNumber

Description The number of network interfaces (regardless of their current state) present on this system.

Host Address 0x110000

SNMP Object ID 1.3.6.1.2.1.2.1

Type Integer24

Attributes Read-only

Default Value 1

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 57 Management Interface Variable Reference

Name ifDescr

Description A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the hardware interface.

Host Address 0x110001

SNMP Object ID 1.3.6.1.2.1.2.2.1.2

Length 9

Type DisplayString

Attributes Read-only

Default Value “CobraNet”

Implemented Version 2.1.0

Name ifType

Description The type of interface, distinguished according to the physical/link protocol(s) immediately `below' the in the protocol stack. Reference RFC 1213 for all type identifiers

Host Address 0x11000A

SNMP Object ID 1.3.6.1.2.1.2.2.1.3

Type Integer24

Attributes Read-only

Default Value 7

Implemented Version 2.1.0

Name ifMtu

The size of the largest datagram which can be sent/received on the interface, specified in octets. For Description interfaces that are used for transmitting network datagrams, this is the size of the largest network datagram that can be sent on the interface.

Host Address 0x11000B

SNMP Object ID 1.3.6.1.2.1.2.2.1.4

Type Integer24

Attributes Read-only

Default Value 1500

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 58 www.cirrus.com Management Interface Variable Reference

Name ifSpeed

An estimate of the interface's current bandwidth in bits per second or Mbits per second (see Notes Description below). For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.

Host Address 0x11000C

SNMP Object ID 1.3.6.1.2.1.2.2.1.5

Type Integer24

Attributes Read-only

Default Value 100

Implemented Version 2.1.0, corrected is 2.6.5 (see Notes below)

Prior to 2.6.5 ifSpeed was incorrectly reported via SNNP in Mbit/second units (100Mbit interface Notes ifSpeed reported as “100”). 2.6.5 correctly reports ifSpeed in bits per second units via SNMP but due to space constraints, ifSpeed is still reported in Mbit per second units via HMI.

Name ifPhysAddress

Description The interface's address at the protocol layer immediately `below' the network layer in the protocol stack.

Host Address 0x11000D

SNMP Object ID 1.3.6.1.2.1.2.2.1.6

Type PhysAddress

Attributes Read-only

Default Value n.a.

Implemented Version 2.1.0

Name ifAdminStatus

The desired state of the interface. The testing(3) state indicates that no operational packets can be Description passed up(1) -- ready to pass packets down(0)

Host Address 0x111000

SNMP Object ID 1.3.6.1.2.1.2.2.1.7

Type Integer24

Attributes Read/Write

Default Value 1

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 59 Management Interface Variable Reference

Name ifOperStatus

The current operational state of the interface. The testing(3) state indicates that no operational Description packets can be passed. up(1) - ready to pass packets down(0)

Host Address 0x112000

SNMP Object ID 1.3.6.1.2.1.2.2.1.8

Type Integer24

Attributes Read-only

Default Value 1

Implemented Version 2.1.0

Name ifLastChange

The value of sysUpTime at the time the interface entered its current operational state. If the current Description state was entered prior to the last re- initialization of the local network management subsystem, then this object contains a zero value.

Host Address 0x112001

SNMP Object ID 1.3.6.1.2.1.2.2.1.9

Type TimeTicks

Attributes Read-only

Default Value n.a.

Implemented Version 2.1.0

Name ifInOctets

Description The total number of octets received on the interface, including framing characters.

Host Address 0x112016

SNMP Object ID 1.3.6.1.2.1.2.2.1.10

Type Counter48

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 60 www.cirrus.com Management Interface Variable Reference

Name ifInUcastPkts

Description The number of subnetwork-unicast packets delivered to a higher-layer protocol.

Host Address 0x112018

SNMP Object ID 1.3.6.1.2.1.2.2.1.11

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifInNUcastPkts

Description The number of non-unicast (i.e., subnetwork- broadcast or subnetwork-multicast) packets delivered to a higher-layer protocol.

Host Address 0x112019

SNMP Object ID 1.3.6.1.2.1.2.2.1.12

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifInDiscards

The number of inbound packets which were chosen to be discarded even though no errors had Description been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space.

Host Address 0x11201A

SNMP Object ID 1.3.6.1.2.1.2.2.1.13

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 61 Management Interface Variable Reference

Name ifInErrors

Description The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.

Host Address 0x11201B

SNMP Object ID 1.3.6.1.2.1.2.2.1.14

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifInUnknownProtos

Description The number of packets received via the interface which were discarded because of an unknown or unsupported protocol.

Host Address 0x11201C

SNMP Object ID 1.3.6.1.2.1.2.2.1.15

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifOutOctets

Description The total number of octets transmitted out of the interface, including framing characters.

Host Address 0x11201D - 0x11201E

SNMP Object ID 1.3.6.1.2.1.2.2.1.16

Type Counter48

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 62 www.cirrus.com Management Interface Variable Reference

Name ifOutUcastPkts

Description The total number of packets that higher-level protocols requested be transmitted to a subnetwork- unicast address, including those that were discarded or not sent.

Host Address 0x11201F

SNMP Object ID 1.3.6.1.2.1.2.2.1.17

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifOutNUcastPkts

The total number of packets that higher-level protocols requested be transmitted to a non- unicast Description (i.e., a subnetwork-broadcast or subnetwork-multicast) address, including those that were discarded or not sent.

Host Address 0x112020

SNMP Object ID 1.3.6.1.2.1.2.2.1.18

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifOutDiscards

The number of outbound packets which were chosen to be discarded even though no errors had Description been detected to prevent their being transmitted. One possible reason for discarding such a packet couldbetofreeupbufferspace.

Host Address 0x112021

SNMP Object ID 1.3.6.1.2.1.2.2.1.19

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 63 Management Interface Variable Reference

Name ifOutErrors

Description The number of outbound packets that could not be transmitted because of errors.

Host Address 0x112022

SNMP Object ID 1.3.6.1.2.1.2.2.1.20

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name ifOutQLen

Description The length of the output packet queue (in packets)

Host Address 0x112023

SNMP Object ID 1.3.6.1.2.1.2.2.1.21

Type Integer24

Attributes Read-only

Default Value n.a.

Implemented Version 2.6.1

Name ifSpecific

A reference to MIB definitions specific to the particular media being used to realize the interface. For example, if the interface is realized by an Ethernet, then the value of this object refers to a document Description defining objects specific to Ethernet. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntactically valid object identifier, and any conformant implementation of ASN.1 and BER must be able to generate and recognize this value.

Host Address 0x112024

SNMP Object ID 1.3.6.1.2.1.2.2.1.22

Length 2

Type OID

Attributes Read-only

Default Value 0.0

Implemented Version 2.6.1

CobraNet Datasheet - rev 1.6 May 27, 2003 64 www.cirrus.com Management Interface Variable Reference

Address Translation The Address Translations are deprecated. These variables are no longer available via SNMP.

Name atIfIndex

Description The interface on which this entry's equivalence is effective. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex.

Host Address 0x120000

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Default Value 1

Implemented Version 2.1.0

Name atPhysAddress

Description MAC address of the device. Use of ifPhysAddress is preferred for determining the MAC address.

Host Address 0x120001

SNMP Object ID Not available via SNMP

Type PhysAddress

Attributes Read-only

Default Value As assigned by manufacturer

Implemented Version 2.1.0

Name atNetAddress

IP address of the device. Obtaining the IP address via SNMP should not be a necessary operation - Description you need to know the IP address in order to send the query. Via HMI, the IP address may be monitored and manipulated via the IP Monitor variables.

Host Address 0x120004

SNMP Object ID Not available via SNMP

Type IpAddress

Attributes Read-only

Default Value As assigned by RARP, BOOTP or IP monitor variables.

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 65 Management Interface Variable Reference

IP

Name ipForwarding

The indication of whether this entity is acting as an IP gateway in respect to the forwarding of Description datagrams received by, but not addressed to, this entity. IP gateways forward datagrams. IP hosts do not (except those source-routed via the host).

Host Address 0x130000

SNMP Object ID 1.3.6.1.2.1.4.1

Type Integer24

Attributes Read/Write

Default Value Always reads 2

Implemented Version 2.6.0

Name ipDefaultTTL

Description The default value inserted into the Time-To-Live field of the IP header of datagrams originated at this entity, whenever a TTL value is not supplied by the protocol.

Host Address 0x130001

SNMP Object ID 1.3.6.1.2.1.4.2

Type Integer24

Attributes Read/Write

Default Value 128

Implemented Version 2.6.0

Name ipInReceives

Description The total number of input datagrams received from interfaces, including those received in error.

Host Address 0x131000

SNMP Object ID 1.3.6.1.2.1.4.3

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 66 www.cirrus.com Management Interface Variable Reference

Name ipInHdrErrors

The number of input datagrams discarded due to errors in their IP headers, including bad Description checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered in processing their IP options, etc.

Host Address 0x131001

SNMP Object ID 1.3.6.1.2.1.4.4

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipInAddrErrors

The number of input datagrams discarded because the IP address in their IP header's destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., Description 0.0.0.0) and addresses of unsupported Classes (e.g., Class E). For entities which are not IP Gateways and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address.

Host Address 0x131002

SNMP Object ID 1.3.6.1.2.1.4.5

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipForwDatagrams

The number of input datagrams for which this entity was not their final IP destination, as a result of Description which an attempt was made to find a route to forward them to that final destination. In entities which do not act as IP Gateways, this counter will include only those packets which were Source-Routed via this entity, and the Source- Route option processing was successful.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.6

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 67 Management Interface Variable Reference

Name ipInUnknownProtos

Description The number of locally-addressed datagrams received successfully but discarded because of an unknown or unsupported protocol.

Host Address 0x131003

SNMP Object ID 1.3.6.1.2.1.4.7

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipInDiscards

The number of input IP datagrams for which no problems were encountered to prevent their Description continued processing, but which were discarded (e.g., for lack of buffer space). Note that this counter does not include any datagrams discarded while awaiting re-assembly.

Host Address 0x131004

SNMP Object ID 1.3.6.1.2.1.4.8

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipInDelivers

Description The total number of input datagrams successfully delivered to IP user-protocols (including ICMP)

Host Address 0x131005

SNMP Object ID 1.3.6.1.2.1.4.9

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 68 www.cirrus.com Management Interface Variable Reference

Name ipOutRequests

The total number of IP datagrams which local IP user-protocols (including ICMP) supplied to IP in Description requests for transmission. Note that this counter does not include any datagrams counted in ipForwDatagrams.

Host Address 0x131006

SNMP Object ID 1.3.6.1.2.1.4.10

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipOutDiscards

The number of output IP datagrams for which no problem was encountered to prevent their Description transmission to their destination, but which were discarded (e.g., for lack of buffer space). Note that this counter would include datagrams counted in ipForwDatagrams if any such packets met this (discretionary) discard criterion.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.11

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipOutNoRoutes

The number of IP datagrams discarded because no route could be found to transmit them to their Description destination. Note that this counter includes any packets counted in ipForwDatagrams which meet this `no-route' criterion. Note that this includes any datagrams which a host cannot route because all of its default gateways are down.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.12

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 69 Management Interface Variable Reference

Name ipReasmTimeout

Description The maximum number of seconds which received fragments are held while they are awaiting reassembly at this entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.13

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipReasmReqds

Description The number of IP fragments received which needed to be reassembled at this entity.

Host Address 0x131007

SNMP Object ID 1.3.6.1.2.1.4.14

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipReasmOKs

Description The number of IP datagrams successfully re-assembled.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.15

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 70 www.cirrus.com Management Interface Variable Reference

Name ipReasmFails

The number of failures detected by the IP re- assembly algorithm (for whatever reason: timed out, Description errors, etc). Note that this is not necessarily a count of discarded IP fragments since some algorithms (notably the algorithm in RFC 815) can lose track of the number of fragments by combining them as they are received.

Host Address 0x131007 (same as ipReasmReqds)

SNMP Object ID 1.3.6.1.2.1.4.16

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipFragOKs

Description The number of IP datagrams that have been successfully fragmented at this entity. The CobraNet interface does not support fragmentation. This variable will always read 0.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.17

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipFragFails

The number of IP datagrams that have been discarded because they needed to be fragmented at Description this entity but could not be, e.g., because their Don't Fragment flag was set. The CobraNet interface does not support fragmentation. This variable will always read 0.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.18

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 71 Management Interface Variable Reference

Name ipFragCreates

Description The number of IP datagram fragments that have been generated as a result of fragmentation at this entity. The CobraNet interface does not support fragmentation. This variable will always read 0.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.19

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name ipRoutingDiscards

The number of routing entries which were chosen to be discarded even though they are valid. One Description possible reason for discarding such an entry could be to free-up buffer space for other routing entries. The CobraNet interface does not support routing. This variable will always read 0.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.4.23

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 72 www.cirrus.com Management Interface Variable Reference

UDP

Name udpInDatagrams

Description The total number of UDP datagrams delivered to UDP users.

Host Address 0x140000

SNMP Object ID 1.3.6.1.2.1.7.1

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name udpNoPorts

Description The total number of received UDP datagrams for which there was no application at the destination port.

Host Address 0x140001

SNMP Object ID 1.3.6.1.2.1.7.2

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name udpInErrors

Description The number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port.

Host Address 0x140002

SNMP Object ID 1.3.6.1.2.1.7.3

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 73 Management Interface Variable Reference

Name udpOutDatagrams

Description The total number of UDP datagrams sent from this entity.

Host Address 0x140003

SNMP Object ID 1.3.6.1.2.1.7.4

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name udpLocalAddress

Description The local IP address for this UDP listener. In the case of a UDP listener which is willing to accept datagrams for any IP interface associated with the node, the value 0.0.0.0 is used. Host Address

SNMP Object ID

Type IpAddress

Attributes Read-only Default Value

Implemented Version Not supported

Name udpLocalPort

Description The local port number for this UDP listener. Host Address

SNMP Object ID

Type Integer16

Attributes Read-only Default Value

Implemented Version Not supported

CobraNet Datasheet - rev 1.6 May 27, 2003 74 www.cirrus.com Management Interface Variable Reference

SNMP

Name snmpInPkts

Description The total number of Messages delivered to the SNMP entity from the transport service

Host Address 0x150000

SNMP Object ID 1.3.6.1.2.1.11.1

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpOutPkts

Description The total number of SNMP Messages which were passed from the SNMP protocol entity to the transport service.

Host Address 0x150001

SNMP Object ID 1.3.6.1.2.1.11.1

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpInBadVersions

Description The total number of SNMP Messages which were delivered to the SNMP protocol entity and were for an unsupported SNMP version.

Host Address 0x150002

SNMP Object ID 1.3.6.1.2.1.11.3

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 75 Management Interface Variable Reference

Name snmpInBadCommunityNames

Description The total number of SNMP Messages delivered to the SNMP protocol entity which used a SNMP community name not known to said entity.

Host Address 0x150003

SNMP Object ID 1.3.6.1.2.1.11.4

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpInBadCommunityUses

Description The total number of SNMP Messages delivered to the SNMP protocol entity which represented an SNMP operation which was not allowed by the SNMP community named in the Message.

Host Address 0x150004

SNMP Object ID 1.3.6.1.2.1.11.5

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpInASNParseErrs

Description The total number of ASN.1 or BER errors encountered by the SNMP protocol entity when decoding received SNMP Messages.

Host Address 0x150005

SNMP Object ID 1.3.6.1.2.1.11.6

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 76 www.cirrus.com Management Interface Variable Reference

Name snmpInTooBigs

Description The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `tooBig'.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.8

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.0

Name snmpInNoSuchNames

Description The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `noSuchName'.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.9

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.0

Name snmpInBadValues

Description The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `badValue'.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.10

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 77 Management Interface Variable Reference

Name snmpInReadOnlys

The total number valid SNMP PDUs which were delivered to the SNMP protocol entity and for which Description the value of the error-status field is `readOnly'. It should be noted that it is a protocol error to generate an SNMP PDU which contains the value `readOnly' in the error-status field, as such this object is provided as a means of detecting incorrect implementations of SNMP.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.11

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.0

Name snmpInGenErrs

Description The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `genErr'.

Host Address Not Available

SNMP Object ID 1.3.6.1.2.1.11.12

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.0

Name snmpInTotalReqVars

Description The total number of MIB objects which have been retrieved successfully by the SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-Next PDUs.

Host Address 0x150006

SNMP Object ID 1.3.6.1.2.1.11.13

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

CobraNet Datasheet - rev 1.6 May 27, 2003 78 www.cirrus.com Management Interface Variable Reference

Name snmpInTotalSetVars

Description The total number of MIB objects which have been altered successfully by the SNMP protocol entity as the result of receiving valid SNMP Set-Request PDUs.

Host Address 0x150007

SNMP Object ID 1.3.6.1.2.1.11.14

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpInGetRequests

Description The total number of SNMP Get-Request PDUs which have been accepted and processed by the SNMP protocol entity.

Host Address 0x150008

SNMP Object ID 1.3.6.1.2.1.11.15

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.0

Name snmpInGetNexts

Description The total number of SNMP Get-Next PDUs which have been accepted and processed by the SNMP protocol entity.

Host Address 0x150009

SNMP Object ID 1.3.6.1.2.1.11.16

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 79 Management Interface Variable Reference

Name snmpInSetRequests

Description The total number of SNMP Set-Request PDUs which have been accepted and processed by the SNMP protocol entity.

Host Address 0x15000A

SNMP Object ID 1.3.6.1.2.1.11.17

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

Name snmpInGetResponses

Description The total number of SNMP Get-Response PDUs which have been accepted and processed by the SNMP protocol entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.18

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

Name snmpInTraps

Description The total number of SNMP Trap PDUs which have been accepted and processed by the SNMP protocol entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.19

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 80 www.cirrus.com Management Interface Variable Reference

Name snmpOutTooBigs

Description The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `tooBig.'

Host Address 0x15000B

SNMP Object ID 1.3.6.1.2.1.11.20

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

Name snmpOutNoSuchNames

Description The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status is `noSuchName'.

Host Address 0x15000C

SNMP Object ID 1.3.6.1.2.1.11.21

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

Name snmpOutBadValues

Description The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `badValue'.

Host Address 0x15000D

SNMP Object ID 1.3.6.1.2.1.11.22

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 81 Management Interface Variable Reference

Name snmpOutGenErrs

Description The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `genErr'.

Host Address 0x15000E

SNMP Object ID 1.3.6.1.2.1.11.24

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

Name snmpOutGetRequests

Description The total number of SNMP Get-Request PDUs which have been generated by the SNMP protocol entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.25

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

Name snmpOutGetNexts

Description The total number of SNMP Get-Next PDUs which have been generated by the SNMP protocol entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.26

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 82 www.cirrus.com Management Interface Variable Reference

Name snmpOutSetRequests

Description The total number of SNMP Set-Request PDUs which have been generated by the SNMP protocol entity

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.27

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

Name snmpOutGetResponses

Description The total number of SNMP Get-Response PDUs which have been generated by the SNMP protocol entity.

Host Address 0x150001 (same as snmpOutPackets)

SNMP Object ID 1.3.6.1.2.1.11.28

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3

Name snmpOutTraps

Description The total number of SNMP Trap PDUs which have been generated by the SNMP protocol entity.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.29

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 83 Management Interface Variable Reference

Name snmpEnableAuthenTraps

Indicates whether the SNMP agent process is permitted to generate authentication-failure traps. Description The value of this object overrides any configuration information; as such, it provides a means whereby all authentication-failure traps may be disabled.

Host Address 0x15000F

SNMP Object ID 1.3.6.1.2.1.11.30

Type Counter24

Attributes Read-only

Default Value Always reads 2

Implemented Version 2.6.0

Name snmpSilentDrops

The total number of GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs delivered to the SNMP entity which were silently Description dropped because the size of a reply containing an alternate Response-PDU with an empty variable- bindings field was greater than either a local constraint or the maximum message size associated with the originator of the request.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.31

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

Name snmpProxyDrops

The total number of GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, Description SetRequest-PDUs, and InformRequest-PDUs delivered to the SNMP entity which were silently dropped because the transmission of the (possibly translated) message to a proxy target failed in a manner (other than a time-out) such that no Response-PDU could be returned.

Host Address Not available

SNMP Object ID 1.3.6.1.2.1.11.32

Type Counter24

Attributes Read-only

Default Value Always reads 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 84 www.cirrus.com Management Interface Variable Reference

CobraNet Variables

Firmware

Name firmwareProtocolVersion

Description Highest CobraNet protocol version supported by firmware. Current protocol version is 2. A protocol version of 0 indicates a work-in-progress test version of firmware.

Host Address 0x0

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.1

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name firmwareMajorVersion

Description CobraNet runtime firmware major revision number.

Host Address 0x1

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.2

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name firmwareMinorVersion

Description CobraNet runtime firmware minor revision number.

Host Address 0x2

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.3

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 85 Management Interface Variable Reference

Name firmwareBootVersion

Description CobraNet boot sector firmware revision number. Code from the boot sector performs power-up self- tests and configures the PLD and loads and the runtime code.

Host Address 0x3

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.4

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name firmwareMfgId

Description Identifies the manufacturer of the CobraNet device. 0 - unknown manufacturer.

Host Address 0x4

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.5

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name firmwareMfgProductId

Description Identifies product type per manufacturer. Product identifiers are unique per manufacturer identifier. 0 - unknown product.

Host Address 0x5

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.6

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 86 www.cirrus.com Management Interface Variable Reference

Name firmwareMfgVersion

Description A manufacturer assigned minor revision number for runtime firmware. A non-zero value indicates manufacturer has made some modification to the firmware as released by Peak Audio.

Host Address 0x6

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.7

Length 1

Count 1

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name firmwareRestart

Reboots the interface when set to a non-zero value. Invoking this function will cause loss of communications. The interface will attempt to send a response to an SNMP set request before restarting. Due to the nature of SNMP, receipt of such a response by the manager is not guaranteed. Managers invoking this feature via HMI should expect timeouts on subsequent HMI operations until the interface has completed re-initialization. A successful restart can verified by Description observing sysUpTime variable. sysUpTime returns to 0 following a restart. A restart at the direction of an SNMP manager may confuse a local host connected to the interface via HMI. The host may experience HMI timeouts during the restart and my not recover from these errors. Values of all MI variables are restored to their power up or persistent states during the restart. The local host may become confused if it has made any assumptions about MI variable values.

Host Address 0x100

SNMP Object ID 1.3.6.1.4.1.2680.1.1.1.8

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 87 Management Interface Variable Reference

Flash

Name flashTotalSize

Description Total flash memory size in bytes.

Host Address 0x1000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.1

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name flashSectorSize

Largest flash sector size expressed in bytes. Sector size is visible via TFTP where each bank is presented as a system file. Note however that some flash memories have sectors that vary in size. Description Therefore it is not safe to use this variable to determine sector size. The safe way to determine sector size is to read each sector via TFTP.The amount of data returned will indicate the sector size exactly.

Host Address 0x1001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.2

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name flashPersistSequence

Sequence number for persistence storage. This gives an approximate indication of the wear on the flash memory from persistent stores. The sequence number is incremented each time a sector is Description erased to make room for a persistent store. Typically two sectors are used for persistent storage. The sequence number divided by the number of sectors used for persistence yields the approximate erase cycle count each sector has endured. Flash memory is rated for no less than 100,000 erase cycles.

Host Address 0x1002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.3

Type Counter24

Attributes Read-only

Implemented Version 2.8.1

CobraNet Datasheet - rev 1.6 May 27, 2003 88 www.cirrus.com Management Interface Variable Reference

Name flashPersistType

Description Indicates the type identifier for the persistent store dataset. If firmware is upgraded to a version that uses a different dataset type (or different size), persistent settings will be lost during the upgrade.

Host Address 0x1003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.4

Type Integer24

Attributes Read-only

Implemented Version 2.8.1

Name flashPersistSize

Description Size in 24-bit words of the persistent store dataset. If firmware is upgraded to a version that uses a different dataset size (or different type), persistent settings will be lost during the upgrade.

Host Address 0x1004

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.5

Type Integer24

Attributes Read-only

Implemented Version 2.8.1

Name flashPersistStores

Description Counts the number of times variable values have been written to flash during sysUpTime.Useof flashPersistAck is preferred for determination of completion of a persistent save operation.

Host Address 0x1005

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.6

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.8.1

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 89 Management Interface Variable Reference

Name flashTAcknowledge

Description This variable is updated to the current value of flashTRequest on completion of a flash data transfer.

Host Address 0x1006

SNMP Object Identifier Not available via SNMP

Count 1

Type Integer24

Attributes Read-only

Implemented Version 2.8.6

Name flashPersistEnable Enable variable persistence feature. Read/Write-Persistent type variables will be Description automatically written to non-volatile memory when changed. Values will be restored on power-up.

Host Address 0x1100

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.7

Type Integer24

Attributes Read/Write - Persistent

Default Value 0

Implemented Version 2.8.1

Name flashPersistAck

Forces a write of variables to non-volatile memory when set to non-zero value. Value returns to zero when write is complete and variables match the non-volatile dataset. This acknowledge will never occur if persistence is disabled. This feature is recommended for situations such as factory Description configuration where settings are made and the host must acknowledge that the values are stored before power is removed. In most circumstances it is best to let the persistence feature schedule writes to non-volatile memory. Over use of this feature can result in excessive wear on the flash memory.

Host Address 0x1200

SNMP Object ID 1.3.6.1.4.1.2680.1.1.2.8

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.8.1

CobraNet Datasheet - rev 1.6 May 27, 2003 90 www.cirrus.com Management Interface Variable Reference

Name flashTRequest

Description Data transfer between flash memory and bridgeTxPktBuffer is initiated when this variable is written to a value different from the current value of flashTAcknowledge

Host Address 0x1201

SNMP Object Identifier Not available via SNMP

Count 1

Type Integer24

Attributes Read/Write

Implemented Version 2.8.6

Name flashTAddress

Specifies the source (read) or destination (write) address in flash memory. This address is a byte Description offset into flash memory. For an erase operation this variable can be set to any address within the sector to be erased. Following read and write operations flashTAddress is post incremented by flashTLength (flashTAddress+=flashTLength)

Host Address 0x1202

SNMP Object Identifier Not available via SNMP

Count 1

Type Integer24

Attributes Read/Write

Implemented Version 2.8.6

Name flashTLength

Specifies the number of bytes to be transferred between flash and transmit buffer. This value should Description never exceed the size of bridgeTxPktBuffer (2274 bytes). A flash operation is not allowed to straddle a sector boundary. This variable is ignored for erase operations.

Host Address 0x1203

SNMP Object Identifier Not available via SNMP

Count 1

Type Integer24

Attributes Read/Write

Implemented Version 2.8.6

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 91 Management Interface Variable Reference

Name flashTDirection

Specifies whether the transaction is a read from flash or a write to flash or erase of a flash sector. Description 0-Readflashtotransmitbuffer 1 - Write flash from transmit buffer 2 - Erase flash sector

Host Address 0x1204

SNMP Object Identifier Not available via SNMP

Count 1

Type Integer24

Attributes Read/Write

Implemented Version 2.8.6

Errors

Name errorPOSTResults

Power on self-test results. 0 - no errors detected during POST. Currently the CobraNet interface Description does not recover from a POST failure. This variable will always report the above value. A POST failure is reported visually and the interface the attempts to self-reset.

Host Address 0x2000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.3.1

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name errorIndicators

Error indicator state. The following values are additive to represent concurrent error conditions: 0x1 - Fault 0x4 - Receive error Description 0x8 - Transmit error 0x10000 - Audio mute (audio output may be corrupt) 0x20000 - BuddyLink output disabled (fault or lost contact with the network) 0x40000 - Unexpected system error (diagnostic information on firmware fault may be available in errorDisplay)

Host Address 0x2001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.3.2

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 92 www.cirrus.com Management Interface Variable Reference

Name errorCode

Description Last error code reported. Error code is a byte in MS byte position of this variable. Some errors are informational and will be reflected in this variable but will not effect errorIndicators.

Host Address 0x2002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.3.3

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name errorCount

Description Number of errors reported during sysUpTime. Some errors are informational and do not effect errorIndicators.

Host Address 0x2003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.3.4

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name errorDisplay

Description Error code to display on a user interface. Error codes are displayed for serious and unexpected error conditions. A value of 0 indicates there is no error code to display.

Host Address 0x2004

SNMP Object ID 1.3.6.1.4.1.2680.1.1.3.5

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 93 Management Interface Variable Reference

Name modeRateStatus

Indicates the latency and sample rate operating mode currently in effect for the interface. Description modeRateStatus and modeRateControl will differ if an unsupported mode value is written to modeRateControl

Host Address 0x2005

SNMP Object ID N/A

Type Integer24

Attributes Read-only

Implemented Version 2.9.0

Name modeRateControl

Selects latency and sample rate operating mode for the interface. The following modes are supported:

0x701 - 5-1/3 ms latency, 96 KHz sample rate Description 0x600 - 5-1/3 ms latency, 48 KHz sample rate 0x601 - 2-2/3 ms latency, 96 KHz sample rate 0x500 - 2-2/3 ms latency, 48 KHz sample rate 0x501 - 1-1/3 ms latency, 96 KHz sample rate 0x400 - 1-1/3 ms latency, 48 KHz sample rate

Host Address 0x2100

SNMP Object ID N/A

Type Integer24

Attributes Read/Write - Persistent

Default Value 0x600

Implemented Version 2.9.0

CobraNet Datasheet - rev 1.6 May 27, 2003 94 www.cirrus.com Management Interface Variable Reference

Conductor These variables determine the values transmitted in the header of the Beat Packet when the node is acting as the network conductor.

Name conductorCycleRate

Number of isochronous cycles per second. A 16.16 fixed point number with enough accuracy to specify sample rates with at least 0.2ppm accuracy for cycle rates between 65,536 and 100 cycles/ Description second. Data is MS aligned in 2 consecutive 24-bit words. The first word is the fractional portion. The second word is the integral portion. CobraNet only supports a 750Hz cycle rate and thus this variable should not be changed from its default value.

Host Address 0x10000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.4.1

Type Integer48

Attributes Read/Write - Persistent

Default Value 750

Implemented Version 2.2.0

Name conductorPriority

Specifies the conductor priority for a CobraNet device. The device with the highest priority will assume the conductorship for the network. Significant bits are in the middle byte. MS byte must be Description 0. 0 - Never Conduct 0x1 - Lowest conductor priority 0xFF - highest conductor priority

Host Address 0x10002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.4.2

Type Integer16

Attributes Read/Write - Persistent

Default Value 0x20 (reference design), 0x30 (CM-1)

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 95 Management Interface Variable Reference

Name conductorGaps

These timing specifications are applicable only to repeater networks. The conductor determines transmission timing for all CobraNet devices on a repeater network. This variable must be changed Description on the active conductor for network timing to be affected. Channel Gap in LS byte. Larger channel gaps allow greater network diameter. Packet Gap in MS byte. Larger packet gaps increase resilience to unregulated traffic.

Host Address 0x10003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.4.3

Type Integer16

Attributes Read/Write - Persistent

Default Value 0x0306

Implemented Version 2.2.0

Name conductorStatus

Conductor status: Description 0 - Another unit is the conductor 1 - I'm the active conductor for the network

Host Address 0x11000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.4.4

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 96 www.cirrus.com Management Interface Variable Reference

Packet Bridge

Name bridgeTxPkt

This variable is used in conjunction with the bridgeInfoTxDone variable. If bridgeTxPkt and bridgeInfoTxDone are equal the bridgeTxPktBuffer is available to the host (that's you) and the host Description ispermittedtowritenewpacketdatatobridgeTxPktBuffer.SettingbridgeTxPkt different than bridgeInfoTxDone will release the buffer to the CobraNet interface for transmission. Upon transmit completion bridgeInfoTxDone will be updated to match bridgeTxPkt.

Host Address 0x20000

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.2.0

Name bridgeRxPkt

This variable is used in conjunction with bridgeInfoRxReady.IfvaluesofbridgeRxPkt and Description bridgeInfoRxReady differ, the bridgeRxPktBuffer is available to the host and the host may read the received packet in bridgeRxPktBuffer. Setting bridgeRxPkt equal to bridgeInfoRxReady will release the buffer to the CobraNet interface such that the next packet can be received.

Host Address 0x20001

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.2.0

Name bridgeMMAC

Specification of a multicast MAC address you would like to be able to receive through the packet Description bridge. To receive multicast addressed packets, it is necessary to compute and load a multicast hash filter table into bridgeHashBuffer.

Host Address 0x20002 - 0x20004

SNMP Object ID Not available via SNMP

Type PhysAddress

Attributes Read/Write

Default Value 00:00:00:00:00:00

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 97 Management Interface Variable Reference

Name bridgeCalcMMACHash

ThisvariableisusedtoinvokecalculationintobridgeMMACHashBuffer based on the bridgeMMAC address. bridgeCalcHash and bridgeInfoHashDone will be compared. If the values are equal the host has the bridgeMACHashBuf.WritingadifferentvaluetobridgeCalcHash causes the Description calculation to begin. When the operation is complete, bridgeInfoHashDone will be set equal to bridgeCalcHash and bridgeMACHashBuf will contain the hash table value. This value will have to be OR'd in with any other calculated MAC hash values to get the final hash value to be put in bridgeHashBuf.

Host Address 0x20005

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.2.0

Name bridgeMMACHashBuffer

Description This is the calculated hash value for the MAC address entered in bridgeMMAC.

Host Address 0x20006 - 0x20009

SNMP Object ID Not available via SNMP

Length 4

Type Octet String

Attributes Read/Write

Default Value 0

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 98 www.cirrus.com Management Interface Variable Reference

Name bridgeHashBuffer

Description This is the value to load in the hash table in the Ethernet controller's multicast receive hash table for configuring which multicast addresses the host would like to receive.

Host Address 0x2000A - 0x2000D

SNMP Object ID Not available via SNMP

Length 4

Type Octet String

Attributes Read/Write

Default Value 0

Implemented Version 2.2.0

Name bridgeRxFilter

Selects which general classes of received packets should be presented to the host via the packet bridge. The following values are additive: 0x1 - bridge unprocessed CobraNet packets 0x2 - bridge all CobraNet packets* Description 0x8 - bridge all IP packets (IP, ARP and RARP)* 0x10 - bridge all packets with unknown protocol identifier *Copies of packets will be created when these values are used. The CobraNet interface may generate its own reply to these packets. Care must be taken when processing these packets that redundant replies are not generated.

Host Address 0x2000E

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write

Default Value 1

Implemented Version 2.6.9

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 99 Management Interface Variable Reference

Name bridgeTxPktBuffer

Buffer for packet transmit data. The first word in the buffer contains the length of the packet in bytes. The byte length does not include the length field itself. Raw Ethernet packet including complete header and payload then follows. The CRC is computed and appended by the Ethernet controller and thus is not included as part of the packet data or Description length specification thereof. Packetdataisarranged2bytestoaword;theLSbyteisunusedandshouldbesetto0.Themiddle byte or the second buffer word is transmitted first followed by the MS byte from that word. Due to hardware constraints, packet byte length is rounded up to the next even multiple of 4. This behavior has the consequence that it is not possible to transmit a 1514 (14 byte header + 1500 byte payload) maximum length Ethernet packet since this is not an even multiple of 4.

Host Address 0x21000

SNMP Object ID Not available via SNMP

Count 758

Type Integer16

Attributes Read/Write

Implemented Version 2.2.0

Name bridgeRxPktBuffer

Description Buffer to read received packet. The data format for packet data is the same as used in bridgeTxPktBuffer.

Host Address 0x22000

SNMP Object ID Not available via SNMP

Count 758

Type Integer16

Attributes Read/Write

Implemented Version 2.2.0

Name bridgeTxDone

Description Please refer to bridgeTxPkt documentation. This variable is used in conjunction with bridgeTxPkt.

Host Address 0x23000

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 100 www.cirrus.com Management Interface Variable Reference

Name bridgeRxReady

Description Please refer to bridgeRxPkt documentation. This variable is used in conjunction with bridgeRxPkt.

Host Address 0x23001

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.2.0

Name bridgeHashDone

Description Pease refer to bridgeCalcHash documentation. This variable is used in conjunction with bridgeCalcHash.

Host Address 0x23002

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.2.0

Name bridgeRxDropped

Counts the number of packet bridge receive packets dropped due to the receive buffer being Description unavailable. Packets which could be received via the packet bridge will be dropped if the host has ownership of the receive buffer (bridgeRxPktBuffer).

Host Address 0x23003

SNMP Object ID Not available via SNMP

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.5.7

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 101 Management Interface Variable Reference

Serial Bridge

Name serialFormat

Data format for asynchronous serial transmission and reception. Serial mode is represented in a bit field. Most standard serial data formats are supported. This variable controls data format for both transmit and receive; it is not possible to select different formats for the two directions. Setting different serial formats for two CobraNet devices on the same serial bridging connection is allowed. Changing format is only allowed while the serial port is disabled (LS bit = 0). Recommended procedure is to set serialFormat to 0, wait at least 100ms then set serialFormat to the desired value. This procedure insures that a change is recognized and that the port is properly configured for the desired mode. The following values are additive: 1 - Configure port for specified data format and enable SCI bridging. TXD pin is tri-stated when disabled. 2 - Use nine-bit data format. The 9th data bit is bridged over the Ethernet along with the standard 8 data bits. The 9 bit data format is appropriate for the following standard serial data formats: N,9,1 Description E,8,1 O,8,1 M,8,1 S,8,1 N,7,2. The 8 bit data format supports the following standard serial data formats: N,8,1 E,7,1 O,7,1 M,7,1 S,7,1. There is no means for indicating the type of parity employed (Even, Odd, Mark or Space) because the parity bit is simply bridged across the network (it is not tested at the CobraNet interface). It is assumed that serial device at the other end of the connection will detect parity errors. This setting is affected when bridging is enabled. Changes to this bit are ignored while bridging is enabled or disabled. 4 - Use SCI_SCLK to control transmit enable for multi-drop (RS485) operation. SCI_SCLK is an active high signal; transmitter should be enabled when SCI_SCLK is high. This setting is affected when bridging is enabled. Changes to this bit are ignored while bridging is enabled or disabled. 8 - Enable local loopback. This feature is intended primarily for factory test. SCI bridging must also be enabled for loopback to operate. When loopback is enabled, received characters are directed to the SCI transmitter instead of to the network. serialRxMAC should be set to 00:00:00:00:00:00 to avoid transmitter contention when loopback is enabled.

Host Address 0x24000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.1

Type Integer24

Attributes Read/Write - Persistent

Default Value 0

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

Name serialBaud

Description Baud rate for transmission and reception. The baud rate is specified in bits per second. The minimum baud rate is 600 baud. Maximum baud rate is 57600.

Host Address 0x24001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.2

Type Integer24

Attributes Read/Write - Persistent

Default Value 19200

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

CobraNet Datasheet - rev 1.6 May 27, 2003 102 www.cirrus.com Management Interface Variable Reference

Name serialPPeriod

Time in 256ths of a millisecond before a character received at the SCI port is placed in a packet and transmitted. Shorter periods are appropriate for real time connections like MIDI since they produce less latency in the serial data stream. With higher settings more characters can be packed into a packet before it is transmitted resulting in increased efficiency. Higher settings are recommended for bulk data transfer applications. The isochronous cycle period determines the minimum serialPPeriod. Setting serialPPeriod below Description the isochronous cycle rate does not further improve responsiveness. The upper limit of responsiveness is also affected by control channel accessibility and pipeline delays. The depth of the receive SCI character queue in combination with the baud rate determines the maximum allowed setting. The standard character queue can accommodate 100 characters. This allows for the default 10ms Packing Period at the maximum standard baud rate of 57600. At this baud rate, larger settings will result in receive character FIFO overflow conditions and ensuing loss of data.

Host Address 0x24002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.3

Type Integer24

Attributes Read/Write - Persistent

Default Value 2560 (10ms)

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

Name serialRxMAC

Destination MAC address for receiving packetized serial data to be transmitted out the SCI port. Description May be any though 01:60:2B:FD:00:00 through 01:60:2B:FD:FF:FF have been set aside by Peak Audio for use as "asynchronous global channels." ifPhysAddress is the only usable unicast address (CobraNet does not support Ethernet promiscuous mode).

Host Address 0x24003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.4

Type PhysAddress

Attributes Read/Write - Persistent

Default Value 01:60:2B:FD:00:00

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 103 Management Interface Variable Reference

Name serialTxPriority

Serial bridging bundle priority in MS byte. Higher priority bundles are transmitted earlier in the isochronous cycle and are this less susceptible to dropouts in the event network bandwidth is Description exhausted. Request priority LS byte. Contention for transmission on a bundle is resolved via request priority. This variable has no effect when serialTxBundle is 0.

Host Address 0x24006

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.5

Type Integer16

Attributes Read/write - Persistent

Default Value 0x0110

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

Name serialTxBundle

Allows specification of a bundle number for use in transmitting serial data using CobraNet's Description isochronous transport service. Specifying bundle 0 causes serial data to be delivered via the asynchronous transport. The asynchronous transport provides an unreliable service on some networks (large diameter repeater networks).

Host Address 0x24007

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.6

Type Integer16

Attributes Read/Write - Persistent

Default Value 0

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

Name serialTxMAC

Description Destination MAC address used for transmitting packetized serial data received at the SCI port. May be any multicast or unicast address.

Host Address 0x24100

SNMP Object ID 1.3.6.1.4.1.2680.1.1.10.1.7

Type PhysAddress

Attributes Read/Write - Persistent

Default Value 01:60:2B:FD:00:00

Implemented Version 2.4.7 (available via SNMP in 2.6.4)

CobraNet Datasheet - rev 1.6 May 27, 2003 104 www.cirrus.com Management Interface Variable Reference

Interrupt Control

Name hackEnable

Enable for conditions asserting HACK. HACK is de-asserted by issuing an Interrupt Acknowledge command. The following values are additive... 0x4 - Activate HACK on bridge packet receipt (change in bridgeRxReady, assertion of hackRxAvailable). Description 0x8 - Activate HACK on bridge packet transmission complete (change in bridgeTxDone, deassertion of hackTxInProgress). 0x10 - Activate HACK on HMI address translation completion (change in hackTranslations). 0x20 - Activate HACK on MI variable change via SNMP (change in miMonSNMPDirty, hackSNMPModify).

Host Address 0x25000

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write

Default Value 0

Implemented Version 2.8.5

Name hackStatus

Indicates status of conditions causing HACK assertion and requiring acknowledge. The following values are additive: Description 1 - A new receive packet is available in the receive buffer. Host should read packet data from receive buffer and then acknowledge receipt. 2 - No transmission in progress. Host may write transmit packet data into the transmit buffer.

Host Address 0x25100

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Implemented Version 2.8.5

Name hackTranslations

Description Incremented when an translate address command completes.

Host Address 0x25101

SNMP Object ID Not available via SNMP

Type Counter24

Attributes Read-only

Implemented Version 2.8.5

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 105 Management Interface Variable Reference

Name hackSNMPModify

Description Copy of miMonSNMPDirty.

Host Address 0x25102

SNMP Object ID Not available via SNMP

Type Counter24

Attributes Read-only

Implemented Version 2.8.5

Name hackReadLength

Description Extent of current HMI read permission in words. 0 if read permission is denied (invalid address). This variable is updated upon completion of a translate address operation.

Host Address 0x25103

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Implemented Version 2.8.5

Name hackWriteLength

Description Extent of current HMI read permission in words. 0 if read permission is denied (invalid address or read only region). This variable is updated upon completion of a translate address operation.

Host Address 0x25104

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read-only

Implemented Version 2.8.5

CobraNet Datasheet - rev 1.6 May 27, 2003 106 www.cirrus.com Management Interface Variable Reference

Audio

Name audioMeterDropouts

Description This counter is incremented each isochronous cycle that metering is not performed. Metering may be skipped when processor cycles are in high demand on the interface.

Host Address 0x30000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.1

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.2.0

Name audioAllowedChannels

Description Number of audio channels this CobraNet interface is licensed to handle. AudioAllowedChannels < audioRxChannels + audioTxChannels indicates a licensing violation.

Host Address 0x30001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.6

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.8.3

Name audioRxChannels

Description Number of unique audio channels currently being received from the network.

Host Address 0x30002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.7

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.8.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 107 Management Interface Variable Reference

Name audioTxChannels

Description Number of unique audio channels currently being transmitted to the network.

Host Address 0x30003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.8

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.8.3

Name audioMeterDecay

Decay time constant for audioMeters. Meters have an instantaneous attack time that cannot be adjusted. This constant can be computed from the desired decay time (t) as: 0x800000×((1-tan(1/(1500×t)))/(1+tan(1/(1500*t)))) For reasonably large decay times (>50ms) this can be approximated as: 0x800000×(((1500×t)-1)/((1500×t)+1)) Description Example decay settings: 0 - Instantaneous 8170671 (0x7CACAF) - 50ms 8333053 (0x7F26FD) - 200ms 8377430 (0x7FD456) - 1 second 8388235 (0x7FFE86) - 30 seconds

Host Address 0x30100

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.5

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.6.9

CobraNet Datasheet - rev 1.6 May 27, 2003 108 www.cirrus.com Management Interface Variable Reference

Name audioMeterMap

Maps audio routing channels to audio metering. Meters 0-31 are designated for metering of audio Description inputs. Meters 32-63 are designated for metering outputs. The first unassigned (null or unconnected routing channel) in each section terminates meter processing. It is not possible to activate meter 3 without first activating meter 2, for instance.

Host Address 0x31000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.2.1.2

Count 64

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.2.0

Name audioMeterPeaks

The peak level is the highest level recorded since the last time the meters were reset. Level is indicated in 24 bit positive value. 0 indicating the absence of signal and 0x7FFFFF indicating a full- Description scale signal. Reset is accomplished by writing 0 to the peak level. One cannot be certain that a peak level is not missed between the time that the variable is read and when it is cleared. Also it is possible for another manager to clear this variable. There is no way of determining when this has happened.

Host Address 0x32000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.2.1.3

Count 64

Type Integer24

Attributes Read/write

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 109 Management Interface Variable Reference

Name audioMeters

Allows reading current audio levels. Ballistics for metering comprises an instantaneous attack and Description exponential decay time programmable via audioMeterDecay. All level measurements are peak level (as opposed to RMS, for instance). Level is indicated in 24 bit positive value. 0 indicating the complete absence of signal and 0x7FFFFF indicating a full-scale signal.

Host Address 0x33000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.2.1.4

Count 64

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name audioLoopSrc

Describes source channel indices for performing a local audio loopback function. The first Description unassigned (null or unconnected routing channel) loopback entry terminates loopback processing. It is not possible to activate loopback element 3 without first activating loopback 2, for instance.

Host Address 0x34000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.3.1.2

Count 8

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.1.0

Name audioLoopDst

Description Describes destination channel indices for performing a local audio loopback function. See audioLoopSrc for a complete description.

Host Address 0x35000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.3.1.3

Count 8

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 110 www.cirrus.com Management Interface Variable Reference

Name audioOutputs

List of audio output routing channels. Audio outputs data must be cleared to silence if data is not received over the network for the channels. Conventionally channels 33 - 64 are used as outputs as Description expressed by the default values for these variables. These variables may be configured by the manufacturer according to the audio I/O configuration of the hardware. The user should not change these variables.

Host Address 0x36000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.4.1.2

Count 32

Type Integer24

Attributes Read/write - Persistent

Default Value { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 }

Implemented Version 2.1.0

Name audioMap

Audio routing channel to synchronous serial audio channel mapping. Each entry specifies an SSI audio buffer offset corresponding to a routing channel. The first audioMap entry corresponds to Description routing channel 1. These variables are configured by the manufacturer according to the audio I/O configuration of the hardware. Peak Audio usually assists manufacturers in determining proper configuration of these variables to match audio I/O hardware. The user should not change these variables.

Host Address 0x37000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.2.1.5

Count 64

Type Integer24

Attributes Read/write - Persistent

Default Value Product specific

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 111 Management Interface Variable Reference

Name audioDupSrc

Describes source routing channel for performing a local audio duplication function. A channel selected as duplication source or destination must be an output channel (i.e. appear in Description audioOutputs which by default describes routing channels 33-64). The first unassigned (null or unconnected routing channel for either source or destination) dup entry terminates dup processing. It is not possible to activate loopback element 3 without first activating loopback 2, for instance.

Host Address 0x38000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.9.1.2

Count 8

Type Integer24

Attributes Read/Write

Implemented Version 2.8.5

Name audioDupDst

Description Describes destination audio routing channel for performing a local audio loopback function. See audioDupSrc for a complete description.

Host Address 0x39000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.5.9.1.2

Count 8

Type Integer24

Attributes Read/Write

Implemented Version 2.8.5

CobraNet Datasheet - rev 1.6 May 27, 2003 112 www.cirrus.com Management Interface Variable Reference

Receivers

Name rxStatus

Indicates bundle reception. Bundle reception does not necessarily indicate audio reception. Consult Description rxSubFormat variables for audio reception status. 0 - Bundle is not being received 1 - Bundle is being received

Host Address 0x4n000 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.6.n (n is 1 based receiver number)

Type Integer24

Attributes Read-only

Implemented Version 2.1.0

Name rxDropouts

Indicates number of times bundle reception has been interrupted. Interruptions can be caused by Description transmitter failure or by reconfiguring the receiver. This variable is implemented by counting transitions to 0 of rxStatus.

Host Address 0x4n001 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.7.n (n is 1 based receiver number)

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name rxDelay

Indicates additional group delay imposed on the received audio due to network forwarding delays. Delay is expressed in units of isochronous cycles. Forwarding delay is continuously monitored by the receiver. If forwarding delay changes due to a network reconfiguration or change in rxBundle the receiver delay will adapt to the new conditions. A Description discontinuity in the audio stream will be experienced whenever the receiver delay is adjusted in this manner. Normal propagation delay is 4 isochronous cycle periods. This normal condition is indicated by a 0 reading in rxDelay. A reading of 1 indicates an additional isochronous cycle period delay (for a total of 5) has been inserted due to network forwarding delay.

Host Address 0x4n002 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.8.n (n is 1 based receiver number)

Type Integer16

Attributes Read-only

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 113 Management Interface Variable Reference

Name rxMinDelay

Selects a minimum additional group delay imposed on the received audio. Delay is expressed in units of isochronous cycles. rxDelay will never be reduced below this setting. This variable is designed to be used to configure for known and predictable group delay on larger network Description installations. This variable is not designed for actively delaying audio for architectural application for instance. The maximum setting for rxMinDelay is determined by the amount of Ethernet packet buffering available on the interface. Excessive settings will result in ERROR_RXBUFFER_OVERFLOW and accompanying audio dropouts.

Host Address 0x4n106 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.9.n (n is 1 based receiver number)

Type Integer16

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.8.3

Name rxSubFormat

Vector of received Audio format for each sub-channel. 0-Nodata 0x44001 - 16 bit audio 0x54001 - 20 bit audio 0x64001 - 24 bit audio Description These are the currently supported CobraNet data types. Additional data types ma be added in the future. These new formats will be assigned new values and these values will appear in this vector. The least significant bit of these variables is set when the received format is supported for reception by the node. A test of this least significant bit can be used to illuminate receive indicators on a per sub-channel basis. All entries in this vector will be 0 if rxStatus is zero.

Host Address 0x4n30m (n is 0 based receiver number, m is 0 based audio channel number)

Count 8

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.2.1.3.n.m (n is 1 based receiver number, m is the 1 based sub-channel number)

Type Integer24

Attributes Read-only

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 114 www.cirrus.com Management Interface Variable Reference

Name rxBundle

Description Receive bundle assignment.

Host Address 0x4n100 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.2.n (n is 1 based receiver number)

Type Integer16

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.1.0

Name rxSourceMAC

Description Source MAC address for private channel reception. Must be set to 00:00:00:00:00:00 for public and broadcast channel reception.

Host Address 0x4n101 - 0x4n103 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.3.n (n is 1 based receiver number)

Type PhysAddress

Attributes Read/write - Persistent

Default Value 00:00:00:00:00:00

Implemented Version 2.1.0

Name rxPriority

Suggested channel priority in MS byte. Transmitter may use this suggestion in submitting their Description forward reservations. Request priority in LS byte. If a transmitter is able to service a limited number of receivers due to txUnicastMode selection, the request priority determines which receivers are serviced.

Host Address 0x4n104 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.4.n (n is 1 based receiver number)

Type Integer16

Attributes Read/write - Persistent

Default Value 0x1010

Implemented Version 2.4.8

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 115 Management Interface Variable Reference

Name rxBuddyExclude

Controls BuddyLink operation for this receiver: Description 0 - Reverse reservations for this receiver are suspended when BuddyLink signal is detected 1 - Reverse reservations are never suspended

Host Address 0x4n105 (n is 0 based receiver number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.1.1.5.n (n is 1 based receiver number)

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.5.0

Name rxSubMap

Description Audio routing channel destinations for each audio channel in a received bundle.

Host Address 0x4n20m (n is 0 based receiver number, m is 0 based audio channel number)

Count 8

SNMP Object ID 1.3.6.1.4.1.2680.1.1.6.2.1.2.n.m (n is 1 based receiver number, m is the 1 based audio channel number)

Type Integer24

Attributes Read/write - Persistent

First receiver { 33, 34, 35, 36, 37, 38, 39, 40 } Default Value Second receiver { 41, 42, 43, 44, 45, 46, 47, 48 } Third receiver { 49, 50, 51, 52, 53, 54, 55, 56 } Fourth receiver { 57, 58, 59, 60, 61, 62, 63, 64 }

Implemented Version 2.1.0

CobraNet Datasheet - rev 1.6 May 27, 2003 116 www.cirrus.com Management Interface Variable Reference

Transmitters

Name txDropouts

Number of times channel transmission has been interrupted. Interruptions can be caused by loss of Description transmit permission from conductor or by changes to txBundle. Implemented by counting transitions to 0 of txPosition.

Host Address 0x5n000 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.7.n (n is 1 based transmitter number)

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name txPosition

Transmission permission position. 0 indicates no transmission either because the conductor has not Description granted permission (due to bandwidth constraints or bundle conflict) or txBundle is set to 0. A value of 1 indicates the transmitter has the highest priority on the network and will be the last to be dropped if bandwidth is exhausted.

Host Address 0x5n001 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.8.n (n is 1 based transmitter number)

Type Integer24

Attributes Read-only

Default Value 0

Implemented Version 2.1.0

Name txReceivers

Number of receivers requesting this bundle. This may not be valid for multicast bundles as receivers of multicast bundles are not required to issue a reverse reservation (though all receivers currently Description do). A transmitter will track no more than 4 receivers. txReceivers will never exceed this internal capacity limitation.

Host Address 0x5n002 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.9.n (n is 1 based transmitter number)

Type Integer24

Attributes Read-only

Implemented Version 2.5.7

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 117 Management Interface Variable Reference

Name txBundle

Description Transmit bundle assignment.

Host Address 0x5n100 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.2.n (n is 1 based transmitter number)

Type Integer16

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.1.0

Name txDestinationMAC

Description This variable is unused and should not be changed from its default value.

Host Address 0x5n101 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.3.n (n is 1 based transmitter number)

Type PhysAddress

Attributes Read/write - Persistent

Default Value 00:00:00:00:00:00

Implemented Version 2.2.0

Name txPriority

Bundle priority in MS byte. Higher priority bundles are transmitted earlier in the isochronous cycle. This will be reflected in txPosition. On a repeater network, and to some extent on a switched network, bundles transmitted earlier are this less susceptible to dropouts in the event network Description bandwidth is exhausted. Request priority in LS byte. Only one transmitter is permitted per bundle. If two transmitters attempt to transmit the same bundle, request priority is used to resolve the contention. If request priority is the same for both transmitters, contention resolution is first-come-first-serve.

Host Address 0x5n104 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.4.n (n is 1 based transmitter number)

Type Integer16

Attributes Read/write - Persistent

Default Value 0x101000

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 118 www.cirrus.com Management Interface Variable Reference

Name txSubCount

Description Number of audio channels to transmit in a bundle.

Host Address 0x5n105 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.5.n (n is 1 based transmitter number)

Type Integer24

Attributes Read/write - Persistent

Default Value 8

Implemented Version 2.1.0

Name txBuddyExclude

Control BuddyLink operation on this channel Description 0 - Transmission suspended when BuddyLink signal is detected 1 - Transmission is never suspended

Host Address 0x5n106 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.6.n (n is 1 based transmitter number)

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.5.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 119 Management Interface Variable Reference

Name txUnicastMode

Specifies the number of unicast destinations served before automatically switching to multicast. Multicast addressing is useful for efficient point to multipoint routing though multicast addressing consumes bandwidth on all ports on a switched network. This variable allows precise control of multicast traffic from transmitters. Description 0 - Multicast addressing used at all times. Note multicast bundles do not transmit data until a receiver for the bundle identifies itself through a reverse reservation request. 1 - Unicast addressing used to single receiver. Multicast addressing used for multiple receivers. 0x7FFFFF - Multicast addressing is never used. Maximum number of unicast destinations is set by txMaxUnicast. Receiver request priority is used to determine which receivers are serviced if multiple receivers are assigned to this bundle.

Host Address 0x5n107 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.10.n (n is 1 based transmitter number)

Type Integer24

Attributes Read/write - Persistent

Default Value 0x7FFFFF

Implemented Version 2.6.3

Name txMaxUnicast

Specifies maximum number of unicast destinations supported simultaneously by the transmitter. Receivers in excess of this setting will not receive the bundle. A transmitter will track a limited number of receivers. The number of destinations transmitted to will Description never exceed this internal capacity limitation. If txUnicastMode is set lower than txMaxUnicast, the bundle will switch to multicast before the limitation on unicast destinations is reached. Resource constraints currently limit unicast destinations to no more than 4 per transmitter.

Host Address 0x5n108 (n is 0 based transmitter number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.1.1.11.n (n is 1 based transmitter number)

Type Integer24

Attributes Read/write - Persistent

Default Value 1

Implemented Version 2.8.3

CobraNet Datasheet - rev 1.6 May 27, 2003 120 www.cirrus.com Management Interface Variable Reference

Name txSubMap

Description Transmit sub-channel to audio routing channel mapping. This vector contains the routing channel source specifiers per audio channel in the transmitted bundle.

Host Address 0x5n20m (n is 0 based transmitter number, m is 0 based sub-channel number)

Count 8

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.2.1.2.n .m (n is 1 based transmitter number, m is 1 based audio channel)

Type Integer24

Attributes Read/write - Persistent

Firsttransmitter{1,2,3,4,5,6,7,8} Default Value Second transmitter { 9, 10, 11, 12, 13, 14, 15, 16 } Third transmitter { 17, 18, 19, 20, 21, 22, 23, 24 } Fourth transmitter { 25, 26, 27, 28, 29, 30, 31, 32 }

Implemented Version 2.1.0

Name txSubFormat

Specifies data format for each sub-channel in the transmitter bundle. 0-Nodata Description 0x44000 - 16 bit audio 0x54000 - 20 bit audio 0x64000 - 24 bit audio

Host Address 0x5n30m - 0x5n30m (n is 0 based transmitter number, m is 0 based sub-channel number)

SNMP Object ID 1.3.6.1.4.1.2680.1.1.7.2.1.3.n .m (n is 1 based transmitter number, m is 1 based sub-channel number)

Type Integer24

Attributes Read/write - Persistent

Default Value 0x54000

Implemented Version 2.2.0

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 121 Management Interface Variable Reference

Synchronization

Name syncConductorClock

Selects sample clock source when acting as network conductor. 0x0 - Internal mode. VCXO is parked at syncClockTrim. 0x1 - External Word Clock mode. A 48KHz word clock 100ppm should be applied to reference clock input. Internal crystal will be used (and ERROR_LOST_LOCK reported) if no clock present. Unpredictable operation will result if clock frequency is out of specification. 0x4 - External Master Clock mode. A master clock 12.288MHz (reference design) or 24.576MHz (CM-1) 100ppm must be applied at master audio clock input. Unpredictable operation will result if no Description clock is present or if clock frequency is out of specification. 0x10 - Internal with External Sample Synchronization mode. Sample clock cascade input must be driven with a derivative of the master audio clock output. The sample clock output will synchronize to the sample clock cascade input. 0x14 - External Master Clock with External Sample Synchronization mode. Combination of modes 0x10 and 0x4 above. External master clock must be applied. Cascade sample clock may be derived from master clock input or output Reference design only: add 0x40 to the clock selection value for hardware utilizing an external clock selection multiplexor.

Host Address 0x60000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.1

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.2.1

Name syncPerformerClock

Selects sample clock source when not acting as performer (not conductor). Values are same as Description documented above for syncConductorClock. External clocks applied must be externally synchronized to the conductor.

Host Address 0x60001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.2

Type Integer24

Attributes Read/write - Persistent

Default Value 0

Implemented Version 2.2.1

CobraNet Datasheet - rev 1.6 May 27, 2003 122 www.cirrus.com Management Interface Variable Reference

Name syncClockTrim

Allows fine control of clock rate when acting as network conductor in internal synchronization mode. Range of control is on the order +/-100PPM On reference design and CM-1 interfaces, a trim value of 0xFFFFFF is sufficient for almost all applications. 0xFFFFFF - normal Description 0x800000 - minimum frequency 0x7FFFFF - maximum frequency RAVE uses a different oscillator circuit; different values apply. 0x500000 - normal 0x7FFFFF - minimum frequency 0 - maximum frequency

Host Address 0x60002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.3

Type Integer24

Attributes Read/write - Persistent

Default Value Read from flash configuration record.

Implemented Version 2.2.1

Name syncBuddyLinkControl

BuddyLink allows two similar CobraNet devices to operate as a redundant pair with fail-over capability. BuddyLink is itself a clock connection from primary to secondary unit. Presence of the clock at the BuddyLink input of the secondary unit indicates proper operation of the primary unit. The primary unit will not produce BuddyLink clock output if it has no power, no Ethernet link or if it has detected an internal fault condition. If the BuddyLink input signal is present a unit will send empty reservation requests. This prevents the unit from transmitting, and in many cases from receiving audio. A unit in this state may still receive multicast bundles. The following values are Description additive: 0x2 - Disable reference clock input. This master disable feature should be invoked on designs where the reference clock input is not connected. Disabling the reference clock input prevents noise from interfering with operation of the interface. 0x4 - Enable buddy link. Presence of a clock at the reference clock input will disable network transmitters and receivers. 0x8 - Force buddy link presence. Enable buddy link has no influence when force buddy link is engaged.

Host Address 0x60003

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.4

Type Integer24

Attributes Read/write - Persistent

Default Value 2

Implemented Version 2.4.7

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 123 Management Interface Variable Reference

Name syncStatus

Indicates current audio status. The following values are additive. Unspecified bits should be ignored. Description 0x1 - Locked to external or network clock reference. 0x2 - Valid clock present at EXTWRDCLKIN. 0x4 - Clock present at EXTWRDCLKOUT (indicates proper operation of CobraNet interface as clock output is disabled on detection of a fault condition or loss of connection to the network).

Host Address 0x61000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.5

Type Integer24

Attributes Read-only

Default Value n.a.

Implemented Version Variable implemented 2.5.9. EXTWRDCLKOUT presence indication added 2.6.4.

Name syncCounter

Description Incremented each time network sync is lost.

Host Address 0x61001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.8.6

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.5

CobraNet Datasheet - rev 1.6 May 27, 2003 124 www.cirrus.com Management Interface Variable Reference

SNMP Monitor

Name snmpWriteEnable

This variable enables write access to all read-write SNMP variables. Description 0 - all SNMP variables read-only; write disabled non-zero - write enabled for read-write SNMP variables

Host Address 0x70000

SNMP Object ID Not available via SNMP

Type Integer24

Attributes Read/Write - Persistent

Default Value 0

Implemented Version 2.6.3

Name snmpROCommunity

Description The community name the SNMP agent requires for reading variables (get and get-next requests).

Host Address 0x70001

SNMP Object ID Not available via SNMP

Length 21 (60 characters)

Type DisplayString

Attributes Read/Write - Persistent

Default Value "public"

Implemented Version 2.6.3

Name snmpRWCommunity

Description The community name the SNMP agent requires for writing variables (set requests). Reading of variables is also allowed using this community name.

Host Address 0x70016

SNMP Object ID Not available via SNMP

Length 21 (60 characters)

Type DisplayString

Attributes Read/Write - Persistent

Default Value "private"

Implemented Version 2.6.3

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 125 Management Interface Variable Reference

MI Monitor

Name miMonDirty

Incremented when a management interface variable is modified either via SNMP, HMI. Multiple Description modifications may result in a single increment of this counter. The act of writing a variable, even if written with its current value, is considered a modification for the purposes of this counter.

Host Address 0x71000

SNMP Object ID 1.3.6.1.4.1.2680.1.1.9.1.1

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.3 (available via SNMP in 2.6.4)

Name miMonSNMPDirty

Incremented if a management interface variable is modified through SNMP.The counter is intended Description to allow detection of variable modification by an SNMP manager. Multiple modifications may result in a single increment of this variable. The act of setting a variable, even if set to its current value, is considered a modification for the purposes of this counter.

Host Address 0x71001

SNMP Object ID 1.3.6.1.4.1.2680.1.1.9.1.2

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.5

Name miMonHMIDirty

Incremented if a management interface variable is modified through HMI. The counter is intended to Description allow detection of variable modification by a local manager. Multiple modifications may result in a single increment of this variable. The act of writing a variable, even if written with its current value, is considered a modification for the purposes of this counter.

Host Address 0x71002

SNMP Object ID 1.3.6.1.4.1.2680.1.1.9.1.3

Type Counter24

Attributes Read-only

Default Value 0

Implemented Version 2.6.5

CobraNet Datasheet - rev 1.6 May 27, 2003 126 www.cirrus.com Management Interface Variable Reference

IP Monitor

Name ipMonCurrentIP

The current IP address for the CobraNet interface. Changing the current IP address has an immediate effect on IP communications. A value of 0.0.0.0 indicates no IP address assignment for the interface. An IP address can be assigned to the interface by any of the following... Description A value loaded from ipMonStaticIP during power-up. A host processor writing to this location via the HMI. Receipt of a BOOTP response packet (typically in response to transmitted BOOTP request) Receipt of a RARP response packet (RARP requests are not transmitted) The IP address can be changed at any time by any of the processes enumerated above.

Host Address 0x72000

SNMP Object ID Not available via SNMP

Type IpAddress

Attributes Read/Write

Default Value ipMonStaticIP

Implemented Version 2.6.3

Name ipMonStaticIP

A power-up static IP address assignment for the interface. A value of 0.0.0.0 indicates no power-up Description IP address assignment. The interface will get an IP address via other means as described in CurrentIP.

Host Address 0x72002

SNMP Object ID Not available via SNMP

Type IpAddress

Attributes Read/Write - Persistent

Default Value 0.0.0.0

Implemented Version 2.8.2

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 127 Recommended User Interface Practices

Recommended User Interface Practices

Channel Assignments and Labeling

There are at least five layers where audio channels are numbered: • User labels on the back panel of a device. • As synchronous serial time slot and interface assignments. This is determined by how the audio I/O is physically connected and multiplexed. • As audio buffer offsets within the CobraNet interface. There is a fixed mapping between the time slot and interface assignments and the audio buffer offsets for each basic CobraNet I/O configuration supported. • As audio I/O indices within the CobraNet interface. Valid channel indices are in the range 1-64. Index 0 is reserved to indicate an unused channel. The mapping between I/O indices and audio buffer offsets is determined by the audioMap management variable • As bundle and audio channel assignments. Valid bundle numbers are 1-65535. Bundle 0 indicates an unused transmitter or receiver. A bundle may carry up to 8 audio channels. Audio channels are assigned via their I/O indices to bundles through the txSubMap and rxSubMap management variables. Audio I/O Map The audioMap table must be set by the manufacturer such that audio inputs starting from user label 1 be assigned to channel indices starting at 1 and audio outputs starting from user label 1 should be assigned to channel indices starting at 33. Audio I/O Map should be initialized through the host management interface when possible. Audio I/O Map may be given appropriate initial values through source code modifications if initialization through the host management interface is not possible (i.e. no host processor in product).

Bundle Assignments Peak Audio recommends that all front panel interfaces allow selection of multicast bundles in the range 1-255 and unicast bundles in the range 256-65279. We recommend against allowing private bundle assignments from a front panel user interface since these are conditioned on a 48 bit MAC address. Private bundle assignments are best left to a central graphical user interface operating via SNMP. Transmitters—Audio channels are transmitted in groups of up to 8 onto the network via a bundle. It is an advisable policy to pack as many audio channels into a bundle as possible as this improves network efficiency. There is no down-side to this strategy as complex routing functionality can be readily accomplished at the receiver side. At a minimum user control of the bundle assignment per network transmitter should be provided. Optional

CobraNet Datasheet - rev 1.6 May 27, 2003 128 www.cirrus.com Recommended User Interface Practices

user interface control of transmitter functionality may include any combination of the following: • Audio resolution on a per audio channel basis • Audio source channel mapping per transmitter audio channel • Number of audio channels to include in bundle transmission • Bundle and request priority Receivers—A bundle is received by a network receiver. The receiver can extract up to 8 audio channels from the bundle. The receiver decodes the data according to the resolution tags attached at the transmitter. At a minimum user control of the bundle assignment per network receivers should be provided. Optional user interface control of receiver functionality may include any combination of the following: • Audio destination channel mapping per receiver audio channel • Bundle and request priority

Conductor Priority

It is not necessary to give users the ability to change conductor priority via a front panel interface. If manipulation of conductor priority is desired, Peak Audio recommends giving 3 options with regards to conductor priority selection (with accompanying conductor priority values): • Never-0 • Normal - 32 • High - 128

Name

Users should be able to either select and display or simply display an ASCII network name for the device. This network name is stored in the sysName management variable. An ASCII name is a string of 4-16 characters (a-z, A-Z, 0-9 and - [hyphen]) are allowed characters. Names are not case sensitive A name may be as simple as 4 numeric characters. A set of thumb wheel switches satisfies the requirement of selecting and displaying a name. Names containing only 0's (zeros) and "NONAME" are reserved names indicating that no name has been assigned to the unit.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 129 Recommended User Interface Practices

Error Reporting

Recoverable Errors

Recoverable errors are indicated by illumination of the TX Error, RX Error and/or Fault indicators. Note that some CobraNet devices do not present all indicators to the user. The CM-1 provides only the Fault indicator, for instance. Nevertheless, all indicators may be monitored on all devices through the errorIndicators variable. The indicators have an approximate 1 second persistence thus if an error recurs with greater than 1 second frequency, the related indicator(s) will remain lit solid. There are numerous recoverable error conditions that can cause an error indication. It is possible to determine the exact cause of the most recently reported error conditions by querying the errorLast variable through the management interface.

Receive and Transmit Errors Receive and transmit errors illuminate the RX Error and/or TX Error indicators. These errors are reported with respect to the Ethernet interface. A RX error indicates trouble receiving audio or control data from the network. A TX Error indicates trouble transmitting audio or control data onto the network. These errors may originate at peripherals attached to the CobraNet interface. A framing error detected at the asynchronous serial port is reported as A TX Error because inability to correctly receive asynchronous serial data means that it can't be properly transmitted onto the Ethernet. Difficulty locking to the network conductor's clock is reported by simultaneous illumination of the RX Error and TX Error indicators since a failure to lock affects both transmission and reception.

Faults Illumination of the Fault indicator indicates detection of an unexpected condition within the CobraNet interface. Some fault conditions will also light the RX Error and/or TX Error indicators to give more specific indication if the unexpected condition is in the receive or transmit processes.

Unrecoverable Errors

Fatal Faults A fatal fault halts the CobraNet interface. Audio and control data delivery is suspended while an error code is displayed as a flashing pattern on the Fault indicator. Once the code has been displayed several times, the interface is automatically restarted as though power had been cycled. The fatal fault code is displayed as a repeating set of three flash sequences. These three flash sequences represent three digits of an octal error code. A single flash represents a 0 digit and 8 flashes represent a 7 digit. The three digits are delivered least significant first. Convert from octal to decimal and divide by two to get the error code.

CobraNet Datasheet - rev 1.6 May 27, 2003 130 www.cirrus.com Recommended User Interface Practices

As an example, a repeating pattern of 5 flashes then 2 flashes followed by 3 flashes represents an octal code of 214. Converting to decimal and dividing by 2 yields error code 70. You don't actually need to wallow in this math as error codes and flash codes are now given in the Error Code Reference section.

POST Failure Power on self-tests are performed during the boot process. If one of these tests fails, an error code is displayed as a flashing pattern on the Fault indicator. Once the code has been displayed, the interface is automatically restarted as though power had been cycled. Typically the same test will fail again resulting in repeated display of the failing error code.

Number of Fault Failed Test Indicator Flashes

1 Runtime code checksum error

2 Boot code checksum error

3 Xilinx configuration load failure

4 Error in MAC register access

5 Data error in PHY register access

6 Timeout error in PHY register access

8 SRAM error: bank 0 LS byte

9 SRAM error: bank 0 middle byte

10 SRAM error: bank 0 MS byte

11 SRAM error: bank 1 LS byte

12 SRAM error: bank 1 middle byte

13 SRAM error: bank 1 MS byte

14 Address or data bus data dependent failure

15 Ethernet loopback test failure

19 Unexpected interrupt occurred

20 Unexpected Xilinx configuration identification

21 Unexpected Xilinx configuration version

22 Sample clock range test failure

23 Sample clock not running

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 131 Error Code Reference

Error Code Reference

Legend

Figure 14 illustrates meanings for the content provided in Table M on page 117.

The fatal fault code displayed for this error. Flash codes are typically only displayed for error conditions designated FATAL. Foreseeable conditions under which Identifier for this error condition, the error condition would occur on Name given to the error by normally functioning and properly expressed as a decimal number. the firmware programmer. SNMP Code and Flash code drive connected hardware. from this code number. Description of the error conditions.

SNMP Flash Expected Unexpected Code Code Code Type Name Description Conditions Conditions

Value reported through errorCode variable. Conditions indicating a The error code is in the most significant 8 bits hardware or firmware fault. of a 24 bit word. The range of values given in the table below reflects the fact that some of TX: Recoverable and expected transmit error. the lower order bits are non-zero. TXQUIET: Informative transmit incident. TXFAULT: Unexpected but recoverable transmit error. RX: Recoverable and expected receive error. RXQUIET: Informative receive incident. RXFAULT: Unexpected but recoverable receive error. TXRX: Recoverable and expected error simultaneously affecting transmit and receive. FAULT: Unexpected but recoverable error. FATAL: Unrecoverable error condition. Reported as a flash code on the Fault indicator.

Figure 14. Error Code Table Legend

CobraNet Datasheet - rev 1.6 May 27, 2003 132 www.cirrus.com Error Code Reference

Error Codes

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

No error has been 0 0-65535 1,1,1 NONE NO ERROR -- reported.

Corrupted flash contents. No code has ever 65536- Novalidruntimecodeto Hardware failure in flash 1 1 POST NO CODE been loaded in the 131071 load from flash memory. memory or address/data flash. bus.

Corrupted flash contents. 131072- Bad boot sector Hardware failure in flash 2 2 POST BOOT CSUM - 196607 checksum. memory or address/data bus.

Hardware problem with Xilinx PLD or 196608- Xilinx configuration load 3 3 POST XILINX CONFIG - configuration interface. 262143 failure. Corrupted Xilinx configuration file in flash.

Ethernet media access Problem with Ethernet 262144- 4 4 POST POST MAC controller (MAC) register - MAC or MAC <-> DSP 327679 access failure. interface.

Ethernet physical interface (PHY) register Problem with PHY, 327680- POST PHY 5 5 POST access failure. Data read - Ethernet MAC or MAC <- 393215 DATA does not match data > PHY interface (MII). written.

PHY register access Problem with PHY, MAC 393216- POST PHY failure. PHY did not 6 6 POST - or MAC <-> PHY 458751 TIMEOUT respondtoreadorwrite interface (MII). request.

Memory chip problem. 524288- Main memory failure; low 8 8 POST POST B0L - Data bus problem. 589823 byte, main bank. Address bus problem.

Memory chip problem. 589824- Memory failure; middle 9 9 POST POST B0M - Data bus problem. 655359 byte, main bank. Address bus problem.

Memory chip problem. 655360- Memory failure; high 10 10 POST POST B0H - Data bus problem. 720895 byte, main bank. Address bus problem.

Memory chip problem. 720896- Memory failure; low byte, 11 11 POST POST B1L - Data bus problem. 786431 high bank. Address bus problem.

Memory chip problem. 786432- Memory failure; middle 12 12 POST POST B1M - Data bus problem. 851967 byte, high bank. Address bus problem.

Memory chip problem. 851968- Memory failure; high 13 13 POST POST B1H - Data bus problem. 917503 byte, high bank. Address bus problem.

Address/data bus test 917504- Address and/or data bus 14 14 POST POST BUS failure during bus stress - 983039 performance is marginal. test.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 133 Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Ethernet physical Problem with Ethernet interface (PHY) loopback 983040- POST controller (MAC or PHY). 15 15 POST test failure. Cannot - 1048575 LOOPBACK Problem with Ethernet transmit and receive DMA (PLD). packet correctly.

Flash device has 1048576 Problem with flash device FLASH Failure during flash erase fatigued due to 16 - 1,5,1 FAULT or flash <-> DSP FAILURE or write operation. excessive write/ 1114111 interface. erase operations.

1114112 Attempt to program flash 17 - 3,5,1 FAULT FLASH WRITE - Flash erase failure. location before erase. 1179647

The configuration record No configuration does not match the main parameters code. Either the flash is 1179648 specified during boot Bad configuration record improperly programmed 18 - 5,5,1 FATAL BAD CONFIG bank programming in flash or there is a problem with 1245183 andanexisting the flash bank selection configuration record logic or other address could not be found. decode logic.

1245184 INT Interrupt occurred while 19 - 7,5,1 FAULT - - UNEXPECTED interrupts were disabled. 1310719

1310720 Problem with Xilinx PLD. Xilinx does not report 20 - 1,6,1 FATAL XILINX ID - Problem with Xilinx expected identification. 1376255 configuration file in flash.

1376256 Reported Xilinx version XILINX Mismatched files used 21 - 21 POST not supported by boot - VERSION during code build. 1441791 code.

Sample clock pull range test failure. The voltage TheVCXOdevicedoes 1441792 POST CLOCK controlled sample clock not meet specification. 22 - 22 POST - RANGE crystal oscillator (VCXO) Problem with VCXO 1507327 pull range does not meet control voltage circuitry. minimum requirements.

1507328 Sample clock not VCXO is not oscillating. POST CLOCK 23 - 23 POST running. Timeout waiting - Problem with FS1 STOPPED 1572863 for measurement edge. circuitry or PLD.

1572864 24 - 1,7,1 FATAL UNUSED - - - 1638399

1703936 26 - 5,7,1 FATAL UNUSED - - - 1769471

1835008 28 - 1,8,1 FATAL UNUSED - - - 1900543

1966080 30 - 5,8,1 FATAL UNUSED - - - 2031615

CobraNet Datasheet - rev 1.6 May 27, 2003 134 www.cirrus.com Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Processor running slow. Sample clock running 2097152 Broadcast storm in DSP processing cycles fast. DMA controller 32 - 1,1,2 TXRX CYCLES progress on exhausted. malfunctioning. Unable to 2162687 network. acknowledge an interrupt.

Loop in network producing 2162688 Broadcast storm overwhelming 33 - 3,1,2 RX RX STORM - detected. amount of broadcast 2228223 or multicast network traffic.

Occurs normally while synchronizing to the network. Late collisions on an Beat packet received 2228224 oversized (>200 BEAT while previous beat Conductor is 34 - 5,1,2 RX meter) repeater FLOODED packet still being misbehaving. 2293759 network are processed. occurring profusely. multiple units may be conducting in this scenario.

2293760 Out of range permission Conductor is 35 - 7,1,2 TX BAD HANDLE handle received in beat - misbehaving. 2359295 packet.

Toomany24bit 2359296 Attempt to generate an audio channels 36 - 1,2,2 TX TX TOOBIG - oversize outgoing packet. specified for 2424831 transmitter.

2424832 Processor running slow. INTREENTERE Unexpected interrupt 37 - 3,2,2 FATAL - Sample clock running D service routine reentry. 2490367 fast.

Unexpected Ethernet 2490368 ETXUNEXPECT transmit complete Collisions occurring 38 - 5,2,2 TX - ED interrupt; no transmit in on repeater network. 2555903 progress.

Initial synchronization to the network. Change Sample clock crystal of 2555904 of conductor. Lost lock to network either this unit or the 39 - 7,2,2 TXRX LOST LOCK Conductor is clock. conductor does not meet 2621439 attempting to specification. synchronize to bad external reference clock.

2621440 Received an audio Excessive delay 40 - 1,3,2 RX EARLY PACKET packet with eager variation through the - 2686975 timestamp. network.

2686976 FRAME Programmer assertion 41 - 3,3,2 FAULT - - ASSERTFAIL failed in frame.asm 2752511

2752512 QUEUEPUT Packet queue overflow 42 - 5,3,2 TXFAULT BEATDISCARD discarding un-transmitted - - 2818047 S packets.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 135 Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Aunitiskeptfrom 2818048 QUEUEGET Free transmit buffers transmittingbecause 43 - 7,3,2 TX - TXFREE exhausted. network bandwidth 2883583 is exhausted.

2883584 FLASHREQ Programmer assertion 44 - 1,4,2 FATAL - - ASSERTFAIL failed in flashreq.asm 2949119

2949120 Excessive broadcast QUEUEPUT Too many control packets 45 - 3,4,2 RX control traffic on - RXCONTROL received. 3014655 network.

3014656 Too much audio data Two devices are 46 - 5,4,2 RX QUEUEPUT RX received for a network - mistakenly transmitting 3080191 isochronous channel. onto the same bundle.

3080192 QUEUEPUT Receive packets Excessive broadcast 47 - 7,4,2 RX - RXPACKETS backlogged. traffic on network. 3145727

Aunitiskeptfrom 3145728 Packet queue overflow at transmittingbecause 48 - 1,5,2 TX QUEUEPUT TX - bundle transmitter. network bandwidth 3211263 is exhausted.

3211264 Packet queue overflow QUEUEPUT 49 - 3,5,2 TXFAULT while freeing a transmit - Freed a buffer twice. TXFREE 3276799 buffer.

3276800 QUEUEPUT Transmit packets 50 - 5,5,2 TXFAULT - - TXPACKETS backlogged. 3342335

3342336 IPBUF Freed the same IP buffer 51 - 7,5,2 FAULT - - FREETWICE twice. 3407871

Excessive broadcast traffic on network. 3407872 Setting of RXBUFFER Receive buffers 52 - 1,6,2 RX rxMinDelay is too - OVERFLOW exhausted. 3473407 high. Excessive delay variation through network.

3473408 Synchronous serial (SSI) SSIRX Excessive interrupt 53 - 3,6,2 TXFAULT audio data receive - OVERRUN latency. 3538943 overrun.

3538944 Synchronous serial (SSI) SSITX Excessive interrupt 54 - 5,6,2 RXFAULT audio data transmit - UNDERRUN latency. 3604479 underrun.

3604480 EXTSTACK Processor external stack 55 - 7,6,2 FATAL - - OVER overflow. 3670015

3670016 EXTSTACK Processor external stack 56 - 1,7,2 FATAL - - UNDER underflow. 3735551

Unable to transmit all 3735552 Bandwidth is TX outbound audio packets 57 - 3,7,2 TX exhausted on a - CHANCOUNT within an isochronous 3801087 repeater network. cycle period.

CobraNet Datasheet - rev 1.6 May 27, 2003 136 www.cirrus.com Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

3801088 Queue overflow QUEUEPUT 58 - 5,7,2 TXFAULT preparing packets for - - ORDER 3866623 transmission.

3866624 59 - 7,7,2 FATAL UNUSED - - - 3932159

Conductor revoked permission, channel number changed or 3932160 turned off by user. A TXAUDIO Audio dropout occurred 60 - 1,8,2 TXQUIET beat packet did not - DROPOUT on transmission. 3997695 arrive either due to a conductor change or a problem on the network.

Conductor revoked permission, channel 3997696 number changed or RXAUDIO Audio dropout occurred 61 - 3,8,2 RXQUIET turned off by user. - DROPOUT on reception. 4063231 Audio packet was dropped by the network.

4063232 A transmit buffer was 62 - 5,8,2 TXFAULT TXFREE TWICE - - freed twice. 4128767

DMA reports receiving an 4128768 RXPACKET packet outside DMA hardware is 63 - 7,8,2 RXFAULT - BOUNDS designated receive buffer misbehaving. 4194303 address range.

Serial bridge can't 4194304 packetize and transmit serialPPeriod setting QUEUEPUT 64 - 1,1,3 TX characters as fast as toohighforselected - SCICRX 4259839 they're being received baud rate. from the serial port.

4259840 Programmer assertion 65 - 3,1,3 FATAL IP ASSERTFAIL - - failure in ip.asm 4325375

A request has been resubmitted before it was 4325376 Queue overflow initiating QUEUEPUT completed. Flash request 66 - 5,1,3 FATAL aflashread,writeor - FLASHREQ queue size needs to be 4390911 erase. increased due to software expansion.

4390912 PROCSTACK Processor internal stack 67 - 7,1,3 FATAL - - OVER overflow. 4456447

4456448 PROCSTACK Processor internal stack 68 - 1,2,3 FATAL - - UNDER underflow. 4521983

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 137 Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Duplicate MACs detected on network detected during conductor Loopinnetwork 4521984 arbitration. MAC resulting in 69 - 3,2,3 TX DUP MAC addresses are supposed broadcast storm and - 4587519 to be globally unique. The subsequent receipt two (or more) units may of own beat packets. notbeabletoresolvethis conflict peacefully.

4587520 STACK Processor external stack 70 - 5,2,3 FATAL - - CORRUPT corrupted. 4653055

4653056 71 - 7,2,3 FATAL UNUSED - - - 4718591

4718592 A transmit buffer was TXFREE 72 - 1,3,3 FATAL modified after being - - CORRUPT 4784127 freed.

Characters are being received Serial bridging received simultaneously over 4784128 more characters from the the network from QUEUEPUT 73 - 3,3,3 RX network faster than it can two transmitters. - SCITXC 4849663 transmit them out the Baud rate at serial port. from SCI. transmitter is set higher than at receiver.

There are no longer 4849664 Loss of receive activity any other CobraNet 74 - 5,3,3 RXQUIET RXIDLE - detected. devices on the 4915199 network.

4915200 75 - 7,3,3 FATAL UNUSED - - - 4980735

5046272 Hardware problem with Illegal instruction 77 - 3,4,3 FATAL ILLEGAL INST - main memory or address/ encountered. 5111807 data busses.

5111808 78 - 5,4,3 FATAL UNUSED - - - 5177343

Ethernet receive 5177344 Could not keep up with ETHERRX data transfers 79 - 7,4,3 RX Ethernet receive data - OVERRUN deferred by 5242879 transfer requirements. transmissions.

5177344 Could not keep up with ETHERRX Problem with Ethernet 79 - 7,4,3 RXFAULT Ethernet receive data - OVERRUN receive DMA. 5242879 transfer requirements.

CobraNet Datasheet - rev 1.6 May 27, 2003 138 www.cirrus.com Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Late collisions on an oversized (>200 meter) repeater network. Cabling, equipment or 5242880 Corrupted Ethernet electromagnetic Problem with Ethernet 80 - 1,5,3 RX ETHERRX CRC packet received (CRC interference problem controller. 5308415 error). on the network. A cut-through switch may convert collision fragments into packets with bad CRC.

Cabling, equipment or electromagnetic interference problem 5308416 ETHERRX Received packet with on the network. Late Problem with Ethernet 81 - 3,5,3 RX DRIBBLE incomplete last byte. collisions on an controller. 5373951 oversized (>200 meter) repeater network.

5373952 ETHERRX Received an illegally Equipment problem 82 - 5,5,3 RX - BIGPACKET large packet. on the network. 5439487

Late collisions on an oversized (>200 5439488 Could not keep up with meter) repeater ETHERTX Problem in Ethernet 83 - 7,5,3 TX Ethernet transmit data network disrupt UNDER DMA. 5505023 requirements. transmit in progress leadingtothis condition

5439488 Could not keep up with ETHERTX Problem in Ethernet 83 - 7,5,3 TXFAULT Ethernet transmit data - UNDER DMA. 5505023 requirements.

Repeater network is 5505024 16 successive collisions saturated with traffic. ETHERTX 84 - 1,6,3 TX on transmission attempt; - problem with collision 16COLL 5570559 transmission aborted. detection mechanism in the Ethernet controller.

May be reported if 5570560 Ethernet carrier sense transmission is in 85 - 3,6,3 TX ETHERTX CRS did not assert in progress when - 5636095 response to transmission. Ethernet is disconnected.

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 139 Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Late collisions can occur on a repeater network if network diameter exceeds 200 m. CobraNet's collision avoidance mechanism for repeaters allows network diameters up to 2 km. On such networks, late 5636096 collisions are ETHERTX Late collision occurred 86 - 5,6,3 TXQUIET expected in - LATECOLL during transmission. 5701631 transmission of control data. The collision detection mechanism of a device on the network is inoperative or a device is mistakenly manually configured for full-duplex operation on a repeater network. A transmitter on the 5701632 Collisions are ETHERRX Received an illegally network is misbehaving. 87 - 7,6,3 RXQUIET occurringonthe SHORTPACKET short Ethernet packet. Problem with Ethernet 5767167 network. controller.

5767168 Asynchronous serial Bad serial baud rate 88 - 1,7,3 TX SCI RXOVER - receive overrun error. selected. 5832703

5832704 89 - 3,7,3 FATAL UNUSED - - - 5898239

5898240 Wrong serial data SCI Asynchronous serial 90 - 5,7,3 TX format or baud rate - RXFRAMING receive framing error. 5963775 selected.

5963776 91 - 7,7,3 FATAL UNUSED - - - 6029311

Ethernet DMA 6094848 misbehaving or incorrect RXPACKET DMA reports receiving an 93 - 3,8,3 RXFAULT - handling of receive TOOLONG illegally long packet. 6160383 discard or late collision condition.

May be reported 6160384 Attempttotransmitwhile during 94 - 5,8,3 TX TRANSMITTING we're already - synchronization to 6225919 transmitting. network conductor.

6225920 Transmitted a packet 95 - 7,8,3 TXFAULT UNPREPARED before it was fully - - 6291455 prepared.

CobraNet Datasheet - rev 1.6 May 27, 2003 140 www.cirrus.com Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Prepared a packet for 6291456 ALREADY transmission that was 96 - 1,1,4 TXFAULT - - PREPARED already previously 6356991 prepared.

6356992 Unprepared a packet for ALREADY 97 - 3,1,4 TXFAULT transmission that was - - UNPREPARED 6422527 already Unprepared.

6422528 Queue overflow QUEUEPUT 98 - 5,1,4 TXFAULT discarding or recycling an - - TXRECYCLE 6488063 un-transmitted packet.

6488064 BEAT Programmer assertion 99 - 7,1,4 FATAL - - ASSERTFAIL failed in beat.asm 6553599

6553600 100 - 1,2,4 FATAL UNUSED - - - 6619135

6684672 Beat packet is still being Transmission is A task is not running or 102 - 5,2,4 TX BEAT BUSY updated when it is time to protracted on loss of processor cycles 6750207 transmit it. link. exhausted.

6750208 SNMP Programmer assertion 103 - 7,2,4 FATAL - - ASSERTFAIL failed in snmp.a 6815743

6815744 104 - 1,3,4 FATAL UNUSED - - - 6881279

6946816 106 - 5,3,4 FATAL UNUSED - - - 7012351

7077888 108 - 1,4,4 FATAL UNUSED - - - 7143423

7208960 110 - 5,4,4 FATAL UNUSED - - - 7274495

7274496 ORDER Inconsistency detected in 111 - 7,4,4 FAULT - - MISMATCH transmission queues. 7340031

7340032 112 - 1,5,4 FATAL UNUSED - - - 7405567

7471104 Conductor has NO BEAT Could not find header 114 - 5,5,4 RX - transmitted an ill formed HEADER section in beat packet. 7536639 beat packet.

Device has 7536640 Could not find header NO ISO transmitted an ill 115 - 7,5,4 RX section in isochronous - HEADER formed isochronous 7602175 data packet. data packet

7602176 116 - 1,6,4 FATAL UNUSED - - - 7667711

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 141 Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

Packet bridge 7667712 Host processor has BRIDGE TX transmission is too big 117 - 3,6,4 TX specifiedasizeout - SIZE (>1514 bytes) or too 7733247 of range. small (<14 bytes).

Host processor lost 7733248 HMI ADDRESS InvalidhostMIaddress its mind or assumes 118 - 5,6,4 TXQUIET - INVALID specified. adifferentMI 7798783 version.

7798784 Queue overflow QUEUEPUT 119 - 7,6,4 TXFAULT transmitting control - - TXCONTROL 7864319 packets.

Problem with audio DMA. Problems with audio 7864320 Unexpected audio DMA clocks. Possible 120 - 1,7,4 FAULT SSIPTR SLIP - pointer location. contention of clock 7929855 signals with external connections.

Malformed packet 7929856 Serial bridge packet SCIDATA transmitted by another 121 - 3,7,4 RX contained no data - MISSING station or packet was 7995391 section. truncated on receipt.

Frame advance 7995392 FRAME processing not completed 122 - 5,7,4 FAULT - - FLOODED before beginning of next 8060927 frame.

8060928 Transmit packets not ORDER Synchronization to 123 - 7,7,4 TX available at transmission - LOCKED network scenario. 8126463 time.

8126464 124 - 1,8,4 FATAL UNUSED - - - 8191999

8257536 SECTIONLENG Defective transmitter Unexpected packet 126 - 5,8,4 RX TH may spew corrupt - structure encountered. 8323071 UNEXPECTED packets

Unexpected packet 8323072 ETHERRX receipt aborted; receive 127 - 7,8,4 RXFAULT - - ABORT abort mechanism 8388607 unimplemented.

Accompanies receiver data 8388608 Internal receive error overrun in some ETHERRX 128 - 1,1,5 RX reported Ethernet cases. Ethernet - INTERNAL 8454143 controller (MAC). receive data transfers deferred by transmissions.

Accompanies 8388608 Internal receive error ETHERRX receiver data Problem in Ethernet 128 - 1,1,5 RXFAULT reported Ethernet INTERNAL overrun in some receive DMA. 8454143 controller (MAC). cases.

IP packets arriving 8454144 IP packet dropped on more frequently than 129 - 3,1,5 RX IP DROPPED - receive. they can be 8519679 processed.

CobraNet Datasheet - rev 1.6 May 27, 2003 142 www.cirrus.com Error Code Reference

SNMP Flash Expected Unexpected Code Type Name Description Code Code Conditions Conditions

8519680 130 - 5,1,5 FATAL UNUSED - - - 8585215

8585216 Ill-formed SNMP SNMP Unable to parse SNMP 131 - 7,1,5 RX packet transmitted - NOPARSE packet. 8650751 by a manager.

1114112 Incompatible CobraNet At least one version 0- PROTOCOL 170 5,3,6 TXFAULT protocol version detected 1CobraNetprotocol - 1120665 INCOMPATIBLE on network. device on network. 5

CobraNet Datasheet - rev 1.6 May 27, 2003 www.cirrus.com 143 Error Code Reference

IMPORTANT NOTICE

"PRELIMINARY" PRODUCT INFORMATION DESCRIBES PRODUCTS THAT ARE IN PRODUCTION, BUT FOR WHICH FULL CHARACTERIZATION DATA IS NOT YET AVAILABLE."ADVANCE" PRODUCT INFORMATION DESCRIBES PRODUCTS THAT ARE IN DEVELOPMENT AND SUBJECT TO DEVELOPMENT CHANGES.CIRRUS LOGIC,INC. AND ITS SUBSIDIARIES ("CIRRUS") BELIEVE THAT THE INFORMATION CONTAINED IN THIS DOCUMENT IS ACCURATE AND RELIABLE.HOWEVER, THE INFORMATION IS SUBJECT TO CHANGE WITHOUT NOTICE AND IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND (EXPRESS OR IMPLIED). CUS- TOMERS ARE ADVISED TO OBTAIN THE LATEST VERSION OF RELEVANT INFORMATION TO VERIFY, BEFORE PLACING ORDERS, THAT INFORMATION BEING RELIED ON IS CURRENT AND COMPLETE.ALL PRODUCTS ARE SOLD SUBJECT TO THE TERMS AND CONDITIONS OF SALE SUPPLIED AT THE TIME OF ORDER ACKNOWLEDGMENT, INCLUDING THOSE PERTAINING TO WARRANTY, PATENT INFRINGEMENT, AND LIMITATION OF LIABILITY.NO RESPONSIBILITY IS ASSUMED BY CIRRUS FOR THE USE OF THIS INFORMATION, INCLUDING USE OF THIS INFORMATION AS THE BASIS FOR MANUFACTURE OR SALE OF ANY ITEMS, OR FOR INFRINGEMENT OF PATENTS OR OTHER RIGHTS OF THIRD PARTIES.THIS DOCUMENT IS THE PROPERTY OF CIRRUS AND BY FURNISHING THIS INFORMATION,CIRRUS GRANTS NO LICENSE, EXPRESS OR IMPLIED UNDER ANY PATENTS, MASK WORK RIGHTS, COPYRIGHTS, TRADEMARKS, TRADE SECRETS OR OTHER INTELLECTUAL PROPERTY RIGHTS.CIRRUS OWNS THE COPYRIGHTS OF THE INFORMATION CONTAINED HEREIN AND GIVES CONSENT FOR COPIES TO BE MADE OF THE INFORMATION ONLY FOR USE WITHIN YOUR ORGANIZATION WITH RESPECT TO CIRRUS INTEGRATED CIRCUITS OR OTHER PARTS OF CIRRUS.THIS CONSENT DOES NOT EXTEND TO OTHER COPYING SUCH AS COPYING FOR GENERAL DISTRIBUTION, ADVERTISING OR PROMO- TIONAL PURPOSES, OR FOR CREATING ANY WORK FOR RESALE.

AN EXPORT PERMIT NEEDS TO BE OBTAINED FROM THE COMPETENT AUTHORITIES OF THE JAPANESE GOVERNMENT IF ANY OF THE PRODUCTS OR TECH- NOLOGIES DESCRIBED IN THIS MATERIAL AND CONTROLLED UNDER THE "FOREIGN EXCHANGE AND FOREIGN TRADE LAW" IS TO BE EXPORTED OR TAKEN OUT OF JAPAN.AN EXPORT LICENSE AND/OR QUOTA NEEDS TO BE OBTAINED FROM THE COMPETENT AUTHORITIES OF THE CHINESE GOVERNMENT IF ANY OF THE PRODUCTS OR TECHNOLOGIES DESCRIBED IN THIS MATERIAL IS SUBJECT TO THE PRC FOREIGN TRADE LAW AND IS TO BE EXPORTED OR TAKEN OUT OF THE PRC.

PURCHASE OF I2C COMPONENTS OF CIRRUS LOGIC,INC., OR ONE OF ITS SUBLICENSED ASSOCIATED COMPANIES CONVEYS A LICENSE UNDER THE PHIL- IPS I2C PATENT RIGHTS TO USE THOSE COMPONENTS IN A STANDARD I2C SYSTEM.

CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRNOMENTAL DAMAGE ("CRITICAL APPLICATIONS"). CIRRUS PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLI- CATIONS. INCLUSION OF CIRRUS PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’SRISK.

CIRRUS LOGIC,CIRRUS, AND THE CIRRUS LOGIC LOGO DESIGNS ARE TRADEMARKS OF CIRRUS LOGIC,INC.ALL OTHER BRAND AND PRODUCT NAMES IN THIS DOCUMENT MAY BE TRADEMARKS OR SERVICE MARKS OF THEIR RESPECTIVE OWNERS.

COPYRIGHT ©2003CIRRUS LOGIC,INC. ALL RIGHTS RESERVED PRINTEDINTHEUSA

CobraNet Datasheet - rev 1.6 May 27, 2003 144 www.cirrus.com