WO2021161303A1 - High bandwidth can-derivative communication - Google Patents
High bandwidth can-derivative communication Download PDFInfo
- Publication number
- WO2021161303A1 WO2021161303A1 PCT/IL2021/050149 IL2021050149W WO2021161303A1 WO 2021161303 A1 WO2021161303 A1 WO 2021161303A1 IL 2021050149 W IL2021050149 W IL 2021050149W WO 2021161303 A1 WO2021161303 A1 WO 2021161303A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- dgn
- field
- frame
- controller unit
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 259
- 230000001934 delay Effects 0.000 claims abstract description 55
- 230000007704 transition Effects 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 67
- 230000005540 biological transmission Effects 0.000 claims description 41
- 238000005259 measurement Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000004807 localization Effects 0.000 claims description 7
- 239000007788 liquid Substances 0.000 claims description 3
- 230000006833 reintegration Effects 0.000 claims description 3
- 230000029058 respiratory gaseous exchange Effects 0.000 claims description 3
- 230000011664 signaling Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000002789 length control Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4902—Pulse width modulation; Pulse position modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40065—Bandwidth and channel allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Definitions
- the present invention relates to Controller Area Network (CAN) communication systems, nodes, controllers, protocols, and methods.
- CAN Controller Area Network
- Serial communication is used in many fields and for many applications.
- a widely used protocol for serial communication is the CAN protocol specified in the BOSCH CAN Specification 2.0 (available at the Robert Bosch GmbH website: http://www.semiconductors.bosch.de) and in the International Standard ISO 11898-1.
- CAN delivers a data-rate of up to IMbit/s.
- CAN with Flexible Data-Rate or CAN-FD protocol is an extension of the CAN protocol.
- the CAN-FD protocol was released in 2012 by BOSCH (available at the Robert Bosch GmbH website: http://www.semiconductors.bosch.de).
- CAN-FD uses the CAN bus arbitration method and increases effective bit-rate.
- the CAN-FD effective data-rate is increased - up to 5Mbit/s, and allowing more extended data fields.
- the CAN protocol uses four bits as the Data Length Code resulting in 16 different codes. Only the first nine values are used - codes [0-8], standing for data field length of [0-8] bytes. In CAN, the codes [9-15] are defined to signify eight data bytes.
- CAN-FD the codes [9-15] are used to indicate more extended data fields.
- a mixed communication system can employ CAN nodes and CAN-FD nodes. Nodes in the network must have a CAN-FD protocol controller for CAN-FD communication, and all CAN-FD protocol controllers are also able to communicate in CAN communication.
- CAN-XL is another extension of CAN, aimed at delivering an increased data-rate of up to lOMbit/s. Publications on the CAN XL specification are available by the CAN in Automation (CiA) nonprofit association. ISO standardization proceedings of CAN-XL are expected.
- CAN XL is scalable regarding payload length (1 to 2048 byte) and bit-rate (below 1 Mbit/s to 10+ Mbit/s).
- the large data fields of CAN XL enable higher layer protocols like IP (Internet Protocol).
- IP Internet Protocol
- CAN-XL requires a different type of bus transceiver with two electrical modes - recessive/dominant, like in CAN and CAN- FD, and push-pull signalling method.
- CAN 2.0A CAN 2.0B
- ISO 11898-1/2/3 CAN-FD
- ISO-CAN-FD ISO-CAN-FD
- CAN-HG J1939
- CANOpen CANOpen FD
- DeviceNet ARINC825
- CAN-derivative communication networks are prone to communication congestions caused due to (1) bus topology, length and media properties, (2) CAN-derivative protocol structure constraints, (3) physical layer integrated circuit limitations, (4) interferences, and (5) systems' clocks limitations and mismatch, and other reasons.
- CAN-derivative communication Proper operation of CAN-derivative communication systems is commonly achieved by adaptation of CAN data-phase baud-rate to a limit in which zero-errors are detected on the bus.
- the busses are designed with high margins in terms of (1) maximal allowable possible baud-rate, (2) bus topology, (3) components ratings and specs, and other properties. Baud-rate, topology and component property large margins lead to high-costs in engineering and production, large amounts of wiring and interconnections and low effective data-rates. As a result, the full potential of the physical layer, the wiring, the environment, and transceivers, is not exploited in an optimal manner.
- CAN-derivative communication is widely used in electronic systems in fields such as vehicles, robotics, defense, industrial automation, underwater vehicles, medical equipment, avionics, and other industries.
- a common use of CAN-derivative communication is for broadcasting sensor data and control information on wire interconnections between different parts of the electronic instrumentation and control system.
- serial communication networks with higher bandwidth.
- a communication system for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus
- the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
- CAN Controller Area Network
- a controller unit for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the controller unit is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
- the controller unit of the receiving node is to measure a received sequence of pulses durations, estimate therefrom the series of delays and determine the sequence of data symbols.
- the controller unit of the receiving node is further to measure the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions.
- the series of delays may further depends on a delay unit granularity factor G and a length of a data symbol L sym in bits.
- the delay unit granularity factor G and a length of a data symbol in bits L sym are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
- the controller unit may recalculate the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits L sym .
- the data frame may comprise one or more pre-defined reserved bits used for protocol type selection and the controller unit is to facilitate communication over the CAN communication bus in more than a single protocol.
- the number of level transitions in the Data Field may be determined as a function of DLC data length code and is optionaly extended to constitute one or more information fields from a group consisting of: the sequence of data symbols to be transmitted; CRC length; contextual metadata for protocol control; calibration pilot level-transitions; and forward error correction codes.
- the controller unit of the transmitting node may transmit pilot signals containing calibration information and the controller unit of the receiving node is to calibrate measurement clock based on the calibration information.
- the controller unit of the transmitting node may scramble the symbols to be transmitted and the controller unit of the receiving node may descramble the symbols.
- a method for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises at least one transmitting node and at least one receiving node, and at least one controller unit of the transmitting node and at least one controller unit of the receiving node, the method comprising coding and transmitting the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays,
- the series of delays may depends on a delay unit granularity factor G and a length of a data symbol L sym in bits and wherein the delay unit granularity factor G and a length of a data symbol in bits are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
- the method may further comprise, in response to link quality indication, corecalculating the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits L sym .
- the data frame may comprise one or more pre-defined reserved bits used for protocol type selection and the method further comprises facilitating communication over the CAN communication bus in more than a single protocol.
- the number of level transitions in the Data Field may be determined as a function of DLC data length code and is optionaly extended to constitute one or more information fields from a group consisting of: the sequence of data symbols to be transmitted; CRC length; contextual metadata for protocol control; calibration pilot level-transitions; and forward error correction codes.
- the method may further comprise measuring a received sequence of pulses durations, estimating therefrom the series of delays and determining the sequence of data symbols.
- the method may further comprise measuring the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions. [0033] The method may further comprise transmiting pilot signals containing calibration information and calibrating measurement clock based on the calibration information. [0034] The method may further comprise scrambling and descrambling the symbols.
- a communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus
- the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises controller units and data-generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to: request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and wherein the controller unit is to arrange portions of the DGN data received from the plurality
- DGN data-generating nodes
- a controller unit for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus
- the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the controller unit is to communicate over a bus with a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data- segments; arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
- DGN data-generating node
- the controller unit is further to communicate the data frame to one or more communication nodes over the CAN communication bus.
- the one or more of the DGNs are from a group consisting of: an audio sensor, an Active Noise Cancellation (ANC) sensor, ultrasonic sensor, radar sensor, navigation sensor, localization sensor, battery gauge, lighting indicator, RPM indicator, wheel speed indicator, liquid level indicator, battery voltage indicator, tension sensor, temperature sensor, pressure sensor, driver and passenger heart rate sensor, driver and passenger breathing sensor, driver and passenger ECG sensor, EPIC sensor.
- ANC Active Noise Cancellation
- a communication session of the data frame may be open for a period of time that complies with a frame structure of a group consisting of CAN protocol, CAN-based protocol, CAN-FD, CAN-FD-based protocols, CAN-XL protocol, and ethernet.
- the communication session of the data frame may be terminated at least by one of (1) the controller unit; (2) one or more of the DGN; and (3) is terminated by a timeout mechanism.
- the controller unit is further to selectively exchange multiple data segments as a single data frame under a predefined communication session plan.
- the one of the controller unit and a predetermined DGN is further to signal the DGN to transmit a specific type of information.
- the spacing intervals may be implemented by transmitting edge spacing modulated symbols within the Data Field.
- the spacing interval may have a duration TISS calculated based on at least (1) a length of the CAN communication bus, (2) a propagation velocity of signals in the CAN communication bus, (3) a maximal propagation velocity of signals in the DGN and the controller unit, and (4) the CAN communication bus bit timing parameters.
- the CAN communication bus may remain in a recessive state.
- the one of the controller unit and a predetermined DGN is further to skip the transmission of a corresponding DGN data.
- the one of the controller unit and a predetermined DGN is further to close the data transmission.
- the DGN data may be composed of one or more data items from a group consisting of (1) DGN identifier, (2) DGN status, (3) data type, and (4) payload, and (5) a check field.
- the DGNs may transmit the DGN data as one of a group consisting of open collector signal; push-pull signal; mixed pull-push and open collector signal, designed to maintain the communication bus in recessive state during the spacing intervals.
- the predetermined DGN is to transmit over the CAN communication bus a Remote Frame addressing the plurality of associated DGN and the plurality of associated DGN are to respond by transmitting DGN data.
- the controller unit is to communicate over the CAN communication bus with the plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
- DGN data-generating node
- the controller unit is further to set one or more predefined identifying value of a specific bit within the Control Field of the data frame to enable communicating data frames having a logical structure according to one or more protocols from a group consisting of: CAN-FD standard, CAN-XL, CAN 2.0A, CAN 2.0B, CAN ISO 11898-2, CAN ISO 11898-3, ISO-CAN-FD, CAN-HG, J1939, CANOpen, CANOpen FD, DeviceNet, and ARINC825.
- a method for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame- Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises controller units and data- generating nodes (DGN), wherein for a controller unit and a plurality of associated data- generating nodes, the method comprising: requesting the plurality of associated DGN to provide DGN data; and controlling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
- DGN data- generating nodes
- the method may further comprise communicating the data frame to one or more communication nodes over the CAN communication bus.
- One or more of the DGNs are from a group consisting of: an audio sensor, an Active Noise Cancellation (ANC) sensor, ultrasonic sensor, radar sensor, navigation sensor, localization sensor, battery gauge, lighting indicator, RPM indicator, wheel speed indicator, liquid level indicator, battery voltage indicator, tension sensor, temperature sensor, pressure sensor, driver and passenger heart rate sensor, driver and passenger breathing sensor, driver and passenger ECG sensor, EPIC sensor.
- ANC Active Noise Cancellation
- the method may further comprise terminating a communication session of the data frame at least by one of (1) the controller unit; (2) one or more of the DGN; and (3) is terminated by a timeout mechanism.
- the method may further comprise selectively exchanging multiple data segments as a single data frame under a predefined communication session plan.
- the method may further comprise signaling the DGN to transmit a specific type of information.
- the spacing intervals may be implemented by transmitting edge spacing modulated symbols within the Data Field.
- the CAN communication bus remains in a recessive state.
- the method frther comprise, after the spacing interval, if the CAN communication bus remains in the recessive state for a skip duration, skipping the transmission of a corresponding DGN data.
- the method frther comprise, after the spacing interval, if the CAN communication bus remains in the recessive state for a reintegration duration, closing the data transmission.
- the DGN data may be composed of one or more data items from a group consisting of (1) DGN identifier, (2) DGN status, (3) data type, and (4) payload, and (5) a check field.
- the DGNs are to transmit the DGN data as one of a group consisting of open collector signal; push-pull signal; mixed pull-push and open collector signal, designed to maintain the communication bus in recessive state during the spacing intervals.
- the method may comprise transmitting over the CAN communication bus, by the predetermined DGN, a Remote Frame addressing the plurality of associated DGN and responding, by the plurality of associated DGN, by transmitting DGN data.
- the method may further comprise, by the controller unit, communicating over the CAN communication bus with the plurality of associated data-generating node (DGN); requesting the plurality of associated DGN to provide DGN data; controling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
- DGN data-generating node
- the method may comprise setting one or more predefined identifying value of a specific bit within the Control Field of the data frame to enable communicating data frames having a logical structure according to one or more protocols from a group consisting of: CAN-FD standard, CAN-XL, CAN 2.0A, CAN 2.0B, CAN ISO 11898-2, CAN ISO 11898-3, ISO- CAN-FD, CAN-HG, J1939, CANOpen, CANOpen FD, DeviceNet, and ARINC825.
- a data-generating node for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus
- the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the controller unit is to: communicate over a bus with at least one controller unit and a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
- DGN data-generating node
- a communication system for high bandwidth communication over a Controller Area Network (CAN) communication bus the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame- Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements, and wherein, for the controller unit of the transmitting node and
- a communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus
- the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field
- the communication system comprises controller units and data-generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; wherein the one of the controller unit and a predetermined DGN is to arrange portions of the
- DGN data-generating nodes
- Figures 1a-lc are block diagrams that schematically illustrate communication nodes in accordance with embodiments of the present invention.
- Figures 2a-2c are block diagrams that schematically illustrate possible options for realizing mixed-protocol communication according to embodiments of the invention.
- Figures 3a-3b are functional connection diagrams illustrating CAN -derivative bus networks in accordance with embodiments of the present invention.
- Figures 4a-4b are transmission diagrams that schematically illustrate the communication in the CAN-derivative bus network shown in Figure 3b;
- Figures 5a-5b show exemplary CAN-derivative frames modified in accordance with embodiments of the invention.
- Figure 6 further illustrates an exemplary CAN-derivative frame modified in accordance with embodiments of the invention.
- Figure 7 shows an example frame and a non-modulated data-phase signal
- Figure 8 is a transmission diagram illusrtating an example signal that is modulated in accordance with embodiments of the invention, and an expamle non-modulated signal;
- Figure 9 is a schematic functional illustration of an exemplary prior-art communication system;
- Figure 10 is a functional illustration of a CAN-derivative communication system according to embodiments of the invention;
- Figure 11a schematically illustrates a cycle time of reading multiple sensors by a single master device over prior art vehicular communication networks
- Figure 12 shows an exemplary CAN-derivative frame structure according to embodiments of the invention.
- Figure 13 shows an example data field of a frame structure according to embodiments of the invention.
- Figure 14 shows an exemplary CAN-derivative frame structure according to additional embodiments of the invention.
- Embodiments of the present invention provide systems and methods that can be implemented in Controller Area Network (CAN) communication systems, nodes, controllers, protocols, and methods.
- CAN Controller Area Network
- the systems and methods according to embodiments of the invention may replace existing CAN communication systems, nodes, controllers, protocols, and methods - or co-exist with them.
- CAN-derivative' will be used herein to describe CAN communication systems, nodes, controllers, protocols, and methods set according to CAN and CAN-FD standard protocols, CAN-XL and other CAN-based protocols.
- Examples to other other CAN- based protocols are CAN 2.0A, CAN 2.0B, ISO 11898-1/2/3, ISO-CAN-FD, CAN-HG, J1939, CANOpen, CANOpen-FD, DeviceNet, ARINC825, the protocol describes at PCT Application Publication No. W02020021392, which is incorporated herein by reference, and others.
- the message frame structure according to embodiments of the invention is based on the logic structure of the CAN-derivative protocols. Specifically, the bit-sequence and state-machine described in the CAN-derivative protocol standards are used:
- an Arbitration Field either the standard 11-bit or the extended 29-bit.
- the Arbitration Field may be used in the manner described in the CAN and CAN-FD protocol standards.
- acknowledgement and end-of-frame (a.k.a. EOF) sequences may remain unchanged as well, as described in the relevant CAN-derivative protocol.
- the DLC (data length control) field may remain either unchanged or partly changed to have a better granularity in data-phase length definition.
- the DLC logical structure can be modified by modifying a specific reserved bit within the control field, to notify the frame receiver nodes about a new type of protocol frame. While this modification is possible and may introduce high levels of flexibility, such frames shall not anymore comply with the CAN-FD basic frame structure and it will not be readable by CAN- FD-only protocol controllers.
- the communication system 20 may be formed as a mixed communication system, facilitating communication-based on the CAN protocol, the CAN-FD protocol, other CAN-derivative protocols, together with the novel communication protocol according to embodiments of the invention.
- the communication system, protocols, controller units and methods are to facilitate a data-phase protocol coding and decoding for high-bendwidth communication.
- the communication system, protocols, controller units and methods are to facilitate the exchange of multiple data segments as a single data frame.
- FIG. 1a-lc Various embodimnets of the invention may be realized as a controller unit, as illustrated in Figures 1a-lc.
- the structure of systems incorporating the controller unit is described with reference to levels of functionality- ECU, 1C and IP.
- the invention will be described herein mainly with reference to the functional aspects of the IP core level.
- ECU' stands for Electronic Control Unit (also called ECM - electronic control module).
- ECU designates an embedded system implemention - a combination of a computer processor, computer memory, and input/output peripheral devices that has a dedicated function within a larger mechanical or electrical system.
- ECUs are often based on microprocessors.
- ECUs are embedded as part of a complete device often including electrical or electronic hardware and mechanical parts, and control various operational aspects.
- the term 1C stands for Integrated Circuit.
- the term 1C as used herein designates the functional elements of the ECU that is realized as an 1C component.
- IP stands for a semiconductor intellectual property core (also called IP core, or IP block).
- IP core is a reusable unit of logic, cell, or 1C layout design that is responsible for the functional aspects of the ECU's operation.
- FIG. 1a schematically illustrates a communication node 10 for example of the kind used in the automobile industry.
- the communication node 10 is formed as an ECU 100, comprising microcontroller unit (MCU) 102.
- MCU microcontroller unit
- Controller unit 104 according to embodiments of the invention is implemented as part of MCU 102.
- the MCU 102 is connected to a physical layer interface PHY 106 to transmit data when acting as transmitting node and/or receive data when acting as a receiving node, communicating over bus 108.
- PHY physical layer interface
- Control Unit CU 114 is realized as a separate module.
- CU 114 is coupled to MCU 112 and PHY 116.
- the configuration of Figure lb may, for example, serve a scenario of equipping existing ECUs with the novel capabilities provided by the present invention.
- the communication node 124 is composed of analog sensor 122.
- the CU 124 and the physical layer interface PHY 126 are formed together.
- the communication node may be integrated inside a PHY transceiver unit or be used as a separate functional device (such as an ASIC, FPGA, MCU etc.) that be accessed using various interfaces such as SPI, QSPI, I2C, I2S, or standard Ethernet Media-Independent-Interface, such as, RMII, Mil, RGMII, and more.
- a PHY transceiver unit or be used as a separate functional device (such as an ASIC, FPGA, MCU etc.) that be accessed using various interfaces such as SPI, QSPI, I2C, I2S, or standard Ethernet Media-Independent-Interface, such as, RMII, Mil, RGMII, and more.
- a controller unit may be assimilated together with a CAN and/or CAN-FD protocol controllers in a single integrated circuit.
- the controller unit may be implemented as a separate integrated circuit that may be coupled to a CAN and/or CAN-FD protocol controllers arranged in a different integrated circuit.
- a single communication node capable of multi-protocol communication is provided.
- the controller unit may be implemented as a dedicated communication node capable of a single-protocol communication only.
- Figures 2a-2c schematically illustrate possible options for realizing mixed- protocol communication according to embodiments of the invention.
- Figure 2a illustrate, in a single integrated circuit, a controller unit 20 with functional elements 200, 202 and 204 capable of communicating in CAN protocol, CAN-FD protocol and the novel high-bandwidth protocol according to embodiments of the invention.
- Controller units 20 and 22 of Figures 2a-2b may be assimilated in communication nodes of any of the configurations depicted in Figures 1a-1c.
- controller unit 20 of Figure 2a is assimilated in the communication node 14 of Figure lc, a single communication node is thus capable of multi-protocol communication, should the communication system is configured as a mixed communication system.
- controller unit 22 of Figure 2b is assimilated in the communication node 12 of Figure lb, data from the MCU 112 may be communicated over bus 118 in the novel high-bandwidth protocol.
- MCU 112 be equipped with elements capable of communicating in CAN and CAN-FD protocols (not shown) - communication in these protocols is enabled.
- Mixed communication may be achieved in other configurations, for example, a controller unit capable of high-bandwidth communication may be implemented as a separate integrated circuit coupled to a CAN and/or CAN-FD protocol controllers arranged in a different integrated circuit.
- Figure 3a is a functional connection diagram of a CAN-derivative bus network 30 that can accomotade high-bandwidth communication including mixed communication according to embodimnets of the invention.
- the network 30 is arranged in a linear connection topology and is composed of communication node 300.1-300.n.
- Communication nodes 300.1-300.n may be construed as communication node 10 of Figure 1a, comprising MCUs 302.l-302.n and PHYs 304.1-304.n connected to CAN bus wiring 306.
- Each communication nodes 260.1-260.n connects all other communication nodes through the common bus wiring 280.
- a linear connection topology is typically preferred for best communication performance and low level of interferences. Nevertheless, for optimized wiring and cost, other topologies may be used, including topologies that degrade signal integrity and reliability.
- the topology of network 32 is common, for example, in vehicular communication.
- multiple groups G1-G3 of communication nodes passive- stars are interconnected by long wires W.
- This type of topology has many advantages in production cost, wiring total length, weight and other factors.
- such topologies have signal-related disadvantages due to the impedance mismatches caused by the splits, long stubs, and signal integrity issues in CAN-derivative architectures.
- Communication nodes 300.1-300.n may be arranged by a combinations of configurations depicted in Figures 1a-lc and 2a-2c, and many more.
- communication nodes 300.1-300.n are depicted in Figures 3a-3b as identical, but this is not necessarily so.
- the invention is not limited by the design and configuration of the communication nodes, as well as by the design and topology of the communication network. Many variations, options, modifications and alterations can be made without departing from the scope or spirit of the invention.
- a first aspect of the invention there are provided methods and systems for high bandwidth communication, achieved by coding the data field in CAN frame.
- the data field of the CAN frame is coded as a sequence of pulses with varying durations.
- the durations are the result of deviating a known cyclic signal waveform's level transition points by a series of delays ⁇ d 0 ,d 1 ,d 2t ...,d N _ 1 ⁇ .
- These delays are defined and calculated according to a sequence of data symbols ⁇ S0,S1 ,..,S N _ 1 ⁇ to be transmitted.
- the transmitter side transmits the modulated signal.
- the receiver side measures the received sequence of durations, estimates the original known cyclic waveform of level- transitions, and determines the corresponding sequence of symbols that was transmitted by the transmitter.
- the series of delays ⁇ d 0 , d 1 , d 2 , ...,d N _ 1 ⁇ is calculated by applying different modulation calculations for odd and even elements.
- the application of different modulation calculations for odd and even elements is aimed at addressing the inherent asymmetry that characterized the non-return-to-zero (NRZ) and CAN physical layer limitations in practical networks.
- NRZ non-return-to-zero
- the information is coded as a non-return-to-zero (NRZ) signal.
- the information is sampled by the receivers at pre-defined sampling points (1 sampling point or 3 sampling points). Due to these restrictions, and the physical layer potential limitations, the maximal possible baud-rate to be used in a typical channel is bounded well below the potential physical layer capacity.
- Figures 4a-4b schematically illustrate transmission diagrams of the communication in the topology illustrated in Figure 3b.
- the transmitted signal TXD and the received signal are shown in their dominant and recessive levels.
- Figures 4a-4b exemplify CAN-derivative bit driving asymmetry.
- a perfectly symmetric transitions are shown, and the sampling point samples the RXD signal in a safe location for which, the probability of bit switching error due to physical phenomena such as clock drift and jitter, ringing and others, is negligable.
- the propagation delay PD 1 between the falling edges TXD Edge 1 and RXD Edge 1 is like the propagation delay PD 2 between the rising edges TXD Edge 2 and RXD Edge 2.
- Figures 5a-5b show exemplary CAN-derivative frames 50, 52 modified in accordance with embodiments of the invention.
- the Field line in Figures 5a-5b refers to the various fields, and in the relevant cases, their bit length is recited.
- the Value line refers to the bit values that should be accommodated in the field or an 'X' value designating an arbitrary bit value ("don't-care").
- the values of the data phase are referenced 'CSP' to denote the coding of the data-phase as a sequence of pulses with varying durations, as will be explained further below.
- the frames 50, 52 complies with both typical standard and extended start of frame and arbitration segments.
- frame 50 of Figure 5a represents the case of a standard frame structure and frame 52 shows the extended PID frame structure (PID- packet identifier).
- a pre-defined reserved bit (named “rO" in CAN-protocol) may be used for protocol type selection.
- the pre-defined reserved bit is named "CSPF/XLF". Protocols which comply with the CAN-FD standard expect this bit to be in a "0" (dominant) state. Once this bit is set to "1" (recessive), CAN-FD protocol controllers release their interest in the frame and wait for the EOF and IFS, signifying the end of the CAN-derivative frame.
- Frames 50, 52 may be used by other, newly defined protocols (some of which are not currently considered public) such as CAN-XL.
- frames 50, 52 may be configured to use the reserved bit succeeding the XLF bit instead of the XLF bit (not shown).
- the CSPF/XLF bit (or CSPF bit shown in Figure 5b) may be followed by reserved bits for further, future expansion. In the non-limiting example of Figures 5a-5b, two reserved bits are defined.
- the reserved bits may be followed by 5 data-length bits denoting the data-payload length. This number is defined to allow larger packet sizes than 64 bytes.
- the mapping between the DLC value and the actual data length may vary.
- the actual amount of bit allocated for DLC may vary as well according to operational needs, allowing for better granularity and larger payloads management.
- the number of level-transitions in the data-phase may comply with the following Equation 1 for N LT :
- zero data frames are not allowed.
- Example (2) - N LT may be extended by certain amount of level transitions ⁇ crc to facilitate frame CRC field.
- the value for ⁇ crc may be determined according to the modulation parameters (including symbol lengths) and CRC length.
- Example (3) - N LT may be extended by certain amount of level transitions K meta to facilitate contextual metadata for protocol control, such as ethernet addressing, protocol types, data filtering information, message authentication code and more.
- protocol control such as ethernet addressing, protocol types, data filtering information, message authentication code and more.
- These information fields may be located at the start of the data-phase, but it can be embedded at other location along the data-phase as well.
- these information fields may be used for contextual message filtering, in addition to the standard RID based message filtering as in the CAN standard.
- Example (4) - N LT may be extended by certain amount of level transitions K preamble to facilitate a calibration and parameter refinement phase during the data-phase.
- This preamble sequence may contain either concentrated or distributed pilot level-transitions along the data-phase.
- Example (5) - N LT may be extended by a certain amount of level transition K FEC to facilitate forward error correction codes embedded by the transmitter and used by the receiver to correct possible data errors during the data transport.
- the actual type of code (Error correction code) may vary (e.g. Hamming, Reed-Solomon, Convolutional etc.), thus its contribution to the level-transitions count may vary as well.
- number of errors detected and corrected may be recorded in order to use this information for QoS (Quality of Service) purposes (e.g. physical layer debugging, interferences detection, parameters adjustments etc.). This information may be used also to mitigate tampering attempts and cyber-attacks of the data-bus in which the signal is degraded due to the incorporation of an additional hardware connected to the bus.
- QoS Quality of Service
- additional control-to-data and data-to- ACK delimiter bits may be used. This is illustrated in Figure 6. As shown, delimiter bits may be added between the control field and data-phase and between the data-phase to ack bit. This exemplary delimiter may be transmitted with either the low data-rate or the high data- rate. This delimiter ensures that the data phase starts with a falling edge (for synchronization) and end with a recessive logic level - delimiting the data-phase from the ack field.
- the rest of the frame (namely, ACK, ACK Delimiter, EOF and IFS) shall operate as defined in CAN and CAN-FD specifications.
- Message filtering may be implemented by message filtering mechanisms as described in the CAN and CAN-FD specifications.
- Additional data-phase filtering mechanisms may be facilitated to allow context dependent data transmission and reception. This may be particularly important when high amount of traffic is generated on busses integrating the methods and systems of the invention. For example, when a low-performance MCU (micro-controller) or time-critical process is connected to the bus, it shall filter out incoming information with not particular importance to it. In such case, the amount of computation required in high layers may be reduced significantly.
- ethernet and IP frame fields may be integrated during the data-phase, such as MAC address, protocol type etc.
- the disclosed method may have an optional capability to support frame and source authentication.
- the authentication scheme shall support industry standard MAC (message authentication code) methods or other proprietary method.
- the message authentication may be used to mitigate cyber-hazards such as data-tampering, impersonation, replay attacks, repudiation, data source detection etc.
- the disclosed method may have the capability to encrypt the transmitted traffic and decrypt it in the receiver side. Though the encryption and decryption may occur in high (application) layers, it may be beneficial to perform it in the MAC level.
- the data-phase of the CAN frame is coded as a sequence of pulses, modulated with varying durations.
- the durations are the result of deviating a known cyclic signal waveform's level transition points by a series of delays ⁇ d 0 , d 1, d 2 , ... , d N _ 1 ⁇ , that correspond to the sequence of data symbols ⁇ S 0 , S 1 ,...,S N _ 1 ⁇ to be transmitted.
- the data phase may be composed of a desired number of level-transitions (denoted herein as N LT logical value transitions) of a basic, non-modulated signal.
- Figure 7 shows an example frame 70 and a non-modulated data-phase signal 72.
- the non-modulated signal 72 is charachterized by T PNeg - the nominal duration of '0' bit, T PPos -the nominal duration of T bit, and T P - the average duration of a bit within the sequence,
- the transition rate in the data-phase can be controlled using parameters such as conventional CAN -style bit-timing (a.k.a. T q, N Prop , N ph1, N ph2 ) or in other methods such as: [0035] (1) Clock pre-scalar value (N PS ) and an optional offset value (N of fs ) defining the data-phase transition frequency and the ratio between T PNeg and T PPos (as described in Figure 7).
- parameters such as conventional CAN -style bit-timing (a.k.a. T q, N Prop , N ph1, N ph2 ) or in other methods such as: [0035] (1) Clock pre-scalar value (N PS ) and an optional offset value (N of fs ) defining the data-phase transition frequency and the ratio between T PNeg and T PPos (as described in Figure 7).
- the modulation is performed by adjusting the level transition location and delaying them according to the "to-be-transmitted" symbols.
- f clock denotes a system clock frequency serving the modulator and the demodulator
- G denotes a delay unit granularity in units
- L sym denotes the length of a data symbol in bits.
- R denotes a vector of modulated signal's level duration
- NPD denotes the nominal pulse duration in terms of 1 /f clock ⁇ Further possibility for NPD low and NPD high for dominant and recessive pulses respectively while NPD is given by Equation 2 and is equivalent to T P in clock-cycles units:
- the modulation may be formulated as follows:
- the modulated pulse delay sequence D is defined in Equation 3 as a function of input symbol array S:
- Equation 3 [0050] Equation 3:
- Equation 4 r i odd
- the modulator transmits the waveform according to the above R vector along the data-phase of the frame.
- Figure 8 illusrtates an example signal 82 (solid line) that is modulated in accordance with embodiments of the invention, and an expamle non-modulated signal 80 (is dashed line).
- the non-modulated signal 80 (dashed line) is characterized by nominal pulse durations NPD low and NPD high for dominant and recessive pulses respectively.
- the set of pulse transition delays D ⁇ d 0 , d 1, d 2 , ...,d N _ 1 ⁇ (not shown in Figure 8) is calculated in accordance with Equation 3.
- the delay unit granularity factor G and the length of a data symbol in bits L sym may be determined in accordance with the physical properties of the CAN bus. For example, the delay unit granularity G and the length of a data symbol in bits L sym may be determined to optimize the data rate . In order to maximize the amount of data to be communicated, a minimal delay unit granularity G value is desired, giving rise to shorter pulses to be transmitted.
- the modulated pulses to be transmitted cannot be too short - as the bus would not be able to communicate such a sequence of at acceptable error rate.
- the physical characteristics of the CAN bus are considered in setting the desired values of the delay unit granularity factor G and the length of a data symbol in bits L sym .
- the delay unit granularity G and the length of a data symbol in bits L sym may be determined to optimize the data rate under an acceptable bit arror rate.
- the delay unit granularity G and the length of a data symbol in bits L sym may be predermined for example, to address operational considerations such as noise (for example, caused by jitter), CAN bus utilization, and additional physical properties of specific communication buses.
- the delay unit granularity G and the length of a data symbol in bits L sym may be adaptive to link quality.
- the modulated pulse delay sequence D (as in Equation 3) may be recalculated with different valus of the delay unit granularity factor G, the length of a data symbol in bits L sym or both.
- the data rate may be slowed down. In the absence of error indications, the data rate may be increased.
- the vector of duration R may be measured by the receiver.
- the time measurement of the pulse duration may be conducted by using a clock cycle counter, clock cycle counter with a reset value, analog time duration measurement, time-to-digital converter (TDC) or another time measurement method.
- the demodulator measures the duration value vector and computes the pairwise summation of the durations and modulo operation as in Equation 5 follows: [0064] Equation 5:
- ⁇ i denotes the symbol that is estimated at the receiver side, based on the measurements of the modulated signal that was transmitted by the transmitter.
- Equation 5 includes the estimation that the - half the nominal cycle length in terms of 1/f clock as perceived at the receiving side, is identical or very close to the actual transmitted NPD value (the nominal pulse duration in terms of 1/f clock ) ⁇
- This assumption is based on the fact that the NPD variance mainly depends on the clock drift differences between the transmitter nodes and the receivers. For some operational scenarios, this assumption is true. For other operational scenarios a calibration operation may be added. For example, pilot symbols may be implanted by the transmitter in the sequence of pulses to be transmitted. The receiver side may use the pilot symbols to improve the ratio .
- the demodulator may be configured to measure the durations between consecutive level-transitions of the same type (falling to falling or rising to rising). In this manner, the receiver measured values are physical bit- asymmetry invariant.
- the demodulator may perform the measurement operation with a reset counter: a maximal value for the counter may be defined and each time this value is reached, the counter resets its value to '0'.
- the maximal value for the reset counter may be defined as half the nominal cycle length in terms of 1 /f clock as perceived at the receiving side. In such a case, the execution of the modulo operation at the receiver side may be obviated.
- the demodulator may perform the measurement operation with hybrid counting logic consisting of full clock measurement augmented by a partial clocks counter for better granularity and resolution of measurement.
- the partial clock counter may use high speed clock source, a PLL, a time-digital-converter, an analog time measurement circuit or any other method supporting high resolution time measurements.
- the value may be passed through a maximum-likelihood estimator after performing the pairwise summation:
- the transmitter may encode the transmitter data using gray coding to minimize Bit- Error-Rates.
- the receiver party shall contain a gray decoder.
- the usage of gray coding in digital communication is well established in the industry, and the invention is not limited by the manner of gray coding implementation.
- the transmitter may encode the transmitted data using a forward error correction (FEC) coding. If forward error correction (FEC) coding is used, the receiver must decode the incoming symbols and correct them.
- FEC coding may include an interleaver (in the transmitting side) and de-interleaver (in the receiving side) to optimize some error correction codes' (ECC) performance in cases of block errors and erasures.
- ECC error correction codes'
- the outputs from the above described ECC block may be used to calculate a measure for Quality of Service. This may be specifically useful for debugging, diagnosing and validating network architecture, and communication system health.
- embodiments of the present invention provide communication systems and methods for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus.
- CAN Controller Area Network
- FIG 9 is a schematic functional illustration of an exemplary prior-art communication system 10.
- Communication system 10 comprises multiple communication nodes, shown in Figure 9 as sensors 100.
- Communication system 10 may, for example, represents a vehicular communication system, industrial communication systems, and many other systems in other fields.
- the communication system 10 oftentimes is structured as a CAN-derivative network with an asymmetric topology and an asymmetric traffic pattern, represented in Figure 9 as asymmetric traffic function 110.
- the information coming from the sensors 100 is processed by other system elements at corresponding communication nodes, represented in Figure 9 as Signal Processing and Fusion function 120.
- FIG. 10 is a functional illustration of a CAN-derivative communication system 20 according to embodiments of the invention.
- Three types of communication nodes are shown: general-purpose Electronic Control Units (ECUs) 200, sensor nodes SI,... Sn 210 (or any other DGN - data-generating node) and a master ECU M 220 for data processing and fusion that samples the sensor ECUs 210.
- ECUs Electronic Control Units
- SI Sensor nodes
- Sn 210 or any other DGN - data-generating node
- master ECU M 220 for data processing and fusion that samples the sensor ECUs 210.
- the ECUs 210 are hardware/software or firmware components that support advanced functionalities such as higher efficiency, smart and data-driven control, and better safety, ease of use, and driving experience for the drivers passengers.
- Each ECU 200, 210, 220 connects with the other ECUs through the common CAN bus (or CAN-derivative) wiring 230.
- the invention is not limited by the structure of the communication network and the type of communication nodes.
- Part or all of the ECUs 200, 210, 220 comprises a controller unit CU according to embodiments of the invention, for example, as shown in Figures 1a-lc, 2a-2c.
- vehicular sensors such as sensors 210 in Figure 10
- vehicular sensors are required to frequently share small packets of data, for example, sensor status data, synchronous sensors' readings, audio samples, ultrasonic sensors, diagnostic information, and more.
- prior art communication systems (such as system 10 in Figure 9) suffer from limited ability to efficiently stream the small packets of information from multiple sources in a concurrent and synchronous manner.
- LIN is a broadcast serial network comprising 16 nodes (one master and typically up to 15 data-generating nodes).
- the master initiates all messages to be communicated in a specific LIN system with at most one data-generating node replying to a given message identifier.
- the master node can also act as a data- generating node by responding to its own messages.
- LIN protocol allows synchronous readings of sensors and actuators' data, but its maximal allowable data-rate prevents it from facilitating high-throughput information such as audio, radar, and fast control loop data.
- High-layer protocols such as TTCAN (time-triggered CAN) protocol may solve the synchronization issues, but the effective throughput problem remains.
- FlexRay communication systems and MOST (Media Oriented Systems Transport) communication systems provide high effective data-rate but are optimized for large packet streaming similarly to CAN-derivative protocols, thus lack sample-level isochronous transmission capabilities.
- Pulse-width modulation (PWM) and analog signaling of various automotive sensors are well established in the market, but they require point-to-point wiring.
- analog signaling is prone to emission disturbances and lacks robustness in the automotive environment.
- FIG 11a schematically illustrates a cycle time of reading multiple sensors S1,...,SN by a single master device over the CAN communication network or other prior art vehicular communication networks.
- the effective cycle time (the period for all the existing sensors to be read) is long due to the repetition of the flow-control segments of each message. This limitation negatively affects the latency, synchronization, the maximal data-rate, and minimal cycle time of the system and degrades the overall bus occupancy and service quality.
- the cycle time of a communication system is schematically illustrated in Figure lib.
- a group of sensors shares a single data frame for communicating their information. Under the control of a master node, each sensor transmits its reading during the multiple access data-phase. Efficiency is thus achieved by communicating the same sensor information while avoiding the overhead required to communicate multiple, separate CAN frames.
- the Data Field of a CAN-derivative frame is structured as a single-access phase. If more than a single communication node is accessing the data phase, the transmitted data may be corrupted and an error frame is triggered.
- the Data Field of the frame is structured such that, along the data-phase, the multiple communication nodes accessing the single frame may take control of the bus and transmit their payloads of information without interrupting the normal bus operation.
- This collaborative formation of frame can create a fully compliant CAN and CAN-FD frame of the bus, such that may be read by a legacy CAN-FD receiver.
- the respective communication nodes are assigned together.
- type S communication nodes sensors or other data-generating nodes
- controller unit M may request the assigned communication nodes to provide data, control the transmission of the sensor data over the CAN bus, and arrange portions of the sensor data received from the plurality of communication nodes as sequential segments of the Data Field of the data frame.
- multiple communication nodes (referred to herein as sensors or DGNs - Data-generating nodes) are assigned together to form a group of data-generating nodes (sensors).
- a predetermined one of the sensors functions as the controller of the multiple-axccess communication, as will be explained herein.
- the controller unit 30, 32, 34, or 36 is to process data to be transmitted over a CAN- derivative network such as CAN, CAN-FD, CAN-XL, and other CAN-derivative protocols.
- a CAN- derivative network such as CAN, CAN-FD, CAN-XL, and other CAN-derivative protocols.
- the message frame structure 40 is based on the logic structure of the CAN-derivative protocols. Specifically, the bit-sequence and state-machine described in the CAN-derivative protocol standards are used.
- a Start-of-Frame bit [0099] A Start-of-Frame bit; [0099] an Arbitration Field - either the standard 11-bit or the extended 29-bit.
- the Arbitration Field may be used in the manner described in the CAN and CAN-FD protocol standards.
- the communication session of the data frame is open for a period of time that complies with a frame structure of CAN, CAN-FD, CAN-XL and other CAN-based and CAN-derivative protocols, and ethernet.
- Figure 12 shows an exemplary CAN-derivative frame structure 50 according to embodiments of the invention.
- the frame structure 50 starts with a Start-of-Frame bit SOF 500.
- the Arbitration Field ARB 502 may be structured as described in the CAN protocol and CAN-FD protocol.
- the arbitration segment may allow standard (basic) 11-bit arbitration or extended 29-bit arbitration.
- the Arbitration Field ARB 502 is followed by Control Field 504.
- the control bits such as the FDF, REM, R0, R1 may remain as described in the CAN protocol and CAN-FD protocol.
- the control bits may be modified to introduce a new type of protocol by re-assigning the purpose of R1 as a switching mechanism between the CAN-FD protocol and the novel proposed protocol.
- Control Field 504 may be structured with particular modifications comparing typical CAN-derivative protocols to improve the overall protocol efficiency, preserve error detection, and maintain bus-wide data consistency.
- the Data Length Control field DLC 504.7 may be structured to have a better granularity in data-phase length definition.
- Data Field 506 is structured as multiple data segments 506.0 to 506.N-1, and spacing intervals ISS to facilitate the access by multiple communication nodes [0,N-1].
- the various data- generating nodes O - N-1 accessing the single frame may take control of the bus and transmit their payloads of information without interrupting the regular bus operation, as will be described herein.
- Check Field CRC 508, Acknowledgement Field AKN 510, End of Frame Field EOF 512, and IFS 514 may be structured as described in the CAN protocol and CAN-FD protocol.
- the communication session of the data frame may be terminated as the frame exceeds the defined data-length during the control field, or arbitralily by the master, one or more of the assigned DGNs, or by a timeout mechanism, or a combination thereof.
- the arbitration and the EOF fields of the frame are controlled by a bus master (for example, element M shown in Figure 10).
- the time intervals ISS in the Data Field 506 may be defined dynamically for each frame or globally pre-determined according to the CAN-bus bit-timing characteristics.
- the bus master M receives the data that is communicated by the DGNs and arrange portions of this data as sequential segments of the data field 506 of the data frame
- each of the communication nodes 0 - N-l participating in the network is assigned a unique identification number.
- these identifications may be a list of ordered numbers (e.g., ID ⁇ ⁇ 1,2,3, ... , N ⁇ ).
- the data-phase 506 may start with the master's request packet.
- the request packet may be structured as a source list from which the information is requested.
- the list may be given as a bit-field of source identifications (e.g. a 32-bit field may identify up to 32 assigned nodes).
- the list may be sorted in ascending, descending or arbitrary order.
- the master request packet may further be structured as a request for data type information from data sources - signaling the assigned communication nodes to transmit specific information types.
- the data-phase 506 may contain no directives by the master side, and a pre-determined sequence of transmissions by the DGNs.
- the system architect pre-defines the sequences of information to be transmitted by the DGNs to the master and assignes the rules of operation to the master side and participating DGN units. This configuration may be administered to the nodes by software settings, hardware settings such as GPIO coding etc.
- the master request packet may be structured as configuration parameters for the various sources - optionally defining or modifying the network participants' configuration.
- the various data-phase segments 506.0-506.N-1 are inter-separated by the inter-segment-spacing ISS.
- the spacing intervals may be chosen to exceed the maximal bus propagation round-trip period.
- the bus is released for at least a defined period T 1SS , in which, the bus remains in the recessive state.
- the ISS interval is intended for: (1) guarding the bus against collisions caused by signal round-trip travel over the physical layer when multiple access occurs, and (2) the insertion of evident delimiters between the various bus accesses to simplify flow control.
- An exemplary period for ISS may be set as outlined in Equation 6:
- t tx,max denotes the time of propagation of the signal within the interface transceivers (at the transmitting edge)
- t rx.max denotes the time of propagation of the signal within the interface transceiver (at the receiving edge).
- the T ISS may be arbitrarily configured by the user or automatically computed and used by the controller unit for optimal throughput.
- the master's request period After the master's request period, it may actively release the bus by writing a recessive bit level, starting the first ISS period. Furthermore, switching to the recessive ISS period happens after completing each transaction by any party on the bus.
- any other unit may take control of the bus and transmit its information. If the bus remains recessive for a period above T skip , the next normal transmitting node may be considered missing or erroneous; thus its turn is skipped. If the bus remains recessive for the period above T reinitegrate , the master node may take control over the bus and close up the data-phase.
- T skip , T reintegrate may be configured by the user, according to basic rules of choice for optimal functionality, such as, for instance, as outlined in Equation 7:
- FIG. 13 illustrates an example data field 70 of a frame structure according to an embodiment of the invention.
- DGNs data-generating nodes
- DGNs 0-4 are shown (the master M is designated as DGN 0).
- DGNs 1-4 are assigned to the master node in this non-limiting example.
- the data-phase segments 71-74 are composed of the respective DGN data.
- the data-phase segments 71-74 are inter-separated by the inter-segment-spacing ISS. A response from node 3 is missing.
- T skip is defined as 2 ⁇ T ISS .
- DGN 4 detects that DGN 3 doesn't respond to its turn for sending information (as defined by the master's requested source list)
- DGN 4 shall wait for DGN 3 another T ISS to respond, and only then it shall transmit its payload, assuming that DGN 3 didn't respond.
- T reintegration is defined as 3 ⁇ T ISS thus, if no node reacted during this period, the master unit shall react by closing the data-phase and reintegrating the bus by returning to the CRC and acknowledge field.
- the ratio between T reintegration and T sklp can be set to satisfy operational needs.
- the ratio between T reintegration and T skip may be set to reflect the number of nodes on the bus that are assigned to multiple access on the same single data frame, that that can skip their response with a tolerable affect. For instance, in the example for Figure 13, this number is one - only one assigned node may skip its turn for reaction during the data-phase response sequence.
- the assigned DGNs identify themselves within the requested source list and process the request or fetch the requested information from their memory or other location such as their device list.
- each of the DGNs optionally transmits an optional synchronization dominant edge of defined length (a.k.a. a start bit); the transmitting DGN further transmits its payload over the bus.
- the structure of the DGN payload may be comprised of the following exemplary data-fields: Unique identification; Optional status field - indicating the nodes current configuration, status, errors and the like; The transmitted data type in the payload; The payload - the actual value or a set of values to be transmitted.
- the bus Upon completion of the data transmission by the assigned DGNs, the bus is released by the master, which puts a recessive bit on the bus. In response, the bus goes into an ISS state.
- the DGNs are configured to follow the following transmission rules: each node waits for at least the duration of T ISS before commencing its transaction; before starting the transaction, each node shall make sure the bus is in the recessive state.
- the DGN ordered i in the source list shall wait for the DGN ordered i — 1 in the source list to finish its transaction unless a predefined period elapses - T skip . If the i'th DGN waits for T skip for the starting point of the (i — 1)' th node and the bus remains recessive (released), it may stop waiting and start its transaction.
- the communication nodes are configured for error detection and confinement.
- CRC error is detected by any of the communication nodes participating in the frame reception, these communication nodes send a NACK (recessive) bit during the acknowledge phase.
- NACK residual
- This functionality may resemble the functionality described in the CAN and CAN-FD protocols. Further, form error detection may be enabled as well by structuring the frame to include a stuffing mechanism as described in the CAN and CAN-FD protocols.
- the length of the CRC, its configuration and polynomial, may vary in accordance with the safety requirements from the protocol and other operational considerations.
- the DGNs are constructed to form a group of associated DGNs, and a predetermined one of the associated DGNs is configured to request the plurality of associated DGNs to provide their data.
- the predetermined DGN may respond, over the CAN communication bus, to a Remote Frame request addressing the plurality of associated DGNs information.
- This remote request is responded by the designated DGN by acting as the master node in the network, starting a CAN frame with multiple access data-phase session, controlling its paramteres and finalizing it during the EOF field.
- the plurality of associated DGNs may be configured to respond to such a request by transmitting their DGN data.
- the frame structure of a legacy CAN, CAN-FD or CAN-XL may be strictly preserved all along the frame.
- the frame that will be reflected on the bus will fully comply with these legacy protocol frame structures.
- the formed frame structure may be readable for legacy protocol controllers participating in the bus, such that the distributed data-source payloads will be served to them in an efficient, packed format without the need to change their protocol specifications.
- the DGNs are configured to transmit the DGN data as an open collector signal. According to other embodiments of the invention, the DGNs are configured to transmit the DGN data as a push-pull signal. According to yet other embodiments, the DGNs are configured to transmit the DGN data as a mixed push-pull and open collector signal, designed to maintain the communication but in a recessive state during the spacing intervals.
- the information on the bus may be better protected against electromagnetic interference (EMI), electromagnetic compitability (EMC) and noise induced errors.
- EMI electromagnetic interference
- EMC electromagnetic compitability
- the open-collector signalling method used by CAN protocols are prone to errors and asymmetries in the physical layer, thus, using better signalling methods such as push-pull signalling may improve the resilience of the data on the bus.
- each DGN may elect to use push-pull electrical signalling method rather than the conservative open-collector method, during its packet transmission period.
- the push-pull signalling is finished and the bus is idle until either another DGN transmits its information of the session is finalized.
- the usage of push-pull signalling simplifies the cost-constrained node architectures and improves signal integrity and signal-to-noise ratio. The use of push-pull signalling thus improves the communication speed and relaxes other system level constraints such as clock accuracy requirements and costs.
- Figure 14 shows an exemplary CAN-derivative frame structure 90 according to embodiments of the invention, wherein a group of DGNs generate data that is communicated in a single frame - multiple accessed-frame - as shown, for example, in Figures 10 and 12; and the data field of the multiple accessed-frame is coded for high bandwidth communication, as shown, for example, in Figure 8.
- the bus master (element 220 in Figure 10) is to code the data provided by the assigned DGNs by modulating a sequence of DGN data pulses with varying durations (as explained for example with reference to Equations 3, 4 and 5), as well as controls the multipe access configuration, for example as explained with reference to Figure 12.
- the frame structure 90 starts with a Start-of-Frame bit SOF (not shown).
- the Arbitration Field 902 may be structured as described in the CAN protocol and CAN-FD protocol.
- the multiple access arbitration is implemented, for example, by signalling the DGNs to code their information using the high bandwidth method.
- the signaling may be facilitade, for example, by introducing yet another branch in the reserved bits sequence.
- the Arbitration Field 902 is followed by Control Field 904.
- the Control Field 904 may be controlled by the master. If control field is needed, it is "written” on the bus by the master - not the DGNs. The DGNs "write” on the bus during the data-field and do not have access during the arbitration and control fields of the frame.
- the master node may further perform a bus-burst operation in which the bus utilization is shared between the collaborative and non-collaborative modes.
- the bus participants may comply with CAN- derivative specifications, send and receive messages as described in various legacy protocols and implementations with RID, CONTROL, DATA and ACK fields.
- the master node opens a burst session in which the data-phase is not strictly time constrainted.
- the various DGNs may write their data payload in a sequential way or comply with various techniques to arbitrate the bus usage, such as the techniques incorporated in IEEE-802.3.
- This collaborative mode session may be finalized by the master side to return to the non-col la borative mode.
- the data field 906 is followed by CRC Field 908, that is controlled by the master DGN.
- the CRC Field 908, is followed by Acknowledgment field Ack 910.
- the acknowledge bit multiple access operation may fully resemble the requirements and specifications of the CAN and CAN-FD protocols.
- Frame 90 ends with EOF + IFS field 912, As described in CAN and CAN-FD protocol specifications.
- Specific embodiments of the invention may be useful for a variety of applications, for example, in the automotive market, that need efficient readings of sensors, actuators, and streamed signals with minimal bus time utilizations, isochronous and synchronous operation, and minimal latency.
- applications are automotive sensor (ultrasonic, radar, etc.) information gathering; Industrial sensor information gathering; automotive audio applications (active noise cancellation, road noise cancellation, eCall, etc.); automotive persistent diagnostic service over CAN; and navigation and localization information for fusion and SLAM (Simultaneous Localization and Mapping) and self-driving.
- the invention is not limited by the specific implementation and application that are described herein.
- Sensor sampling and conditioning system-on-a-chip (SOC) - the vehicular network may contain various types of sensors, some of which may have the capability to transmit their information over the CAN network.
- a system on a chip may be constructed in accordance to embodiments of the invention, and all the additional logic for sampling, interfacing, filtering, and conditioning such samples before sending them over the network.
- One example of such system on a chip may be used for vehicular ultrasonic sensors. These sensors are short-range radar-type devices and are typically used in vehicles as surround collision prevention sensors.
- Inertial and navigation sensors sampling for SLAM (Simultaneous Localization and Mapping) navigation may be used together with other components: GPS, accelerometers, gyroscopes, magnetometers, inclinometers, barometers, optic flow sensors, traffic sign recognition, and localization sensors. All these examples may produce a high rate of information with small payload sizes.
- the disclosed method is used to transmit audio information in real-time and sample-level.
- Most prior art CAN-networks may struggle to communicate audio samples in real-time without buffering the information first.
- audio samples may be sent by several concurrent audio sources to be later digested by a digital signal processor.
- One of such application is ANC (active noise control and cancellation) or RNC (road-noise cancellation), in which sample-level information needs to be received by a DSP (digital signal processor) from many different microphone devices concurrently.
- Embodiments of the invention may be used for periodic diagnostic information delivery to a master gateway ECU in a vehicle.
- a diagnostic service running in the gateway shall be scheduled to request information (sensor readings, error list, operational status, etc.) from its assigned data-generating nodes (for example, other ECUs on the network).
- This information may be recorded, analyzed, or delivered to a remote server to gain insights for problem diagnostics, preventive and predictive maintenance, usage statistics, and anomaly detection.
- one or more pilot signal transmitted by the transmitting node are used for calibrating the modulation between the transmitter and the receiving node (receiver).
- the transmitter may apply one or more encoding settings which the receiver must be familiar with in order to correctly demodulate and decode the modulated signal.
- the pilot signals may be used to transfer theses encoding settings to the receiver.
- the pilot signal(s) may include calibration information that may be used by the receiver to calibrate and adjust according to one or more encoding setting applied by the transmitter.
- the calibration information may includes, for example, the duration and/or the maximum number of delay time units.
- the receiver may use the calibration information to calibrate and adjust itself to synchronize with the operation mode of the transmitter.
- pilot message signals may further allow dynamically adjusting the encoding setting(s) in real-time and using the pilot signal(s) to update the decoder about the adjusted encoding setting(s).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
A communication system for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start - Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements,
Description
HIGH BANDWIDTH CAN-DERIVATIVE COMMUNICATION
CROSS REFERENCE TO RELATED APPLICATIONS
[001] This application claims priority from US provisional patent applications 62/972,699 filed February 11, 2020, and 62/986,799, filed March 9, 2020, both of which are incorporated herein by reference.
FIELD OF THE INVENTION
[002] The present invention relates to Controller Area Network (CAN) communication systems, nodes, controllers, protocols, and methods.
BACKGROUND OF THE INVENTION
[003] Serial communication is used in many fields and for many applications.
[004] A widely used protocol for serial communication is the CAN protocol specified in the BOSCH CAN Specification 2.0 (available at the Robert Bosch GmbH website: http://www.semiconductors.bosch.de) and in the International Standard ISO 11898-1. [005] CAN delivers a data-rate of up to IMbit/s. Two factors limit the effective data-rate in CAN networks: a first limiting factor is the minimum bit time required for the function of the CAN bus arbitration method. The second limiting factor is the relation between the numbers of data bits and frame bits in a CAN message.
[006] "CAN with Flexible Data-Rate" or CAN-FD protocol is an extension of the CAN protocol. The CAN-FD protocol was released in 2012 by BOSCH (available at the Robert Bosch GmbH website: http://www.semiconductors.bosch.de). CAN-FD uses the CAN bus arbitration method and increases effective bit-rate. The CAN-FD effective data-rate is increased - up to 5Mbit/s, and allowing more extended data fields. The CAN protocol uses four bits as the Data Length Code resulting in 16 different codes. Only the first nine values are used - codes [0-8], standing for data field length of [0-8] bytes. In CAN, the codes [9-15] are defined to signify eight data bytes. In CAN-FD, the codes [9-15] are used to indicate more extended data fields.
[007] Following CAN and CAN-FD protocols, a mixed communication system can employ CAN nodes and CAN-FD nodes. Nodes in the network must have a CAN-FD protocol controller for CAN-FD communication, and all CAN-FD protocol controllers are also able to communicate in CAN communication.
[008] CAN-XL is another extension of CAN, aimed at delivering an increased data-rate of up to lOMbit/s. Publications on the CAN XL specification are available by the CAN in Automation (CiA) nonprofit association. ISO standardization proceedings of CAN-XL are expected.
[009] CAN XL is scalable regarding payload length (1 to 2048 byte) and bit-rate (below 1 Mbit/s to 10+ Mbit/s). The large data fields of CAN XL enable higher layer protocols like IP (Internet Protocol). To operate at its maximal data-rate, CAN-XL requires a different type of bus transceiver with two electrical modes - recessive/dominant, like in CAN and CAN- FD, and push-pull signalling method.
[0010] In addition to the CAN and CAN-FD standard protocols and the CAN-XL, additional CAN-derivative protocols are known, including, for example, CAN 2.0A, CAN 2.0B, ISO 11898-1/2/3, CAN-FD, ISO-CAN-FD, CAN-HG, J1939, CANOpen, CANOpen FD, DeviceNet, ARINC825 and others.
[0011] CAN-derivative communication networks are prone to communication congestions caused due to (1) bus topology, length and media properties, (2) CAN-derivative protocol structure constraints, (3) physical layer integrated circuit limitations, (4) interferences, and (5) systems' clocks limitations and mismatch, and other reasons.
[0012] Proper operation of CAN-derivative communication systems is commonly achieved by adaptation of CAN data-phase baud-rate to a limit in which zero-errors are detected on the bus. In practical applications, the busses are designed with high margins in terms of (1) maximal allowable possible baud-rate, (2) bus topology, (3) components ratings and specs, and other properties. Baud-rate, topology and component property large margins lead to high-costs in engineering and production, large amounts of wiring and interconnections and low effective data-rates. As a result, the full potential of the physical layer, the wiring, the environment, and transceivers, is not exploited in an optimal manner.
[0013] CAN-derivative communication is widely used in electronic systems in fields such as vehicles, robotics, defense, industrial automation, underwater vehicles, medical equipment, avionics, and other industries.
[0014] The following publications describe CAN and CAN-derivative communication systems, protocols and methods: US Patent Nos. 9,742,584; 9,645,958; 9,513,988;
9,690,742; 10,212,002; 10,742,443; 10,673,677 and US Patent Applications Nos. 2020/0104270; 2020/0065277.
[0015] A common use of CAN-derivative communication is for broadcasting sensor data and control information on wire interconnections between different parts of the electronic instrumentation and control system. In modern high-performance systems, there is a growing need for serial communication networks with higher bandwidth.
SUMMARY OF THE INVENTION
[0016] According to a first aspect of the invention, there is provided a communication system for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
[0017] There is provided a controller unit for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is
composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements. [0018] The controller unit of the receiving node is to measure a received sequence of pulses durations, estimate therefrom the series of delays and determine the sequence of data symbols.
[0019] The controller unit of the receiving node is further to measure the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions.
[0020] The series of delays may further depends on a delay unit granularity factor G and a length of a data symbol Lsym in bits. The delay unit granularity factor G and a length of a data symbol in bits Lsym are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
[0021] In response to link quality indication, the controller unit may recalculate the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits Lsym.
[0022] The data frame may comprise one or more pre-defined reserved bits used for protocol type selection and the controller unit is to facilitate communication over the CAN communication bus in more than a single protocol.
[0023] The number of level transitions in the Data Field may be determined as a function of DLC data length code and is optionaly extended to constitute one or more information fields from a group consisting of: the sequence of data symbols to be transmitted; CRC length; contextual metadata for protocol control; calibration pilot level-transitions; and forward error correction codes.
[0024] The controller unit of the transmitting node may transmit pilot signals containing calibration information and the controller unit of the receiving node is to calibrate measurement clock based on the calibration information.
[0025] The controller unit of the transmitting node may scramble the symbols to be transmitted and the controller unit of the receiving node may descramble the symbols. [0026] There is provided a method for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and at least one controller unit of the transmitting node and at least one controller unit of the receiving node, the method comprising coding and transmitting the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
[0027] The series of delays may depends on a delay unit granularity factor G and a length of a data symbol Lsym in bits and wherein the delay unit granularity factor G and a length of a data symbol in bits are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
[0028] The method may further comprise, in response to link quality indication, corecalculating the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits Lsym.
[0029] The data frame may comprise one or more pre-defined reserved bits used for protocol type selection and the method further comprises facilitating communication over the CAN communication bus in more than a single protocol.
[0030] The number of level transitions in the Data Field may be determined as a function of DLC data length code and is optionaly extended to constitute one or more information fields from a group consisting of: the sequence of data symbols to be transmitted; CRC length; contextual metadata for protocol control; calibration pilot level-transitions; and forward error correction codes.
[0031] The method may further comprise measuring a received sequence of pulses durations, estimating therefrom the series of delays and determining the sequence of data symbols.
[0032] The method may further comprise measuring the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions. [0033] The method may further comprise transmiting pilot signals containing calibration information and calibrating measurement clock based on the calibration information. [0034] The method may further comprise scrambling and descrambling the symbols. [0035] According to a second aspect of the invention, there is provided a communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data-generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to: request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and wherein the controller unit is to arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0036] There is provided a controller unit for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure
according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to communicate over a bus with a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data- segments; arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0037] The controller unit is further to communicate the data frame to one or more communication nodes over the CAN communication bus.
[0038] The one or more of the DGNs are from a group consisting of: an audio sensor, an Active Noise Cancellation (ANC) sensor, ultrasonic sensor, radar sensor, navigation sensor, localization sensor, battery gauge, lighting indicator, RPM indicator, wheel speed indicator, liquid level indicator, battery voltage indicator, tension sensor, temperature sensor, pressure sensor, driver and passenger heart rate sensor, driver and passenger breathing sensor, driver and passenger ECG sensor, EPIC sensor.
[0039] A communication session of the data frame may be open for a period of time that complies with a frame structure of a group consisting of CAN protocol, CAN-based protocol, CAN-FD, CAN-FD-based protocols, CAN-XL protocol, and ethernet. The communication session of the data frame may be terminated at least by one of (1) the controller unit; (2) one or more of the DGN; and (3) is terminated by a timeout mechanism.
[0040] According to an embodiment of the invention, the controller unit is further to selectively exchange multiple data segments as a single data frame under a predefined communication session plan.
[0041] According to an embodiment of the invention, the one of the controller unit and a predetermined DGN is further to signal the DGN to transmit a specific type of information. [0042] The spacing intervals may be implemented by transmitting edge spacing modulated symbols within the Data Field.
[0043] The spacing interval may have a duration TISS calculated based on at least (1) a length of the CAN communication bus, (2) a propagation velocity of signals in the CAN communication bus, (3) a maximal propagation velocity of signals in the DGN and the controller unit, and (4) the CAN communication bus bit timing parameters.
[0044] During the spacing intervals, the CAN communication bus may remain in a recessive state.
[0045] According to an embodiment of the invention, after the spacing interval, if the CAN communication bus remains in the recessive state for a skip duration, the one of the controller unit and a predetermined DGN is further to skip the transmission of a corresponding DGN data.
[0046] According to an embodiment of the invention, after the spacing interval, if the CAN communication bus remains in the recessive state for a reintegration duration, the one of the controller unit and a predetermined DGN is further to close the data transmission. [0047] The DGN data may be composed of one or more data items from a group consisting of (1) DGN identifier, (2) DGN status, (3) data type, and (4) payload, and (5) a check field. [0048] The DGNs may transmit the DGN data as one of a group consisting of open collector signal; push-pull signal; mixed pull-push and open collector signal, designed to maintain the communication bus in recessive state during the spacing intervals.
[0049] According to an embodiment of the invention, the predetermined DGN is to transmit over the CAN communication bus a Remote Frame addressing the plurality of associated DGN and the plurality of associated DGN are to respond by transmitting DGN data.
[0050] According to an embodiment of the invention, the controller unit is to communicate over the CAN communication bus with the plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0051] According to an embodiment of the invention, the controller unit is further to set one or more predefined identifying value of a specific bit within the Control Field of the data frame to enable communicating data frames having a logical structure according to one or more protocols from a group consisting of: CAN-FD standard, CAN-XL, CAN 2.0A, CAN 2.0B, CAN ISO 11898-2, CAN ISO 11898-3, ISO-CAN-FD, CAN-HG, J1939, CANOpen, CANOpen FD, DeviceNet, and ARINC825.
[0052] There is provided a method for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame- Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data- generating nodes (DGN), wherein for a controller unit and a plurality of associated data- generating nodes, the method comprising: requesting the plurality of associated DGN to provide DGN data; and controlling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0053] The method may further comprise communicating the data frame to one or more communication nodes over the CAN communication bus.
[0054] One or more of the DGNs are from a group consisting of: an audio sensor, an Active Noise Cancellation (ANC) sensor, ultrasonic sensor, radar sensor, navigation sensor, localization sensor, battery gauge, lighting indicator, RPM indicator, wheel speed indicator, liquid level indicator, battery voltage indicator, tension sensor, temperature sensor, pressure sensor, driver and passenger heart rate sensor, driver and passenger breathing sensor, driver and passenger ECG sensor, EPIC sensor.
[0055] The method may further comprise opening a communication session of the data frame for a period of time that complies with a frame structure of a group consisting of
CAN protocol, CAN -based protocol, CAN-FD, CAN-FD-based protocols, CAN-XL protocol, and ethernet.
[0056] The method may further comprise terminating a communication session of the data frame at least by one of (1) the controller unit; (2) one or more of the DGN; and (3) is terminated by a timeout mechanism.
[0057] The method may further comprise selectively exchanging multiple data segments as a single data frame under a predefined communication session plan.
[0058] The method may further comprise signaling the DGN to transmit a specific type of information.
[0059] The spacing intervals may be implemented by transmitting edge spacing modulated symbols within the Data Field.
[0060] The the spacing interval may have a duration TISS calculated based on at least (1) a length of the CAN communication bus, (2) a propagation velocity of signals in the CAN communication bus, (3) a maximal propagation velocity of signals in the DGN and the controller unit, and (4) the CAN communication bus bit timing parameters.
[0061] According to an embodiment of the invention, during the spacing intervals, the CAN communication bus remains in a recessive state.
[0062] According to an embodiment of the invention, the method frther comprise, after the spacing interval, if the CAN communication bus remains in the recessive state for a skip duration, skipping the transmission of a corresponding DGN data.
[0063] According to an embodiment of the invention, the method frther comprise, after the spacing interval, if the CAN communication bus remains in the recessive state for a reintegration duration, closing the data transmission.
[0064] The DGN data may be composed of one or more data items from a group consisting of (1) DGN identifier, (2) DGN status, (3) data type, and (4) payload, and (5) a check field. [0065] According to an embodiment of the invention, the DGNs are to transmit the DGN data as one of a group consisting of open collector signal; push-pull signal; mixed pull-push and open collector signal, designed to maintain the communication bus in recessive state during the spacing intervals.
[0066] The method may comprise transmitting over the CAN communication bus, by the predetermined DGN, a Remote Frame addressing the plurality of associated DGN and responding, by the plurality of associated DGN, by transmitting DGN data.
[0067] The method may further comprise, by the controller unit, communicating over the CAN communication bus with the plurality of associated data-generating node (DGN); requesting the plurality of associated DGN to provide DGN data; controling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0068] The method may comprise setting one or more predefined identifying value of a specific bit within the Control Field of the data frame to enable communicating data frames having a logical structure according to one or more protocols from a group consisting of: CAN-FD standard, CAN-XL, CAN 2.0A, CAN 2.0B, CAN ISO 11898-2, CAN ISO 11898-3, ISO- CAN-FD, CAN-HG, J1939, CANOpen, CANOpen FD, DeviceNet, and ARINC825.
[0069] According to another aspect of the invention, there is provided a data-generating node for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to: communicate over a bus with at least one controller unit and a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0070] According to yet another aspect of the invention, there is provided a communication system for high bandwidth communication over a Controller Area Network (CAN)
communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame- Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements, and wherein, for the controller unit of the transmitting node and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data -segments; and wherein the controller unit is to arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
[0071] According to a further aspect of the invention, there is provided a communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data-generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; wherein the one of the controller unit and a predetermined DGN is to arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data
frame, and wherein one of the controller unit and a predetermined DGN is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
BRIEF DESCRIPTION OF THE DRAWINGS
[0072] For a better understanding of the invention concerning the embodiments thereof, reference is made to the accompanying drawings, in which like numerals designate corresponding entities throughout, and in which:
[0073] Figures 1a-lc are block diagrams that schematically illustrate communication nodes in accordance with embodiments of the present invention;
[0074] Figures 2a-2c are block diagrams that schematically illustrate possible options for realizing mixed-protocol communication according to embodiments of the invention; [0075] Figures 3a-3b are functional connection diagrams illustrating CAN -derivative bus networks in accordance with embodiments of the present invention;
[0076] Figures 4a-4b are transmission diagrams that schematically illustrate the communication in the CAN-derivative bus network shown in Figure 3b;
[0077] Figures 5a-5b show exemplary CAN-derivative frames modified in accordance with embodiments of the invention;
[0078] Figure 6 further illustrates an exemplary CAN-derivative frame modified in accordance with embodiments of the invention;
[0079] Figure 7 shows an example frame and a non-modulated data-phase signal;
[0080] Figure 8 is a transmission diagram illusrtating an example signal that is modulated in accordance with embodiments of the invention, and an expamle non-modulated signal; [0081] Figure 9 is a schematic functional illustration of an exemplary prior-art communication system;
[0082] Figure 10 is a functional illustration of a CAN-derivative communication system according to embodiments of the invention;
[0083] Figure 11a schematically illustrates a cycle time of reading multiple sensors by a single master device over prior art vehicular communication networks;
[0084] Figure lib schematically illustrates a cycle time of reading multiple sensors by a single master device over communication networks according to embodiments of the invention;
[0085] Figure 12 shows an exemplary CAN-derivative frame structure according to embodiments of the invention;
[0086] Figure 13 shows an example data field of a frame structure according to embodiments of the invention; and
[0087] Figure 14 shows an exemplary CAN-derivative frame structure according to additional embodiments of the invention.
DETAILED DESCRIPTION OF EMBODIMENTS
[0088] Embodiments of the present invention provide systems and methods that can be implemented in Controller Area Network (CAN) communication systems, nodes, controllers, protocols, and methods. The systems and methods according to embodiments of the invention may replace existing CAN communication systems, nodes, controllers, protocols, and methods - or co-exist with them.
[0089] The term 'CAN-derivative' will be used herein to describe CAN communication systems, nodes, controllers, protocols, and methods set according to CAN and CAN-FD standard protocols, CAN-XL and other CAN-based protocols. Examples to other other CAN- based protocols are CAN 2.0A, CAN 2.0B, ISO 11898-1/2/3, ISO-CAN-FD, CAN-HG, J1939, CANOpen, CANOpen-FD, DeviceNet, ARINC825, the protocol describes at PCT Application Publication No. W02020021392, which is incorporated herein by reference, and others. [0090] To comply with the relevant CAN-derivative protocols and co-exist with them on the same communication bus, the message frame structure according to embodiments of the invention is based on the logic structure of the CAN-derivative protocols. Specifically, the
bit-sequence and state-machine described in the CAN-derivative protocol standards are used:
[0091]A Start-of-Frame (SOF) bit;
[0092] an Arbitration Field - either the standard 11-bit or the extended 29-bit. The Arbitration Field may be used in the manner described in the CAN and CAN-FD protocol standards.
[0093] a Control Field;
[0094] a Data Field (also referred to as data phase);
[0095] a CRC Field;
[0096] an Acknowledge Field; and [0097] an End-Of-Frame Field.
[0098] The Arbitration Field and the sequential bits of the such as the FDF, RTR, R0, R1 may remain as described the relevant CAN-derivative protocol.
[0099] The acknowledgement and end-of-frame (a.k.a. EOF) sequences may remain unchanged as well, as described in the relevant CAN-derivative protocol.
[00100] The DLC (data length control) field may remain either unchanged or partly changed to have a better granularity in data-phase length definition. For example, the DLC logical structure can be modified by modifying a specific reserved bit within the control field, to notify the frame receiver nodes about a new type of protocol frame. While this modification is possible and may introduce high levels of flexibility, such frames shall not anymore comply with the CAN-FD basic frame structure and it will not be readable by CAN- FD-only protocol controllers.
[00101] The communication system 20 may be formed as a mixed communication system, facilitating communication-based on the CAN protocol, the CAN-FD protocol, other CAN-derivative protocols, together with the novel communication protocol according to embodiments of the invention.
[00102] According to an aspect of the invention, the communication system, protocols, controller units and methods are to facilitate a data-phase protocol coding and decoding for high-bendwidth communication.
[00103] According to another aspect of the invention, the communication system, protocols, controller units and methods are to facilitate the exchange of multiple data segments as a single data frame.
[00104] Various embodimnets of the invention may be realized as a controller unit, as illustrated in Figures 1a-lc. The structure of systems incorporating the controller unit is described with reference to levels of functionality- ECU, 1C and IP. For ease of explanation, the invention will be described herein mainly with reference to the functional aspects of the IP core level.
[00105] 'ECU' stands for Electronic Control Unit (also called ECM - electronic control module). The term ECU designates an embedded system implemention - a combination of a computer processor, computer memory, and input/output peripheral devices that has a dedicated function within a larger mechanical or electrical system. ECUs are often based on microprocessors. ECUs are embedded as part of a complete device often including electrical or electronic hardware and mechanical parts, and control various operational aspects.
[00106] The term 1C stands for Integrated Circuit. The term 1C as used herein designates the functional elements of the ECU that is realized as an 1C component.
[00107] The term IP stands for a semiconductor intellectual property core (also called IP core, or IP block). The IP core is a reusable unit of logic, cell, or 1C layout design that is responsible for the functional aspects of the ECU's operation.
[00108] Figure 1a schematically illustrates a communication node 10 for example of the kind used in the automobile industry. The communication node 10 is formed as an ECU 100, comprising microcontroller unit (MCU) 102. The usage of the term MCU should not restrict the other processing unit possibilities such as MPU (micro-processor unit), FPGA, SoC, SiP (system in a package) etc., all of which serve as processing units enhanced with variety of communication technologies. Controller unit 104 according to embodiments of the invention is implemented as part of MCU 102. The MCU 102 is connected to a physical layer interface PHY 106 to transmit data when acting as transmitting node and/or receive data when acting as a receiving node, communicating over bus 108.
[00109] For ease of explanation, other structural components and functional elements of the communication node 10 are not shown.
[00110] According to the embodiment of Figure lb, the Control Unit CU 114 is realized as a separate module. CU 114 is coupled to MCU 112 and PHY 116. The configuration of Figure lb may, for example, serve a scenario of equipping existing ECUs with the novel capabilities provided by the present invention.
[00111] In the configuration illustrated in Figure lc, the communication node 124 is composed of analog sensor 122. The CU 124 and the physical layer interface PHY 126 are formed together.
[00112] According to other embodiments of the invention (not shown), the communication node may be integrated inside a PHY transceiver unit or be used as a separate functional device (such as an ASIC, FPGA, MCU etc.) that be accessed using various interfaces such as SPI, QSPI, I2C, I2S, or standard Ethernet Media-Independent-Interface, such as, RMII, Mil, RGMII, and more.
[00113] A controller unit according to certain embodiments may be assimilated together with a CAN and/or CAN-FD protocol controllers in a single integrated circuit. According to other embodiments, the controller unit may be implemented as a separate integrated circuit that may be coupled to a CAN and/or CAN-FD protocol controllers arranged in a different integrated circuit. In these embodiments, a single communication node capable of multi-protocol communication (mixed communication system) is provided.
[00114] According to yet other embodiments, the controller unit may be implemented as a dedicated communication node capable of a single-protocol communication only.
[00115] Figures 2a-2c schematically illustrate possible options for realizing mixed- protocol communication according to embodiments of the invention. [00116] Figure 2a illustrate, in a single integrated circuit, a controller unit 20 with functional elements 200, 202 and 204 capable of communicating in CAN protocol, CAN-FD
protocol and the novel high-bandwidth protocol according to embodiments of the invention.
[00117] Controller units 20 and 22 of Figures 2a-2b may be assimilated in communication nodes of any of the configurations depicted in Figures 1a-1c. For example, if controller unit 20 of Figure 2a is assimilated in the communication node 14 of Figure lc, a single communication node is thus capable of multi-protocol communication, should the communication system is configured as a mixed communication system.
[00118] By another example, if controller unit 22 of Figure 2b is assimilated in the communication node 12 of Figure lb, data from the MCU 112 may be communicated over bus 118 in the novel high-bandwidth protocol. Should MCU 112 be equipped with elements capable of communicating in CAN and CAN-FD protocols (not shown) - communication in these protocols is enabled.
[00119] Mixed communication may be achieved in other configurations, for example, a controller unit capable of high-bandwidth communication may be implemented as a separate integrated circuit coupled to a CAN and/or CAN-FD protocol controllers arranged in a different integrated circuit.
[001] Figure 3a is a functional connection diagram of a CAN-derivative bus network 30 that can accomotade high-bandwidth communication including mixed communication according to embodimnets of the invention. The network 30 is arranged in a linear connection topology and is composed of communication node 300.1-300.n. Communication nodes 300.1-300.n may be construed as communication node 10 of Figure 1a, comprising MCUs 302.l-302.n and PHYs 304.1-304.n connected to CAN bus wiring 306. [002] Each communication nodes 260.1-260.n connects all other communication nodes through the common bus wiring 280. A linear connection topology is typically preferred for best communication performance and low level of interferences. Nevertheless, for optimized wiring and cost, other topologies may be used, including topologies that degrade signal integrity and reliability.
[003] Figure 3b is a functional connection diagram of another CAN-derivative bus network 32 that can accomotade high-bandwidth communication including mixed communication
according to embodimnets of the invention. The communication nodes are designated as ECU1-ECU11. Each of communication nodes ECU1-ECU11 may be construed as communication nodes 10, 12, 14 of Figures 1a-ac.
[004] The topology of network 32 is common, for example, in vehicular communication. In the topology of network 32, multiple groups G1-G3 of communication nodes passive- stars are interconnected by long wires W. This type of topology has many advantages in production cost, wiring total length, weight and other factors. However, such topologies have signal-related disadvantages due to the impedance mismatches caused by the splits, long stubs, and signal integrity issues in CAN-derivative architectures.
[005] Communication nodes 300.1-300.n may be arranged by a combinations of configurations depicted in Figures 1a-lc and 2a-2c, and many more.
[006] For ease of explanation, communication nodes 300.1-300.n are depicted in Figures 3a-3b as identical, but this is not necessarily so.
[007] The invention is not limited by the design and configuration of the communication nodes, as well as by the design and topology of the communication network. Many variations, options, modifications and alterations can be made without departing from the scope or spirit of the invention.
[008] Data-phase protocol coding for high bandwidth communication
[009] According to a first aspect of the invention, there are provided methods and systems for high bandwidth communication, achieved by coding the data field in CAN frame. The data field of the CAN frame is coded as a sequence of pulses with varying durations. The durations are the result of deviating a known cyclic signal waveform's level transition points by a series of delays {d0,d1,d2t ...,dN_1}. These delays are defined and calculated according to a sequence of data symbols {S0,S1 ,..,SN_1} to be transmitted.
[0010] The transmitter side transmits the modulated signal. The receiver side measures the received sequence of durations, estimates the original known cyclic waveform of level- transitions, and determines the corresponding sequence of symbols that was transmitted by the transmitter.
[0011] The series of delays {d0, d1, d2, ...,dN_1} is calculated by applying different modulation calculations for odd and even elements. The application of different modulation calculations for odd and even elements is aimed at addressing the inherent asymmetry that characterized the non-return-to-zero (NRZ) and CAN physical layer limitations in practical networks.
[001] In CAN and CAN-FD protocols, the information is coded as a non-return-to-zero (NRZ) signal. The information is sampled by the receivers at pre-defined sampling points (1 sampling point or 3 sampling points). Due to these restrictions, and the physical layer potential limitations, the maximal possible baud-rate to be used in a typical channel is bounded well below the potential physical layer capacity.
[002] One of the most prominent interferences caused in topologies such as the topology of network 30 illustrated in Figure 3b happens during the transitions of the bus driver from the dominant state to recessive state. During the recessive state the transmitting node's PHY transceiver doesn't drive the bus and is switched to a high impedance output. As a result, substantial ripples and ringing are introduced, degrading the receivers' ability to sample the transmitted data. Even when using specially constructed CAN -derivatives transceivers (a.k.a. CAN-FD-SIC), the maximal effective data-rate is bounded due to protocol controller technical constraints such as sample-point, clock drift, accuracy and more. In addition, the bit asymmetry phenomenon remains a major drawback for all such transceivers, as a result of the difference between the output impedance of the transceiver during the '0' and '1' bit transmissions.
[003] In many practical networks and network topologies, the high impedance output phenomenon causes transmission errors, logical bit asymmetry and high error rates. Current possible solutions minimize the ringing, but struggle with the eventual bit driving asymmetry.
[004] Figures 4a-4b schematically illustrate transmission diagrams of the communication in the topology illustrated in Figure 3b. The transmitted signal TXD and the received signal are shown in their dominant and recessive levels. In combination, Figures 4a-4b exemplify CAN-derivative bit driving asymmetry.
[005] In Figure 4a, a perfectly symmetric transitions are shown, and the sampling point samples the RXD signal in a safe location for which, the probability of bit switching error due to physical phenomena such as clock drift and jitter, ringing and others, is negligable. The propagation delay PD1 between the falling edges TXD Edge 1 and RXD Edge 1 is like the propagation delay PD2 between the rising edges TXD Edge 2 and RXD Edge 2.
[006] In Figure 4b, a practical asymmetry is shown, for example as expected in network topologies of the type illustrated in Figure 3b. In this case, the propagation delay PD3 between the falling edges TXD Edge 1 and RXD Edge 1 is significantly larger that the propagation delay PD« between the rising edges TXD Edge 2 and RXD Edge 2. As a result, the sampling point may sample a wrong bus level. Consequently, the whole message shall be retransmitted.
[007] Figures 5a-5b show exemplary CAN-derivative frames 50, 52 modified in accordance with embodiments of the invention. The Field line in Figures 5a-5b refers to the various fields, and in the relevant cases, their bit length is recited. The Value line refers to the bit values that should be accommodated in the field or an 'X' value designating an arbitrary bit value ("don't-care"). The values of the data phase are referenced 'CSP' to denote the coding of the data-phase as a sequence of pulses with varying durations, as will be explained further below.
[008] The frames 50, 52 complies with both typical standard and extended start of frame and arbitration segments.
[009] The difference between frame 50 of Figure 5a and frame 52 of Figure 5b is that frame 50 represents the case of a standard frame structure and frame 52 shows the extended PID frame structure (PID- packet identifier).
[0010] A pre-defined reserved bit (named "rO" in CAN-protocol) may be used for protocol type selection. In Figure 5a, the pre-defined reserved bit is named "CSPF/XLF". Protocols which comply with the CAN-FD standard expect this bit to be in a "0" (dominant) state. Once this bit is set to "1" (recessive), CAN-FD protocol controllers release their interest in the frame and wait for the EOF and IFS, signifying the end of the CAN-derivative frame.
[0011] Frames 50, 52 may be used by other, newly defined protocols (some of which are not currently considered public) such as CAN-XL. This may cause a collision between CAN- XL message and the novel message structure of embodimnets of the invention. Thus, according to other embodiment of the invention, frames 50, 52 may be configured to use the reserved bit succeeding the XLF bit instead of the XLF bit (not shown).
[0012] The CSPF/XLF bit (or CSPF bit shown in Figure 5b) may be followed by reserved bits for further, future expansion. In the non-limiting example of Figures 5a-5b, two reserved bits are defined.
[0013] The reserved bits may be followed by 5 data-length bits denoting the data-payload length. This number is defined to allow larger packet sizes than 64 bytes. The mapping between the DLC value and the actual data length may vary. The actual amount of bit allocated for DLC may vary as well according to operational needs, allowing for better granularity and larger payloads management.
[0014] Various factors may be considered in setting the specific frame structure, as illustrated in the following examples:
[0015] Example (1) - basic definition example: for a DLC=0, the data phase shall contain 64 level-value transitions, and for DLC=1, the data-phase shall contain 128 level-transitions, and for DLC=31, the data-phase shall contain 2048 level-transitions.
[0016] In general, the number of level-transitions in the data-phase may comply with the following Equation 1 for NLT:
[0017] Equation 1 NLT = Nlevel- transitions = (DLC + 1) · 64 [0018] In example (1), zero data frames are not allowed.
[0019] Example (2) - NLT may be extended by certain amount of level transitions Κcrc to facilitate frame CRC field. The value for Κcrc may be determined according to the modulation parameters (including symbol lengths) and CRC length.
[0020] Example (3) - NLT may be extended by certain amount of level transitions Kmeta to facilitate contextual metadata for protocol control, such as ethernet addressing, protocol types, data filtering information, message authentication code and more. These information fields may be located at the start of the data-phase, but it can be embedded
at other location along the data-phase as well. In addition, these information fields may be used for contextual message filtering, in addition to the standard RID based message filtering as in the CAN standard.
[0021] Example (4) - NLT may be extended by certain amount of level transitions Kpreamble to facilitate a calibration and parameter refinement phase during the data-phase. This preamble sequence may contain either concentrated or distributed pilot level-transitions along the data-phase.
[0022] Example (5) - NLT may be extended by a certain amount of level transition KFEC to facilitate forward error correction codes embedded by the transmitter and used by the receiver to correct possible data errors during the data transport. The actual type of code (Error correction code) may vary (e.g. Hamming, Reed-Solomon, Convolutional etc.), thus its contribution to the level-transitions count may vary as well. During validation in the receiver side, number of errors detected and corrected may be recorded in order to use this information for QoS (Quality of Service) purposes (e.g. physical layer debugging, interferences detection, parameters adjustments etc.). This information may be used also to mitigate tampering attempts and cyber-attacks of the data-bus in which the signal is degraded due to the incorporation of an additional hardware connected to the bus.
[0023] According to embodiments of the invention, additional control-to-data and data-to- ACK delimiter bits may be used. This is illustrated in Figure 6. As shown, delimiter bits may be added between the control field and data-phase and between the data-phase to ack bit. This exemplary delimiter may be transmitted with either the low data-rate or the high data- rate. This delimiter ensures that the data phase starts with a falling edge (for synchronization) and end with a recessive logic level - delimiting the data-phase from the ack field.
[0024] The rest of the frame (namely, ACK, ACK Delimiter, EOF and IFS) shall operate as defined in CAN and CAN-FD specifications.
[0025] During the whole period of transmission, Error-frames are supported and detected by the transmitter and receivers in accordance to the specifications of CAN and CAN-FD.
[0026] To allow the usage of CAN and CAN-FD protocols whenever needed (transmission and reception), the CSPF/XLF bit remains dominant, causing standard CAN and CAN-FD frame generation.
[0027] Message filtering may be implemented by message filtering mechanisms as described in the CAN and CAN-FD specifications.
[0028] Additional data-phase filtering mechanisms may be facilitated to allow context dependent data transmission and reception. This may be particularly important when high amount of traffic is generated on busses integrating the methods and systems of the invention. For example, when a low-performance MCU (micro-controller) or time-critical process is connected to the bus, it shall filter out incoming information with not particular importance to it. In such case, the amount of computation required in high layers may be reduced significantly. In another example, ethernet and IP frame fields may be integrated during the data-phase, such as MAC address, protocol type etc.
[0029] The disclosed method may have an optional capability to support frame and source authentication. The authentication scheme shall support industry standard MAC (message authentication code) methods or other proprietary method. The message authentication may be used to mitigate cyber-hazards such as data-tampering, impersonation, replay attacks, repudiation, data source detection etc.
[0030] The disclosed method may have the capability to encrypt the transmitted traffic and decrypt it in the receiver side. Though the encryption and decryption may occur in high (application) layers, it may be beneficial to perform it in the MAC level.
[0031] As mentioned before, according to an aspect of the invention, the data-phase of the CAN frame is coded as a sequence of pulses, modulated with varying durations. The durations are the result of deviating a known cyclic signal waveform's level transition points by a series of delays {d0, d1, d2, ... , dN_1}, that correspond to the sequence of data symbols {S0, S1 ,...,SN_1} to be transmitted.
[0032] The data phase may be composed of a desired number of level-transitions (denoted herein as NLT logical value transitions) of a basic, non-modulated signal.
[0033] Figure 7 shows an example frame 70 and a non-modulated data-phase signal 72. The non-modulated signal 72 is charachterized by TPNeg - the nominal duration of '0' bit, TPPos -the nominal duration of T bit, and TP - the average duration of a bit within the sequence,
PNeg and T PPos·
[0034] The transition rate in the data-phase can be controlled using parameters such as conventional CAN -style bit-timing (a.k.a. Tq, NProp, Nph1, Nph2) or in other methods such as: [0035] (1) Clock pre-scalar value (NPS) and an optional offset value (Nof fs) defining the data-phase transition frequency and the ratio between TPNeg and TPPos (as described in Figure 7).
[0036] (2) Automatic frequency and offset detection and calibration according to a predefined segment with zero modulation (preamble phase). An exemplary calibration segment is described below.
[0037] The modulation is performed by adjusting the level transition location and delaying them according to the "to-be-transmitted" symbols.
[0038] Certain factors may be considered of the modulation model parameters in setting the data-phase signal:
[0039] fclock denotes a system clock frequency serving the modulator and the demodulator;
[0041] Lsym denotes the length of a data symbol in bits.
[0042] R denotes a vector of modulated signal's level duration;
[0043] NPD denotes the nominal pulse duration in terms of 1 /fclock· Further possibility for NPDlow and NPDhigh for dominant and recessive pulses respectively while NPD is given by Equation 2 and is equivalent to TP in clock-cycles units:
[0045] The modulation may be formulated as follows:
[0046] A set S of N symbols to be transmitted is given: S = {s0,s1,s2,...,s N_1}
[0047] A sequence of pulse transition delays is calculated in terms of 1 If clock· D =
{d0, d1, d2, ... , dN_1}.
[0048] It is assumed herein that all level-transitions are being modulated, but this is not necessarily so.
[0049] The modulated pulse delay sequence D is defined in Equation 3 as a function of input symbol array S:
[0051] For completeness we shall define di = 0, ∀i < 0
[0052] Thus the vector of durations R = {r0, r1, ... , rN_1} is defined in Equation 4 as follows: i even
[0054] The modulator transmits the waveform according to the above R vector along the data-phase of the frame.
[0055] Figure 8 illusrtates an example signal 82 (solid line) that is modulated in accordance with embodiments of the invention, and an expamle non-modulated signal 80 (is dashed line).
[0056] The non-modulated signal 80 (dashed line) is characterized by nominal pulse durations NPDlow and NPDhigh for dominant and recessive pulses respectively. The set of pulse transition delays D = {d0, d1,d2, ...,dN_1} (not shown in Figure 8) is calculated in accordance with Equation 3. The vector of durations R = {r0, r1 , ...,rN -1} is calculated based on Equation 4. Signal 82 is generated by modulating signal 80 to reflect the vector of durations R = {r0, r1 , ...,rN. -1}
[0057] The delay unit granularity factor G and the length of a data symbol in bits Lsym may be determined in accordance with the physical properties of the CAN bus. For example, the delay unit granularity G and the length of a data symbol in bits Lsym may be
determined to optimize the data rate . In order to maximize the amount of data to be communicated, a minimal delay unit granularity G value is desired, giving rise to shorter pulses to be transmitted.
[0058] The modulated pulses to be transmitted cannot be too short - as the bus would not be able to communicate such a sequence of at acceptable error rate. Thus, the the physical characteristics of the CAN bus are considered in setting the desired values of the delay unit granularity factor G and the length of a data symbol in bits Lsym . By another example, the delay unit granularity G and the length of a data symbol in bits Lsym may be determined to optimize the data rate under an acceptable bit arror rate.
[0059] According to embodiments of the invention, for specific operational requirements, the delay unit granularity G and the length of a data symbol in bits Lsym may be predermined for example, to address operational considerations such as noise (for example, caused by jitter), CAN bus utilization, and additional physical properties of specific communication buses.
[0060] The delay unit granularity G and the length of a data symbol in bits Lsym may be adaptive to link quality. For example, in response to link quality indication, the modulated pulse delay sequence D (as in Equation 3) may be recalculated with different valus of the delay unit granularity factor G, the length of a data symbol in bits Lsym or both. For example, in response to bit error, the data rate may be slowed down. In the absence of error indications, the data rate may be increased.
[0061] The vector of duration R may be measured by the receiver. Vector R is indicative of the set of symbols S = {S0, S1 , ...,SN -1} and thus, the receiver may reconstract the set S of symbols out of the vector of duration R as measured.
[0062] At the receiver side, the time measurement of the pulse duration may be conducted by using a clock cycle counter, clock cycle counter with a reset value, analog time duration measurement, time-to-digital converter (TDC) or another time measurement method. [0063] The demodulator measures the duration value vector and
computes the pairwise summation of the durations and modulo operation as in Equation 5 follows:
[0064] Equation 5:
= mod(Si,2L s ym) = Si
[0065] Ŝi denotes the symbol that is estimated at the receiver side, based on the measurements of the modulated signal that was transmitted by the transmitter.
[0066]
stands for half the nominal cycle length (cycle length - the duration between the rising to rising or the falling to falling edges) in terms of 1/fclock. [0067] Equation 5 includes the estimation that the
- half the nominal cycle length in terms of 1/fclock as perceived at the receiving side, is identical or very close to the actual transmitted NPD value (the nominal pulse duration in terms of 1/fclock)· This assumption is based on the fact that the NPD variance mainly depends on the clock drift differences between the transmitter nodes and the receivers. For some operational scenarios, this assumption is true. For other operational scenarios a calibration operation may be added. For example, pilot symbols may be implanted by the transmitter in the sequence of pulses to be transmitted. The receiver side may use the pilot symbols to improve the ratio
.
[0068] The series of delays {d0, d1, d2, ... , dN_1} is calculated (as in Equation 3) and decoded (as in Equation 5) by applying different modulation calculations for odd and even elements. As explained, practical CAN networks exhibit inherent asymmetry. The application of
different calculations for odd and even elements is aimed at addressing the inherent asymmetry.
[0069] According to embodimnets of the invention, the demodulator may be configured to measure the durations between consecutive level-transitions of the same type (falling to falling or rising to rising). In this manner, the receiver measured values are physical bit- asymmetry invariant.
[0070] According to embodimnets of the invention, the demodulator may perform the measurement operation with a reset counter: a maximal value for the counter may be defined and each time this value is reached, the counter resets its value to '0'.
[0071] The maximal value for the reset counter may be defined as half the nominal
cycle length in terms of 1 /fclock as perceived at the receiving side. In such a case, the execution of the modulo operation at the receiver side may be obviated.
[0072] The demodulator may perform the measurement operation with hybrid counting logic consisting of full clock measurement augmented by a partial clocks counter for better granularity and resolution of measurement. The partial clock counter may use high speed clock source, a PLL, a time-digital-converter, an analog time measurement circuit or any other method supporting high resolution time measurements.
[0073] According to embodiments of the invention, the value may be passed through a
maximum-likelihood estimator after performing the pairwise summation:
[0074] According to embodiments of the invention, the modulator and demodulator may scramble the symbols and descramble them. This may be useful to ensure a uniform distribution of pulse durations. Scrambling and descrambling may be performed by XORing the information with the output of an LFSR pseudo-random sequence which is known to both the transmitting and receiving nodes. The implementations for such scrambler and descrambler logic may follow known techniques.
[0075] The transmitter may encode the transmitter data using gray coding to minimize Bit- Error-Rates. In the case gray coding is used, the receiver party shall contain a gray decoder.
The usage of gray coding in digital communication is well established in the industry, and the invention is not limited by the manner of gray coding implementation.
[0076] The transmitter may encode the transmitted data using a forward error correction (FEC) coding. If forward error correction (FEC) coding is used, the receiver must decode the incoming symbols and correct them. These FEC coding may include an interleaver (in the transmitting side) and de-interleaver (in the receiving side) to optimize some error correction codes' (ECC) performance in cases of block errors and erasures. Known ECC and interleaving methods can be used, and the invention is not limited by the actual ECC and interleaving methods to be used.
[0077] The outputs from the above described ECC block may be used to calculate a measure for Quality of Service. This may be specifically useful for debugging, diagnosing and validating network architecture, and communication system health.
[0078] Multiple data segments exchange as a single data frame
[0079] According to a second aspect of the invention, embodiments of the present invention provide communication systems and methods for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus.
[0080] Figure 9 is a schematic functional illustration of an exemplary prior-art communication system 10. Communication system 10 comprises multiple communication nodes, shown in Figure 9 as sensors 100. Communication system 10 may, for example, represents a vehicular communication system, industrial communication systems, and many other systems in other fields. In practice, the communication system 10 oftentimes is structured as a CAN-derivative network with an asymmetric topology and an asymmetric traffic pattern, represented in Figure 9 as asymmetric traffic function 110. The information coming from the sensors 100 is processed by other system elements at corresponding communication nodes, represented in Figure 9 as Signal Processing and Fusion function 120.
[0081] Figure 10 is a functional illustration of a CAN-derivative communication system 20 according to embodiments of the invention. Three types of communication nodes are
shown: general-purpose Electronic Control Units (ECUs) 200, sensor nodes SI,... Sn 210 (or any other DGN - data-generating node) and a master ECU M 220 for data processing and fusion that samples the sensor ECUs 210.
[0082] For example, in the automotive industry, the ECUs 210 are hardware/software or firmware components that support advanced functionalities such as higher efficiency, smart and data-driven control, and better safety, ease of use, and driving experience for the drivers passengers. Each ECU 200, 210, 220 connects with the other ECUs through the common CAN bus (or CAN-derivative) wiring 230. The invention is not limited by the structure of the communication network and the type of communication nodes.
[0083] Part or all of the ECUs 200, 210, 220 comprises a controller unit CU according to embodiments of the invention, for example, as shown in Figures 1a-lc, 2a-2c.
[0084] Oftentimes, vehicular sensors (such as sensors 210 in Figure 10) are required to frequently share small packets of data, for example, sensor status data, synchronous sensors' readings, audio samples, ultrasonic sensors, diagnostic information, and more. In such cases, prior art communication systems (such as system 10 in Figure 9) suffer from limited ability to efficiently stream the small packets of information from multiple sources in a concurrent and synchronous manner.
[0085] CAN systems are hardly adapted to repetitive small-sized payload transmissions due to the protocol overheads induces by the arbitrations, control, data-checking, and acknowledgment frame segments. In the exchange of small payloads, the bus occupancy is dedicated to flow-control and arbitration rather than actual data streaming tasks. Thus, the ability of prior-art communication systems to stream real-time isochronous signals is limited. As a result, prior art communication systems' full potential is not exploited optimally.
[0086] For this reason, vehicular sensors are sometimes arranged to communicate over a Local Interconnect Network (LIN). LIN is a broadcast serial network comprising 16 nodes (one master and typically up to 15 data-generating nodes). The master initiates all messages to be communicated in a specific LIN system with at most one data-generating
node replying to a given message identifier. The master node can also act as a data- generating node by responding to its own messages.
[0087] LIN protocol allows synchronous readings of sensors and actuators' data, but its maximal allowable data-rate prevents it from facilitating high-throughput information such as audio, radar, and fast control loop data.
[0088] High-layer protocols such as TTCAN (time-triggered CAN) protocol may solve the synchronization issues, but the effective throughput problem remains.
[0089] FlexRay communication systems and MOST (Media Oriented Systems Transport) communication systems provide high effective data-rate but are optimized for large packet streaming similarly to CAN-derivative protocols, thus lack sample-level isochronous transmission capabilities.
[0090] Pulse-width modulation (PWM) and analog signaling of various automotive sensors are well established in the market, but they require point-to-point wiring. In addition, analog signaling is prone to emission disturbances and lacks robustness in the automotive environment.
[0091] Figure 11a schematically illustrates a cycle time of reading multiple sensors S1,...,SN by a single master device over the CAN communication network or other prior art vehicular communication networks. The effective cycle time (the period for all the existing sensors to be read) is long due to the repetition of the flow-control segments of each message. This limitation negatively affects the latency, synchronization, the maximal data-rate, and minimal cycle time of the system and degrades the overall bus occupancy and service quality.
[0092] In comparison to Figure 11a, the cycle time of a communication system according to embodiments of the invention, for example, such as the system illustrated in Figure 10, is schematically illustrated in Figure lib. A group of sensors shares a single data frame for communicating their information. Under the control of a master node, each sensor transmits its reading during the multiple access data-phase. Efficiency is thus achieved by communicating the same sensor information while avoiding the overhead required to communicate multiple, separate CAN frames.
[0093] Typically in CAN-derivative protocols, the Data Field of a CAN-derivative frame is structured as a single-access phase. If more than a single communication node is accessing the data phase, the transmitted data may be corrupted and an error frame is triggered. According to embodiments of the invention, the Data Field of the frame is structured such that, along the data-phase, the multiple communication nodes accessing the single frame may take control of the bus and transmit their payloads of information without interrupting the normal bus operation. This collaborative formation of frame can create a fully compliant CAN and CAN-FD frame of the bus, such that may be read by a legacy CAN-FD receiver.
[0094] To access the data phase of a single frame, the respective communication nodes are assigned together. According to the embodiment of the invention illustrated in Figure 10, type S communication nodes (sensors or other data-generating nodes) are assigned with controller unit M. The controller unit M may request the assigned communication nodes to provide data, control the transmission of the sensor data over the CAN bus, and arrange portions of the sensor data received from the plurality of communication nodes as sequential segments of the Data Field of the data frame.
[0095] According to other embodiments of the invention, multiple communication nodes (referred to herein as sensors or DGNs - Data-generating nodes) are assigned together to form a group of data-generating nodes (sensors). A predetermined one of the sensors functions as the controller of the multiple-axccess communication, as will be explained herein.
[0096] The controller unit 30, 32, 34, or 36 is to process data to be transmitted over a CAN- derivative network such as CAN, CAN-FD, CAN-XL, and other CAN-derivative protocols. [0097] To comply with the relevant CAN-derivative protocols and co-exist with them on the same communication bus, the message frame structure 40 according to embodiments of the invention is based on the logic structure of the CAN-derivative protocols. Specifically, the bit-sequence and state-machine described in the CAN-derivative protocol standards are used.
[0098] A Start-of-Frame bit;
[0099] an Arbitration Field - either the standard 11-bit or the extended 29-bit. The Arbitration Field may be used in the manner described in the CAN and CAN-FD protocol standards.
[00100] a Control Field;
[00101] a Data Field;
[00102] a CRC Field;
[00103] an Acknowledge Field; and
[00104] an End-Of-Frame Field.
[00105] Further, the communication session of the data frame is open for a period of time that complies with a frame structure of CAN, CAN-FD, CAN-XL and other CAN-based and CAN-derivative protocols, and ethernet.
[00106] Figure 12 shows an exemplary CAN-derivative frame structure 50 according to embodiments of the invention.
[00107] The frame structure 50 starts with a Start-of-Frame bit SOF 500.
[00108] According to embodiments of the invention, the Arbitration Field ARB 502 may be structured as described in the CAN protocol and CAN-FD protocol. The arbitration segment may allow standard (basic) 11-bit arbitration or extended 29-bit arbitration. [00109] According to embodiments of the invention, the Arbitration Field ARB 502 is followed by Control Field 504. The control bits such as the FDF, REM, R0, R1 may remain as described in the CAN protocol and CAN-FD protocol. Alternatively, the control bits may be modified to introduce a new type of protocol by re-assigning the purpose of R1 as a switching mechanism between the CAN-FD protocol and the novel proposed protocol. [00110] According to other embodiments of the invention, Control Field 504 may be structured with particular modifications comparing typical CAN-derivative protocols to improve the overall protocol efficiency, preserve error detection, and maintain bus-wide data consistency. For example, The Data Length Control field DLC 504.7 may be structured to have a better granularity in data-phase length definition.
[00111] According to embodiments of the invention, Data Field 506 is structured as multiple data segments 506.0 to 506.N-1, and spacing intervals ISS to facilitate the access
by multiple communication nodes [0,N-1]. Along the data-phase, the various data- generating nodes O - N-1 accessing the single frame may take control of the bus and transmit their payloads of information without interrupting the regular bus operation, as will be described herein.
[00112] According to embodiments of the invention, Check Field CRC 508, Acknowledgement Field AKN 510, End of Frame Field EOF 512, and IFS 514 may be structured as described in the CAN protocol and CAN-FD protocol.
[00113] The communication session of the data frame may be terminated as the frame exceeds the defined data-length during the control field, or arbitralily by the master, one or more of the assigned DGNs, or by a timeout mechanism, or a combination thereof. [00114] The arbitration and the EOF fields of the frame (not shown) are controlled by a bus master (for example, element M shown in Figure 10). The time intervals ISS in the Data Field 506 may be defined dynamically for each frame or globally pre-determined according to the CAN-bus bit-timing characteristics.
[00115] The bus master M receives the data that is communicated by the DGNs and arrange portions of this data as sequential segments of the data field 506 of the data frame
50.
[00116] According to an embodiment of the invention, each of the communication nodes 0 - N-l participating in the network is assigned a unique identification number. Optionally, these identifications may be a list of ordered numbers (e.g., ID ∈ {1,2,3, ... , N}).
[00117] The data-phase 506 may start with the master's request packet. The request packet may be structured as a source list from which the information is requested. The list may be given as a bit-field of source identifications (e.g. a 32-bit field may identify up to 32 assigned nodes). An Exemplary list may be: SourceldList = (2, 4, 5, 6, 7), for which the master requests information from the assigned nodes identified by 2, 3, 5, 6, and 7. The list may be sorted in ascending, descending or arbitrary order.
[00118] The master request packet may further be structured as a request for data type information from data sources - signaling the assigned communication nodes to transmit specific information types.
[00119] Alternatively, the data-phase 506 may contain no directives by the master side, and a pre-determined sequence of transmissions by the DGNs. In this case, the system architect pre-defines the sequences of information to be transmitted by the DGNs to the master and assignes the rules of operation to the master side and participating DGN units. This configuration may be administered to the nodes by software settings, hardware settings such as GPIO coding etc.
[00120] The master request packet may be structured as configuration parameters for the various sources - optionally defining or modifying the network participants' configuration.
[00121] The various data-phase segments 506.0-506.N-1 are inter-separated by the inter-segment-spacing ISS. The spacing intervals may be chosen to exceed the maximal bus propagation round-trip period.
[00122] During the ISS period, the bus is released for at least a defined period T1SS, in which, the bus remains in the recessive state. The ISS interval is intended for: (1) guarding the bus against collisions caused by signal round-trip travel over the physical layer when multiple access occurs, and (2) the insertion of evident delimiters between the various bus accesses to simplify flow control.
[00123] An exemplary period for ISS may be set as outlined in Equation 6:
Vpropagation
[00125] Where, Dmax is the maximal bus length (e.g., 100 meters; thus, the round trip is 200 meters), Vpropagation denotes the signal propagation velocity in the physical media
(e.g., typically 0.2 in UTP transmission lines), ttx,max denotes the time of propagation
of the signal within the interface transceivers (at the transmitting edge), and t rx.max denotes the time of propagation of the signal within the interface transceiver (at the receiving edge).
[00126] The duration Tiss of the spacing intervals ISS is calculated based on at least (1) a length of the CAN communication bus, (2) a propagation velocity of signals in the CAN
communication bus, (3) a maximal propagation velocity of signals in the DGN and the controller unit, and (4) the bus bit timing parameters.
[00127] The TISS may be arbitrarily configured by the user or automatically computed and used by the controller unit for optimal throughput.
[00128] After the master's request period, it may actively release the bus by writing a recessive bit level, starting the first ISS period. Furthermore, switching to the recessive ISS period happens after completing each transaction by any party on the bus.
[00129] After the ISS period, any other unit may take control of the bus and transmit its information. If the bus remains recessive for a period above Tskip, the next normal transmitting node may be considered missing or erroneous; thus its turn is skipped. If the bus remains recessive for the period above Treinitegrate , the master node may take control over the bus and close up the data-phase.
[00130] The duration of Tskip, Treintegrate may be configured by the user, according to basic rules of choice for optimal functionality, such as, for instance, as outlined in Equation 7:
[00131] [Equation 7] Treintegrate > Tskip TISS.
[00132] Figure 13 illustrates an example data field 70 of a frame structure according to an embodiment of the invention. For simplicity of explanation, DGNs (data-generating nodes) 0-4 are shown (the master M is designated as DGN 0). DGNs 1-4 are assigned to the master node in this non-limiting example. The data-phase segments 71-74 are composed of the respective DGN data. The data-phase segments 71-74 are inter-separated by the inter-segment-spacing ISS. A response from node 3 is missing.
[00133] For simplicity of illustration, in the example of Figure 13, Tskip is defined as 2 · TISS. Thus, if DGN 4 detects that DGN 3 doesn't respond to its turn for sending information (as defined by the master's requested source list), DGN 4 shall wait for DGN 3 another TISS to respond, and only then it shall transmit its payload, assuming that DGN 3 didn't respond.
[00134] Generalizing the example illustrated in Figure 13: for a given inter-segment- spacing ISS with a duration TISS and Tskip, if a node i detects that node i — 1 doesn't
respond to its turn for sending information, node i shall wait for node i — 1 another TISS to respond, and only then it shall transmit its payload, assuming that node i — 1 didn't respond.
[00135] In the non-limiting example illustrated in Figure 13, Treintegration is defined as 3 · TISS thus, if no node reacted during this period, the master unit shall react by closing the data-phase and reintegrating the bus by returning to the CRC and acknowledge field. [00136] The ratio between Treintegration and Tsklp can be set to satisfy operational needs. For example, the ratio between Treintegration and Tskip may be set to reflect the number of nodes on the bus that are assigned to multiple access on the same single data frame, that that can skip their response with a tolerable affect. For instance, in the example for Figure 13, this number is one - only one assigned node may skip its turn for reaction during the data-phase response sequence.
[00137] In response to reading the master's request, the assigned DGNs identify themselves within the requested source list and process the request or fetch the requested information from their memory or other location such as their device list.
[00138] Sequentially, each of the DGNs (or part thereof, as designated) optionally transmits an optional synchronization dominant edge of defined length (a.k.a. a start bit); the transmitting DGN further transmits its payload over the bus. The structure of the DGN payload may be comprised of the following exemplary data-fields: Unique identification; Optional status field - indicating the nodes current configuration, status, errors and the like; The transmitted data type in the payload; The payload - the actual value or a set of values to be transmitted.
[00139] Upon completion of the data transmission by the assigned DGNs, the bus is released by the master, which puts a recessive bit on the bus. In response, the bus goes into an ISS state.
[00140] According to embodiments of the invention, the DGNs are configured to follow the following transmission rules: each node waits for at least the duration of TISS before commencing its transaction; before starting the transaction, each node shall make sure the bus is in the recessive state. The DGN ordered i in the source list shall wait for the
DGN ordered i — 1 in the source list to finish its transaction unless a predefined period elapses - Tskip. If the i'th DGN waits for Tskip for the starting point of the (i — 1)' th node and the bus remains recessive (released), it may stop waiting and start its transaction. [00141] According to embodiments of the invention, the communication nodes are configured for error detection and confinement. During the frame transmission on the bus, each node participating in the communication as a receiver of data or a transmitter of data may perform CRC calculations (Cyclic Redundancy Check). The CRC may be calculated over a portion of the frame or for the portions of each packet transmitted by each DGN. The master node may conclude the total frame transmission by computing the CRC of the whole frame including all its segments and packets. Error signalling policy may be configured to adapt for the the application. For instance, mid-frame interruptions for error signalling may be favourable for some application but not application to others.
[00142] If CRC error is detected by any of the communication nodes participating in the frame reception, these communication nodes send a NACK (recessive) bit during the acknowledge phase. This functionality may resemble the functionality described in the CAN and CAN-FD protocols. Further, form error detection may be enabled as well by structuring the frame to include a stuffing mechanism as described in the CAN and CAN-FD protocols. [00143] The length of the CRC, its configuration and polynomial, may vary in accordance with the safety requirements from the protocol and other operational considerations.
[00144] According to embodiments of the invention, the DGNs are constructed to form a group of associated DGNs, and a predetermined one of the associated DGNs is configured to request the plurality of associated DGNs to provide their data. The predetermined DGN may respond, over the CAN communication bus, to a Remote Frame request addressing the plurality of associated DGNs information. This remote request, is responded by the designated DGN by acting as the master node in the network, starting a CAN frame with multiple access data-phase session, controlling its paramteres and finalizing it during the EOF field. The plurality of associated DGNs may be configured to respond to such a request by transmitting their DGN data. During this transaction, the
frame structure of a legacy CAN, CAN-FD or CAN-XL may be strictly preserved all along the frame. The frame that will be reflected on the bus will fully comply with these legacy protocol frame structures. The formed frame structure may be readable for legacy protocol controllers participating in the bus, such that the distributed data-source payloads will be served to them in an efficient, packed format without the need to change their protocol specifications.
[00145] The predetermined DGN may be configured to transmit spacing interval signals between the multiple data segments corresponding to the multiple DGNs.
[00146] According to embodiments of the invention, the DGNs are configured to transmit the DGN data as an open collector signal. According to other embodiments of the invention, the DGNs are configured to transmit the DGN data as a push-pull signal. According to yet other embodiments, the DGNs are configured to transmit the DGN data as a mixed push-pull and open collector signal, designed to maintain the communication but in a recessive state during the spacing intervals.
[00147] Due to the variety of methods in which the DGN may transmit their data, the information on the bus may be better protected against electromagnetic interference (EMI), electromagnetic compitability (EMC) and noise induced errors. The open-collector signalling method used by CAN protocols are prone to errors and asymmetries in the physical layer, thus, using better signalling methods such as push-pull signalling may improve the resilience of the data on the bus.
[00148] During the data-phase period, each DGN may elect to use push-pull electrical signalling method rather than the conservative open-collector method, during its packet transmission period. As the DGN finished transmitting its packet, the push-pull signalling is finished and the bus is idle until either another DGN transmits its information of the session is finalized. The usage of push-pull signalling simplifies the cost-constrained node architectures and improves signal integrity and signal-to-noise ratio. The use of push-pull signalling thus improves the communication speed and relaxes other system level constraints such as clock accuracy requirements and costs.
[00149] Figure 14 shows an exemplary CAN-derivative frame structure 90 according to embodiments of the invention, wherein a group of DGNs generate data that is communicated in a single frame - multiple accessed-frame - as shown, for example, in Figures 10 and 12; and the data field of the multiple accessed-frame is coded for high bandwidth communication, as shown, for example, in Figure 8.
[00150] According to an embodiment of the invention, the bus master (element 220 in Figure 10) is to code the data provided by the assigned DGNs by modulating a sequence of DGN data pulses with varying durations (as explained for example with reference to Equations 3, 4 and 5), as well as controls the multipe access configuration, for example as explained with reference to Figure 12.
[00151] The frame structure 90 starts with a Start-of-Frame bit SOF (not shown). [00152] According to embodiments of the invention, the Arbitration Field 902 may be structured as described in the CAN protocol and CAN-FD protocol. The multiple access arbitration is implemented, for example, by signalling the DGNs to code their information using the high bandwidth method. The signaling may be facilitade, for example, by introducing yet another branch in the reserved bits sequence.
[00153] The Arbitration Field 902 is followed by Control Field 904. The Control Field 904 may be controlled by the master. If control field is needed, it is "written" on the bus by the master - not the DGNs. The DGNs "write" on the bus during the data-field and do not have access during the arbitration and control fields of the frame.
[00154] Data Field 906: The master node may further perform a bus-burst operation in which the bus utilization is shared between the collaborative and non-collaborative modes. During the non-collaborative mode, the bus participants may comply with CAN- derivative specifications, send and receive messages as described in various legacy protocols and implementations with RID, CONTROL, DATA and ACK fields. In the collaborative mode, the master node opens a burst session in which the data-phase is not strictly time constrainted. During this data-phase, the various DGNs may write their data payload in a sequential way or comply with various techniques to arbitrate the bus usage,
such as the techniques incorporated in IEEE-802.3. This collaborative mode session may be finalized by the master side to return to the non-col la borative mode.
[00155] The data field 906 is followed by CRC Field 908, that is controlled by the master DGN.
[00156] The CRC Field 908, is followed by Acknowledgment field Ack 910. The acknowledge bit multiple access operation may fully resemble the requirements and specifications of the CAN and CAN-FD protocols.
[00157] Frame 90 ends with EOF + IFS field 912, As described in CAN and CAN-FD protocol specifications.
[00158] Specific embodiments of the invention may be useful for a variety of applications, for example, in the automotive market, that need efficient readings of sensors, actuators, and streamed signals with minimal bus time utilizations, isochronous and synchronous operation, and minimal latency. Examples of such applications are automotive sensor (ultrasonic, radar, etc.) information gathering; Industrial sensor information gathering; automotive audio applications (active noise cancellation, road noise cancellation, eCall, etc.); automotive persistent diagnostic service over CAN; and navigation and localization information for fusion and SLAM (Simultaneous Localization and Mapping) and self-driving. The invention is not limited by the specific implementation and application that are described herein.
[00159] Sensor sampling and conditioning system-on-a-chip (SOC) - the vehicular network may contain various types of sensors, some of which may have the capability to transmit their information over the CAN network. To reduce cost, a system on a chip may be constructed in accordance to embodiments of the invention, and all the additional logic for sampling, interfacing, filtering, and conditioning such samples before sending them over the network. One example of such system on a chip may be used for vehicular ultrasonic sensors. These sensors are short-range radar-type devices and are typically used in vehicles as surround collision prevention sensors.
[00160] Inertial and navigation sensors sampling for SLAM (Simultaneous Localization and Mapping) navigation. The following sensors may be used together with other
components: GPS, accelerometers, gyroscopes, magnetometers, inclinometers, barometers, optic flow sensors, traffic sign recognition, and localization sensors. All these examples may produce a high rate of information with small payload sizes.
[00161] Audio acquisition on device and pre-processing before sending - In this variant, the disclosed method is used to transmit audio information in real-time and sample-level. Most prior art CAN-networks may struggle to communicate audio samples in real-time without buffering the information first. According to embodiments of the invention, audio samples may be sent by several concurrent audio sources to be later digested by a digital signal processor. One of such application is ANC (active noise control and cancellation) or RNC (road-noise cancellation), in which sample-level information needs to be received by a DSP (digital signal processor) from many different microphone devices concurrently.
[00162] Embodiments of the invention may be used for periodic diagnostic information delivery to a master gateway ECU in a vehicle. In such a case, a diagnostic service running in the gateway shall be scheduled to request information (sensor readings, error list, operational status, etc.) from its assigned data-generating nodes (for example, other ECUs on the network). This information may be recorded, analyzed, or delivered to a remote server to gain insights for problem diagnostics, preventive and predictive maintenance, usage statistics, and anomaly detection.
[00163] In an optional implementation form of the first and /or second of the invention, one or more pilot signal transmitted by the transmitting node (transmitter) are used for calibrating the modulation between the transmitter and the receiving node (receiver). The transmitter may apply one or more encoding settings which the receiver must be familiar with in order to correctly demodulate and decode the modulated signal. The pilot signals may be used to transfer theses encoding settings to the receiver.
[00164] The pilot signal(s) may include calibration information that may be used by the receiver to calibrate and adjust according to one or more encoding setting applied by the transmitter. The calibration information may includes, for example, the duration and/or the maximum number of delay time units. The receiver may use the calibration
information to calibrate and adjust itself to synchronize with the operation mode of the transmitter.
[00165] Using the pilot message signals may further allow dynamically adjusting the encoding setting(s) in real-time and using the pilot signal(s) to update the decoder about the adjusted encoding setting(s).
[00166] Although the embodiments described herein mainly address CAN communication in the automotive field, the methods and systems exemplified by these embodiments can also be applied to CAN communication in other fields, for example, aviation, maritime systems, industrial control systems, home automation, smart buildings, medical devices, trains, city automation systems and others.
[001] It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
Claims
1. A communication system for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
2. The communication system of claim 1 wherein the series of delays further depends on a delay unit granularity factor G and a length of a data symbol Lsym in bits and wherein the delay unit granularity factor G and a length of a data symbol in bits Lsym are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
3. The communication system of claim 2 wherein, in response to link quality indication, the controller unit is to recalculate the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits Lsym.
4. The communication system of claim 1 wherein the number of level transitions in the Data Field is determined as a function of DLC data length code and is optionaly extended to constitute one or more information fields from a group consisting of: the sequence
of data symbols to be transmitted; CRC length; contextual metadata for protocol control; calibration pilot level-transitions; and forward error correction codes.
5. The communication system of claim 1 wherein a controller unit of the receiving node is to measure a received sequence of pulses durations, estimate therefrom the series of delays and determine the sequence of data symbols.
6. The communication system of claim 5 wherein the controller unit of the receiving node is further to measure the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions.
7. The communication system of claim 6 wherein the controller unit of the transmitting node is to transmit pilot signals containing calibration information and the controller unit of the receiving node is to calibrate measurement clock based on the calibration information.
8. A controller unit for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
9. The controller unit of claim 8 wherein the series of delays further depends on a delay unit granularity factor G and a length of a data symbol Lsym in bits and wherein the delay unit granularity factor G and a length of a data symbol in bits Lsym are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
10. The controller unit of claim 9 wherein, in response to link quality indication, the controller unit is to recalculate the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits Lsym·
11. The controller unit of claim 8 further to measure a received sequence of pulses durations, estimate therefrom the series of delays and determine the sequence of data symbols.
12. The controller unit of claim 11 further to measure the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions.
13. A method for coding and communicating data frames for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and at least one controller unit of the transmitting node and at least one controller unit of the receiving node, the method comprising coding and transmitting the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data
symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
14. The method of claim 13 wherein the series of delays further depends on a delay unit granularity factor G and a length of a data symbol Lsym in bits and wherein the delay unit granularity factor G and a length of a data symbol in bits Lsym are selected to optimize data rate, bit error rate, or maximal data rate under acceptable bit error rate.
15. The method of claim 13 wherein, in response to link quality indication, recalculating the series of delays with different values of at least one of the delay unit granularity G factor and the length of a data symbol in bits L sym·
16. The method of claim 13 further comprising measuring a received sequence of pulses durations, estimating therefrom the series of delays and determining the sequence of data symbols.
17. The method of claim 16 further comprising measuring the received sequence of pulses durations by measuring durations between consecutive, same-type level-transitions.
18. A communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of- Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data-generating nodes (DGN),
wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to: request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and wherein the controller unit is to: arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
19. The communication system of claim 18, wherein the controller unit is further to communicate the data frame to one or more communication nodes over the CAN communication bus.
20. The communication system of claim 18, wherein one or more of the DGNs are from a group consisting of: an audio sensor, an Active Noise Cancellation (ANC) sensor, ultrasonic sensor, radar sensor, navigation sensor, localization sensor, battery gauge, lighting indicator, RPM indicator, wheel speed indicator, liquid level indicator, battery voltage indicator, tension sensor, temperature sensor, pressure sensor, driver and passenger heart rate sensor, driver and passenger breathing sensor, driver and passenger ECG sensor, EPIC sensor.
21. The communication system of claim 18 wherein a communication session of the data frame is open for a period of time that complies with a frame structure of a group consisting of CAN protocol, CAN-based protocol, CAN-FD, CAN-FD-based protocols, CAN-XL protocol, and ethernet.
22. The communication system of claim 18 wherein a communication session of the data frame is terminated at least by one of (1) the controller unit; (2) one or more of the DGN; and (3) is terminated by a timeout mechanism.
23. The communication system of claim 18 wherein the controller unit is further to selectively exchange multiple data segments as a single data frame under a predefined communication session plan.
24. The communication system of claim 18 wherein one of the controller unit and a predetermined DGN is further to signal the DGN to transmit a specific type of information.
25. The communication system of claim 18 wherein the spacing intervals are implemented by transmitting edge spacing modulated symbols within the Data Field.
26. The communication system of claim 18, wherein the spacing interval has a duration TISS calculated based on at least (1) a length of the CAN communication bus, (2) a propagation velocity of signals in the CAN communication bus, (3) a maximal propagation velocity of signals in the DGN and the controller unit, and (4) the CAN communication bus bit timing parameters.
27. The communication system of claim 18, wherein, during the spacing intervals, the CAN communication bus remains in a recessive state.
28. The communication system of claim 18, wherein, after the spacing interval, if the CAN communication bus remains in the recessive state for a skip duration, the one of the
controller unit and a predetermined DGN is further to skip the transmission of a corresponding DGN data.
29. The communication system of claim 18, wherein, after the spacing interval, if the CAN communication bus remains in the recessive state for a reintegration duration, the one of the controller unit and a predetermined DGN is further to close the data transmission.
30. The communication system of claim 18, wherein the DGN data is composed of one or more data items from a group consisting of (1) DGN identifier, (2) DGN status, (3) data type, and (4) payload, and (5) a check field.
31. The communication system of claim 18 wherein the DGNs are to transmit the DGN data as one of a group consisting of: open collector signal; push-pull signal; mixed pull-push and open collector signal, designed to maintain the communication bus in recessive state during the spacing intervals.
32. The communication system of claim 18 wherein the predetermined DGN is to transmit over the CAN communication bus a Remote Frame addressing the plurality of associated DGN and the plurality of associated DGN are to respond by transmitting DGN data.
33. The communication system of claim 18 wherein the controller unit is to communicate over the CAN communication bus with the plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data;
control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
34. A method for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data- generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, the method comprising: requesting the plurality of associated DGN to provide DGN data; and controlling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
35. The method of claim 34 further comprising transmitting over the CAN communication bus, by the predetermined DGN, a Remote Frame addressing the plurality of associated DGN and responding, by the plurality of associated DGN, by transmitting DGN data.
36. The method of claim 34, further comprising, by the controller unit: communicating over the CAN communication bus with the plurality of associated data-generating node (DGN);
requesting the plurality of associated DGN to provide DGN data; controling the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arranging portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
37. A Controller Unit for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of- Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to: communicate over a bus with a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments; arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
38. The controller unit of claim 37 wherein the controller unit is to communicate over the CAN communication bus with the plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments in the Data Field; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
39. A data-generating node for processing multiple data segments to be exchanged as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the controller unit is to: communicate over a bus with at least one controller unit and a plurality of associated data-generating node (DGN); request the plurality of associated DGN to provide DGN data; control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the plurality of data-segments; and arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
40. A communication system for high bandwidth communication over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of-Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises at least one transmitting node and at least one receiving node, and a controller unit of the transmitting node is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements, and wherein, for the controller unit of the transmitting node and a plurality of associated data-generating nodes, one of the controller unit and a
predetermined DGN is to request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; and wherein the controller unit is to arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame.
41. A communication system for exchanging multiple data segments as a single data frame among a plurality of communication nodes over a Controller Area Network (CAN) communication bus, the data frame has a logical structure according to CAN Standard ISO 11898-1 and is composed of a sequence of bits and waveform defining a Start-Of- Frame-Bit, an Arbitration Field, a Control Field, a Data Field, a CRC Field, an Acknowledge Field and an End-Of-Frame Field, the communication system comprises controller units and data-generating nodes (DGN), wherein for a controller unit and a plurality of associated data-generating nodes, one of the controller unit and a predetermined DGN is to request the plurality of associated DGN to provide DGN data; and control the transmission of the DGN data over the CAN bus by transmitting a spacing interval between the multiple data-segments; wherein the one of the controller unit and a predetermined DGN is to arrange portions of the DGN data received from the plurality of DGN as sequential segments of the Data Field of the data frame, and wherein one of the controller unit and a predetermined DGN is to code and transmit the Data Field by modulating a sequence of pulses with varying durations defined by deviating a number of level transitions of a known cyclic signal waveform by a series of delays, wherein the series of delays is indicative of a sequence of data symbols to be transmitted and wherein the series of delays is calculated by applying different modulation calculations for odd and even elements.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21754512.8A EP4104389A4 (en) | 2020-02-11 | 2021-02-08 | High bandwidth can-derivative communication |
US17/760,365 US12132586B2 (en) | 2021-02-08 | High bandwidth can-derivative communication |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062972699P | 2020-02-11 | 2020-02-11 | |
US62/972,699 | 2020-02-11 | ||
US202062986799P | 2020-03-09 | 2020-03-09 | |
US62/986,799 | 2020-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021161303A1 true WO2021161303A1 (en) | 2021-08-19 |
Family
ID=77292984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IL2021/050149 WO2021161303A1 (en) | 2020-02-11 | 2021-02-08 | High bandwidth can-derivative communication |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4104389A4 (en) |
WO (1) | WO2021161303A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024149493A1 (en) * | 2023-01-11 | 2024-07-18 | Robert Bosch Gmbh | Transmission signal evaluation module for a transmitter/receiver of a subscriber station of a serial bus system and method for transmitting a message having differential signals in a serial bus system |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070147265A1 (en) * | 2005-12-23 | 2007-06-28 | Eidson John C | Correcting time synchronization inaccuracy caused by internal asymmetric delays in a device |
US20100008456A1 (en) * | 2006-03-08 | 2010-01-14 | Andreas-Juergen Rohatschek | Method And System For Compensating Asymmetrical Delays |
EP2712123A1 (en) | 2012-09-20 | 2014-03-26 | Robert Bosch Gmbh | Standard CAN implementation tolerating CAN FD frames |
US20140244871A1 (en) * | 2011-06-29 | 2014-08-28 | Robert Bosch Gmbh | Method And Device For Serial Data Transmission Having A Flexible Message Size And A Variable Bit Length |
US9513988B2 (en) | 2011-04-06 | 2016-12-06 | Robert Bosch Gmbh | Method and device for increasing the data transmission capacity in a serial bus system |
US9645958B2 (en) | 2010-06-23 | 2017-05-09 | Robert Bosch Gmbh | Method and device for transmitting data having a variable bit length |
US9690742B2 (en) | 2011-06-29 | 2017-06-27 | Robert Bosch Gmbh | Method and device for serial data transmission having a flexible message size and a variable bit length |
EP3319274A1 (en) * | 2016-11-02 | 2018-05-09 | NXP USA, Inc. | Can module and method therefor |
US10212002B2 (en) | 2013-10-09 | 2019-02-19 | Robert Bosch Gmbh | Subscriber station for a bus system, and method for wideband can communication |
WO2020021392A1 (en) | 2018-07-24 | 2020-01-30 | Ciphersip Ag | Modulating signal level transitions to increase data throughput over communication channels |
US20200065277A1 (en) | 2018-08-22 | 2020-02-27 | Synaptics Incorporated | Dynamic delay calibration of devices attached to bus systems utilizing time-multiplexed clock and data lines |
US20200104270A1 (en) | 2018-09-27 | 2020-04-02 | Melexis Technologies Sa | Method and system for communicating over a bus |
US10673677B2 (en) | 2016-05-06 | 2020-06-02 | Huawei Technologies Co., Ltd. | Single carrier-based data transmission method and apparatus |
US10742443B2 (en) | 2015-03-26 | 2020-08-11 | Continental Teves Ag & Co. Ohg | Method for transmitting messages in a data bus system, transceiver and electronic control unit for a motor vehicle |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9419737B2 (en) * | 2013-03-15 | 2016-08-16 | Concio Holdings LLC | High speed embedded protocol for distributed control systems |
-
2021
- 2021-02-08 EP EP21754512.8A patent/EP4104389A4/en active Pending
- 2021-02-08 WO PCT/IL2021/050149 patent/WO2021161303A1/en unknown
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070147265A1 (en) * | 2005-12-23 | 2007-06-28 | Eidson John C | Correcting time synchronization inaccuracy caused by internal asymmetric delays in a device |
US20100008456A1 (en) * | 2006-03-08 | 2010-01-14 | Andreas-Juergen Rohatschek | Method And System For Compensating Asymmetrical Delays |
US9645958B2 (en) | 2010-06-23 | 2017-05-09 | Robert Bosch Gmbh | Method and device for transmitting data having a variable bit length |
US9513988B2 (en) | 2011-04-06 | 2016-12-06 | Robert Bosch Gmbh | Method and device for increasing the data transmission capacity in a serial bus system |
US9690742B2 (en) | 2011-06-29 | 2017-06-27 | Robert Bosch Gmbh | Method and device for serial data transmission having a flexible message size and a variable bit length |
US20140244871A1 (en) * | 2011-06-29 | 2014-08-28 | Robert Bosch Gmbh | Method And Device For Serial Data Transmission Having A Flexible Message Size And A Variable Bit Length |
EP2712123A1 (en) | 2012-09-20 | 2014-03-26 | Robert Bosch Gmbh | Standard CAN implementation tolerating CAN FD frames |
US9742584B2 (en) | 2012-09-20 | 2017-08-22 | Robert Bosch Gmbh | Controller area network with flexible data-rate |
US10212002B2 (en) | 2013-10-09 | 2019-02-19 | Robert Bosch Gmbh | Subscriber station for a bus system, and method for wideband can communication |
US10742443B2 (en) | 2015-03-26 | 2020-08-11 | Continental Teves Ag & Co. Ohg | Method for transmitting messages in a data bus system, transceiver and electronic control unit for a motor vehicle |
US10673677B2 (en) | 2016-05-06 | 2020-06-02 | Huawei Technologies Co., Ltd. | Single carrier-based data transmission method and apparatus |
EP3319274A1 (en) * | 2016-11-02 | 2018-05-09 | NXP USA, Inc. | Can module and method therefor |
WO2020021392A1 (en) | 2018-07-24 | 2020-01-30 | Ciphersip Ag | Modulating signal level transitions to increase data throughput over communication channels |
US20200065277A1 (en) | 2018-08-22 | 2020-02-27 | Synaptics Incorporated | Dynamic delay calibration of devices attached to bus systems utilizing time-multiplexed clock and data lines |
US20200104270A1 (en) | 2018-09-27 | 2020-04-02 | Melexis Technologies Sa | Method and system for communicating over a bus |
Non-Patent Citations (3)
Title |
---|
HUSE, M.I: "FlexRay Analysis, Configuration Parameter Estimation, and Adversaries", NORWEGIAN UNIVERSITY OF SCIENCE AND TECHNOLOGY, 4 June 2007 (2007-06-04), XP055846996, Retrieved from the Internet <URL:https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2453093/16516_FULLTEXT.pdf?sequence=l&isAllowed=y> [retrieved on 20210404] * |
See also references of EP4104389A4 |
SHAW, R.: "Improving the Reliability and Performance of FlexRay Vehicle Applications Using Simulation Techniques", WATERFORD INSTITUTE OF TECHNOLOGY, 27 May 2009 (2009-05-27), pages 179, XP055959620, Retrieved from the Internet <URL:http://repository.wit.ie/1373/1/Improving_the_Reliability_and_Performance_of_FlexRay_Vehicle_Applications_Using_Simulation_Techniques.pdf> [retrieved on 20210407] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024149493A1 (en) * | 2023-01-11 | 2024-07-18 | Robert Bosch Gmbh | Transmission signal evaluation module for a transmitter/receiver of a subscriber station of a serial bus system and method for transmitting a message having differential signals in a serial bus system |
Also Published As
Publication number | Publication date |
---|---|
US20230060218A1 (en) | 2023-03-02 |
EP4104389A4 (en) | 2023-10-18 |
EP4104389A1 (en) | 2022-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ziermann et al. | CAN+: A new backward-compatible Controller Area Network (CAN) protocol with up to 16× higher data rates. | |
JP6680814B2 (en) | Bus system coordinator and method of driving a CAN subscriber and a CAN FD subscriber in a bus system | |
US10530606B2 (en) | Method for transmitting data via a serial communication bus, bus interface, and computer program | |
CN104995873B (en) | Data transmission using protocol exception state | |
US9742584B2 (en) | Controller area network with flexible data-rate | |
EP2730061B1 (en) | Controller area network with flexible data-rate | |
US9529746B2 (en) | Method for operating a communication system | |
CN114144997B (en) | Error detection test device for subscriber stations of a serial bus system and method for detecting a mechanism for error detection in a communication in a serial bus system | |
US20210399919A1 (en) | Error frame shielding unit for a user station of a serial bus system, and method for communicating in a serial bus system | |
CN113841362A (en) | Subscriber station for a serial bus system and method for communication in a serial bus system | |
CN112823496B (en) | Frame masking unit, subscriber station for a serial bus system and method for communication in a serial bus system | |
WO2021161303A1 (en) | High bandwidth can-derivative communication | |
JP7345640B2 (en) | Subscriber stations for serial bus systems and communication methods in serial bus systems | |
US12132586B2 (en) | High bandwidth can-derivative communication | |
Sethna et al. | What lessons can controller area networks learn from FlexRay | |
CN114731308B (en) | Subscriber station for a serial bus system and method for communication in a serial bus system | |
Sharma | In-vehicular communication networking protocol | |
US20210377070A1 (en) | User station for a serial bus system, and method for transmitting a message in a serial bus system | |
Rahim et al. | Comparison of CAN, TTP and Flexray Communication Protocols | |
Dhanush et al. | Enhancing In-Vehicle Networks with CAN-FD: A study of Protocol Improvements over Classical CAN | |
JP7422229B2 (en) | Subscriber stations for serial bus systems and communication methods in serial bus systems | |
KR20150050990A (en) | Method for packaging controller area networks packet and apparatuses using the same | |
Mahmud | Communication Networks for the Next-Generation Vehicles | |
KR20150050936A (en) | Method for packaging flexray packet and apparatuses using the same | |
Buchanan | Some Studies on CAN Specification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21754512 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2021754512 Country of ref document: EP Effective date: 20220912 |