❒ Real-time Digital Audio Distribution via Ethernet
❒ No Overall Limit on Network Channel Capacity
❒ Supports Switched and Repeater Fast Ethernet Networks
❒ Fully IEEE 802.3 Ethernet Standards Compliant
❒ Fiber Optic and Gigabit Ethernet Variants Supported
❒ Ethernet infrastructure can be used simultaneously for
audio and data communications.
❒ Free CobraCAD™ Audio Network Design Tool
❒ High-quality Audio Sample Clock Delivery Over Ethernet
❒ Uncompressed 16-, 20-, and 24-bit Audio Transport
❒ Professional 48 khz and 96 kHz Sample Rate
❒ Low (1-1/3 ms) Latency
❒ Flexible Many-to-many Network Audio Routing
Capabilities
❒ Available in a family of modules and low-cost devices,
❒ Up to 64 Audio Channel I/O Capability
❒ Implements CobraNet protocol for real-time transport of
audio over ethernet.
❒ Local Management via 8-bit Parallel Host Port
❒ UDP/IP Network Stack with Dynamic IP Address
Assignment via BOOTP or RARP
❒ Remote Management via Simple Network Management
Protocol (SNMP)
❒ Available module form factor allows for flexible integration
into audio products.
❒ 120-MIPS Digital Signal Processor
❒ Non-volatile Storage of Configuration Parameters
❒ Safely Upgrade Firmware over Ethernet Connection
❒ LED Indicators for Ethernet Link Activity, 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- or 4-bit Address
❒ Virtual 24- or 32-bit Data and Addressing
❒ Polled, Interrupt, and DMA Modes of Operation
❒ Configure and Monitor CobraNet Interface
❒ Transmit and Receive Ethernet Packets at 100-Mbit Wire
Speed
DigitalAudioNetworkingProcessor
Asynchronous serial interface
❒ Full-duplex Capable
❒ 8- and 9-bit Data Formats
❒ Standard Baud Rates up to 115.2 kbps
❒ 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
❒ 48 kHz and 96 kHz Sample Rates
❒ 64FS, 128FS, and 256FS Bit Rates Supported
❒ Supports numerous synchronous serial formats including
2
I
S
❒ Up to 32-bit Data Resolution
Audio clock interface
❒ 4 Host Audio Clocking Modes for Maximum Flexibility in
CobraNet is a combination of hardware (the CobraNet
interface), network protocol, and firmware. CobraNet
operates on a switched Ethernet network or on a
dedicated Ethernet repeater network. CobraNet
provides the following additional communications
services for an Ethernet network.
•Isochronous Audio Data Transport
•Sample Clock Distribution
•Control and Monitoring Data Transport
The CobraNet interface performs synchronous-toisochronous and isochronous-to-synchronous
DigitalAudioNetworkingProcessor
conversions as well as the data formatting required for
transporting real-time digital audio over the network.
The CobraNet interface utilizes standard Ethernet. It
has the added capability to carry and utilize other
Ethernet and IP compatible protocols for control and
monitoring such as Simple Network Management
Protocol (SNMP) and User Datagram Protocol (UDP)
through the same network connection. This capability
is shown below as unregulated traffic. Data
communications and CobraNet applications can
coexist on the same physical network in most cases.
For all product questions and inquiries contact a Cirrus Logic Sales Representative.
To find the one nearest to you go to www.cirrus.com
IMPORTANT NOTICE
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). Customers 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,
indemnification, 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 b
furnishing this information, Cirrus grants no license, express or implied under any patents, mask work rights, copyrights, trademarks, trade secrets o
other intellectual property rights. Cirrus owns the copyrights associated with 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 products of Cirrus. This consent does no
extend to other copying such as copying for general distribution, advertising or promotional purposes, or for creating any work for resale.
CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR
SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL APPLICATIONS”). CIRRUS PRODUCTS ARE NOT DESIGNED, AUTHORIZED
OR WARRANTED FOR USE IN AIRCRAFT SYSTEMS, MILITARY APPLICATIONS, PRODUCTS SURGICALLY IMPLANTED INTO THE BODY,
UTOMOTIVE SAFETY OR SECURITY DEVICES, LIFE SUPPORT PRODUCTS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF CIRRUS
PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’S RISK AND CIRRUS DISCLAIMS AND MAKES NO
WARRANTY, EXPRESS, STATUTORY OR IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
PARTICULAR PURPOSE, WITH REGARD TO ANY CIRRUS PRODUCT THAT IS USED IN SUCH A MANNER. IF THE CUSTOMER OR
CUSTOMER’S CUSTOMER USES OR PERMITS THE USE OF CIRRUS PRODUCTS IN CRITICAL APPLICATIONS, CUSTOMER AGREES, BY
SUCH USE, TO FULLY INDEMNIFY CIRRUS, ITS OFFICERS, DIRECTORS, EMPLOYEES, DISTRIBUTORS AND OTHER AGENTS FROM ANY
ND ALL LIABILITY, INCLUDING ATTORNEYS’ FEES AND COSTS, THAT MAY RESULT FROM OR ARISE IN CONNECTION WITH THESE USES.
Cirrus Logic, Cirrus, the Cirrus Logic logo designs, CobraNet, and CobraNet Silicon Series 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.
CobraNet is a technology that combines state of the art audio and communications
technologies. While each have their own terminology, the following terms are used to refer
to elements specific to CobraNet.
Audio Channel—A CobraNet digital audio channel operates with a sample rate 48 kHz
or 96 kHz and a sample size of 16, 20, or 24 bits.
Bundle—A Bundle* is the basic CobraNet audio routing element and can carry 0 to 8
audio channels. Bundles are assigned a number which determines both which interface
the Bundle is routed to and in what manner. The range within which the Bundle number
falls determines whether it is routed as a multicast, unicast, or private type. Bundles are
numbered 1 through 65535. CobraNet interfaces are capable of sending and receiving
multiple bundles simultaneously. Bundle numbers are described in more detail in Table 2.,
"Bundle Numbering" .
*
Bundles were formerly referred to as channels or network channels and may be seen represented as such in some SNMP
variable names and older documentation.
CobraNet Programmer’s Reference
Overview
CobraNet Device—A CobraNet device is any equipment containing one or more
CobraNet interfaces.
CobraNet Interface—The CobraNet interface is the hardware (or hardware design) and
software supplied by Cirrus Logic to manufacturers of CobraNet enabled equipment.
Several generations of the CobraNet interface exist and will interoperate with each other:
CS4961xx and CS1810xx - A family of CobraNet chips containing one or more
32-bit, 120-MIPS DSP cores, RAM and audio I/O circuitry.
CM-2 - A modular CobraNet interface based on a CS4961xx device.
CM-1 - A modular CobraNet interface based on a 24-bit, 100 MIPS DSP.
Silicon Series Reference Design - A CobraNet design based on the CS1810xx
or CS4961xx. This is essentially a CM-2 without the modular circuit board and
host interface connector.
24-bit Platform - CobraNet interfaces based on 24-bit DSPs: Reference design,
CM-1.
32-bit Platform - CobraNet interfaces based on 32-bit DSPs: CS4961xx and
CS1810xx, CM-2.
Reference Design - A CobraNet interface design based on a 24-bit, 40 MIPS
DSP.
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 are described elsewhere in this document. All CobraNet devices
other than the conductor operate in a performer role.
Isochronous cycle - One or more CobraNet bundles are transmitted each isochronous
cycle. The period of an isochronous cycle is 750 Hz or 1-1/3 mS
Host Management Interface (HMI) - The hardware (8-bit bi-directional parallel interface)
and protocol for accessing MI variables locally. The HMI is described in detail in the
CS4961xx/CS1810xx Hardware Manual and CM-1 Hardware Manual.
Management Interface (MI) - The set of variables used to control and monitor the
CobraNet interface. MI variables are accessible both locally through the Host
Management Interface (HMI) and over the network using Simple Network Management
Protocol (SNMP). MI variables are described in detail in Section 6. "Management
Interface Variable Reference" on page 28.
Packet Bridge - A function provided by the CobraNet protocol which allows a CobraNet
interface to send and receive raw Ethernet packets over the same Ethernet media used
for audio transmission.
Performer - A CobraNet interface which receives its transmission permissions and
master clock from a conductor. In the event a conductor fails, the CobraNet protocol will
automatically promote a performer to become the new conductor.
Receiver - A logical entity within the CobraNet interface capable of receiving one Bundle.
Serial Bridge - A function provided by the CobraNet protocol which allows a CobraNet
interface to send and receive asynchronous (i.e. RS-232) data over the same Ethernet
media used for audio transmission.
Transmitter - A logical entity within the CobraNet interface capable of transmitting one
Bundle.
The CobraNet protocol operates at the Data Link Layer also referred to as OSI Layer 2 or
MAC layer. CobraNet uses four basic packet types described below. All CobraNet packets
are identified with a unique Ethernet protocol identifier (0x8819) assigned to Cirrus Logic.
As CobraNet is a Local Area Network (LAN) technology and not a Wide Area Network
(WAN) technology, CobraNet does not utilize Internet Protocol (IP) to transport audio.
Packet Bridge packets are generic packets and are not identified as CobraNet packets.
Packet bridging is discussed in more detail in Section 2.2 "Packet Bridge" on page 13.
1.2.1 Beat Packet
A multicast packet with an address of 01:60:2B:FF:FF:00 and which contains network
operating parameters, clock and transmission permissions. The beat packet is
transmitted 750 times per second from a single CobraNet device on the network (the
conductor) and indicates the start of the main isochronous cycle. Since the beat packet
carries the clock for the network, it is sensitive to delay variation. If the delay variation
specification shown in Table 1 on page 10 is not met, CobraNet devices may not be able
to lock their local sample clocks to the network clock. The beat packet is typically small
(on the order of 100 bytes) but can be large on a network with numerous active bundles.
CobraNet Programmer’s Reference
Overview
1.2.2 Isochronous Data Packet (or Bundle)
A multicast or unicast packet. A stream of isochronous data packets carries an audio
bundle. Though the size of the packet is dependent on the number and format of the
audio channels contained in the bundle, isochronous data packets are typically large. A
bundle carrying 8 channels of 20-bit audio at 48kHz sample rate in the standard latency
mode is approximately 1300 octets.
Isochronous data packets are transmitted in response to receipt of the beat packet.
However when low-latency modes are utilized, isochronous data packets are transmitted
twice or four times per isochronous cycle. The first transmission is in response to beat
packet receipt, the other transmissions are made at evenly timed intervals thereafter.
Because CobraNet devices buffer isochronous data packets, out-of-order delivery of data
packets is acceptable as long as the packet forwarding delay specifications in Table 1 on
page 10 are not exceeded.
1.2.3 Reservation Packet
A multicast packet with an address of 01:60:2B:FF:FF:01 used by the CobraNet protocol
to allocate bandwidth and establish connections between CobraNet interfaces. CobraNet
devices transmit reservation packes as needed or typically once per second at minimum.
1.2.4 Serial Bridge Packet
A multicast or unicast packet used to bridge asynchronous serial data between CobraNet
interfaces. Serial bridging is discussed in more detail in Section 2.1 "Serial Bridge" on
CobraNet provides real-time audio delivery and 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 Cirrus Logic’s CobraCAD
CobraNet modeling software (available for download at www.cirrus.com). The design
check feature in CobraCAD assures that the performance requirements shown in Table 1
are met and that the network is capable of delivering the bandwidth required to support
the modeled application.
Table 1. Network Performance Requirements
ParameterMaximumComments
Beat Packet Delay Variation250µs
If delivery of beat packets periodically varies from the nominal delay by
more than this value, then the Receivers may loose sample lock or fail to
meet clock delivery specifications.
Forwarding Delay,
5-1/3ms latency
Forwarding Delay,
2-2/3ms latency
Forwarding Delay,
1-1/3ms latency
Maximum Forwarding Delay5000µsAudio cannot be delivered at any latency with extreme forwarding delays.
Maximum Forwarding Delay Variation,
5-1/3ms latency
Maximum Forwarding Delay Variation,
2-2/3ms latency
Maximum Forwarding Delay Variation,
1-1/3ms latency
a.Store-forward delay on a 100Mbit Ethernet connection is 121us (assuming maximum length packets). This forwarding
a
delay specification is only achievable on an audio-only dedicated network. The lowest latency achievable with CobraNet on
a non-dedicated network is 1-2/3ms (using the 1-1/3ms latency mode with an rxMinDelay setting of 0x40 to make
receivers tolerant to queuing delays introduced by non-audio traffic).
500µs
250µs
125µs
1000µs
500µs
250µs
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 delay variation = 400µs. Thus tolerance of forwarding
delay is reduced in the presence of delay variation. When forwarding
specification is exceeded, audio is delivered reliably with additional
latency. rxDelay and rxMinDelay can be used to observe and control this
adaptation to forwarding delay.
Delay variation exceeding these specifications will result in unreliable
audio transport due unstable rxDelay determination. In some cases this
may be addressed through manual rxMinDelay setting.
Multicast bundles represent a least common denominator for audio interoperability in
CobraNet networks. Bundles sent with multicast destination addresses are delivered
indiscriminately to all CobraNet interfaces and thus have the potential of overloading a
network. Care should be taken to insure that an excessive number of multicast bundles
are not used. See Bundle Assignments in CobraNet Systems (available for download at
www.cirrus.com
Unicast bundles are sent to only one destination on a network. However, in the event
that more than one CobraNet interface is set to receive the same bundle number, the
CobraNet protocol may, according to rules governed by the txUniCastMode and
txMaxUnicast variables, cause unicast bundles to be sent as multicast or multi-unicast
when necessary. Multi-unicast will use unicast addressing to send up to four copies of the
same bundle to different CobraNet interfaces.The default configuration for txUnicastMode
insures that unicast bundles are never multicast.
Private bundles are a special case of unicast or multicast bundles. The transmitter's
MAC address, in addition to the bundle number, is required to fully qualify a private
channel at the receiver. Like unicast bundles, these may be either unicast or multicast
based on txUnicastMode.
) for a discussion of issues associated with multicast bundles.
CobraNet Programmer’s Reference
Overview
Note: Transmitted bundles must have a unique bundle number assigned to them. More
than one transmitting interface cannot use the same bundle number. Multiple receiving
interfaces can receive the same bundles.
Hexadecimal
Bundle
Number
00Null
1-0xFF1-255Multicast
0x100-
0xFEFF
0xFF00-
0xFFFF
Decimal
Bundle Number
256-65279Unicast
65280-65535Private
DesignationUsage
Table 2. Bundle Numbering
Unused bundle. Disables
transmission/reception when
selected.
Transmitted by a single
CobraNet interface and received
by any number of interfaces.
Transmitted by a single
CobraNet interface. Dependent
on txUnicastMode and
txMaxUnicast settings may be
received at a single (default
case), a few (multiple unicast
case) or a large number
(multicast case) of interfaces.
Individual transmitters locally
allocate private channels. The
bundle number is conditioned on
the transmitter's MAC address.
There are 256 of these bundles
per transmitter thus the total
number of private bundles is
virtually unlimited as the bundle
numbers are unique to a
particular MAC address.
Transmission
Addressing
Never transmitted.Never transmitted.
Always multicast
Generally unicast
but may multicast if
txUnicastMode
variable is
adjusted.
Generally unicast
but may multicast if
txUnicastMode
variable is
adjusted.
Transmission
Mode
Always
transmitted.
Only transmitted
when at least one
receiver is
identified via
reverse
reservation.
Only transmitted
when at least one
receiver is
identified via
reverse
reservation.
Asynchronous serial data may be bridged across the network using the serial bridge
hardware and software. The CobraNet interface has a two wire logic-level asynchronous
interface. Characters received on the interface are buffered and placed in the payload of a
special serial bridge Ethernet packet. The packet is then transmitted onto the network
with unicast or multicast addressing as configured. It is received at the destination
CobraNet interface where the data in the packet is re-serialized and presented on the
serial interface. Many standard asynchronous serial formats are supported. With proper
physical interface circuitry, this port can be made to support RS-232, RS-422 or RS-485
standards. Multi-drop two-wire interfaces are also supported.
The bridging feature can be useful in a CobraNet product as either an internal or external
control interface. Used externally, the appropriate transceiver, such as an RS-232 driver
chip, is connected to the logic-level pins and in turn connected to a standard connector,
such as a DB-9 or DB-25, on the back panel. This allows control of external serial
interfaced devices remotely over Ethernet.
RS-485
Multi-drop
CobraNet
Interface
etwork
Figure 2. Serial Bridging, External Application
Ethernet
Network
CobraNet
Interface
RS-232
Connection
Internal application of the serial bridge allows serial communications over the network
between host processors which are incorporated into CobraNet devices. Using this
communication scheme reduces engineering effort in integrating CobraNet into audio
products that already accomplish control communications via serial link.
Although the serial bridging feature strives to transmit data at wire speed, delays are
introduced by the process of serializing, de-serializing, and prioritizing the serial bridge
packets. These delays are typically on the order of 10ms or less.
See Table 6.4.8 on page 86 for details on the MI variables used to control serial bridging.
2.2Packet Bridge
The packet bridge provides a means for using the CobraNet interface as if it were an
Ethernet controller by providing a basic capability to send and receive raw Ethernet
packets. A CobraNet device utilizing a host processor with network stack can use this
feature to transmit and receive both control and audio data over the same network
connection.
In the simplest implementation, the host sees the packet bridge as several control
variables, a receive buffer, and a transmit buffer which are accessed via the HMI interface.
Ethernet data packets are transferred in both directions over the host port using the same
HMI semantics used to read and write other MI variables.
More advanced implementations can take advantage of interrupt and DMA modes of HMI
operation as well as some HMI operations specifically tailored to packet bridge functions.
CobraNet Programmer’s Reference
Control Communications
Refer to Table 6.4.7 on page 81 for details on the MI variables used to control packet
bridging.
2.2.1 Packet Bridge Buffer Data Format
Packets are transmitted by writing raw packet data to bridgeTxPktBuffer. Packets are
received by reading bridgeRxPktBuffer. Data in both buffers shares the same format. The
first word of the buffer specifies the byte length of the data that follows. Byte length
includes the14-byte Ethernet header. The Frame Check Sequence (FCS) is automatically
appended to transmitted packets and automatically checked and stripped from received
packets. The FCS is not included in the packet data or byte length specification. Byte
length should be in the range 14 to 1514.
2.2.1.1.Processor-dependent Layout of Packet Bridge Buffers
Refer to Ta bl e 3 and Table 4 on page 14 for organization of data within bridge buffers for
24- and 32-bit platforms. All data marked as unused/0 will be received as 0 and must be
set to 0 when writing the buffer prior to transmission.
For both platforms, requested transmissions shorter than the 60-byte Ethernet packet
minimum will be padded to 60 bytes with indeterminate data.
2.2.1.2.24-bit HMI Packet Bridge Buffer Data Format
Packet byte length is specified in the two MS bytes of the first word. The LS bytes will read
0 on receipt and must be set to 0 for transmit. Transmit byte length is rounded up to the
nearest even multiple of 4. Receive byte length indicates the actual number of bytes
received.
2.2.1.3.32-bit HMI Packet Bridge Buffer Data Format
Packet data begins with the second word. Transmission order of each word is MH, MS,
LS, ML.
The packet bridge can allow only selected packets to be passed to the bridge buffer or
allow copies of packets to be sent to the bridge buffer. The value of the bridgeRxFilter
variable controls the filter mode. With bridgeRxFilter = 0x10 or 0x01 the packet bridge
sends selected packets of unknown protocol to the HMI interface via the packet bridge
buffer. With bridgeRxFilter = 0x02 or 0x08, copies of selected packets are passed both to
the packet bridge and are processed by the CobraNet interface. The packet bridge never
passes audio data packets or beat packets to the host. The operation of packet bridge
filtering is shown in Figure 4 below.
Ethernet
Packet
CobraNet Programmer’s Reference
Control Communications
0x10 Bridges all Packets with
Unknown Protocol
(Usually Custom Control Protocol)
CobraNet?
0x8819
Y
Reservation
Request?
N
Beat
Packet?
N
Serial Bridge
Packet?
N
Audio
Bundle?
N=Special
Case
N
Y
Y
Y
Y
Process
Reservation
Request
Process
Beat Packet
Process
Serial Bridge
Packet
Process
Audio Bundle
0x08 Copies all IP Packets and Forwards to Host Processor
ARP/RARP?
Process
ARP or RARP
Request
N
Y
IP?
Packet
DestinationIP=
ipMonCurrentIP?
SNMP?
TFTP?
BOOTP?
N
Y
N
Packet Dropped
Y
Y
SNMP Agent
N
Y
TFTP Server
N
Y
BOOTP Client
Process
Packet Bridge
RxPktBuffer
0x02 Copies Reservation Requests and Forwards to Host Processor
0x01 Bridges Special 0x8819 non-audio Packets
Figure 4. Packet Bridge Receive Filtering
The default value of BridgeRxFilter is 0x01. When BridgeRxFilter is set to 0x08 and/or
0x02, the CobraNet interface and the host processor can independently process the
same packets. The Host processor can use 0x08 in order to respond to packets with IP
addresses other than the address assigned to the CobraNet interface. Care must be
taken in the host processor software when using these modes to ensure that the
CobraNet interface and Host Processor do not both respond to the same packets.
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.
3.2Serial 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 is discussed in Section 2.1 "Serial Bridge" on page 12.
BOOTPSNMP TFTP
UDP
ICMP
Figure 5. CobraNet Network Stack
IP RARP ARP
802.3 Ethernet
Fast Ethernet Inter face
CobraNet
Audio
Serial
Bridge
Packet
Bridge
3.3Packet 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 is
discussed in Section 2.2 "Packet Bridge" on page 13.
3.4BOOTP
The boot protocol (BOOTP) is supported as specified in RFCs 951 and 1542. Network
clients use BOOTP to receive an IP address from a BOOTP server.
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 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 requests are transmitted by the CobraNet interface on a randomized schedule as
recommended in the RFCs. Requests are sent out 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:
• The 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.
• The device must be attached to a switched network. In order to avoid producing
unregulated traffic, BOOTP requests are not transmitted 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. It is not necessary for a response to be
paired with a specific request to be considered valid.
3.5RARP (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 (Layer 2) 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.
CobraNet Programmer’s Reference
Network Stack
RARP is the means used by the CobraNet Discovery application (Disco) and CNDisco
object for IP address assignment.
3.6ICMP (partial support)
Internet control message protocol (ICMP) is an administrative protocol defined in RFC
972.
CobraNet devices which have been assigned an IP address will respond to ICMP echo
(commonly referred to as ‘ping’) requests. No other ICMP support is implemented in the
CobraNet network stack.
3.7ARP
Address resolution protocol (ARP) is used by the IP protocol to translate IP addresses to
MAC addresses according to RFC 826.
A host seeking a MAC address associated with an 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 interface responds to ARP requests when appropriate. CobraNet will not
generate ARP requests. For this reason the CobraNet can only respond to IP messages
and cannot initiate IP communications.
3.8IP
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 packets and segmentation and
reassembly of packets.
The CobraNet implementation of IP has the following limitations:
• Segmentation and reassembly is not supported. Segmentation is primarily
utilized by stream based TCP 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 IP 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 ARP
requests.
3.9UDP
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.
3.10 TFTP
3.11 SNMP
Trivial file transfer protocol (TFTP) is defined in RFC 783. TFTP supports file read and
write via a UDP/IP transport. The CobraNet implementation of TFTP supports only binary
reads and writes to a specific set of files. This is the mechanism used to update firmware
in a CobraNet interface. The TFTP file names correspond to the different sectors of the
FLASH memory and can differ in name and size for different revisions of CobraNet
interface hardware.
Firmware update is a complex process best accomplished by use of an encapsulated
software module, such as the PACNFirm object library, or by use of the CobraNet
Discovery program which are aware of the data structures and protocol utilized.
Version 1 of the simple network management protocol (SNMP) is defined in RFC 1157.
The CobraNet SNMP interface is version 1 compliant.
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 to its own MIB for CobraNet-specific objects.
The CobraNet MIB file is available for public download in order to facilitate full use of the
CobraNet SNMP interface via SNMPv1 compliant applications.
NOTES: 1. Do not alter audioMap, use txSubMap and rxSubMap to control routing to/from Bundles and SSI.
2. The number of transmitters and receivers may vary depending on the implementation.
Figure 6. CobraNet Interface Audio Model
4.1Audio Routing Channels
There are 65 audio routing channels within a CobraNet interface numbered from 0 to 64.
Channels 1 through 32 are used to route audio from the Synchronous Serial Interface
(SSI) to the network transmitters. Channels 33 through 64 are used to route audio from
the network receivers to the SSI outputs. Routing channel 0 is a special logical channel
used to supply silence to a transmitted channel or serve as a “bit bucket” when receiving
from the network.
Audio arrives and leaves the interface through the SSI receivers and transmitters. As
each sample arrives it is buffered. 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 devices, the audioMap variables allow a mapping from
audio I/O buffer offsets to routing channel numbers. This mapping is preset by the
manufacturer and should never need to be altered.
4.2Bundle Transmitters
A Transmitter is a logical entity within the CobraNet interface capable of transmitting one
bundle of up to 8 audio channels. Input audio routing channels (0, 1 through 32) are
mapped into Bundles associated with a particular transmitter via the txSubMap variables
associated with that transmitter. There are 8 txSubmap variables associated with each
transmitter, each of which can be set to a particular routing channel number. The first
txSubMap variable sets the routing channel that will be transmitted in the first audio
channel in the bundle. The second txSubmap variable selects the source for the second
audio channel to be transmitted in the bundle...and so on.
Audio resolution (sample size) and sample rate (48 kHz or 96 kHz) are determined by
other transmitter parameters discussed in this document.
4.3Bundle Receivers
A Receiver is a logical entity within the CobraNet interface capable of receiving one
bundle of up to 8 audio channels. Output audio routing channels (0, 33 through 64) are
mapped from the receiver via the rxSubMap variables. There are 8 rxSubMap variables
associated with each receiver, each of which can be set to a particular routing channel
number. The first rxSubMap variable selects the routing channel that will receive the first
audio channel in the bundle. The second rxSubMap variable specifies mapping the
second audio channel in the bundle...and so on.
4.4Loopback
The loopback object provides a means for the interface to transfer audio channels
internally. Loopback overcomes the limitation that a device cannot receive its own
transmission and also allows the audio I/O system to be tested locally.
The audioLoopSource and audioLoopDest variables control this feature.
4.5Output Channel Duplication
The audio routing channel mapping facilities allow a single routing channel to be mapped
to any number of audio channels in any number of network transmitters (Bundles). It is,
however, not possible to direct an audio channel in a network receiver to multiple audio
routing channels for output through multiple SSI channels or ports.
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. See Section 6.4.10 "Audio" on page 92 for
more information.
4.6Meters
Metering is provided for all 64 audio routing channels. The first 32 meters can be mapped
to the 32 input routing channels. The second 32 meters are used to meter the output
routing channels. Mapping is controlled by the audioMeterMap variable
Metering is disabled by default to conserve processing cycles. Meters are peak detecting
with simple first-order decay ballistics. Ballistics are comprised of an instantaneous attack
and exponential decay time programmable via audioMeterDecay variable. Ballistics are
adjusted globally for all meters. All level measurements are peak level (as opposed to
RMS, for instance). Level is indicated in 24-or 32-bit positive signed values. A cumulative
peak hold element on each meter allows accurate detection of any clipping condition. See
Section 6.4.10 "Audio" on page 92 for more information.
4.7Low-latency Audio Support
CobraNet Programmer’s Reference
Audio Paths
.
Low-latency modes are supported on CobraNet interfaces without need for hardware
changes to the CobraNet interface or CobraNet Device. The default mode of operation is
5-1/3 mS latency at 48 kHz sample rate.
Running in low-latency mode requires more processing power, implying a trade-off
between the number of channels supported and reduction of latency. Some referencedesign-based products need to operate at reduced channel count to support lower
latency. Depending on selected sample size, sample rate, and latency, newer CobraNet
interfaces may be subject to some limitation in channel capacity, number of transmitters
and receivers, and multiple unicast transmission count.
The following table shows CM-1 channel capacity for several latency and sample rate
operating modes. Eight-channel bundles with 20-bit resolution, unicast to a single
destination or multicast is assumed.
Low-latency modes also place additional demands on network performance. Specifically,
in order to achieve the desired latency, forwarding delay across the network needs to be
reduced by approximately the same factor that audio latency is reduced. These
requirements bring into play new network design rules.
Lower latency is achieved by transmitting smaller audio packets at a higher rate. A
restriction on the number of audio channels allowed in a bundle is due to a restriction on
the maximum size of an Ethernet packet. Therefore Lower-latency modes have relaxed
restrictions in this area. Audio channel count restrictions are summarized below.
Table 5. Bundle Capacity Limits as a Function of Ethernet Packet Size
Bundle capacity or maximum channel count may be limited in some cases by both the
allowable Ethernet packet size and by the processor bandwidth required to handle lower
latency and/or higher sample rate modes. Limitations imposed by packet size are
illustrated in Ta bl e 5 . Limitations imposed by additional bandwidth requirements are
discussed in the Hardware Reference Manual applicable to the particular CobraNet
Interface.
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.
Table 6. txSubFormat and rxSubFormat1 Values
txSubFormat ValueResolution 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
0x144000 16 bit 96 kHz 2-2/3 ms
0x154000 20 bit 96 kHz 2-2/3 ms
2
0x164000 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
0x142000 16 bit 96 kHz 1-1/3 ms
0x152000 20 bit 96 kHz 1-1/3 ms
0x162000 24 bit 96 kHz 1-1/3 ms
1
rxSubFormat is a read only variable indicating the format of the audio data being
received and decoded. It will have the same value as txSubFormat with the exception of
the least-significant bit. i.e. 16-bit, 48 kHz sample rate, 5 1/3-mS latency = 0x44001 when
the data is being successfully decoded.
2
modeRateControl must also be set to the correct value necessary to support the mode
selected by txSubFormat.
4.896 kHz Sample Rate Support
A CobraNet interface may operate at either 48 kHz or 96 kHz but not both rates
simultaneously. A device operating at 48 kHz cannot receive audio from a device
operating at 96 kHz and vice versa. However, CobraNet interfaces operating at 96 kHz
and 48 kHz audio may co-exist on the same network.
CS4961xx, CS1810xx, CM-2, and CM-1 based interfaces are required for 96 kHz sample
rate operation. No hardware changes are required to support the increased sample rate
on these platforms. 96 kHz is not supported in the legacy CobraNet Reference Design.
Sample rate is selected by the modeRateControl variable. modeRateControl selects both
sample rate and audio latency. 96 kHz sample rate and low-latency modes can be used
together.
rxSubFormat indicates the type and status of audio date being received. The LS bit of this
variable indicates whether data in the sub channel is being decoded. A value of 0
indicates inability of the interface to decode the received data. An interface operating at
48 kHz cannot decode 96 kHz audio. An interface operating at 96 kHz cannot decode
48 kHz audio.
Processing 96 kHz audio requires twice the bandwidth. At 5-1/3 ms latency, all of the data
is transmitted in one packet and thus the number of channels that can be transferred per
bundle may be reduced. Lower latency modes can support more channels at 96 kHz, as
the data is distributed across 4 packets at 1-1/3 mS and 2 packets at 2-2/3 ms latency.
See Table 5., "Bundle Capacity Limits as a Function of Ethernet Packet Size" for more
detail on this topic.
When operating in 96 kHz mode, the Master Clock remains at the standard 24.576 MHz.
However, in 96 kHz mode, the Sample Clock Output (FS1) will change to support a
96 kHz signal. If a sample clock cascade and/or reference clock input is supplied, this
signal may be either 48 kHz or 96 kHz in 96 kHz mode but must be 48 kHz in 48 kHz
mode.
Table 7. Bit Clock Rates
Synchronous Serial Port Operating Mode48 kHz SCK Rate96 kHz SCK Rate
64Fs (2 channels x 4 interfaces) 3.072 MHz6.144 MHz
128Fs (4 channels x 4 interfaces) 6.144 MHz12.288 MHz
256Fs (8 channels x 4 interfaces) 12.288 MHz24.576 MHz
The Management Interface (MI) is the means by which the CobraNet interface is
controlled and monitored. Integral to the management interface are the MI variables. The
MI variables are read and written via the Host Management Interface (HMI) or remotely
over the audio network via SNMP. Both methods operate on the same common set of MI
variables. The CobraNet device is configured in real time as the variables are changed.
Variables may have read-only, read/write, or read/write-persistent attributes. All variables
are given an initial value at startup. The value of all variables can be read. Read/write and
Read/write-persistent variable types can be both read and written. The value of persistent
variables is saved in flash memory and the variable is restored at startup to the last value
written. See Section 5.2 "Persistence" on page 26 for more detail on persistent variables.
All MI variables are documented in the Section 6. "Management Interface Variable
Reference" on page 28.
MI variables fall into three classes. CobraNet-specific variables allow for configuration and
monitoring of CobraNet functionality such as 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 protocols. A third class of
product-specific variables may exist 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.
CobraNet Programmer’s Reference
Management Interface
5.1Flash
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 provides
functionality for the HMI similar to that which TFTP provides via the network.
The mechanism cannot allow direct access to the flash memory. Instead a request to read
or write flash is performed by supplying the flash address (flashTAddress), byte length
(flashTLength), transfer direction (flashTDirection), and data (bridgeTxPktBuffer). The
request is then initiated by writing to flashTRequest.
The flash memory is a byte-wide device. On 24-bit CobraNet platforms, the transmit buffer
is comprised of 3-byte words. The mapping between the byte-wide flash data and the
wider buffer memory is as follows.
On 32-bit CobraNet platforms, the transmit buffer is comprised of 4-byte words. The
mapping between the byte-wide flash data and the wider buffer memory is as follows.
Table 9. Flash Layout, 32-bit Platforms
MSMHMLLS
5.2Persistence
The persistence feature causes values written to Read/write-persistent type variables to
be written to flash and for these stored values to be restored during startup. With the
persistence feature disabled, Read/write and Read/write-persistent variables behave
identically. Persistence is enabled by setting the flashPersistEnable variable.
With persistence enabled, values written to Read/write-persistent variables are written to
flash by a background task according to a schedule designed to prevent excessive write
cycles on the memory and to avoid interference with other critical functions. In extreme
cases it can take up to 1 minute to store changed values. However, the persistence
feature is implemented such that it is safe to remove power at any time with the caveat
that the values recalled may not include changes made immediately prior to removal of
power. Variable values will never become corrupted due to unexpected loss of power or
network connection.
flashPersistAck can be used to ensure that variables have been stored to non-volatile
memory prior to removal of power.
First Word
Second Word
Byte 4Byte 3Byte 2Byte 1
Byte 8Byte 7Byte 6Byte 5
5.3Watch Dog
The watch dog is a digital signal from the CobraNet interface provided to allow fault
detection. The watch dog signal is toggled periodically by firmware to indicate normal
operation. The toggle rate may drop to as low as 5 Hz on occasion, depending on
processor load. Actual minimum, maximum, and nominal toggle rates can be found in the
Hardware Reference Manual applicable to the particular CobraNet interface.The watch
dog signal will stop toggling following detection and reporting of a fatal error condition.
The interface should be reset and re-initialized when absence of the watchdog signal is
detected.
Use of the watchdog requires external hardware and/or software. A hardware solution
may 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 I/O port,
timer, or interrupt on the host processor and then wiring the CobraNet reset signal to a
general purpose output. Software on the host processor would monitor the interval
between watch dog transitions and assert the reset signal if the interval exceeds the
maximum period.
Implementation of the watch dog feature is not mandatory but is recommended. ESD,
EMI, and power fluctuation events are not uncommon in audio installations and the ability
to survive and recover from such conditions is a prerequisite for passing many electrical
certification programs.
CobraNet’s SNMP agent feature allows the CobraNet interface to be monitored and
configured over the Ethernet network by an SNMP manager (or managers). An
enhancement of this capability is the SNMP extension agent which allows these
monitoring and control capabilities to be extended to product-specific features and
functionality.
SNMP extensions require use of a host processor attached to the CobraNet interface.
The extension agent appears to the processor 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 can then be used to read these
values at any time. Extension values can also be written via SNMP and monitored by the
host processor in order to provide a control path to the host processor via SNMP.
Extensions implemented along with the appropriate hardware and host software can be
used to control and monitor many useful functions. For example, extension variables can
be used to remotely monitor metrics such as gain, clipping and temperature. They can
also be used to control functions such as gain, noise gates, and compression. 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.
CobraNet Programmer’s Reference
Management Interface
By using the extension agent, the entire product may be made SNMP manageable
without need for the host processor to be burdened with the complexity of running a
network stack and SNMP agent.
CobraNet interfaces are configured and monitored by reading and writing Management
Interface variables. MI variables may be accessed directly via a processor attached to the
Host Management Interface or via the network using SNMP. The method of using the HMI
is similar for all CobraNet interfaces but may require specific semantics and may have
different word sizes depending on the actual implementation. The HMI interface is
described in more detail in the Hardware Reference Manual applicable to the particular
CobraNet Interface. Following are detailed descriptions of the size, contents, and effects
of the MI variables as well as their HMI addresses and SNMP Object Identifier numbers.
All MI variables can be accessed via the HMI but some variable properties render them
inappropriate for accessing via SNMP. These exceptions are noted in the variable
descriptions where applicable.
6.1Legend
Name - Name of variable as seen in CobraNet MIB and cobrami.h header file.
Description - Description of the variable including allowed values and usage discussion.
Host Address - HMI addresses are used to access variables via the host port. HMI
addresses have a 24-bit range on both 24- and 32-bit platforms.
SNMP Object ID (OID)- The Object Identifier is the numeric name assigned to a variable
according to the SNMP protocol.
Size - Size is indicated for varying-length data types such as DisplayString and OID. Size
is not indicated for fixed types whose size is implied by their data type. Note that for fixed
types, the word size may differ depending on the processor type.
Count - Number of entries for array or buffer-type variables. Absence of a Count
specification implies a single instance variable, and thus a Count of 1.
Type - Data type of the variable. The options and format of data types are described
below in detail.
Attributes - Read-only variables can only be read and can not be modified. Read/Write
variables can be read and written. Read/Write - Persistent variables can be read and
written. If the persistence feature is enabled, values of these variables will automatically
be written to flash for recall at startup.
Default - Value assigned to the variable at startup when persistence is disabled. The
values of some Read-only variables reflect system conditions and thus may not have a
default value.
Version - Firmware version in which the variable was first introduced. Unless otherwise
noted in this field, one can assume variables will be available in the version indicated and
all subsequent versions.
A DisplayString is an ASCII string comprised entirely of printable characters.
24-bit HMI: The first word indicates the length of the string in characters. Data is stored
three characters per 24-bit word. Character order is MS, Middle, LS. For DisplayString
variables, documented Size indicates the largest possible word size of the variable. Size
includes the length field. The maximum allowable characters for a DisplayString variable
is (Size-1)×3.
32-bit HMI: The first word indicates the length of the string in characters. Data is stored
four characters per 32-bit word. Character order is MS, MH, ML, LS. For DisplayString
variables, documented Size indicates the largest possible word size of the variable. Size
includes the length field. The maximum allowable characters for a DisplayString variable
is (Size-1)×4.
6.2.2 OID
An SNMP object identifier is the numeric name of an SNMP variable. OIDs are also used
for other purposes including system-unique identifiers.
CobraNet Programmer’s Reference
Management Interface Variable Reference
24-bit 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. For OID variables documented Size indicates the largest
possible word size for the variable. Size includes the length field. The maximum number
of octets for the OID variable encoding is (Size-1)×3.
32-bit HMI: OIDs are presented in their native BER encoding. The first word indicates the
length of the encoding in bytes. Data is stored four octets per 32-bit word. Character order
is MS, MH, ML, LS. For OID variables documented Size indicates the largest possible
word size for the variable. Size includes the length field. The maximum number of octets
for the OID variable encoding is (Size-1)×4.
6.2.3 IpAddress
An IpAddress is a 32-bit internet protocol (IP) address.
24-bit HMI: Data is stored in the most-significant 16 bits of 2 consecutive 24-bit words as
shown in Ta bl e 10 . The least-significant 8 bits of each location are read as zero and must
be written as zero.
Word 1
Table 10. IP address Layout, 24-bit Platforms
MSMiddleLS
IP address byte 2IP address byte 10
Word 2
IP address byte 4IP address byte 30
32-bit HMI: Data is stored in a single 32-bit word as illustrated below.
A 48-bit Ethernet media access control (MAC) address.
24-bit 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 zero
and must be written as zero.
Table 12. MAC address Layout, 24-bit Platforms
MSMiddleLS
32-bit HMI: Data is stored in two consecutive words as shown below. A third word is
unused and reserved for addressing compatibility with 24-bit platforms.
6.2.5 TimeTicks
TimeTicks is an integer encoding for time durations in units of 100ths of a second.
24-bit HMI: An unsigned timer value is available in two successive 24-bit words. A 32-bit
timer value and 15-bit fractional extension are available as shown below. The fractional
extension may be used to gain additional accuracy. It may be safely ignored for most
applications.
Word 1
Word 2
Word 3
Word 1
Word 2
Word 3
MAC byte 2MAC byte 10
MAC byte 4MAC byte 30
MAC byte 6MAC byte 50
Table 13. MAC address Layout, 32-bit Platforms
MSMHMLLS
MAC byte 2MAC byte 1MAC byte 4MAC byte 3
MAC byte 6MAC byte 5unusedunused
unusedunusedunusedunused
Table 14. TimeTicks Layout, 24-bit Platforms
MSMiddleLS
Word 1
Word 2
Timer MSTimer MHTimer ML
Timer LSFractional LSFractional MS
32-bit HMI:TimeTicks value is available as two sucessive 32-bit words. A 32-bit timer
value, a 16-bit rollover, and 16-bit fractional extension are availabe as shown below. The
fractional extension may be used to gain additional accuracy. The rollover extension may
be used to extend the useful range of the timer. Both may be safely ignored for most
applications.
Table 15. TimeTicks Layout, 32-bit Platforms
MSMHMLLS
SNMP:TimeTicks is reported as a 32-bit integer in units of 100ths of a second. For
example, a reported value of 1000 indicates a 10-second timer reading. As seen through
SNMP, TimeTicks variables roll over after 2
- over one year).
6.2.6 Counter
Counters are never writable and cannot be reset. They indicate the count value since the
interface was last restarted (sysUpTime = 0). Counters roll over to zero after reaching
their maximum value of 2
32-bit platforms.
24-bit HMI: Counter value is represented as a single 24-bit word.
32-bit HMI: Counter value is represented as a single 32-bit word.
6.2.7 Counter2
Counter2 is specific to 24-bit platforms and is a 48-bit unsigned event counter. Counter2
rolls over after 2
identical to the Counter type.
Word 1
Word 2
Rollover MSRollover LSTimer MSTimer MH
Timer MLTimer LSFractional LSFractional MS
32
100ths of a second (42,949,672.96 seconds
24
(16,777,216) on 24-bit platforms and 232 (4,294,967,296) on
48
counts. Counters are never writable. On 32-bit platforms Counter2 is
6.2.8 Integer
24-bit HMI: The counter value is stored in two successive memory locations. The mostsignificant 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 has not
changed during the LS read (if so, start over).
32-bit HMI: Counter value is represented in the same single 32-bit word used for the
Counter type.
SNMP: Only the least-significant 32-bits of the counter value are reported. The counter
32
appears to wrap at 2
and conforms to the expected behavior for the standard SNMP
Counter data type.
A single-precision, signed integer. Valid range is -223 (-8,388,608) to 223-1 (8,388,607) on
31
24-bit platforms and -2
(-2,147,483,648) to 231-1 (2,147,483,647) on 32-bit platforms.
HMI: Signed data is represented in a single word in 2's complement form.
SNMP: On 24-bit platforms, Bad Value error may be reported if the value magnitude
exceeds the 24-bit signed integer range on a set operation.
A signed, 16-bit integer. Valid range is -215 (-32,768) to 215-1 (32,767).
24-bit HMI: Signed data is represented in 2's complement form. The most significant 16
bits of the 24-bit host data contain the significant bits. The LS 8 bits are read as zero and
must be written as zero.
32-bit HMI: Same as 32-bit Integer type with useful values less than 2
SNMP: Bad Value may be reported if value magnitude exceeds 2
6.2.10 Integer48
Integer48 is specific to 24-bit platforms. This type is a signed, 48-bit integer. On 32-bit
platforms Integer48 is identical to the Integer type.
24-bit HMI: Data is stored in 2 consecutive memory locations. The most significant word
appears first. Signed data is represented in 2's complement form.
32-bit HMI: Signed data is represented as the single word in 2's complement form used
for the Integer type.
SNMP: Only the least-significant 32-bits of the value is reported.
These variables are common to all SNMP implementations. This common set of
management variables is defined in the Internet Engineering Task Force (IETF) standards
document RFC 1213.
6.3.1 System
CobraNet Programmer’s Reference
Management Interface Variable Reference
Name
Description
Host Address
SNMP Object ID
sysDescr
Describes type of interface as ASCII text.
Format for 24-bit platforms:
<product specific description> CobraNet version <protocol version>.<major version>.<minor
version>[.<manufacturer version>] <hardware platform> rev <hardware rev>
where <hardware platform> is {Referlo, Referhi, CM-1(a), CM-1(m), CS18100, CS18101,
CS18102, CS18110, CS18111, CS18112}
Format for 32-bit platforms:
<product specific description> CobraNet version <protocol version>.<major version>.<minor
version>[.<manufacturer version>] <hardware platform><hardware rev>
where <hardware platform> is {Referlo, Referhi, CM-1(a), CM-1(m), CS18100, CS18101, CS18102, CS18110, CS18111, CS18112} and <hardware rev> is the single digit revision
number that is part of the Cirrus part number. Example: Cirrus Logic EV-2/CM-2 (CM18101)
CobraNet version 2.10.4 CS181012
Format for RAVE platforms:
<product specific description> CobraNet version <protocol version>.<major version>.<minor
version>[.<manufacturer version>]
NOTE: [.<manufacturer version>] is an additional manufacturer-specific string that can be optionally
added to the firmware by Cirrus Logic for 24-bit platforms or added by the OEM using the
CNCustom program for 32-bit platforms.
Eaxmple for CS18101: Cirrus Logic EV-2/CM-2 (CM18101) CobraNet version 2.10.5 CS181012
0x100000
1.3.6.1.2.1.1.1
Size
Type
Attributes
Default Value
Implemented Version
84 characters (28 * 3 bytes) for 24-bit platforms. Length was 21 words in 2.9.10. It is now 27 words.
84 characters (21 * 4 bytes) for CS4961xx- and CS1810xx-based platforms.
DisplayString
Read-only
“[manufacturer name] [product name] CobraNet firmware [protocol version].[major version].[minor
version].[manufacturer's version (optional, see note above)]”
The vendor's authoritative identification of the network management subsystem contained in the
entity. This value is allocated within the SMI enterprise sub-tree (1.3.6.1.4.1) and provides an easy
and unambiguous means for determining `what kind of box' is being managed. For example, if
vendor `Cirrus Logic' was assigned the sub-tree 1.3.6.1.4.1.2680, the identifier `CM-2' could be
assigned to 1.3.6.1.4.1.2680.1.2.1.1
A value which indicates the set of services supported by this entity. The value is a sum. This sum
initially takes the value zero, For each layer, L, in the range 1 through 7, that this node performs
transactions for, 2 raised to (L - 1) is added. For example, a node which performs primarily routing
functions would have a value of 4 which is equal to (2^(3-1)). A node which is a host offering
application services would have a value of 72 or (2^(4-1) + 2^(7-1)). In the context of the Internet
suite of protocols, the following service layers are commonly supported: 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.
The number of network interfaces (regardless of their current state) present on this system.
0x110000
1.3.6.1.2.1.2.1
Integer
Read-only
1
2.1.0
ifDescr
A 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.
0x110001
1.3.6.1.2.1.2.2.1.2
Up to 60 characters.
DisplayString
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Read-only
“CobraNet”
2.1.0
ifType
The type of interface, distinguished according to the physical/link protocol(s) immediately `below'
the network layer in the protocol stack. Reference RFC 1213 for all type identifiers
The size of the largest datagram or ‘packet’ that can be sent/received by the interface, specified in
octets. For interfaces that are used for transmitting network datagrams, this is the size of the largest
network datagram that can be sent on the interface.
0x11000B
1.3.6.1.2.1.2.2.1.4
Integer
Read-only
1500
2.1.0
ifSpeed
An estimate of the interface's current bandwidth in bits per second or Mbits per second (see Notes
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.
0x11000C
1.3.6.1.2.1.2.2.1.5
Type
Attributes
Default Value
Implemented Version
Notes
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Gauge32
Read-only
100
2.1.0, corrected is 2.6.5 (see Notes below)
Prior to CobraNet firmware version 2.6.5, ifSpeed was incorrectly reported via SNNP in Mbit/second
units (100Mbit interface 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 on 24-bit platforms. ifSpeed is reported consistently in bits per second units on 32-bit
platforms.
ifPhysAddress
The interface's address at the protocol layer immediately `below' the network layer in the protocol
stack.
The desired state of the interface. The testing(3) state indicates that no operational packets can be
passed
up(1) -- ready to pass packets
down(0)
0x111000
1.3.6.1.2.1.2.2.1.7
Integer
Read/Write
1
2.1.0
ifOperStatus
The current operational state of the interface. The testing(3) state indicates that no operational
packets can be passed.
up(1) - ready to pass packets
down(0)
0x112000
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
1.3.6.1.2.1.2.2.1.8
Integer
Read-only
1
2.1.0
ifLastChange
The value of sysUpTime at the time the interface entered its current operational state. If the current
state was entered prior to the last re- initialization of the local network management subsystem,
then this object contains a zero value.
The number of inbound packets which were chosen to be discarded even though no errors had
been detected to prevent their delivery to a higher-layer protocol. One possible reason for discarding
such a packet could be lack of buffer space.
0x11201A
1.3.6.1.2.1.2.2.1.13
Counter
Read-only
0
2.1.0
ifInErrors
The number of inbound packets that contained errors preventing delivery to a higher-layer protocol.
0x11201B
1.3.6.1.2.1.2.2.1.14
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Counter
Read-only
0
2.1.0
ifInUnknownProtos
The number of packets received which were discarded due to an unknown or unsupported protocol.
The total number of octets transmitted by the interface, including framing characters.
0x11201D - 0x11201E
1.3.6.1.2.1.2.2.1.16
Counter48
Read-only
0
2.1.0
ifOutUcastPkts
The total number of packets that higher-level protocols requested be transmitted to a subnetworkunicast address, including those that were discarded or not sent.
0x11201F
1.3.6.1.2.1.2.2.1.17
Counter
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Read-only
0
2.1.0
ifOutNUcastPkts
The total number of packets that higher-level protocols requested be transmitted to a non- unicast
(i.e., a subnetwork-broadcast or subnetwork-multicast) address, including those that were discarded
or not sent.
The number of outbound packets which were chosen to be discarded even though no errors had
been detected to prevent their transmission. One possible reason for discarding such a packet could
be to free up buffer space.
0x112021
1.3.6.1.2.1.2.2.1.19
Counter
Read-only
0
2.1.0
ifOutErrors
The number of outbound packets that could not be transmitted due to errors.
0x112022
1.3.6.1.2.1.2.2.1.20
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Counter
Read-only
0
2.1.0
ifOutQLen
The length of the output packet queue (in packets)
A reference to MIB definitions specific to the particular media being used to implement the interface.
For example, if the interface is implemented by Ethernet, then the value of this object refers to a
document 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.
The Address Translations are deprecated. These variables are no longer available via
SNMP.
CobraNet Programmer’s Reference
Management Interface Variable Reference
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
atIfIndex
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.
0x120000
Not available via SNMP
Integer
Read-only
1
2.1.0
atPhysAddress
MAC address of the device. Use of ifPhysAddress is preferred for determining the MAC address.
0x120001
Not available via SNMP
PhysAddress
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Read-only
As assigned by manufacturer
2.1.0
atNetAddress
IP address of the device. Obtaining the IP address via SNMP should not be a necessary operation 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.
0x120004
Not available via SNMP
IpAddress
Read-only
As assigned by RARP, BOOTP or IP monitor variables.
The indication of whether this entity is acting as an IP gateway to forward of datagrams received by,
but not addressed to, this entity. IP gateways forward datagrams. IP hosts do not (except those
source-routed via the host).
0x130000
1.3.6.1.2.1.4.1
Integer
Read/Write
Always reads 2
2.6.0
ipDefaultTTL
The default value inserted into the Time-To-Live field of the IP header of datagrams originated at
this entity when a TTL value is not supplied by the transport layer protocol.
0x130001
1.3.6.1.2.1.4.2
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Integer
Read/Write
128
2.6.0
ipInReceives
The total number of input datagrams received, including those received in error.
The number of input datagrams discarded due to errors in their IP headers, including bad
checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered
in processing their IP options, etc.
0x131001
1.3.6.1.2.1.4.4
Counter
Read-only
0
2.6.0
ipInAddrErrors
The number of input datagrams discarded because the IP address in the IP header's destination
field was not a valid address to be received at this entity. This count includes invalid addresses (e.g.,
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.
0x131002
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
1.3.6.1.2.1.4.5
Counter
Read-only
0
2.6.0
ipForwDatagrams
The number of input datagrams for which this entity was not the final IP destination, as a result of
which an attempt was made to find a route to forward them to the 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.
The number of locally-addressed datagrams received successfully but discarded because of an
unknown or unsupported protocol.
0x131003
1.3.6.1.2.1.4.7
Counter
Read-only
0
2.6.0
ipInDiscards
The number of IP datagrams received successfully but which were discarded (e.g., for lack of buffer
space). Note that this counter does not include datagrams discarded while awaiting re-assembly.
0x131004
1.3.6.1.2.1.4.8
Counter
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Read-only
0
2.6.0
ipInDelivers
The total number of input datagrams successfully delivered to IP user-protocols (including ICMP)
The total number of IP datagrams which local IP user-protocols (including ICMP) supplied to IP in
requests for transmission. Note that this does not include datagrams counted in ipForwDatagrams.
0x131006
1.3.6.1.2.1.4.10
Counter
Read-only
0
2.6.0
ipOutDiscards
The number of IP datagrams for which no problem existed to prevent their transmission, 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.
Not available
1.3.6.1.2.1.4.11
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Counter
Read-only
0
2.6.0
ipOutNoRoutes
The number of IP datagrams discarded because no route could be found to transmit them to their
destination. Note that this counter includes packets counted in ipForwDatagrams which meet this
`no-route' criterion. This includes any datagrams which cannot route because all of its default
gateways are down.
The number of failures detected by the IP re- assembly algorithm (for whatever reason: timed out,
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. This value will always increment on receipt of a fragmented
packet as CobraNet does not support packet re-assembly
0x131007 (same as ipReasmReqds)
1.3.6.1.2.1.4.16
Counter
Read-only
0
2.6.0
ipFragOKs
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.
Not available
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
1.3.6.1.2.1.4.17
Counter
Read-only
0
2.6.0
ipFragFails
The number of IP datagrams that have been discarded because they needed to be fragmented at
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.
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.
Not available
1.3.6.1.2.1.4.19
Counter
Read-only
0
2.6.0
ipRoutingDiscards
The number of routing entries which were chosen to be discarded even though they are valid. One
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.
The total number of UDP datagrams sent from this entity.
0x140003
1.3.6.1.2.1.7.4
Counter
Read-only
0
2.6.0
udpLocalAddress
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.
The total number of valid SNMP PDUs received for which the value of the error-status field was
`readOnly'. Note that it is a protocol error to generate an SNMP PDU which contains the value
`readOnly' in the error-status field. This object is provided as a means of detecting incorrect
implementations of SNMP.
Not available
1.3.6.1.2.1.11.11
Counter
Read-only
Always reads 0
2.6.0
snmpInGenErrs
The total number of SNMP PDUs received for which the value of the error-status field was `genErr'.
Not Available
1.3.6.1.2.1.11.12
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Counter
Read-only
Always reads 0
2.6.0
snmpInTotalReqVars
The total number of MIB objects which have been retrieved successfully as a result of receiving
valid SNMP Get-Request and Get-Next PDUs.
Indicates whether the SNMP agent process is permitted to generate authentication-failure traps.
The value of this object overrides any configuration information. It provides a means to disable all
authentication-failure traps.
0x15000F
1.3.6.1.2.1.11.30
Integer
Read-only
Always reads 2
2.6.0
snmpSilentDrops
The total number of GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs,
SetRequest-PDUs, and InformRequest-PDUs received which were silently 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.
Not available
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
1.3.6.1.2.1.11.31
Counter
Read-only
Always reads 0
2.6.3
snmpProxyDrops
The total number of GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs,
SetRequest-PDUs, and InformRequest-PDUs received 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.
Highest CobraNet protocol version supported by firmware. Current protocol version is 2. A protocol
version of 0 indicates an unsupported test version of firmware.
Configuration record revision number. The configuration record contains the MAC address for the
interface and other permanent initialization parameters.
0x3
1.3.6.1.4.1.2680.1.1.1.4
Integer
Read-only
2.1.0
firmwareMfgId
Identifies the manufacturer of the CobraNet device. 0 represents unknown.
0x4
1.3.6.1.4.1.2680.1.1.1.5
Integer
Read-only
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
2.1.0
firmwareMfgProductId
Identifies product type per manufacturer. Product identifiers are unique per manufacturer identifier. 0
represents unknown product.
A manufacturer assigned minor revision number for firmware. A non-zero value indicates
manufacturer has made some modification to the standard firmware as released by Cirrus Logic.
0x6
1.3.6.1.4.1.2680.1.1.1.7
Integer
Read-only
2.1.0
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. Invoking this feature via HMI will cause the HMI to become inoperable until the
interface has completed re-initialization. A successful restart can be verified by reading the
sysUpTime variable. sysUpTime returns to 0 following a restart.
A restart via SNMP may adversely affect an HMI connected host processor. Care should be taken to
insure that a host processor attempting to communicate via HMI during reset can recover from the
HMI’s failure to respond and, further, that the host processor will continue to function properly
following reinitialization of the MI variables to their default or persistent values.
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
0x100
1.3.6.1.4.1.2680.1.1.1.8
Integer
Read/Write
0
2.6.3. Not implemented on 32-bit platforms.
firmwareFreeCycles
Free CPU cycles in thousandths. For example, 475 means 47.5% of CPU cycles are free, i.e.,
running idle loop.
0x9
1.3.6.1.4.1.2680.1.1.1.11
Integer32 for CS18101-based firmware. Integer24 for Motorola-based firmware.
Read-only
2.9.12 for Motorola-based firmware; 2.10.5 for CS1810xx-based firmware.
Different platforms and hardware version have different channel and processing
capacities. By recognizing the capabilities of the interface, the host may optimize the
configuration to take advantage of the capabilities.
Before the introduction of the variables documented below, the host could use sysDescr,
sysObjectID and firmwareVersion* to determine the capabilities. With the introduction of
the CM-1 rev F, these variables no longer fully characterize the interface. CM-1 rev F
features a memory speed increase and thus a capacity improvement over CM-1 rev E
and previous revisions.
Largest flash sector size in bytes. Sector size is visible via TFTP where each sector is presented as
a system file. Some flash memories have sectors that vary in size and 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.
0x1001
1.3.6.1.4.1.2680.1.1.2.2
Integer
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
Read-only
2.1.0
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
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 experienced. Flash memory is typically rated for no less than
100,000 erase cycles.
Indicates the type identifier for the persistent store dataset. If firmware is updated to a version that
uses a different dataset type (or different size), persistent settings will be lost.
0x1003
1.3.6.1.4.1.2680.1.1.2.4
Integer
Read-only
2.8.1
flashPersistSize
Size in words of the persistent store dataset. If firmware is updated to a version that uses a different
dataset size (or different type), persistent settings will be lost.
0x1004
1.3.6.1.4.1.2680.1.1.2.5
Integer
Read-only
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
2.8.1
flashPersistStores
The number of times variables have been written to flash during sysUpTime. Use of flashPersistAck
is preferred to determine completion of a persistent save operation.
A semaphore variable updated to the value of flashTRequest on completion of a flash write.
0x1006
Not available via SNMP
Integer
Read-only
2.8.6
flashPersistEnable
Non-zero value enables variable persistence feature. Read/write - Persistent type variables will be
automatically written to non-volatile memory when changed. Values will be restored on power-up.
0x1100
1.3.6.1.4.1.2680.1.1.2.7
Integer
Read/write - Persistent
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
0
2.8.1
flashPersistAck
Forces a write of variables to non-volatile memory when set to a non-zero value. Value returns to
zero when write has completed. This value will not change if persistence is disabled. This feature is
recommended for use during factory configuration where writing and confirmation of success must
be done in a timely manner. In normal use it is best to let the interface schedule writes to nonvolatile memory. Over-use of this feature can result in excessive wear on the flash device.
When changed, causes data transfer to begin between flash memory and bridgeTxPktBuffer.
Transfer begins when set to a value different than flashTAcknowledge.
0x1201
Not available via SNMP
Integer
Read/Write
2.8.6
flashTAddress
Specifies the source (read) or destination (write) address in flash memory. This address is a byte
offset into flash memory. For an erase operations this variable can be set to any address within the
sector to be erased. Following read and write operations flashTAddress is incremented by flashTLength (flashTAddress += flashTLength)
0x1202
Not available via SNMP
Integer
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object Identifier
Type
Attributes
Implemented Version
Read/Write
2.8.6
flashTLength
Specifies the number of bytes to be transferred between flash and transmit buffer. This value should
never exceed the byte size of bridgeTxPktBuffer. A flash operation is not allowed to straddle a sector
boundary. This variable is ignored for erase operations.
Power on self-test results. 0 - no errors detected. Currently the CobraNet interface does not recover
from a POST failure. This variable will always report 0. A POST failure is reported by the indicator
LED’s. A self-reset will be attempted following the error report.
0x2000
1.3.6.1.4.1.2680.1.1.3.1
Integer
Read-only
0
2.1.0
errorIndicators
This value is a sum of exclusive binary values which can be OR’d to represent multiple errors.
0x01 - Fault
0x04 - Receive error
0x08 - 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
SNMP Object ID
Type
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
0x2001
1.3.6.1.4.1.2680.1.1.3.2
Integer
Read-only
2.1.0
errorCode
Last error code reported. On 24-bit platforms, error code is a byte in MS byte position of this
variable. On 32-bit platforms, error code is a byte in LS byte position of this variable. Some values
are warnings and will not affect errorIndicators. See error table.
Note: this variable has also been referred to as errorLast in older documentation and MIB files.
Number of errors reported during sysUpTime. Some errors are warnings and do not affect
errorIndicators.
0x2003
1.3.6.1.4.1.2680.1.1.3.4
Counter
Read-only
0
2.1.0
errorDisplay
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.
0x2004
1.3.6.1.4.1.2680.1.1.3.5
Integer
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
Read-only
0
2.1.0
modeRateStatus
Indicates the latency and sample rate operating mode currently in effect for the interface.
modeRateStatus and modeRateControl will differ if an unsupported mode value is written to
modeRateControl
These variables determine the values transmitted in the header of the Beat Packet when
the CobraNet interface is acting as the network conductor.
CobraNet Programmer’s Reference
Management Interface Variable Reference
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
conductorCycleRate
Number of isochronous cycles per second as a 16.16 fixed point number. This is a legacy variable.
It always reports default value and should not be changed.
0x10000
1.3.6.1.4.1.2680.1.1.4.1
Integer48
Read/write - Persistent
750
2.2.0
conductorPriority
Specifies the conductor priority for a CobraNet device. The device with the highest priority will
become the conductor for the network. MS byte must be 0.
0 - Never Conduct
0x1 - Lowest conductor priority
0xFF - highest conductor priority
0x10002
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
1.3.6.1.4.1.2680.1.1.4.2
Integer16
Read/write - Persistent
0x20 for reference design, 0x30 for CM-1, CS4961xx, and CS1810xx.
These timing specifications are applicable only to repeater networks and therfore do not apply to
most CobraNet applications. This variable is changed on the active conductor in order to reduce the
probability of collisions. In most cases the default value works well. Useful values other than the
default are dependant on the specific network topology used.
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.
0x10003
1.3.6.1.4.1.2680.1.1.4.3
Integer16
Read/write - Persistent
0x0306
2.2.0
conductorStatus
Conductor status:
0 - This interface is not the conductor
1 - This interface is the conductor
These conductor variables give a description and status of the current conductor of the
CobraNet network.
CobraNet Programmer’s Reference
Management Interface Variable Reference
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
Name
Description
Host Address
condInfoPriority
Conductor priority of the current conductor.
1 - Lowest conductor priority
255 - highest conductor priority
If the priority of the current conductor is adjusted, condInfoPriority will change to reflect this.
Dependent on priority setting of other devices on the network, a change in current conductor priority
does not necessarily induce a change in conductor and condInfoMAC.
0x11001
1.3.6.1.4.1.2680.1.1.4.5
Integer
Read-only
2.9.12 (24-bit platforms only.) Not available on 32-bit patforms.
condInfoMAC
Ethernet MAC address of the current conductor.
condInfoMAC should read 00:00:00:00:00:00 if there is no conductor on the network. There is no
conductor if there is 0 or 1 CobraNet device(s) attached to the network or if all CobraNet devices
have a condPriority setting of 0.
0x11002
SNMP Object ID
Type
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
1.3.6.1.4.1.2680.1.1.4.6
Physical Address
Read-only
2.9.12 (24-bit platforms only.) Not available on 32-bit patforms.
condInfoLastChange
sysUpTime value at time of last change to condInfoMAC.
0x11005
1.3.6.1.4.1.2680.1.1.4.7
Time Ticks
Read-only
2.9.12 (24-bit platforms only.) Not available on 32-bit patforms.
Variable is used in conjunction with bridgeTxDone. If bridgeTxPkt and bridgeTxDone are equal,
then it is permitted to write new packet data to bridgeTxPktBuffer. Setting bridgeTxPkt different than
bridgeTxDone will cause the contents of the packet buffer to be transmitted. Upon transmit
completion, bridgeTxDone will be updated to match bridgeTxPkt.
Packet transmission can also be initiated by issuing a Packet Transmit command via HMI.
0x20000
Not available via SNMP
Integer
Read/Write
0
2.2.0
bridgeRxPkt
This variable is used in conjunction with bridgeRxReady. If values of bridgeRxPkt and bridgeRxReady differ, then bridgeRxPktBuffer contains received data and may be read by the host.
Setting bridgeRxPkt equal to bridgeRxReady will release the buffer to the CobraNet interface so that
the next packet can be received.
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
0x20001
Not available via SNMP
Integer
Read/Write
0
2.2.0
bridgeMMAC
Specifies the source multicast MAC address of packets to be received via the packet bridge. To
receive multicast addressed packets, it is necessary to compute and load a multicast hash filter
table into bridgeHashBuffer.
This variable is used to calculate a hash value based on the address in bridgeMMAC. Writing a
value different than bridgeMMACHashDone to this variable causes the calculation to begin. When
complete, bridgeMMACHashDone will be updated with the value written here and
bridgeMACHashBuf will contain the new hash value. Folding bridgeMACHashBuf resuls into
bridgeHashBuf will then allow receipt of packets from the multicast address specified in
bridgeMMAC.
0x20005
Not available via SNMP
Integer
Read/Write
0
2.2.0
bridgeMMACHashBuffer
This is the calculated hash value for the MAC address entered in bridgeMMAC.
0x20006 - 0x20009
SNMP Object ID
Size
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Size
Type
Attributes
Not available via SNMP
4 words
Octet String
Read/Write
0
2.2.0
bridgeHashBuffer
This is the value loaded to the hash table of the Ethernet controller which determines the range of
multicast addresses the host will receive.
Selects which types of received packets will be passed to the host via the packet bridge. The
following values may be ORed together. See Figure 4 on page 15.
0x1 - bridge unprocessed CobraNet packets
1
0x2
- bridge all CobraNet reservation packets
1
0x8
- bridge all IP packets (IP, ARP and RARP)
0x10 - bridge all packets with unknown protocol identifier
1
Copies of packets are passed to the packet bridge and the originals are still processed by the
CobraNet interface. Care must be taken that redundant replies are not generated.
0x2000E
Not available via SNMP
Integer
Read/Write
1
2.6.9
bridgeTxPktBuffer
Buffer for bridge packet transmission. The first word contains the length of the packet in bytes
exclusive of the length field itself. Ethernet packet data, including complete header and payload,
follows the length. The FCS field is computed and appended by the Ethernet controller and is not
included as part of the packet data or length.
See Section 2.2 "Packet Bridge" on page 13 for more information on the format and use of this
buffer
Refer to bridgeCalcMMACHash documentation. This variable is used in conjunction with
bridgeCalcMMACHash.
0x23002
Not available via SNMP
Integer
Read-only
0
2.2.0
bridgeRxDropped
Counts the number of received packet bridge packets dropped due to the receive buffer being
unavailable. Packets which could be received via the packet bridge will be dropped if the host has
ownership of the receive buffer (bridgeRxPktBuffer).
This variable is used to enable or disable the Serial Communications Interface (a.k.a SCI or Serial
Bridge) and to set the data format for both transmit and receive directions. Format may only be
changed while the SCI is disabled (LS bit = 0). It is recommended to set serialFormat to 0, wait at
least 100ms then set serialFormat to the desired value with the enable bit set. The SCI can take up
to 100ms to recognize a change.This procedure insures that the change is recognized and the port
is properly configured. The following values may be OR’d together:
0x01 - Enable serial bridging. TXD pin is tri-stated when disabled.
0x02 - Use nine-bit data format. The 9th data bit is bridged over the Ethernet along with the
standard 8 data bits. 9 bit format is appropriate for the following standard serial data formats: N,9,1
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. If the 8th or 9th bit is used as a parity bit, it is simply bridged
across the network and must be generated and/or checked by the device connected to the bridge
interface. CS4961xx- and CS1810xx
ignored.
0x04 - 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.
CS4961xx and CS1810xx firmware does not currently support tri-state control format; this bit is
ignored.
0x08 - 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.
0x10 - Accept properly unicast addressed data in addition to data addressed in accordance to
serialRxMAC setting.
0x24000
1.3.6.1.4.1.2680.1.1.10.1.1
-based hardware does not support 9-bit format; this bit is
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Integer
Read/write - Persistent
0
2.4.7. Available via SNMP in 2.6.4. Accept unicast (0x10 bit) implemented in 2.8.8.
serialBaud
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 57,600. CS4961xx- and CS1810xx-based
interfaces will support baud rates up to 115,200
Time in 256ths of a millisecond before a character received at the SCI port is placed in a packet and
transmitted. Shorter periods to achieve lower latency are appropriate for real time connections such
as MIDI. 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 (1-1/3 mS) determines the minimum serialPPeriod. Setting
serialPPeriod below the isochronous cycle rate does not further improve responsiveness. The upper
limit of responsiveness can 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 character buffer can accommodate 100 characters. This allows for
operation at the default 10ms period at a baud rate of 57,600. At this baud rate, larger settings will
result in buffer overflow and loss of data.
0x24002
1.3.6.1.4.1.2680.1.1.10.1.3
Integer
Read/write - Persistent
2560 (10ms)
2.4.7 (available via SNMP in 2.6.4)
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
serialRxMAC
MAC address of the CobraNet Interface from which SCI data will be accepted. This may be any
multicast address though 01:60:2B:FD:00:00 through 01:60:2B:FD:FF:FF have been reserved by
Cirrus Logic for use as "asynchronous global channels." ifPhysAddress is the only usable unicast
address (CobraNet does not support Ethernet promiscuous mode).
Serial bridging bundle priority in MS byte. Higher priority bundles are transmitted earlier in the
isochronous cycle and are thus less susceptible to dropouts in the event network bandwidth is
exhausted. Request priority in LS byte. Contention for transmission on a bundle is resolved via
request priority.
This variable has no effect when serialTxBundle is 0.
The reference design, CM-1,CM-2, CS4961xx, and CS1810xx
isochronous transmission of serial data and ignore settings for serialTXBundle and serialTxPriority.
0x24006
1.3.6.1.4.1.2680.1.1.10.1.5
Integer16
Read/write - Persistent
0x0110
2.4.7 (available via SNMP in 2.6.4)
serialTxBundle
On legacy repeater Ethernet networks and CobraNet interface hardware, serialTXBundle is used to
specify a bundle number for use in transmitting serial data reliably over CobraNet's isochronous
audio transport service. Specifying bundle 0 causes serial data to be delivered normally via the
asynchronous transport. This is the default and recommended setting.
The reference design, CM-1,CM-2, CS4961xx- and CS1810xx
isochronous transmission of serial data and ignore settings for serialTXBundle and serialTxPriority.
-based designs do not support
-based designs do not support
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
0x24007
1.3.6.1.4.1.2680.1.1.10.1.6
Integer16
Read/write - Persistent
0
2.4.7 (available via SNMP in 2.6.4)
serialTxMAC
MAC address of the CobraNet interface to which serial data is sent. May be any multicast or unicast
address.
Enable conditions for asserting HACK. HACK is de-asserted by issuing an Interrupt Acknowledge
HMI command. The following values may be OR’ed together
0x4 - Activate HACK on bridge packet receipt (change in bridgeRxReady).
0x8 - Activate HACK on bridge packet transmission complete (change in bridgeTxDone).
0x10 - Activate HACK on HMI address translation completion (change in hackTranslations).
0x20 - Activate HACK on MI variable change via SNMP (change in miMonSNMPDirty or
hackSNMPModify).
0x40 - Enable HACK Timer.
0x25000
Not available via SNMP
Integer
Read/Write
0
2.10.4 for CS18101-based formware only.
hackTimerInterval
A mask defining which bits of the network time should be locked to generate a HACK timer interrupt.
The hackTimerInterval variable will be limited to powers of 2, in units of isochronous cycle intervals.
The isochronous cycle interval is 1-1/3 ms. The correct mask value will be a power of 2 minus one.
For example, a value of 0xffff will generate an interrupt every 256*1-1/3 = 341.33 ms.
Indicates the source of a HACK assertion requiring acknowledge. The following values may be OR’d
together. Undocumented bits should be ignored:
0x01 - A new receive packet is available in the receive buffer. Host should read packet data from
receive buffer and then acknowledge receipt.
0x02 - No transmission in progress. Host may write transmit packet data into the transmit buffer.
On 32-bit platforms, these bits may also be read in the HMI status register Received packet available and Packet transmission complete.
0x25100
Not available via SNMP
Integer
Read-only
2.8.5
hackTranslations
Incremented when a translate address command completes.
On 32-bit platforms, this information is also available through the Translation Complete bit in the
HMI status register.
Size of readable area in words for the last address traslation. 0 if read permission is denied (invalid
address). This variable is updated upon completion of a translate address operation.
On 32-bit platforms, this information is also available through the Region length field in the status
register.
0x25103
Not available via SNMP
Integer
Read-only
2.8.5
hackWriteLength
Size of writable area in words for the last address traslation. 0 if write permission is denied (invalid
address or read only region). This variable is updated upon completion of a translate address
operation.
On 32-bit platforms, this information is also available through the Region length field in the status
register.
0x25104
SNMP Object ID
Type
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
Not available via SNMP
Integer
Read-only
2.8.5
hackNTime
CobraNet network time - a copy of syncNTime. CS4961xx and CS1810xx only.
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.
0x30000
1.3.6.1.4.1.2680.1.1.5.1
Counter
Read-only
0
2.2.0
audioAllowedChannels
Number of audio channels this CobraNet interface is licensed to handle. AudioAllowedChannels <
audioRxChannels + audioTxChannels indicates a licensing violation.
There are
not implemented. On CS4961xx and CS1810xx, audioAllowedChannels, audioRxChannels and
audioTxChannels always read 0.
0x30001
NO license fees on CS4961xx- and CS1810xx-based interfaces. Channel accounting is
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Default Value
Implemented Version
1.3.6.1.4.1.2680.1.1.5.6
Integer
Read-only
Read from flash configuration record.
2.8.3.
audioRxChannels
Number of unique audio channels currently being received from the network.
Number of unique audio channels currently being transmitted to the network.
On CS4961xx and CS1810xx this variable always reads 0.
0x30003
1.3.6.1.4.1.2680.1.1.5.8
Integer
Read-only
0
2.8.3.
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:
Maps audio routing channels to audio metering. Meters 0-31 are designated for metering audio
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.
0x31000
1.3.6.1.4.1.2680.1.1.5.2.1.2
64
Integer
Read/write - Persistent
0
2.2.0
audioMeterPeaks
The peak level is the highest level recorded since the last time the meters were reset. Level is
represented as a 24- of 32-bit positive value. 0 indicating the absence of signal and 0x7FFFFF or
0x7FFFFFFF indicating a full-scale signal. Reset is accomplished by writing 0 to the peak level. It is
not possible to determined if a peak level is missed between the time the variable is read and when
it is cleared. Also it should be recognised that it is possible for another manager to clear this
variable. There is no way of determining when this has happened.
Allows reading current audio levels. Ballistics for metering comprise an instantaneous attack and
exponential decay time programmable via audioMeterDecay. All level measurements are peak level
(as opposed to RMS). Level is reported as a 24- or 32-bit positive value. 0 indicates the complete
absence of signal and 0x7FFFFF or 0x7FFFFFFFF indicates a full-scale signal.
0x33000
1.3.6.1.4.1.2680.1.1.5.2.1.4
64
Integer
Read-only
2.1.0
audioMeterPeakRaw
Efficiently retrieves all audioMeterPeaks values in a single Get operation. On 24-bit platforms,
audioMeterPeakRaw and audioMeterRaw values are packed in 3 octet words. On CS4961xx- and
CS1810xx-based platforms the values are packed in 4 octet words. Byte ordering for 24-bit
platforms is MS, Middle, LS. Byte ordering for 32-bit platforms is MS, Middle High, Middle Low, LS.
Efficiently retrieves all audioMeters values in a single Get operation. On 24-bit platforms,
audioMeterPeakRaw and audioMeterRaw values are packed in 3 octet words. On CS4961xx- and
CS1810xx-based platforms the values are packed in 4 octet words. Byte ordering for 24-bit is MS,
Middle, LS. Byte ordering for 32-bit platforms is MS, Middle High, Middle Low, LS.
Describes source audio routing channels for performing a local audio loopback function. The first
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.
Describes destination audio routing channels for performing a local audio loopback function. See
audioLoopSrc for a complete description.
0x35000
1.3.6.1.4.1.2680.1.1.5.3.1.3
8 in standard firmware build
Integer
Read/write - Persistent
0
2.1.0
audioOutputs
List of audio output routing channels. Audio output data must be cleared to silence if data is not
received over the network for the channels. By default 33 - 64 are used as outputs but these
variables may be configured by the manufacturer according to the audio I/O configuration of the
hardware. The user should not change these values.
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
routing channel 1. These variables are configured by the manufacturer according to the audio I/O
configuration of the hardware. Cirrus Logic can assist manufacturers in determining proper
configuration of these variables to match audio I/O hardware. The user should not change these values.
0x37000
1.3.6.1.4.1.2680.1.1.5.2.1.5
64
Integer
Read/write - Persistent
Product specific
2.1.0
audioDupSrc
A vector used to specify the source audio routing channels used in audio channel duplication. Each
audioDupSrc vector member will have a corresponding audioDupDst member corresponding to
each available duplication channel. AudioDupSrc will contain the source audio routing channel
number and audioDupDst will contain the corresponding destination audio routing channel. The
audio routing channel chosen as either a source or destination must be an output channel (i.e.
appear in audioOutputs which, by default, consists of audio routing channels 33-64). The first
unassigned entry (null or unconnected routing channel for either source or destination) terminates
dup processing. For instance, it is not possible to specify dup channel 3 without first specifying dup
channel 2.
Host Address
SNMP Object ID
Count
Type
Attributes
Implemented Version
0x38000
1.3.6.1.4.1.2680.1.1.5.9.1.2
0 in standard CM-1 firmware, 8 in CS4961xx and CS1810xx firmware.
A vector used to specify the source audio routing channels used in audio channel duplication. See
audioDupSrc.
0x39000
1.3.6.1.4.1.2680.1.1.5.9.1.3
0 in standard CM-1 firmware, 8 in CS4961xx and CS1810xx firmware.
Integer
Read/Write
2.8.5
audioMeterPeaksRaw
Efficiently retrieve all audioMeterPeaks values in a single Get operation.
24-bit platforms: values are packed in 3 octet words. Byte ordering is Most Significant, Middle,
Least Significant.
32-bit platforms: values are packed in 4 octet words. Byte ordering is Most Significant, Middle
High, Middle Low, Least Significant.
Not available via HMI
SNMP Object ID
Type
Attributes
Implemented Version
Name
Description
Host Address
SNMP Object ID
Type
Attributes
Implemented Version
1.3.6.1.4.1.2680.1.1.5.10
Octet string
Read-only
2.9.3, 2.10.5
audioMetersRaw
Efficiently retrieve all audioMeters values in a single Get operation.24-bit platforms: values are packed in 3 octet words. Byte ordering is Most Significant, Middle,
Least Significant.
32-bit platforms: values are packed in 4 octet words. Byte ordering is Most Significant, Middle
High, Middle Low, Least Significant.