Silicus Microsoft.NET developers needed to get familiar with CSAFE for communication between fitness equipment and other equipment. Silicus.NET developers mastered the protocol nuances to ensure no delay in project timelines. The software seamlessly interacted with TV Tuner cards, touch screen monitors and audio equipment.
Protocol stack of the OSI model
The protocol stack or network stack is an implementation of a computer networkingprotocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.[1]
Individual protocols within a suite are often designed with a single purpose in mind. This modularization simplifies design and evaluation. Because each protocol module usually communicates with two others, they are commonly imagined as layers in a stack of protocols. The lowest protocol always deals with low-level interaction with the communications hardware. Each higher layer adds additional capabilities. User applications usually deal only with the topmost layers.[2]
In practical implementation, protocol stacks are often divided into three major sections: media, transport, and applications. A particular operating system or platform will often have two well-defined software interfaces: one between the media and transport layers, and one between the transport layers and applications. The media-to-transport interface defines how transport protocol software makes use of particular media and hardware types and is associated with a device driver. For example, this interface level would define how TCP/IP transport software would talk to the network interface controller. Examples of these interfaces include ODI and NDIS in the Microsoft Windows and DOS environment. The application-to-transport interface defines how application programs make use of the transport layers. For example, this interface level would define how a web browser program would talk to TCP/IP transport software. Examples of these interfaces include Berkeley sockets and System V STREAMS in Unix-like environments, and Winsock for Microsoft Windows.
General protocol suite description[edit]
Imagine three computers: A, B, and C. A and B both have radio equipment, and can communicate via the airwaves using a suitable network protocol (such as IEEE 802.11). B and C are connected via a cable, using it to exchange data (again, with the help of a protocol, for example Point-to-Point Protocol). However, neither of these two protocols will be able to transport information from A to C, because these computers are conceptually on different networks. An inter-network protocol is required to connect them.
![Csafe Protocol Software Csafe Protocol Software](http://api.wahoofitness.com/framework_import.png)
One could combine the two protocols to form a powerful third, mastering both cable and wireless transmission, but a different super-protocol would be needed for each possible combination of protocols. It is easier to leave the base protocols alone, and design a protocol that can work on top of any of them (the Internet Protocol is an example). This will make two stacks of two protocols each. The inter-network protocol will communicate with each of the base protocol in their simpler language; the base protocols will not talk directly to each other.
A request on computer A to send a chunk of data to C is taken by the upper protocol, which (through whatever means) knows that C is reachable through B. It, therefore, instructs the wireless protocol to transmit the data packet to B. On this computer, the lower layer handlers will pass the packet up to the inter-network protocol, which, on recognizing that B is not the final destination, will again invoke lower-level functions. This time, the cable protocol is used to send the data to C. There, the received packet is again passed to the upper protocol, which (with C being the destination) will pass it on to a higher protocol or application on C.
Examples[edit]
The network protocol stack used by Amiga software
Protocol | Layer |
---|---|
HTTP | Application |
TCP | Transport |
IP | Internet or network |
Ethernet | Link or data link |
IEEE 802.3u | Physical |
Spanning layer[edit]
An important feature of many communities of interoperability based on a common protocol stacks is a spanning layer, a term coined by David Clark[3]
'Certain protocols are designed with the specific purpose of bridging differences at the lower layers, so that common agreements are not required there. Instead, the layer provides the definitions that permit translation to occur between a range of services or technologies used below. Thus, in somewhat abstract terms, at and above such a layer common standards contribute to interoperation, while below the layer translation is used. Such a layer is called a 'spanning layer' in this paper. As a practical matter, real interoperation is achieved by the definition and use of effective spanning layers. But there are many different ways that a spanning layer can be crafted.'
In the Internet protocol stack, the Internet Protocol Suite constitutes a spanning layer that defines a best effort service for global routing of datagrams at Layer 3. The Internet is the community of interoperation based on this spanning layer.
See also[edit]
References[edit]
- ^'What is a protocol stack?'. http://www.webopedia.com: WEBOPEDIA. Retrieved 2010-02-21.
A [protocol stack is a] set of network protocol layers that work together. The OSI Reference Model that defines seven protocol layers is often called a stack, as is the set of TCP/IP protocols that define communication over the Internet.
- ^Georg N. Strauß (2010-01-09). 'The OSI Model, Part 10. The Application Layer'. http://www.ika-reutte.at: Ika-Reutte. Retrieved 2010-02-21.
The Application layer is the topmost layer of the OSI model, and it provides services that directly support user applications, such as database access, e-mail, and file transfers.
- ^David Clark (1997). 'Interoperation, Open Interfaces, and Protocol Architecture'. The Unpredictable Certainty: White Papers. National Research Council. ISBN9780309060363.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Protocol_stack&oldid=927395231'
CSAFE (Communications Specification for Fitness Equipment) is a fitness industry-wide communications specification developed in 1997 for exercise equipment. As this specification was originally developed by the company FitLinxx, sometimes it is also referred to as FitLinxx.
Purpose[edit]
The CSAFE specification describes the physical wiring scheme as well as the format of the data frames. The CSAFE protocol is designed to work in a master/slave fashion. A special I/O jack on the exercise equipment accepts a normal 8P8C (RJ-45) plug (although the wiring scheme has no relation to ethernet) wired to a normal RS-232 cable. The CSAFE port also has pins which should be wired to an input audio jack.
Development[edit]
In October, 2000, a CSAFE group was formed within FISA (Fitness Industry Suppliers Association) to help coordinate the continued evolution of CSAFE. This group is led by a steering committee with membership from a broad representation of the industry. The CSAFE protocol is licensed on a royalty free basis to any company, person, or organization wishing to use it.
Wiring Scheme[edit]
Most of the pins from the RJ-45 plug should be connected to a normal RS-232 interface configured for an asynchronous communication mode of 9600 baud with 8 data bits, 1 stop bits and no parity. Hardware handshaking for flow control (CTS as an input to Slave) is not required to support this protocol but is recommended. The equipment jack pinout for this jack is as follows:
Pin | Description | Fitness Equipment (Slave) I/O |
---|---|---|
1. | Audio Left | Input |
2. | Audio Right | Input |
3. | Rx | Input |
4. | Tx | Output |
5. | Voltage Source | Output |
6. | CTS Flow Control | Input |
7. | Signal Ground | N/A |
8. | Shield | N/A |
Pin positions are counted from 1 to 8 in a left to right direction looking into the RJ-45 socket with the locking tab facing down as shown in the following diagram:
| |||||||||||||||||
|
Notes:[1]
- Voltage source requirements are to supply 4.75 V to 10.0 V nominal DC with IMAX (current) to sink (master) at 85mA.
- This voltage source pin may also be used as an RS-232 DTR output signal to tell the Master or network adapter that the Slave unit is powered on and operational.
- This connector configuration differs slightly from the original CSAFE specification to allow backward compatibility with some existing RJ-11 based products.
- Any connection between Signal Ground and Shield is manufacturer-specific and should not be assumed.
Communications Protocol[edit]
The communications protocol works in two modes: standard and extended. The primary difference between the two modes is that the extended mode adds source and destination address fields to the frame. The standard frame mode would normally be used in the case where there is only one piece of exercise equipment attached to one computer. This mode is primarily useful in a home setting where there is only one piece of exercise equipment and one controlling computer.
The extended mode is intended for use where multiple pieces of exercise equipment are attached to one or more computers via a shared link. This mode is useful in a gym setting with multiple pieces of exercise equipment located far away from the controlling computer. All of the equipment could be connected to a single multiplexing box which in turn connects to the controlling computer over a long cable.
References[edit]
- ^https://web.archive.org/web/20071206133027/http://www.fitlinxx.com/CSAFE/Hardware.htm
External links[edit]
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Communications_Specification_for_Fitness_Equipment&oldid=903046734'