Advanced bus protocol for dynamic lighting
Patent Information
- Application Number
- JP2023060802
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-05-16
- Filing Date
- 2023-04-04
- Publication Date
- 2025-12-15
- Estimated Expiration
- 2043-04-04
AI Technical Summary
Existing bus protocols in automotive lighting systems face challenges in addressing a large number of drive units while maintaining low data load and electromagnetic compatibility, often resulting in erroneous data transmission and unsafe conditions due to electrical noise.
A communication method using a flexible protocol with an ID field and DATA field, allowing for addressing multiple drive units through a sequence of bits, including an ID field for addressing and a DATA field for information exchange, with additional bits for instructions and payload length indication.
Enables addressing up to 256 drive units with reduced bus load, improving safety and reducing electromagnetic interference by ensuring data is sent only to units that require updates, thus enhancing system robustness and efficiency.
Smart Images

Figure 00000024_0000 
Figure 00000024_0001 
Figure 00000025_0000
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data transmission and electronic communication via a bus protocol. More specifically, it relates to the fields of lighting systems and signaling systems.
Background Art
[0002] For example, in consumer goods such as automobiles, the control of electronic components is performed using a bus protocol that establishes communication between a master control unit and a drive unit that controls one or more electronic units.
[0003] In a bus protocol, in order to maintain a limited bandwidth, the data load on the bus should be kept as low as possible. As a result, since the emissions are kept low, the electromagnetic compatibility problem is also reduced.
[0004] In a specific example for automotive applications, the control of the lighting system should be robust and fail-safe. For example, it should not be affected by external fields, electrical peaks, or other noise sources. However, the automotive environment is electrically noisy. Incorrect data transmission or unintentional operation of the lighting system can lead to dangerous situations that should be avoided.
[0005] To reduce these effects, document DE102015222504A1 discloses embodiments based on an SPI or unidirectional differential data bus that reduce the influence of antenna effects due to, for example, the influence of power lines or external influences. This protection is only partial and does not allow protection due to variations or irregularities in the LED controller.
[0006] Furthermore, the need to reduce the data load coincides with the increasing tendency of the number of drive units to be controlled (for example, in a lighting architecture, the number of lighting units increases). The larger the number of drive units to be controlled, the larger the number of addresses required.
[0007] Registers are typically 8-bit, 16-bit, or 32-bit wide, and communication frames usually include a register, for example, an identification field (ID field) that fits into a 16-bit register. Because addressing requires additional information (e.g., commands), typically less than half of these 16 bits are available for addressing drive units. This available address space is usually insufficient to address all necessary drive units (typically fewer than 100, e.g., around 60). While it may be possible to increase the ID field size, this requires a modification register and a processor. The 16-bit width aligns with microcontroller or CPU architectures performing further signal processing, and because different components (such as drivers) are provided by different suppliers, using a 16-bit ID for bus protocols between network members is desirable to maintain compatibility between these different components.
[0008] It is desirable to maintain additional features and options for the bus protocol while simultaneously enabling the addressing of a large number of drive units, such as more than 100 drive units. [Overview of the Initiative]
[0009] Embodiments of the present invention aim to provide a communication method between a master and a slave, which includes the exchange of communication frames including an ID field and a DATA field, which uses a flexible protocol that enables the exchange of commands and information, and enables the addressing of a large number of drive units.
[0010] The present invention provides a method for operating multiple drive units to supply power to an electronic unit. This method involves exchanging frames containing bit sequences between a master control unit and at least one of the multiple drive units, wherein the sequence is divided into fields of consecutive bit strings. - Apply an ID field for addressing at least one drive unit to exchange data between the master control unit and at least one addressed drive unit. - Further includes applying a DATA field that includes a payload containing information and / or instructions regarding the status of the electronic unit of at least one of the above-addressed drive units.
[0011] Applying the ID field further involves using a first bitwise substring containing N bits to indicate the drive unit address, in order to apply the DATA field to an addressed drive unit, and to ignore the DATA field if the drive unit is not addressed, where 2^N is greater than or equal to the number of drive units in multiple drive units.
[0012] Applying the ID field further involves using receive / transmit command bits to assign values, enabling the master control unit to identify whether it should receive data from or transmit data to the drive units, depending on the values assigned to the receive / transmit command bits, and enabling each addressed drive unit to decode what action is required by the master control unit when a frame is received by an addressed drive unit. Specifically, for a first value of the receive / transmit command bit, the master control unit may specify that the drive unit should receive data. For a second value, the master control unit may specify that the drive unit should transmit data in response to a request from the master control unit.
[0013] Applying the ID field further involves using a second substring (ID4~ID2) within the ID field to indicate the length of the payload.
[0014] The present invention provides the use of instruction bit I for assigning a value that indicates the type of information in the DATA field.
[0015] Applying the DATA field involves applying a sequence of bits consisting of a sequence of bits from the payload if the instruction bit has a first value. If the instruction bit has a second value different from the first value, applying the DATA field involves applying a sequence of bits, including a sequence of bits from the payload and at least one additional bit substring, to a predefined position in the DATA field, where the additional bit substring introduces information about the drive unit action.
[0016] An advantage of the embodiments of the present invention is that a limited number of bits can be used to address the drive unit, while at the same time, the ID field in the DATA field can be extended with additional bits, such as words, to include drive unit instructions (instructions or actions performed by the drive unit, or instructions performed by the drive unit, depending on whether the message is to or from the slave), assignments, etc. An additional advantage is that the length of the payload can be indicated, enabling a flexible protocol.
[0017] In some embodiments of the present invention, applying an ID field further includes applying a function bit for assigning a value, and further includes assigning a bit in the DATA field to a different electronic unit for a first value of the function bit, and processing a data bit in the DATA field as a drive unit instruction for a second value of the function bit.
[0018] An advantage of the embodiments of the present invention is that a frame can be used to include instruction or assignment data bits to electronic units connected to a drive unit in order to update only the electronic units that need to be updated. Another advantage of the embodiments of the present invention is that the bus load can be reduced because the master sends data bits only to the connected electronic units that need to be updated.
[0019] In some embodiments of the present invention, applying an ID field involves using a 16-bit string. An advantage of embodiments of the present invention is that typical registers arranged in 16 bits can be used, and it is also possible to use standard microcontrollers and well-known CPU architectures.
[0020] In some embodiments of the present invention, indicating a drive unit address using a first bit substring includes using an 8-bit first bit substring. An advantage of embodiments of the present invention is that up to 264 addresses are available. Thus, a large number of drive units (e.g., 260) can be addressed individually.
[0021] In some embodiments of the present invention, applying an ID field may involve using a second substring (ID4 to ID2) consisting of 3 bits. This allows for a sufficient number of digits to encode different values of data lengths for many different applications without taking up many bits in the ID field.
[0022] In some embodiments of the present invention, supplying power to an electronic unit includes supplying power to an LED cluster containing two or more LEDs. An advantage is that several LEDs can be controlled by a single drive unit.
[0023] In some embodiments of the present invention, exchanging a frame includes assigning a second value to the command bit I such that at least one additional bit substring is added to the DATA field, and further includes sending the DATA field from at least one drive unit to the master control unit, the additional bit string including information about the command to be executed by the drive unit.
[0024] An advantage of embodiments of the present invention is that the DATA field can be used to notify the master, for example, as a response to a previous request from the master control unit, about the commands executed by the slave.
[0025] In some embodiments of the present invention, applying the DATA field further includes sending a command in at least 1 word divided into a predefined first byte added to the DATA field and including the position of at least one electronic unit, and a predefined second byte different from the first byte, which is used to select which data needs to be loaded from the drive unit to the master control unit into the transmission buffer and is transmitted by the drive unit addressed in the next frame.
[0026] An advantage of embodiments of the present invention is that the MCU can reduce the bus load because it sends data bits only to the connected electronic units that need updates, rather than all connected electronic units. A further advantage is that in the same second bit substring, the MCU can send additional commands to the drive unit.
[0027] In some embodiments, the MCU may send a request to the previously addressed slave to send the data in the drive unit's transmission buffer to the MCU.
[0028] In some embodiments, sending a request from the MCU includes setting a second value of instruction bit I for applying an additional bit string, sending data in the transmission buffer from the drive unit to the MCU, and further sending, with the additional bit string, an identifier previously received by the drive unit. An advantage of embodiments of the present invention is that the drive unit can send a confirmation of a previous request made by the MCU.
[0029] In some embodiments of the present invention, using the instruction bit includes assigning a second value to the instruction bit such that at least one additional bit substring is added to the DATA field, and at least one additional bit substring includes a burst pointer address.
[0030] In a particular embodiment, the method further includes reading register information using the burst pointer address for a first value of the receive / transmit command bit, or writing information to the register using the burst pointer address for a second value of the receive / transmit command bit.
[0031] In a further aspect, the present invention provides a drive unit connectable to a plurality of electronic units and a master control unit, the drive unit being configured to perform the steps of the method of the present invention.
[0032] The present invention provides a system comprising a plurality of drive units according to the foregoing aspects, further comprising a master control unit connected to the plurality of drive units, the master control unit being configured to perform the steps of the method of the present invention.
[0033] Particular and preferred aspects of the present invention are described in the appended independent and dependent claims. Features from the dependent claims may, where appropriate, also be combined not only with what is explicitly recited in the claims but also with features of the independent claims and other dependent claims.
[0034] These and other aspects of the present invention will become apparent from and be explained by the embodiments described below. [Brief explanation of the drawing]
[0035] [Figure 1] This invention illustrates a dynamic optical system for exchanging data between multiple LED drive units and a master control unit, according to an embodiment of the present invention. [Figure 2] This shows a possible LED drive unit according to an embodiment of the present invention. [Figure 3] This shows a communication frame for communication between a master and a slave, with a 16-bit ID field (half of which is used for addressing the slave). [Figure 4] The present invention shows a communication frame including instruction bits I, where 8 bits are used for addressing the slave. [Figure 5] The following is a communication frame according to an embodiment of the present invention, illustrating the operation of using instruction bit I, where function bit F is used to assign data bits ("LED data") to control an electronic unit from a payload to a specific electronic unit. [Figure 6] The following shows a communication frame according to an embodiment of the present invention, which has an information request from a master to an addressed slave, specifically, 6M1 represents both an information request for assigning an electronic unit and an LED data bit. [Figure 7] This demonstrates the use of a burst pointer address according to an embodiment of the present invention for reading registers. [Figure 8] This shows a communication frame according to an embodiment of the present invention for writing to a register.
[0036] The drawings are only schematic and not limiting. The sizes of some elements in the drawings may be exaggerated, and they may not be drawn to scale for illustrative purposes.
[0037] Any reference numerals within the claims should not be construed as limiting the scope. In different drawings, the same reference numeral refers to the same or similar element. [Modes for carrying out the invention]
[0038] The present invention will be described with reference to specific embodiments and specific drawings, but will not be limited thereto, and will be limited only by the claims. Dimensions and relative dimensions are not to be considered actual reductions in the implementation of the invention.
[0039] Furthermore, terms such as “first,” “second,” etc., in the description and claims are used to distinguish similar elements and are not necessarily used to describe order in time, space, ranking, or any other way. It should be understood that such terms are interchangeable under appropriate circumstances and that embodiments of the invention described herein may operate in an order other than that described or shown herein.
[0040] Furthermore, terms such as “above” and “below” in the description and claims are used for descriptive purposes and are not necessarily used to describe relative positions. It should be understood that such terms are interchangeable under appropriate circumstances, and that embodiments of the invention described herein may operate in orientations other than those described or shown herein.
[0041] It should be noted that the term “comprising” as used in the claims should not be interpreted as being limited to the means listed thereafter, nor should it exclude other elements or steps. Therefore, it should be interpreted as specifying the presence of the described features, integers, steps, or components as mentioned, but not as excluding the presence or addition of one or more other features, integers, steps, or components, or groups thereof. Thus, the term “comprising” encompasses situations where only the described features exist, as well as situations where these features and one or more other features exist. Therefore, the scope of the expression “device comprising means A and B” should not be interpreted as being limited to a device consisting only of components A and B. This means, with respect to the present invention, that the relevant components of the device are only A and B.
[0042] Throughout this specification, any reference to “one embodiment” or “embodiment” means that a particular feature, structure, or characteristic described in relation to an embodiment is included in at least one embodiment of the present invention. Therefore, occurrences of the phrase “in one embodiment” or “in an embodiment” in various places throughout this specification do not necessarily all refer to the same embodiment, although they may refer to the same embodiment. Furthermore, certain features, structures, or characteristics may be combined in one or more embodiments in any preferred manner, as will be apparent to those skilled in the art from this disclosure.
[0043] Similarly, in describing exemplary embodiments of the Invention, it should be understood that various features of the Invention may be grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, this method of disclosure should not be construed as reflecting an intention that the claimed invention requires more features than are expressly described in each claim. Rather, as reflected in the following claims, the inventive aspects are not all features of a single, aforementioned disclosed embodiment. Therefore, the claims following the detailed description are expressly incorporated into the detailed description, and each claim exists independently as a separate embodiment of the Invention.
[0044] Furthermore, some embodiments described herein include some features included in other embodiments, and do not include other features, but combinations of features of different embodiments are within the scope of the present invention and form different embodiments as will be understood by those skilled in the art. For example, any combination of any of the claimed embodiments may be used in the following claims.
[0045] Numerous specific details are described in the description provided herein. However, it should be understood that embodiments of the invention may be carried out without these specific details. In other examples, well-known methods, structures, and techniques are not described in detail so as not to obscure the understanding of this description.
[0046] This invention relates to an enhancement of the communication method and device disclosed in patent EP3478031B1. Accordingly, this invention relates to the optimization of communication between a master and a slave. The slave includes an electronic unit that can be controlled by the slave according to instructions from the master, i.e., the master control unit (MCU).
[0047] In this description, the terms “slave,” “driver,” and “drive unit” are used interchangeably in the following discussion. In embodiments of the present invention, when referring to a “drive unit,” it refers to a unit that includes a controller for providing control of multiple electronic units. The drive unit is connected to the MCU via a bus. The drive unit can control the connected electronic units according to instructions received by the MCU. In some embodiments, the drive unit may comprise one or more electronic units, such as one or more LEDs. These LEDs may form a cluster (LED cluster). The present invention is not limited to LEDs and can be applied to other types of lighting devices, and even other types of electronic units.
[0048] In embodiments of the present invention, when referring to an LED, a single light-emitting diode is referred to. The diode emits a single color, and its brightness is typically the only parameter that can be adjusted by adjusting the modulation. With pulse-width modulation (PWM), the LED requires information encoded in 16 bits, and therefore 2 bytes. On the other hand, when referring to an LED cluster (particularly an RGB unit), a group of LEDs (particularly a cluster of red, green, and blue LEDs) that may preferably be in a single package is referred to. The package may include, for example, a supply terminal and four terminals, which are terminals for each LED in the cluster (red, green, and blue LEDs). This light from the cluster can be adjusted in brightness and color. Since a single LED requires 2 bytes (corresponding to 1 word), an RGB unit can be updated and controlled with 6 bytes. However, the electronic units may form different clusters that are grouped by different parameters.
[0049] In embodiments of the present invention, when referring to a “word,” it refers to a predetermined number of bits that can be processed by a processor as a single unit. In embodiments of the present invention, a word consists of two consecutive bytes. Thus, a word contains 16 bits necessary for PWM control of a single LED. See above. This means that in embodiments of the present invention, control of a single LED can be performed with one word, and therefore an RGB unit can be controlled with three words. The bits of a word are numbered from 0 to 15, with bit 0 being the least significant bit (LSB). The byte containing the LSB of a word is defined as the lower byte, and the byte containing bit 15 is the upper byte. The following examples refer to a two-byte word, but the present invention is not limited thereto, and the present invention may be applicable to different processor architectures that can accept words of different sizes.
[0050] The present invention provides a communication protocol between a master (MCU) and at least one slave among a plurality of slaves (drive units). The communication is based on a sequence of bits that allows for a low load on the bus while simultaneously enabling the addressing of numerous drivers. The sequence of bits is divided into at least an ID field and a DATA field containing the data payload. The header containing the ID field is sent by the MCU. The following bits forming the DATA field are sent by the MCU in master-to-slave messages and by one or more addressed drive units in slave-to-master messages. As described below, information indicating whether a message is master-to-slave or slave-to-master may be included in the ID field, specifically in the receive / transmit command bits. Other fields are typically included in the valid frame, such as the BREAK field and CRC. The present invention particularly provides an instruction bit I that allows for the addition of a sequence of bits (e.g., a command space) for adding instructions to drive units. Since the bits available in the ID field decrease as longer strings become available for the address of the drive units, additional fields can be added to include actions performed by the drive units. For example, the additional space can be used for master-to-slave (M2S) communication to send commands to be executed by the drive unit, or, when communication is slave-to-master (S2M), it can be used by the drive unit to notify the master of actions to be performed by the drive unit. Furthermore, or as will be further described below, additional bit strings can be used to assign data bits to the electronic unit.
[0051] Instruction bit I is part of the bits in the ID field. Additional bit sequences can be added to the DATA field. The bit sequence may include at least one word, for example, one word or two words, and the present invention is not limited thereto.
[0052] The extension of the 16-bit ID field reduces data load by allowing less data to be sent. On-system implementation enables a more secure system. The instruction bit I allows for the addition of a bit string (e.g., at least one word), so the length of the DATA field is increased by this added bit string.
[0053] In some embodiments of the present invention, at least one word is located at the beginning of the DATA field.
[0054] In some embodiments, the added bit string (at least one word) is an instruction executed by one or more drive units (i.e., slaves).
[0055] The additional bit string may also be sent by the slave when the MCU requests an S2M frame. In some embodiments, the additional bit string may contain information from the slave to the MCU regarding instructions executed by the slave.
[0056] The added bit string can be used in LED frames that enable the allocation of electronic units, and in instructions within communication frames that include data. The added bit string may further include both information for allocating electronic units and additional information regarding the instructions.
[0057] The length of the DATA field is defined by the PL length field, which defines the length of the payload within the substrings (ID4-ID2) of the ID field, and also by the presence of an additional bit string that depends on the instruction bits. The function bit F, if present, may determine how the payload data is measured. The present invention provides high flexibility for sending and requesting instructions and assigning bits to specific electronic units, which results in reduced load on the communication bus.
[0058] Since the ID field containing the instruction bit I is sent by the MCU, the instruction bit can only be set or reset by the MCU controlling the bus.
[0059] The present invention will be described below with reference to specific applications of the system and its elements, as well as methods of communication.
[0060] In a first aspect, the present invention relates to a system comprising a master control unit (MCU), one or more slaves which may be drive units for driving at least one electronic unit, and a communication bus for establishing the exchange of data sequences between the MCU and each of the plurality of drive units. Each drive unit may be connected to the same communication bus.
[0061] In some embodiments, the system is, for example, a lighting system for a vehicle or automobile, but embodiments of the present invention are not limited thereto. The system advantageously enhances safety through the precise driving of electronic units.
[0062] Figure 1 shows a lighting system according to an embodiment of the first aspect of the present invention. The MCU 10 and the drive unit 11 (i.e., slaves) are connected to a bidirectional bus for data exchange. In this master-slave system, data can only be provided from the master to one or more slaves, and from slaves to masters. It cannot be provided from one slave to another.
[0063] The drive unit may be an LED drive unit. The drive unit's supply section may be connected to one or more protection units 12 to protect against surges or reverse polarity. In some embodiments, one or more protection units may comprise voltage protection elements 13, reverse polarity protection elements 14, or a combination thereof. These protection units can suppress high voltage or ESD interference on the supply line and prevent system damage if reverse polarity is applied to the supply line VS and GND. One or more protection units may be connected between the supply section and at least one LED drive unit, or some of the units from a plurality. For example, as shown in Figure 1, they may be connected between the supply section and all LED drive units.
[0064] Light information (e.g., light intensity, light color, or related PWM ratio) can be transmitted from the MCU 10 to the LED drive unit 11 via the bus. The present invention is not limited to light information, and diagnostic information may also be exchanged between the drive unit and the MCU via the bus. Diagnostic information may include, for example, information on whether a given current is flowing through all LEDs.
[0065] This system is adapted to have a flexible and configurable auto-addressing system for assigning different addresses to drive units. In some embodiments, the system may include several registers for providing checkpoints at one or more stages of data exchange, typically, for example, at the addressing level, at the level of powering the MCU or transmitting information to and from the MCU, or even at the level of starting or ending data exchange. Typically, the checkpoint is based on comparing the length of a particular bit string with the expected string length at a particular stage of data transmission. For example, if the communication bus suddenly drops voltage, but this occurs over a length of less than 12 bits, the system can ignore this event as noise. If this occurs over a length of 12 bits, the drive unit can start reading the data sequence. This can be applied to several stages of data transmission, including the end of transmission. This provides very robust shielding against electromagnetic interference, surges, electrostatic discharge, and other undesirable phenomena occurring in automotive environments, resulting in very stable and robust driving of electronic units (e.g., LEDs).
[0066] The drive unit may include a controller for controlling one or more electronic units that can be organized as a cluster (e.g., an LED cluster containing several LEDs (different LEDs), e.g., an RGB unit). The drive unit includes means for processing communications received via a bus. In some embodiments, data exchanged via the communication bus is processed, for example, through software in the drive unit's CPU. In some embodiments, the controller includes at least one bus protocol processing unit (BPPU) for processing data exchanged via the communication bus and at least one control unit for controlling the power supply of the cluster's electronic units according to any data sequence sent by the MCU. In one embodiment, the BPPU can also be treated as a software function executed by the drive unit's CPU. The drive unit (e.g., its software or, for example, at least one BPPU) is adapted, in particular, to process an ID field for addressing at least one drive unit and a DATA field containing information and / or instructions regarding the status of the electronic units, for exchanging data between a master control unit and at least one addressed drive unit.
[0067] Figure 2 shows an LED driver unit 11 suitable for the lighting system of the present invention. The driver unit 11 may comprise a cluster 38 including LEDs. Such a unit has been previously discussed in document EP3478031B1 with reference to Figures 2A and 2B, in particular paragraphs
[0074] to
[0093] . The same unit can be used in embodiments of the present invention, but the MCU and driver unit of embodiments of the present invention are configured to perform the methods of the present invention. They may be adapted to the possibility of processing or transmitting (or both) a communication frame including an ID field having instruction bits I, and adding a bit string to the data field of the communication field in response to a predetermined value of the instruction bits I, according to embodiments of the present invention. In a particular embodiment of Figure 2, the LED driver unit 11 comprises a bus protocol processing unit (BPPU) 33 that performs processing of the received / transmitted data, applies functional safety measures, and / or triggers error handling as necessary. The BPPU 33 may also generate interrupts and control signals and send them to the CPU and general-purpose asynchronous transceiver 32 (UART). The entire embodiment reduces the need for CPU resources. The BPPU33 may include, for example, a digital state machine or any other type of unit for processing bus protocols for dynamic optical applications. The BPPU33 may be configured to perform communication according to the steps of the present invention, which include processing and / or applying sequences of bits on the bus.
[0068] In embodiments of the present invention, a differential bus (e.g., comprising two wires) can be used instead of a single-wire bus. Such a differential two-wire bus allows for higher data rates compared to a single-wire bus, for example, as a local interconnect network (LIN) bus of only 20 kbit / s, because the differential characteristics of the signals are more robust to interference. These higher data rates, for example, 0.5 to 4 Mbit / s, are required in dynamic optical applications, for example. Thanks to the specific communication protocol of the present invention, up to 256 addresses can be used. This allows for addressing more than 200 slaves, for example, 250, or more than 252 slaves, without degrading functionality. The bus can be bidirectional, thereby enabling the exchange of optical and diagnostic information.
[0069] As mentioned above, the system may be configured to have a flexible, configurable auto-addressing system for assigning different addresses to the drive unit, including several registers for providing checkpoints at one or more stages of data exchange. The checkpoints are based on comparing the length of a particular bit string with the expected length of the string at a particular stage of data transmission, which provides robust shielding against EM interference, surges, and other undesirable phenomena, as described above.
[0070] Node addresses can be set by automatic configuration or automatic addressing, which provides a unique network address to each slave. This typically occurs when all drive units are connected to the bus and the system is powered on for the first time. Automatic configuration can be repeated at any time. Furthermore, the system may include calibration means for calibrating each node, e.g., drive units and connected electronic units, over the network for defined outputs. For example, optical outputs such as color and / or intensity can be calibrated, and the calibration data is stored in the slave's data memory (e.g., NV data memory). This can be used when the slave provides the requested optical output in response to a command from the master. Calibration is typically performed at the module level with a test setup defined by a given supplier.
[0071] The present invention provides functional safety at the system level and offers safety functions and diagnostic elements at the bus protocol and / or at the node hardware level (e.g., functional safety level B). The present invention can be robust against voltage drops on supply lines. The present invention can advantageously present protective means and safety measures against, for example, electrostatic discharge (ESD) in automotive environments and can improve electromagnetic compatibility.
[0072] In particular, the present invention can be used in dynamic lighting systems in automotive environments, for example, for signal information for the driver as well as ambient light. Therefore, the system may include functional safety requirements. Embodiments of the present invention may include safety measures in bus implementation hardware and protocols.
[0073] The present invention can provide a system having a dedicated command language for optical control, dedicated hardware memory, and a register approach. Furthermore, open configuration means can be applied to the protocol and hardware.
[0074] In the system, the slave is connected to the master at a slave node in the network system, and the system is configured to implement communication between the master and the slave, such as M2S communication and S2M communication, according to a second aspect of the present invention. The master and the slave may be configured to apply a communication method according to a second aspect of the present invention.
[0075] A second aspect of the present invention provides a method for operating a drive unit, which in turn provides a method for controlling an electronic unit connected to the drive unit. This method involves exchanging a bit sequence between a master control unit (MCU) and at least one of a plurality of drive units in a slave node, the sequence being divided into fields of a contiguous bit string. In particular, this method includes applying an ID field for addressing at least one drive unit in order to exchange data between the master control unit and at least one addressable drive unit. This method then includes applying a DATA field containing information about the status of the electronic unit and / or instructions. The receive / transmit command bit (R / T) (also referred to as the R bit), function bit F, and instruction bit I of the ID field are always set by the MCU. In particular, this method includes sending the ID field by the MCU over a bus. The slave receives or transmits data depending on the value of the R bit. In some embodiments, the communication is M2S, so that the slave receives data when R is zero. In M2S communication, the MCU sends the ID field and the DATA field. Next, the slave transmits data when R is 1, so the communication frame is S2M. In S2M communication, the MCU sends an ID field, and one or more addressed drive units send a DATA field following the parameters in the ID field.
[0076] Therefore, applying the ID field involves using a first bit substring containing N bits to indicate the drive unit address, in order to apply the DATA field to an addressed drive unit, and to ignore the DATA field if the drive unit is not addressed, where 2^N is greater than or equal to the number of drive units among them. Since the ID field contains a fixed number of bits, increasing the number of bits available for addressing reduces the space available for other functions of the ID field.
[0077] This method involves using bits in the ID field as "instruction bits" I, which typically allows for additional sequences of bits (i.e., bit strings) for functions applied within the ID field. However, these additional bit strings are introduced within the DATA field.
[0078] The advantages of the embodiment using instruction bit I are evident in the following comparison between frames in Figures 3 and 4, where both use the same length for the slave address, but only the frame in Figure 4 uses instruction bit I.
[0079] Figure 3 shows a frame that conforms to the bus protocol, which includes an ID field followed by a DATA field. This frame begins with the ID field after the BREAK field 301. The ID field contains or consists of 16 bits numbered from 15 to 0 (ID15 to ID0). The ID field contains a first substring 302 for the drive unit address.
[0080] The first substring contains an 8-bit string (8-bit address), allowing for the addressing of up to 2^8 = 256 drive units. For example, the system is configured to address up to, for example, 252 drive units, where, for example, four addresses are reserved by the system for distribution purposes, from the MCU to all drive units.
[0081] Applying the ID field by the MCU further includes enabling the MCU to define whether it should receive or transmit data using the R / T command bit (i.e., the R bit), or enabling each addressed drive unit to decode the action requested by the MCU when the bit sequence is sent to the drive unit.
[0082] Applying the field further involves applying a second substring 303 for the subaddress / instruction. It also indicates the function bit F disclosed in document EP3478031B1, which is further described below.
[0083] Applying the field further involves applying 2-bit parity information p0 / p1 to the ID field, as known from prior art. If the parity matches the remaining bits of the ID field, the information is transmitted correctly over the bus. If the parity does not match, the provided information should be discarded.
[0084] In particular, the function bit F may be used to specify the type of information contained in the DATA field. This information is used to obtain the length value related to the DATA field in the second substring 303 (ID5~ID2) of the ID field. For a particular value of the function bit, the data bits in the subsequent DATA field are assigned to different electronic units (e.g., LEDs) connected to the addressed drive unit, using several bits in the second substring. A length decoding step is also possible, in which the length of the data bits in the following field (DATA field) can be indicated using several bits in the second substring that are different from those used to assign units. If the function bit has any other value, only the length decoding step is performed to indicate the length of the bit string in the DATA field. Thus, the length decoding step can always be performed, and for a given value of the function bit F, the data bits from the DATA field are assigned to electronic units, for example, to update the output of these electronic units, for example, LEDs. The value of the function bit F determines the format used to decode the length. That is, the function bit F determines how the count is performed depending on whether the data in the DATA field is used as an instruction or as bits to be assigned to electronic units.
[0085] However, the available space for these options is limited by the number of bits in the second bit substring, which is limited by the number of bits in the first substring. In some cases, it may not be possible to address each electronic unit connected to the drive unit. This is simply because there is not enough space to address all electronic units, or not enough space for more instructions.
[0086] For example, in some cases, the data received in receive mode has a length defined by multiplying the number of bits in SubAdr / InstrExt ID5, ID4, ID3, and ID2 by 6 bytes or 3 words, with one word corresponding to each LED in an RGB unit containing three LEDs (one red, one green, and one blue). This leaves room for a variable data length from 0 bytes (no bit set: ID[5:2]=0000) to 24 bytes (all bit sets: ID[5:2]=1111).
[0087] If ID[5:2] is binary encoded, this space increases to (2^4)*6 bytes = 96 bytes.
[0088] However, this solution has several drawbacks, mainly related to the 4-bit limitation of SubAdr / InstrExt (ID5~ID2). The InstrExt field is limited to only 2 bits. This is because the space available in the field to contain the instruction is shared with the space available for data length decoding within ID[5:2](F=0). This makes it possible to encode only four instructions, which is insufficient.
[0089] Because the size of the SubAdr field is limited to 4 bits, it can only be used to specify the LEDs to be updated in small-scale applications, such as those with only four LEDs. In current applications, there are typically six LEDs per slave, with two RGB units per slave. In current applications, even if only one LED needs to be updated, the MCU still needs to send data for all connected LEDs, which significantly increases the bus load.
[0090] To overcome these drawbacks, the present invention provides using one of the bits in the ID field as the instruction bit I. In particular, one of the bits in a second bit substring can be used. This means that another bit in the ID field becomes less available for instruction or information. However, additional space becomes available in the DATA field. This additional space includes information about actions taken by the drive unit. For example, the bit substring may include information prompting the drive unit to perform an action, or information about an action performed by the drive unit as a request from the master (e.g., repetition of an instruction requested by the master as a means of confirmation).
[0091] The details of the information may depend on whether the message is M2S or S2M, diagnostic, register update, etc. For example, it may include instructions or requests for information from the master. It may include information for assigning data bits to electronic units (e.g., information for updating LEDs). It may include information requested by the master and sent by the slave. In general, additional bit strings can be used to introduce payload-related information, such as the type of instruction and the assignment of data bits. Data length decoding can always be performed, and the PL length field may always contain the same number of bits (e.g., 3 bits, corresponding to the size of the previous second bit substring minus the bit used as instruction bit I). By shifting the issue to one additional word in the DATA field, theoretically, adding one word would make it possible to address more LEDs (e.g., 16 LEDs). However, due to the limited space available in the ID field, the number of LEDs that can be addressed within a single communication frame is small, but still large enough to address two RGB units.
[0092] In some embodiments of the present invention, the function bit F is also used as described above, and for a value of the function bit F, the added word contains instructions or information for the drive unit, and for different values, the added word assigns bits to a specific electronic unit, optionally also containing instructions / information. That is, for a first value of the function bit F, bits in the data field are assigned to electronic units, which also determines how the data length is calculated. If the function bit has a second value, the DATA field does not contain bits to be assigned to electronic units, but may contain information such as instructions sent to the drive unit in M2S communication, or diagnostics sent by the drive unit in S2M communication as a response to a request from the MCU, which also determines how the data length is calculated. However, the first value of the function bit F does not prevent the communication frame from containing instructions (e.g., information requests) along with bit assignments, as shown in Figure 6.
[0093] Figure 4 shows a specific example of a bus protocol having a 16-bit ID field containing an 8-bit first bit substring, i.e., “slave addresses” ID15 to ID8. As mentioned earlier, if, for example, four addresses are reserved by the system for distribution purposes, such a substring allows addressing up to 2^8 = 256 drive units, for example, 252 drive units. Different columns in the figure show a typical frame, bit assignments, and various functions of the bits. The first column (M1) shows the protocol frame consisting of the BREAK field, ID field, and DATA field. The second column (M2) shows the bit assignments of the ID field, and the third column (M3) shows the functions of the different bits in the ID field, introducing the new instruction bit I.
[0094] The introduced instruction bit I, along with the length of the first bit substring, and the presence of the receive / transmit command bits R / T, or R bit, function bit F, and parity bit, further reduces the second bit substring 403 ID4~ID2 space to only 3 bits. In Figure 3, the second bit substring 303 is shown as SubAdr / InstrExt, containing 4 bits ID5~ID2, while in Figure 4, the second bit substring 403 contains 3 bits, ID4~ID2. With this reduction to only 3 bits, the second bit substring 403 is too short to encode an instruction. However, it can still be used to include the payload length in the DATA field, and is therefore renamed PayLoad Length or PL Length.
[0095] The fourth column M4 shows the structure of the ID field, where instruction bit I is set to a first value (e.g., a value of 1), and the DATA field. A further predetermined number of bits, e.g., an additional bit string, is added to the DATA field. In some embodiments, the added bit string 401 is at least one additional word added in the added "instr" field, at a predetermined position in the "Instr" field within the DATA field. In some embodiments of the present invention, the additional bit string is added to the beginning of the DATA field prior to the payload. Information regarding the payload length is provided by a second bit substring 403 in the PL Length field. This is followed by at least one additional word, the payload 402. This at least one additional word 401 may be an instruction, e.g., an instruction from the MCU to at least one addressed drive unit, or an assignment of data to an electronic unit. For example, the additional word 401 may be information from an addressed drive unit to a master control unit in S2M communication, e.g., which instruction was executed by the addressed drive unit.
[0096] The fifth column (M5) shows the structure of the communication frame when instruction bit I is set to 0. No additional words are introduced. The DATA field begins immediately with payload 404. For example, the payload may form the complete DATA field.
[0097] The specific embodiment in Figure 4 includes a function bit F, as described above. Depending on the value of the function bit F, data bits are assigned to different electronic units (LEDs) by an additional bit string (e.g., one or more words) in the DATA field, if the value of the instruction bit I enables the additional bit string.
[0098] The value of the instruction bit can enable or disable additional bit strings in the DATA field, and the length of the DATA field includes the payload and, potentially, additional bit strings, and therefore can be defined under the following conditions: If -I=0, the length of the DATA field is equal to the length of the payload defined by PL Length, so the PL Length field contains a number that has the length of the payload. If -I=1, the length of the DATA field is equal to the length of the payload defined by PL Length, increased by at least one additional word.
[0099] It should be noted that since a payload always contains at least one data unit, the actual length of the payload is equal to the length indicated in the PL Length field plus 1, i.e., PL Length + 1. In the following embodiments, it is shown that the PL Length field always shows a value one less than the number of data units in the payload itself. In embodiments shown in the present invention, and not limited thereto, the PL Length field consists of 3 bits in decimal, allowing values from 0 to 7, and since a payload always exists and therefore cannot be empty, a value of 0 in the PL Length field means that the payload has data units.
[0100] Function bits define these "data units," that is, how the length of the payload is measured. The following definitions are valid for payloads: If -F=0, the payload is treated as data, and the "data unit" is 1 word. The number of words in the payload is then calculated as (PL Length+1)*1 word. Since the PL length contains 3 bits, the value of (PL Length+1)*1 word is within the range of a payload of 1 to 8 words = 2 to 16 bytes. When -F=1, the payload is treated as bits assigned to the LEDs, and a predetermined number of bits are required for each unit depending on the specific electronic unit. In some embodiments of the present invention, the electronic units are RGB units, and as previously described, 3 words are required to control them, so the "data unit" is equal to 3 words. The number of bytes in the payload is then calculated as (PL Length+1)*3 words. Since the PL length contains 3 bits, the value of (PL Length+1)*3 words is in the range of a payload of 3...24 words = 6...48 bytes.
[0101] Theoretically, all bits of the additional word can be used to address up to 16 RGB units, but the 3-bit limit of the PL length imposes a practical upper limit on the 8 "data unit" payload, thus allowing for a maximum payload of 24 words, or 48 bytes, as described above. With 2 bytes per LED, the maximum number of LEDs that can be assigned is 24 single LEDs, or 8 RGB units.
[0102] The additional instruction bit I provides several functionalities and advantages, as described in the following embodiments.
[0103] One of the main advantages is the possibility of individually addressing electronic units by using the introduced bit string 401 as an "instruction field" in M2S communication, for example. For example, the additional bit string 401 may be used to include assignments to electronic units, for example, one or more "sub-addresses" of each electronic unit connected to the addressed drive unit. In some embodiments, each bit of the additional bit string 401 may represent an electronic unit, for example, an LED, and depending on the bit set, the payload is applied to the electronic unit set by the bits of the additional bit string 401. For example, Figure 5 shows three different cases of communication frames in three different columns 5M1, 5M2, and 5M3 when a particular drive unit in the system is communicating with an MCU. In this system, the drive unit is connected to several electronic units, in this particular case, for example, several LEDs.
[0104] Specifically, 5M1 indicates the message content for updating two RGB units labeled LED1 and LED2 on a slave to which two RGB units are connected. Since the instruction bit is set to 1, an additional bit string 501 named the "Instr" field is added. The "Instr" field 501 is set to the value 0x0003, which is 0b0011 in binary, so the data for LED1 and LED2 is sent in the payload. The value 0b0011 automatically updates the RGB units LED1 and LED2.
[0105] PL Length=1, F=1, and I=1 indicate that the PL length is 1, and therefore the DATA field has 7 words, including a payload of 1 word in the instruction field + (PL length + 1) * 3 words = 6 words.
[0106] If there is no instruction field (I=0), the function bit F, which indicates the assignment to an electronic unit, in this case an LED, indicates that the LED will be updated sequentially as the data in the payload is read. This means that the LED has an addressing sequence that can be used as a “subaddress”. Since there is no dedicated instruction in the DATA field (I=0), the LED of the addressed drive unit will be updated with the provided payload. Since the payload is 6 words, RGB units LED1 and LED2 will be updated. This shows the same message as 5M1, but since there is no “Instr” field, the payload is shown in column 5M2, starting immediately after the ID field. In this embodiment, two electronic units connected to the drive unit need to be updated. The result is the same as 5M1, so in this case the “Instr” field is optional.
[0107] The values PL Length=1, F=1, and I=0 indicate a 6-word payload corresponding to a 6-word DATA field length.
[0108] However, in the prior art, if only the second RGB unit (LED2) requires an update (i.e., I=0), the payload still requires 6 words, and the information contained in the word for the first RGB unit (LED1) includes the same information as in the communication prior to addressing that unit LED1. Therefore, it is necessary to include information for unit LED1, but it contains the same information as in the previous update. This is inefficient in terms of bus traffic and therefore EMC.
[0109] Embodiments of the present invention enable addressing of individual electronic units connected to a drive unit without the need to send a payload containing information of lower (unaddressed) electronic units in the addressing sequence (of lower subaddresses), and without the need to perform additional steps, regardless of the addressing sequence (their "subaddresses").
[0110] For example, 5M3 indicates that only the second RGB unit LED2 must be updated under the use of instruction bit I=1, and therefore an additional word is added to the DATA field ("Instr" field) as the instruction, indicating the message content. In this case, the instruction contains the value 0x0002, which is 0b0010 in binary, so only LED2 is addressed.
[0111] The values PL Length=0, F=1, and I=1 indicate a length of 1 word instruction + 3 words payload = 4 words for the DATA field.
[0112] If only LED2 needs to be updated, the payload can be reduced by 3 words and the DATA field by 2 words (due to an added bit string of 1 word length) compared to prior art (or compared to 5M2 with I=0). The information in the payload is used to update only LED2, as indicated by the added bit string 501 in the “Instr” field added before the payload. This reduces bus traffic, improves EMC, and also allows for more data throughput for a given bus bandwidth.
[0113] The present invention is not limited to two electronic units connected to an addressable drive unit. For example, if the drive unit has, for example, three LED clusters, each consisting of three LEDs, the payload would contain nine words (considering that one word is used to control each LED) to address each LED. If fewer than three LED clusters need to be updated from these three clusters, the prior art system (i.e., when I=0) would require three words to update each LED cluster, and an extra word would be required for each LED cluster that has a lower "sub-address" than the first addressable LED cluster. The present invention makes it possible to assign words in the payload to specific LEDs, thereby reducing the data load.
[0114] As a specific example, in the case of three RGB units (LED1, LED2, LED3) connected to a drive unit, if only the second unit LED2 and the third unit LED3 need to be updated, the following may be done: -In the case of prior art communication methods, or when I=0, the payload (and DATA field) contains 9 words. The first 3 words of the payload are assigned to LED1, and contain the same information as the last update of LED1. On the other hand, the next 6 words of the payload contain update information for LED2 and LED3. -In the present invention, if I=1, an additional word is added to the DATA field, for example, before the payload. The additional word contains information that assigns the bits in the payload to the required electronic units, in this case units LED2 and LED3. Thus, only 6 words are needed in the payload. These words are delivered following the information of the additional word. For example, according to the specific assignment contained in the added bit string, 3 of the 6 words (e.g., the first 3 words) are used to update LED2, and the other 3 of the 6 words (e.g., the last 3 words) are used to update LED3. The assignment can be done by assigning a bit position to each LED, but other assignments can be codified within the drive unit (e.g., BPPU) and MCU. In a particular embodiment where each bit position assigns an LED, the added bit string is, for example, 0x0006 (0b0110 in binary). An extra word ("Inst" field) is needed, but the overall data load of the DATA field is reduced because it is not necessary to include 3 words to address LED1. The DATA field now contains 7 words (6 words added to update LED2 and LED3, plus 1 word in the added "Instr" field) in contrast to the 9 words required in the previous case where I=0 (3 words for each of the three LED clusters, even if only LED2 and LED3 needed updating).
[0115] This demonstrates that protocols with variable data length fields that depend on F-bits and I-bits are highly effective with respect to data traffic on buses. The present invention is particularly suitable for high data throughput because it can directly deliver data to one or more required electronic units.
[0116] The present invention is applicable to M2S communication and allows for the addition of extra space for writing slave addresses, thereby enabling the addressing of more units within the same system while allowing the addition of information about instructions (or address information about burst pointer addresses, as shown below) without sacrificing space for including data length. It can also be used to assign data bits to specific electronic units of a slave addressed from the DATA field, and the added bit string contains the specific assignment of electronic units that need to receive information. This reduces the data load compared to sending the data bits of all electronic units that do not need updating all the way to those that actually need updating.
[0117] The present invention is also advantageous in S2M communication frames.
[0118] The present invention allows the MCU to specify which S2M frame has been requested. The request can be made by a bit string added to the DATA field. In the prior art, the MCU must send a communication frame containing the DATA field to specify which S2M is requested in the next frame. This is inefficient because it requires higher bus traffic.
[0119] Embodiments of the present invention enable requests within a single LED frame containing bits assigned to an electronic unit. Therefore, instead of requesting information from a slave using a dedicated communication frame, information can be requested using the same communication frame used to update the electronic unit. This solution favorably reduces bus load and thus mitigates emissions and potential EMC issues. In particular, this method involves enabling an added bit string (via instruction bit I) and using portions of the bit string to indicate different actions and information. For example, a portion of the bit string may specify an electronic unit, and a different portion of the bit string may contain an identifier for data transmitted by an addressed slave. This is illustrated as follows:
[0120] The MCU can set bits accordingly in the first frame and request information from the addressed drive unit. For example, both function bit F and instruction bit I may be set (value 1). The addressed drive unit responds accordingly in the second frame.
[0121] Figure 6 shows three columns with different communication frames. When the ID field contains an R bit of 0, the slave receives data in an M2S frame, while when the R bit is 1, the slave transmits data in an S2M frame. The first column, 6M1, shows a message that updates only the second RGB unit LED2. It also includes an information request. Both are contained in an additional bit string.
[0122] In particular, the first column 6M1 contains LED data as a payload, as indicated by the value of the function bit F.
[0123] Because instruction bit I is set, an additional bit string is added, for example, to the DATA field before the payload to form the "Instr" field. The information in this field can be decoded by software (the present invention is not limited to this).
[0124] The added bit string may be divided into different substrings to indicate different actions and information. In some embodiments, the bit string is a word divided into lower and upper bytes, as previously described. The added word of the first column 6M1 contains a message for updating the second RGB unit LED2 in part of the added word and an information request in a different part of the added word. This is indicated by a specific value of the function bit F. In embodiments of the present invention, as seen in this embodiment, the function bit indicates whether a data bit is assigned to an electronic unit. Instructions (in this embodiment, a request for information from a drive unit) may also be present in the added bit string, regardless of the function bit.
[0125] In certain embodiments, the lower byte contains the position of an electronic unit, the upper byte contains an instruction, and the present invention is not limited to this particular order or this particular number of bits in a bit string.
[0126] For example, in a device that supports only two RGB units, it is possible to use only the two least significant bits to indicate the electronic unit that needs updating, while the other 14 bits of the word can be used for instructions, for example.
[0127] The embodiment in Figure 6 shows that the lower byte (in this case, 0x02) contains the LED position (in this case, LED2) as described above. The upper byte (in this case, 0x03) contains an identifier used to select which S2M data should be loaded into the transmit buffer, which will be sent by the addressed slave in the next frame. In this embodiment, the value of the upper byte indicates that the MCU is requesting, for example, the measured LED forward voltage. The LED forward voltage is measured in a known manner, and these measured LED forward voltages are sent to the MCU in the next frame.
[0128] In this particular embodiment, the upper byte contains 8 bits, so for example, 2 8 This allows for the provision of 256 different instructions. If an added bit string contains two words, this address space and the space for connected LEDs can be increased. The protocol is advantageously very flexible.
[0129] Many different instructions are available for requests made by the MCU, for example, For example, enter application mode. For example, to pre-set the defined light output for all LEDs, for example, enter calibration mode. For example, enter (automatic) addressing mode. For example, to enter programming mode for NV program memory, For example, sending color information to an LED For example, enable a drive mode for LEDs (e.g., linear drive via a current source or PWM drive). For example, if current is flowing through all the LEDs, for example, request a diagnosis. For example, requesting a slave address, For example, request the color information of the connected LEDs, for example, if they are red, green, and blue (RGB) LEDs, for example, the type of LED. For example, requesting temperature information. For example, write data to a given memory location. For example, read data from a given memory location. For example, to enter standby mode such as sleep mode. For example, input to write one or more specific registers, For example, to input one or more specific registers, And many other commands can be conceived.
[0130] The second column 6M2 in Figure 6 shows the S2M header (R bit is 1), where the MCU is requesting the slave to send the contents of the slave transmit buffer. The I bit is set. The slave responds with the contents from its transmit buffer. The slave also includes at least one additional word, which is an instruction. The additional word contains the previously received instruction (and therefore, for example, according to some embodiments of the present invention, the instruction contained in the previously received upper byte is repeated by the slave, which can be used to verify the instruction sent to the master), followed by the transmission of the information requested by the MCU.
[0131] The last column 6M3 in Figure 6 shows the SM2 header (R bit is 1). The MCU makes the same request as the second column 6M2, except that in this case the instruction bit I is null, so there are no additional words. The slave does not repeat the previously received instruction, but simply sends the requested information according to the instruction. The DATA field is reduced by one word because the previous instruction is not included in the DATA field.
[0132] Both S2M communication options are available. The second column 6M2 option provides higher security because the MCU can add diagnostic information to the frame. On the other hand, the third column 6M3 option is one word shorter, enabling higher data throughput. This improves communication flexibility, allowing users to choose the option that is more suitable for each situation and application.
[0133] An additional instruction bit I is used. For example, the method may include directly reading or writing a register of a drive unit addressed by the additional bit string enabled by the instruction bit. Such registers may be memory (e.g., NV memory, RAM, ROM, etc.), ports, ADC registers, etc.
[0134] Reading a register may involve applying the registered address to be read to the DATA field. In some embodiments of the present invention, the method includes applying a burst pointer address to an additional bit string (provided that instruction bit I enables an additional bit string). The burst pointer address is a predetermined address that is the same for all connected drive units of the same type in a network system. It is used by the drive units to set internal pointers to their register maps. Because the burst pointer address is system-dependent, different versions of the electronics in the system may have different burst pointer addresses, for example. However, the MCU has the information necessary to use the burst pointer address as needed.
[0135] Figure 7 shows the use of a burst pointer address in the first column 7M1. Since the PL length is set to 0, the payload contains only one data unit (PL length + 1 as previously mentioned). This should be interpreted as one word according to the value of the function bit F (F=0). The length of the DATA field is the length of one word, since the instruction bit I is set to a value such that no additional bit strings are added to the DATA field. This one word is provided to the addressed drive unit, followed by the value of the R bit (zero). This word is the known address 0x1234, which the addressed drive unit interprets as a burst pointer address. When a burst address is used, all slaves place their pointers to this burst pointer address and initiate further actions (e.g., read / write) from there. Note that although the figure shows a "burst pointer address," this is merely a label in the figure and does not represent instructions or information for the drive unit, as no bit strings have been added.
[0136] To read a specific register, the specific register address is sent in the DATA field to a known burst pointer address of the addressed drive unit.
[0137] The following S2M message includes an ID field sent from the MCU, with the R bit set to 1, so that the slave responds with the contents of the register, starting from a given register address. Both columns 7M2 and 7M3 correspond to the S2M frame, but the third column includes an extra word within the DATA field, defined by the value of the instruction bit I. Under this definition, the "Instr" field contains the starting address of the data sent by the drive unit. Thus, the slave sends the current address with the added bit string. This register address is set in the aforementioned M2S message payload. The MCU specifies the number of registers to be read. This can be done using the PL length field. For example, the number given in the PL length field is the number of registers to be read, starting from a given register address and increasing linearly until the PL length is reached.
[0138] In some embodiments, the address range typically begins at 0x0000 and ends at a predetermined value, so that values exceeding this predetermined value are not interpreted as addresses. The method may also include interpreting a bit string added according to its value; for example, for values exceeding a predetermined number, the added bit string may be interpreted as an instruction, and for values less than or equal to that predetermined number, it may be interpreted as an address that may include a burst pointer address. Similarly, a system implementing the method of the present invention may be adapted to specify which values can be considered as instructions and which values can be considered as addressed registers. In some non-limiting embodiments, for example, the system definition may be that values less than 0xE000 are interpreted as addresses, while values equal to or greater than 0xE000 are instructions.
[0139] Writing to or reading from a register may involve writing to or reading from one or more registers. For example, the method of the present invention may involve adding a first register to the DATA field for writing. In some embodiments, instruction bit I enables at least one additional bit string, e.g., one or more words, in the DATA field that contains the address of the first register for writing. The payload, which may begin after the added bit string, contains the data to be written to the register. For a given frame, the payload is PL length + 1, and the data field ultimately contains payload + 1 additional bit strings (in this case, words), depending on the value of instruction bit I. Since writing or reading is performed in a linear order, the number of registers is defined by the PL length. Thus, the PL length, in this case as well, indicates the number of registers to write to or read from.
[0140] The initiation of this register operation is performed in the instruction field. If the R bit is zero, the communication frame is M2S and a "write" operation is performed. If the PL length is set to, for example, 6 words, the slave receives 6 words and writes 1 word to each register, so 6 consecutive registers receive 1 word. If the R bit is 1, the frame is S2M frame and a "read" operation is performed.
[0141] Figure 8 shows the communication frame for writing to a register. Columns 8M1-8M4 are M2S frames, according to the value of the R bit (set to 0). Since the PL length field has only 3 bits, the available values range from 000 to 111, which is equal to 7 in decimal. The payload is equal to the PL length + 1, so after 8 words of the payload, a new frame with a new starting address must be initialized for the addressed slave. Thus, after column 8M1 ends, the next column begins. Since the instruction bit I is 1, the added bit string provides the starting addresses of the data that the slave should place in the register, starting from its "starting address," in linear order.
[0142] Thus, the present invention improves communication by enabling large bit strings in the address of the drive unit, and the bit strings are added to the data field as needed. The drive unit interprets the ID field, which contains one instruction bit indicating whether a bit string has been added. Using the added bit string, instructions can be added, as described above in Figure 6, such as information (such as confirmation by the drive unit of a previously received instruction, the start register address in communication for writing to a register) and / or instructions to update the electronic unit, confirmation by the drive unit of a previously received instruction, and further instructions such as the allocation of data bits in a further bit string and combinations of further instructions or information in different parts of the further bit string.
Claims
1. A method of operating a plurality of drive units (11) to power an electronic unit, comprising exchanging frames containing bit sequences between a master control unit (10) and at least one of the plurality of drive units (11), said sequences being divided into fields of a contiguous bit string, said method comprising: - applying an ID field for addressing at least one drive unit (11) for exchanging data between said master control unit (10) and said at least one addressed drive unit (11); applying a DATA field containing a payload containing information and / or instructions regarding the status of the electronic unit of the addressed at least one drive unit (11), - applying said ID field - indicating the drive unit (11) address using a first substring (ID15 to ID8) of bits including N bits, in order to apply the DATA field to the at least one addressed drive unit (11) and to ignore the DATA field if the drive unit (11) is not addressed, where 2^N is equal to or greater than the number of drive units in the plurality of drive units (11); - using a receive / transmit command bit (R / T) for assigning a value to enable the master control unit (10) to identify whether it should receive data from or transmit data to the at least one addressed drive unit (11) depending on the value assigned to the receive / transmit command bit (R / T), and to enable each addressed drive unit (11) to decode which action is required by the master control unit (10) when the frame is received by the at least one addressed drive unit (11); - using a second substring (ID4-ID2) in the ID field to indicate the length of the payload; further using an instruction bit (I) for assigning a value indicating the type of information in the DATA field; applying the DATA field further comprises applying a sequence of bits consisting of the sequence of bits of the payload if the instruction bit (I) has a first value; - applying the DATA field includes, if the instruction bit (I) has a second value different from the first value, applying a sequence of bits including the sequence of bits of the payload and at least one additional bit substring to a predefined position within the DATA field, the additional bit substring introducing information for performing an action by the drive unit.
2. 2. The method of claim 1, wherein applying the ID field further comprises applying function bits to assign values, and for a first value of the function bits F, assigning bits of the DATA field to different electronic units, and for a second value of the function bits F, processing data bits in the DATA field as drive unit instructions.
3. 3. The method of claim 1, wherein applying an ID field comprises using a 16-bit string.
4. 3. The method of claim 1, wherein indicating the drive unit (11) address using a first substring of bits (ID15-ID8) comprises using a first bit substring consisting of 8 bits.
5. 3. The method according to claim 1, wherein the second substring (ID4 to ID2) consists of 3 bits.
6. The method of claim 1 or 2, wherein powering the electronic unit comprises powering an LED cluster including two or more LEDs.
7. 3. The method of claim 1, wherein exchanging frames includes assigning the second value to the instruction bit (I) so that at least one additional bit substring is added to the DATA field, and further includes transmitting a DATA field from the at least one driving unit to the master control unit (10), wherein the additional bit string includes information of the instruction to be executed by the driving unit.
8. 3. The method of claim 1, further comprising transmitting an instruction in at least one word divided into a predefined first byte added to the DATA field and including the location of at least one electronic unit, and a predefined second byte different from the first byte including an identifier used to select which data needs to be loaded from the drive unit to the master control unit into a transmission buffer to be transmitted by the addressed drive unit in the next frame.
9. 9. The method of claim 8, further comprising sending a request from the master control unit (10) to a slave to send the data in the send buffer from the drive unit to the master control unit (10).
10. 10. The method of claim 9, wherein sending the request from the master control unit (10) further comprises setting the second value of the instruction bit (I) to apply the additional bit string to send the data in the send buffer from the drive unit to the master control unit (10) and sending the identifier previously received by the drive unit in the additional bit string.
11. 2. The method of claim 1, wherein using an instruction bit (I) includes assigning the second value to the instruction bit such that at least one additional bit substring is added to the DATA field, the at least one additional bit substring including a burst pointer address.
12. 12. The method of claim 11, further comprising: reading information from a register using the burst pointer address for a first value of the receive / transmit command bits; or writing information to the register using the burst pointer address for a second value of the receive / transmit command bits.
13. A drive unit connectable to a plurality of electronic units and a master control unit (10), the drive unit being configured to carry out the steps of the method according to claim 1 or 2.
14. 3. A system comprising a plurality of drive units connectable to a plurality of electronic units, further comprising a master control unit connected to the plurality of drive units, the master control unit and the drive units being configured to perform the steps of the method according to claim 1 or 2.