|
Controller Area Network (CAN or CAN-bus) is a computer network protocol and bus standard designed to allow microcontrollers and devices to communicate with each other and without a host computer. In networking, a communications protocol or network protocol is the specification of a set of rules for a particular type of communication. ...
PCI Express bus card slots (from top to bottom: x4, x16, x1 and x16), compared to a traditional 32-bit PCI bus card slot (bottom) In computer architecture, a bus is a subsystem that transfers data or power between computer components inside a computer or between computers, and a bus...
It has been suggested that this article or section be merged with embedded microprocessor. ...
This article is about computer servers. ...
It was designed specifically for automotive applications but is now also used in other areas. CAN is also supported in the Linux Kernel since the 2.6.25 version. The Linux kernel is a Unix-like operating system kernel. ...
Origins
CAN-bus was originally developed in 1988 by Intel Corporation and Robert Bosch GmbH[1] Year 1988 (MCMLXXXVIII) was a leap year starting on Friday (link displays 1988 Gregorian calendar). ...
Intel redirects here. ...
Logo of Robert Bosch GmbH Robert Bosch GmbH [1] is a German corporation which was started in 1886 by Robert Bosch in Stuttgart, Germany. ...
Applications Automotive A modern automobile may have as many as 50 electronic control units (ECU) for various subsystems. Typically the biggest processor is the engine control unit (ECU); others are used for transmission, airbags, antilock braking, cruise control, audio systems, windows, mirror adjustment, etc. Some of these form independent subsystems, but communications among others are essential. A subsystem may need to control actuators or receive feedback from sensors. The CAN standard was devised to fill this need. In automotive electronics, an electronic control unit (ECU) is an embedded microcomputer that controls one or more of the electrical subsystems in a vehicle. ...
An engine control unit (ECU) is an electronic control unit which controls various aspects of an internal combustion engines operation. ...
Look up Transmission in Wiktionary, the free dictionary. ...
For the Mozilla crash reporting software previously called Airbag, see Breakpad. ...
An anti-lock braking system (commonly known as ABS, from the German name Antiblockiersystem given to it by its inventors at Bosch) is a system on motor vehicles which prevents the wheels from locking while braking. ...
Cruise control (sometimes known as speed control or Autocruise) is a system to automatically control the speed of an automobile. ...
The CAN bus may be used in vehicles to connect engine control unit and transmission, or (on a different bus) to connect the door locks, climate control, seat control, etc. Today the CAN bus is also used as a fieldbus in general automation environments: this is especially because of the low cost of some CAN Controllers and processors. On the other hand any official use of CAN requires that a fee for the CAN Protocol License is to be paid to Bosch who developed the protocol and hold patents. A fieldbus or field bus is an industrial computer network for real-time distributed control. ...
CAN Network Testing Unforeseen problems incorporated into CAN-based system are often contributed from the design methods used for the system and the individual component implementations. Scheduling methods which take into account the timing related to ECU software and hardware architecture, communication driver performance, and the network arbitration are required for minimizing the effort of testing required prior to manufacturing. The development of distributed network-based systems often utilizes multiple suppliers for the prototyping of different modules and sub-systems. In order to best control the complexities incorporated from such a distributed developmental process, the Original Equipment Manufacturer usually requires a set of standard tests and procedures to be run on the prototypes prior to delivery. These tests usually require the prototype ECU to be connected to a simulated system where performance measurements can be made for consideration of the physical layer, communication layer, and application layer. The standard tests are run repeatedly until the Device Under Test (DUT) passes all necessary tests. The requirements for testing vary depending on the Original Equipment Manufacturers focus and may include portions of the following sample test sequence: Voltage Characteristic Protection Tests: - Hardware Immunity to Ground Short,
- Hardware Damage Immunity to Source Voltage Short,
- Hardware under voltage operation characteristics
Communication Waveform Characteristics: - Transceiver tests (short to GND, short to VBAT, ect.),
- Signal Integrity (I-diagrams),
- Signal Jitter Analysis,
- Noise Injection Tests
Software Recovery from Error Conditions: Response Times: - Functional Ages,
- Publisher Delays,
- Subscriber Delays,
- Gateway Delays
Communication: - First Frame Timing,
- Wakeup Sequence,
- Periodic Frame Times,
- Event Frames
Network Management: - Startup,
- Participation,
- Modes,
- Shutdown
Diagnostics: - Recognition of faults,
- Module Reflashing
The supplier module level testing cleans up a majority of issues, however the greatest task of identifying and troubleshooting issues is often confronted during the integration testing phase. The integration testing phase requires that the “live” ECU’s be interconnected for the first time and the ultimate goal of this phase is to eliminate all causes of system behavior which may negatively impact the manufactured products reliability. Time constraints require efficient use of test processes, available resources and tools to ensure the highest levels of product quality are delivered at the conclusion of the integration testing phase. Testing teams must possess a means for identification and isolation of faults, along with the experience needed for quickly assessing possible root causes. The time required for actually tracking down and solving the root failure mode can often be extremely difficult and not time effective in widely distributed processes. Testing tools must be scalable, flexible, and integrate able to provide test coverage for all pertinent levels of the OSI model. The ideal test tools themselves must provide the knowledge and know-how of skilled engineers by identifying questionable conditions, and then using reasoning to guide the test engineer in solving the issue. The tool should also be easily configurable, comprehensive, include predefined test libraries, and provide extremely reliable measurements..
Technology CAN is a broadcast, differential serial bus standard for connecting electronic control units (ECUs). Routing Schemes anycast broadcast multicast unicast In computer networking, broadcasting refers to transmitting a packet that will be received (conceptually) by every device on the network. ...
It has been suggested that this article or section be merged into Low voltage differential signaling. ...
In telecommunications and computer science, serial communications is the process of sending data one bit at one time, sequentially, over a communications channel or computer bus. ...
In computer architecture, a bus is a subsystem that transfers data or power between computer components inside a computer or between computers and typically is controlled by device driver software. ...
In automotive electronics, an electronic control unit (ECU) is an embedded microcomputer that controls one or more of the electrical subsystems in a vehicle. ...
Each node is able to send and receive messages, but not simultaneously: a message (consisting primarily of an ID — usually chosen to identify the message-type/sender — and up to eight message bytes) is transmitted serially onto the bus, one bit after another — this signal-pattern codes the message (in NRZ) and is sensed by all nodes. Contrast with: return-to-zero. ...
The devices that are connected by a CAN network are typically sensors, actuators and control devices. A CAN message never reaches these devices directly, but instead a host-processor and a CAN Controller is needed between these devices and the bus. A sensor is a technological device or biological organ that detects, or senses, a signal or physical condition. ...
An actuator is the mechanism by which an agent acts upon an environment. ...
CPU redirects here. ...
If the bus is free, any node may begin to transmit. If two or more nodes begin sending messages at the same time, the message with the more dominant ID (which has more dominant bits i.e. bit 0) will overwrite other nodes' less dominant IDs, so that eventually (after this arbitration on the ID) only the dominant message remains and is received by all nodes. Each node requires - a host-processor
- The host-processor decides what received messages mean, and which messages it wants to transmit itself
- Sensors, actuators and control devices can be connected to the host-processor (if desired)
- a CAN Controller (hardware with a synchronous clock)
- Receiving: the CAN Controller stores received bits (one by one) from the bus until an entire message is available, that can then be fetched by the host processor (usually after the CAN Controller has triggered an interrupt)
- Sending: the host-processor stores its transmit-messages into a CAN Controller, which transmits the bits serially onto the bus
- a Transceiver (possibly integrated into the CAN Controller)
- Receiving: it adapts signal levels from the bus, to levels that the CAN Controller expects and has protective circuitry that protect the CAN Controller
- Sending: it converts the transmit-bit signal received from the CAN Controller into a signal that is sent onto the bus
Bit rates up to 1 Mbit/s are possible at network lengths below 40 m. Decreasing the bit rate allows longer network distances (e.g. 125 kbit/s at 500 m). CPU redirects here. ...
A transceiver is a device that has both a transmitter and a receiver which are combined in to one. ...
In telecommunications and computing, bit rate (sometimes written bitrate) is the frequency at which bits are passing a given (physical or metaphorical) point. It is quantified using the bit per second (bit/s) unit. ...
A megabit per second (Mbps or Mbit/s or Mb/s) is a unit of data transmission equal to 1,024 kilobits per second or 1048576 bits per second. ...
This article is about the unit of length. ...
âKBPSâ redirects here. ...
The CAN data link layer protocol is standardized in ISO 11898-1 (2003). This standard describes mainly the data link layer — composed of the Logical Link Control (LLC) sublayer and the Media Access Control (MAC) sublayer — and some aspects of the physical layer of the OSI Reference Model. All the other protocol layers are left to the network designer's choice. ISO 11898 specifies a serial communication technology called Controller Area Network that supports distributed real-time control and multiplexing for use within road vehicles. ...
The data link layer is layer two of the seven-layer OSI model as well as of the five-layer TCP/IP reference model. ...
According to the IEEE 802 family of standards, Logical Link Control (LLC) is the upper sublayer of the OSI data link layer. ...
In telecommunication, the term sublayer has the following meanings: In a layered open communications system, a specified subset of the services, functions, and protocols included in a given layer. ...
The Media Access Control (MAC) data communication protocol sub-layer, also known as the Medium Access Control, is a part of the data link layer specified in the seven-layer OSI model (layer 2). ...
In telecommunication, the term sublayer has the following meanings: In a layered open communications system, a specified subset of the services, functions, and protocols included in a given layer. ...
This article does not cite any references or sources. ...
Certain microcontrollers, like some models of the PIC microcontroller family by Microchip Technology and Atmel AVR, have built-in CAN support. PIC microcontrollers in DIP and QFN packages PIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instruments Microelectronics Division. ...
Microchip Technology (NASDAQ: MCHP) is a manufacturer of semiconductors, founded in ??. Its products include microcontrollers (PICmicro, dsPIC, PIC24), EEPROM and Flash memory devices, KEELOQ devices, radio frequency (RF) devices, battery management devices, interface devices, analog devices and many others. ...
Atmel AVR ATmega8 PDIP. The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller (µC) which was developed by Atmel in 1996. ...
Data transmission CAN features an automatic 'arbitration free' transmission. A CAN message that is transmitted with highest priority will 'win' the arbitration, and the node transmitting the lower priority message will sense this and back off and wait. This is achieved by CAN transmitting data through a binary model of "dominant" bits and "recessive" bits where dominant is a logical 0 and recessive is a logical 1. This means open collector, or 'wired or' physical implementation of the bus (but since dominant is 0 this is sometimes referred to as wired-AND). If one node transmits a dominant bit and another node transmits a recessive bit then the dominant bit "wins" (a logical AND between the two). This page is a candidate for speedy deletion, because: Non-informative cut-paste If you disagree with its speedy deletion, please explain why on its talk page or at Wikipedia:Speedy deletions. ...
AND Logic Gate In logic and mathematics, logical conjunction (usual symbol and) is a two-place logical operation that results in a value of true if both of its operands are true, otherwise a value of false. ...
| Truth tables for dominant/recessive and logical AND | Bus state with two nodes transmitting | | dominant | recessive | | dominant | dominant | dominant | | recessive | dominant | recessive | | Logical AND | So, if you are transmitting a recessive bit, and someone sends a dominant bit, you see a dominant bit, and you know there was a collision. (All other collisions are invisible.) The way this works is that a dominant bit is asserted by creating a voltage across the wires while a recessive bit is simply not asserted on the bus. If anyone sets a voltage difference, everyone sees it, hence, dominant. Thus there is no delay to the higher priority messages, and the node transmitting the lower priority message automatically attempts to re-transmit 6 bit clocks after the end of the dominant message. Truth tables are a type of mathematical table used in logic to determine whether an expression is true or whether an argument is valid. ...
When used with a differential bus, a Carrier Sense Multiple Access/Bitwise Arbitration (CSMA/BA) scheme is often implemented: if two or more devices start transmitting at the same time, there is a priority based arbitration scheme to decide which one will be granted permission to continue transmitting. The CAN solution to this is prioritised arbitration (and for the dominant message delay free), making CAN very suitable for real time prioritised communications systems. Carrier Sense Multiple Access (CSMA) is a probabilistic Media Access Control (MAC) protocol in which a node verifies the absence of other traffic before transmitting on a shared physical medium, such as an electrical bus, or a band of electromagnetic spectrum. ...
During arbitration, each transmitting node monitors the bus state and compares the received bit with the transmitted bit. If a dominant bit is received when a recessive bit is transmitted then the node stops transmitting (i.e., it lost arbitration). Arbitration is performed during the transmission of the identifier field. Each node starting to transmit at the same time sends an ID with dominant as binary 0, starting from the high bit. As soon as their ID is a larger number (lower priority) they'll be sending 1 (recessive) and see 0 (dominant), so they back off. At the end of ID transmission, all nodes but one have backed off, and the highest priority message gets through unimpeded
Bit timing Each node in a CAN network has its own clock, and no clock is sent during data transmission. Synchronization is done by dividing each bit of the frame into a number of segments: Synchronisation, Propagation, Phase 1 and Phase 2. The Length of each phase segment can be adjusted based on network and node conditions. The sample point falls between Phase Buffer Segment 1 and Phase Buffer Segment 2, which helps facilitate continuous synchronization. Continuous synchronization in turn enables the receiver to be able to properly read the messages. CAN Bit Timing Layers Based on levels of abstraction, the structure of the CAN protocol can be described in terms of the following layers: - Object Layer
- Message Filtering
- Message and Status Handling
- Transfer Layer
The Transfer Layer represents the kernel of the CAN protocol. It presents messages received to the object layer and accepts messages to be transmitted from the object layer. The transfer layer is responsible for bit timing and synchronization, message framing, arbitration, acknowledgment, error detection and signaling, and fault confinement. It performs: - Fault Confinement
- Error Detection
- Message Validation
- Acknowledgment
- Arbitration
- Message Framing
- Transfer Rate and Timing
- Information Routing
- Physical Layer
The physical layer defines how the signals are actually transmitted. Tasks include: - Signal Level and Bit Representation
- Transmission Medium
Frames A CAN network can be configured to work with two different message (or "frame") formats: the standard or base frame format (or CAN 2.0 A), and the extended frame format (or CAN 2.0 B). The only difference between the two formats is that the “CAN base frame” supports a length of 11 bits for the identifier, and the “CAN extended frame” supports a length of 29 bits for the identifier, made up of the 11-bit identifier (“base identifier”) and an 18-bit extension (“identifier extension”). The distinction between CAN base frame format and CAN extended frame format is made by using the IDE bit, which is transmitted as dominant in case of an 11-bit frame, and transmitted as recessive in case of a 29-bit frame. CAN controllers that support extended frame format messages are also able to send and receive messages in CAN base frame format. All frames begin with a start-of-frame (SOF) bit that, obviously, denotes the start of the frame transmission. CAN has four frame types: - Data frame: a frame containing node data for transmission
- Remote frame: a frame requesting the transmission of a specific identifier
- Error frame: a frame transmitted by any node detecting an error
- Overload frame: a frame to inject a delay between data and/or remote frames
Data frame The data frame is the only frame for actual data transmission. There are two message formats: - Base frame format: with 11 identifier bits
- Extended frame format: with 29 identifier bits
The CAN standard requires the implementation must accept the base frame format and may accept the extended frame format, but must tolerate the extended frame format.
Base frame format The frame format is as follows: | Field name | Length (bits) | Purpose | | Start-of-frame | 1 | Denotes the start of frame transmission | | Identifier | 11 | A (unique) identifier for the data | | Remote transmission request (RTR) | 1 | Must be dominant (0)Optional | | Identifier extension bit (IDE) | 1 | Must be dominant (0)Optional | | Reserved bit (r0) | 1 | Reserved bit (it must be set to dominant (0), but accepted as either dominant or recessive) | | Data length code (DLC) | 4 | Number of bytes of data (0-8 bytes) | | Data field | 0-8 bytes | Data to be transmitted (length dictated by DLC field) | | CRC | 15 | Cyclic redundancy check | | CRC delimiter | 1 | Must be recessive (1) | | ACK slot | 1 | Transmitter sends recessive (1) and any receiver can assert a dominant (0) | | ACK delimiter | 1 | Must be recessive (1) | | End-of-frame (EOF) | 7 | Must be recessive (1) | One restriction placed on the identifier is that the first seven bits cannot be all recessive bits. (I.e., the 16 identifiers 1111111xxxx are invalid.) A cyclic redundancy check (CRC) is a type of function that takes an input of data stream of any length and produces as output a value of a certain fixed size. ...
Extended frame format The frame format is as follows: | Field name | Length (bits) | Purpose | | Start-of-frame | 1 | Denotes the start of frame transmission | | Identifier A | 11 | First part of the (unique) identifier for the data | | Substitute remote request (SRR) | 1 | Must be recessive (1)Optional | | Identifier extension bit (IDE) | 1 | Must be recessive (1)Optional | | Identifier B | 18 | Second part of the (unique) identifier for the data | | Remote transmission request (RTR) | 1 | Must be dominant (0) | | Reserved bits (r0, r1) | 2 | Reserved bits (it must be set dominant (0), but accepted as either dominant or recessive) | | Data length code (DLC) | 4 | Number of bytes of data (0-8 bytes) | | Data field | 0-8 bytes | Data to be transmitted (length dictated by DLC field) | | CRC | 15 | Cyclic redundancy check | | CRC delimiter | 1 | Must be recessive (1) | | ACK slot | 1 | Transmitter sends recessive (1) and any receiver can assert a dominant (0) | | ACK delimiter | 1 | Must be recessive (1) | | End-of-frame (EOF) | 7 | Must be recessive (1) | The two identifier fields (A & B) combined form a 29-bit identifier. A cyclic redundancy check (CRC) is a type of function that takes an input of data stream of any length and produces as output a value of a certain fixed size. ...
Remote frame •Generally data transmission is performed on an autonomous basis with the data source node (e.g. a sensor) sending out a Data Frame. It is also possible, however, for a destination node to request the data from the source by sending a Remote Frame. •There are 2 differences between a Data Frame and a Remote Frame. Firstly the RTR-bit is transmitted as a dominant bit in the Data Frame and secondly in the Remote Frame there is no Data Field. i.e. - RTR = 0 ; DOMINANT in data frame
- RTR = 1 ; RECESSIVE in remote frame
In the very unlikely event of a Data Frame and a Remote Frame with the same identifier being transmitted at the same time, the Data Frame wins arbitration due to the dominant RTR bit following the identifier. In this way, the node that transmitted the Remote Frame receives the desired data immediately.
Error frame - Error frame consists of two different fields
The first field is given by the superposition of ERROR FLAGS contributed from different stations. The following second field is the ERROR DELIMITER. - There are two types of error flags
- Active Error Flag
- Transmitted by a node detecting an error on the network that is in error state "error active".
- Passive Error Flag
- Transmitted by a node detecting an active error frame on the network that is in error state "error passive".
Overload frame The overload frame contains the two bit fields Overload Flag and Overload Delimiter. There are two kinds of overload conditions that can lead to the transmission of an overload flag: - The internal conditions of a receiver, which requires a delay of the next data frame or remote frame.
- Detection of a dominant bit during intermission.
The start of an overload frame due to case 1 is only allowed to be started at the first bit time of an expected intermission, whereas overload frames due to case 2 start one bit after detecting the dominant bit. Overload Flag consists of six dominant bits. The overall form corresponds to that of the active error flag. The overload flag’s form destroys the fixed form of the intermission field. As a consequence, all other stations also detect an overload condition and on their part start transmission of an overload flag. Overload Delimiter consists of eight recessive bits. The overload delimiter is of the same form as the error delimiter.
Interframe spacing Data frames and remote frames are separated from preceding frames by a bit field called interframe space. Overload frames and error frames are not preceded by an interframe space and multiple overload frames are not separated by an interframe space. Interframe space contains the bit fields intermission and bus idle and, for error passive stations, which have been transmitter of the previous message, suspend transmission. Interframe spacing between frames is normally 96 bits. It provides time for machines on an Ethernet network to listen and have a chance to send data.
Bit stuffing In CAN frames, a bit of opposite polarity is inserted after five consecutive bits of the same polarity. This practice is called bit stuffing, and is due to the "Non Return to Zero" (NRZ) coding adopted. The "stuffed" data frames are destuffed by the receiver. Since bit stuffing is used, six consecutive bits of the same type (111111 or 000000) are considered an error. Bit stuffing implies that sent data frames could be larger than one would expect by simply enumerating the bits shown in the tables above. In data transmission and telecommunication, bit stuffing (also known -- uncommonly -- as positive justification) is the insertion of noninformation bits into data. ...
Contrast with: return-to-zero. ...
Standards There are several CAN physical layer standards: This article does not cite any references or sources. ...
- ISO 11898-2: CAN high-speed
- ISO 11898-3: CAN fault-tolerant (low-speed)
- ISO 11992-1: CAN fault-tolerant for truck/trailer communication
- ISO 11783-2: 250 kbit/s, Agricultural Standard
- SAE J1939-11: 250 kbit/s, Shielded Twisted Pair (STP)
- SAE J1939-15: 250 kbit/s, UnShielded Twisted Pair (UTP) (reduced layer)
- SAE J2411: Single-wire CAN (SWC)
ISO 11898-2 uses a two-wire balanced signaling scheme. It is the most used physical layer in car powertrain applications and industrial control networks. ISO 11898 specifies a serial communication technology called Controller Area Network that supports distributed real-time control and multiplexing for use within road vehicles. ...
ISO 11898 specifies a serial communication technology called Controller Area Network that supports distributed real-time control and multiplexing for use within road vehicles. ...
ISO 11992 is a CAN based vehicle bus standard by the heavy duty truck industry. ...
ISO11783 (or ISO Bus) is a communication protocol based off of the SAE J1939 protocol (which includes CANbus) for the agriculture industry. ...
SAE J1939 is the vehicle bus standard used for communication and diagnostics among vehicle components, originally by the heavy duty truck industry in the United States. ...
SAE J1939 is the vehicle bus standard used for communication and diagnostics among vehicle components, originally by the heavy duty truck industry in the United States. ...
In telecommunications, a balanced line or balanced signal pair is a transmission line consisting of two conductors in the presence of ground, which relies on balanced impedances to minimize interference. ...
ISO 11898-4 standard defines the time-triggered communication on CAN (TTCAN). It is based on the CAN data link layer protocol providing a system clock for the scheduling of messages. SAE J1939 standard uses a two-wire twisted pair, -11 has a shield around the pair while -15 does not. SAE 1939 is widely used in agricultural & construction equipment. ISO 11783-2 uses four unshielded twisted wires; two for CAN and two for terminating bias circuit (TBC) power and ground. This bus is used on agricultural tractors. This bus is intended to provide interconnectivity with any implementation adhering to the standard.
Higher layer implementations As the CAN standard does not include tasks of application layer protocols, such as flow control, device addressing, and transportation of data blocks larger than one message, many implementations of higher layer protocols were created. Among these are DeviceNet, CANopen, SDS (Smart Distributed System), CANaerospace, J1939, NMEA 2000, CAN Kingdom, SafetyBUS p, and MilCAN. The flow control mechanism is used for controlling the flow of data in a network under well-defined conditions, while congestion control is used for controlling the flow of data when congestion has actually occurred . ...
This page may meet Wikipedias criteria for speedy deletion. ...
CANopen is a communication protocol and device profile specification for embedded systems used in automation. ...
SAE J1939 is the vehicle bus standard used for communication and diagnostics among vehicle components, originally by the heavy duty truck industry in the United States. ...
NMEA 2000® is a combined electrical and data specification for a marine data network for communication between marine electronic devices such as depth finders, chartplotters, navigation instruments, engines, tank level sensors, and GPS receivers. ...
CAN Kingdom is a communications protocol running on top of CAN. It is designed as a fieldbus. ...
SafetyBUS p is a standard for safe field bus communication within factory automation. ...
MilCAN is a deterministic protocol that can be applied to Controller Area Network (CAN) technology as specified by ISO 11898. ...
An ARINC technical working group develops the ARINC 825 standard with special requirements for the aviation industry.
See also - FlexCAN - An alternative implementation.
- CANopen - A higher-layer protocol.
- Local Interconnect Network - A low cost alternative.
- FlexRay - A possible future direction
- GMLAN - A customized version by GM
- Socketcan - a set of open source CAN drivers and a networking stack contributed by Volkswagen Research to the Linux kernel.
- OSEK
FlexCAN is an embedded network architecture that extends Controller Area Network (CAN). ...
CANopen is a communication protocol and device profile specification for embedded systems used in automation. ...
The LIN-Bus (Local Interconnect Network) is a bus-system used within current automotive network architectures. ...
FlexRay is a new automotive network communications protocol under development by the FlexRay Consortium. ...
GMLAN is an application- and transport-layer protocol using CAN for lower layer services. ...
References External links |