WO2010143686A1 - 自動車用制御システム及び電子制御ユニット - Google Patents

自動車用制御システム及び電子制御ユニット Download PDF

Info

Publication number
WO2010143686A1
WO2010143686A1 PCT/JP2010/059841 JP2010059841W WO2010143686A1 WO 2010143686 A1 WO2010143686 A1 WO 2010143686A1 JP 2010059841 W JP2010059841 W JP 2010059841W WO 2010143686 A1 WO2010143686 A1 WO 2010143686A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
signal
bit
pdu
update
Prior art date
Application number
PCT/JP2010/059841
Other languages
English (en)
French (fr)
Inventor
辻本 拓哉
俊之 上村
誠史 三島
木村 宏行
満成 境田
Original Assignee
ルネサスエレクトロニクス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ルネサスエレクトロニクス株式会社 filed Critical ルネサスエレクトロニクス株式会社
Publication of WO2010143686A1 publication Critical patent/WO2010143686A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Definitions

  • the present invention relates to a means for reducing processing load by using a software component for an automobile conforming to the AUTOSAR (registered trademark) specification relating to a transmission architecture for an automobile, particularly a hardware accelerator.
  • AUTOSAR registered trademark
  • AUTOSAR registered trademark
  • AUTOSAR registered trademark
  • AUT omotive O pen S ystem AR chitecture groups partnership and the partnership of car manufacturers and automotive suppliers to collaborate for the open de facto standard formulation and satisfied about the transmission architecture for a motor vehicle is formulated It is.
  • AUTOSAR registered trademark
  • AUTOSAR registered trademark
  • VFB Virtual Function Bus
  • CAN Control Area Network
  • FlexRay FlexRay
  • PDU is a logical data container for transmitting and receiving signals, which are the minimum unit of various data used in application software that is a higher layer, between ECUs.
  • FIG. 1 is a conceptual diagram showing the handling of PDUs between ECUs.
  • the transmission side ECU 1 and the reception side ECU 2 communicate via the CAN 3.
  • the transmission-side ECU 1 transmits the CAN frame 4 with the appropriate header and footer attached to the PDU to the reception-side ECU 2 via the CAN 3.
  • the CANIP 2-2 of the receiving side ECU 2 separates the header and the footer from the received CAN frame 4 and performs necessary processing.
  • the CPU 2-1 in the reception side ECU 2 performs signal separation and filter processing from the PDU from which the header and the footer are separated.
  • filtering means ignoring a message received by the message filter when the value of the message does not match a specific state.
  • An object of the present invention is to provide means for assisting a decrease in processing speed due to hardware abstraction by software for automobiles by using dedicated hardware, and increasing the processing speed and reducing power consumption. is there.
  • a vehicle control system connects first hardware that receives a data frame including a protocol data unit having one or more signals, and the first hardware.
  • a protocol function unit ID for identifying the protocol data unit and the data format of the protocol data unit from the data frame received via the virtual function bus.
  • the protocol stack is characterized in that it determines whether or not one or more signals have been updated by performing a single process on the protocol data unit.
  • An electronic control unit includes a CPU, a virtual function bus interface, and an accelerator, receives a data frame including a protocol data unit via the virtual function bus interface, The CPU executes a protocol stack for extracting a protocol data unit and a protocol data unit ID for identifying the data format of the protocol data unit from the received data frame, and the CPU transmits the protocol data unit and the protocol data unit ID to the accelerator,
  • the accelerator is characterized by determining whether or not a signal is updated and updating the signal.
  • the accelerator determines whether or not the protocol data has been processed in the past based on the determination of the update bit included in the protocol data unit and the determination result of the filtering process executed according to the algorithm set for each signal in the protocol data unit.
  • a data update mask for updating the unit value may be created.
  • the accelerator may use a data update mask to extract a signal that has been updated and output a signal that has been updated to the protocol stack.
  • the protocol stack may update the protocol data unit by using a signal in which the received data has been updated.
  • the operation unit of a certain process of AUTOSAR (registered trademark) COM defined by AUTOSAR (registered trademark) is set to PDU unit. can do.
  • AUTOSAR registered trademark
  • PDU unit the operation unit of a certain process of AUTOSAR (registered trademark) COM defined by AUTOSAR (registered trademark)
  • FIG. 29 illustrates the circuit operation of FIG. 28 in detail.
  • FIG. 30 is a block diagram illustrating a configuration of a right end detection circuit described in FIG. 29. It is a circuit diagram showing the internal structure of the process unit UBR.
  • FIG. 30 is a block diagram illustrating a configuration of an update bit comparison result shift circuit described in FIG. 29.
  • FIG. 2 is a block diagram showing a configuration of the receiving side ECU 2 for operating various types of conventional AUTOSAR (registered trademark) software.
  • FIG. 3 is a block diagram showing the configuration of the receiving ECU 2 according to the present invention.
  • the conventional receiving ECU 2 for AUTOSAR includes a CPU 2-1, a CANIP 2-2, a RAM 2-3, and a ROM 2-4.
  • FIG. 1 shows the configuration of the IP and bus for communication by FlexRay. Here, description will be made using the configuration by CAN.
  • the CPU 2-1 is a CPU for operating software in accordance with various specifications defined by AUTOSAR (registered trademark). Automobiles have a lot of hardware to be controlled. In order to control the hardware, it is necessary to prepare a CPU for each. However, the model change of an automobile is four years or more and often differs from the manufacturing period of electronic parts such as CPU. In addition, when it becomes necessary to use a different CPU for reasons such as adding a new function at the time of a minor change of an automobile, it is possible to quickly respond to the change of the CPU by AUTOSAR®. Is the purpose.
  • CANIP2-2 is communication hardware compatible with the CAN bus.
  • the CANIP 2-2 and the CPU 2-1 are connected via a bridge chip (not shown).
  • CANIP2-2 is connected to the outside of the MCU via a CAN bus, and is connected to the CPU using an internal dedicated connection line inside the MCU.
  • the RAM 2-3 is a storage medium used as a temporary storage area when the CPU 2-1 operates. This is a temporary storage area used by the CPU 2-1 during operation.
  • ROM 2-4 is a non-volatile recording medium for recording software to be operated by CPU 2-1. This is a non-volatile storage area used by the CPU 2-1 during operation.
  • CAN3 is a type of VFB (virtual function bus).
  • VFB virtual function bus
  • CAN3 is a CAN bus connected to the ECU, and one or more other ECUs are similarly connected on the same bus.
  • the hardware of the present invention is different from the conventional one in that COM-ACC2-5 is added.
  • a COM-ACC (COM accelerator) 2-5 is an accelerator chip dedicated to a predetermined process in the AUTOSAR COM software to be processed by the CPU 2-1. That is, it is a hardware module that exclusively processes a part that is repeatedly executed in the process of the AUTOSAR® software processed by the conventional CPU 2-1. Further, the COM-ACC 2-5 is connected to the RAM 2-3 and the ROM 2-4, and is used to temporarily acquire the setting data necessary for operation in the COM-ACC and the data that has been processed. This processing in COM-ACC 2-5 is a feature of the present invention.
  • FIG. 4 is a conceptual diagram showing the configuration of a communication protocol stack for a general AUTOSAR (registered trademark).
  • the CAN driver software 102, the CAN interface software 103, the PDU router software 104, the COM software 105, and the RTE (Run Time Environment) software 106 are configured excluding CANIP2-2, which is hardware.
  • the CAN driver software 102 directly controls CANIP2-2, acquires PDU data and a data packet identification ID (PDU-ID) defined by the CAN protocol from a data storage area managed by CANIP2-2, Is transmitted to the upper CAN interface software 103.
  • PDU-ID data packet identification ID
  • the CAN interface software 103 transmits an event detected and processed by the CAN driver software 102. In addition, it provides means for accessing the service of the CAN driver software 102 from an upper layer such as the PDU router software 104. Through the CAN interface software 103, a higher-level module (such as the COM software 105) can use a single interface for managing a plurality of different CAN hardware devices.
  • the PDU router software 104 is a module that provides (I) PDU unit (Interaction Layer Protocol Data Unit) routing service between modules. In communication between different communication protocols, a process of transferring PDU data to another protocol interface software is performed. In an automobile control system, there is a case where it is necessary to perform a process called a gateway operation for transmitting and receiving data across a communication network using different communication protocols. In AUTOSAR (registered trademark), the PDU router software 104 provides a gateway function.
  • I Interaction Layer Protocol Data Unit
  • the COM software 105 performs appropriate processing (for example, conversion between big endian and little endian) on the PDU transmitted from the PDU router software 104 with respect to the upper runtime environment (RTE software 106), and then comes from the PDU. It is a module that enables transmission to a runtime environment that uses data (for example, a signal included in a PDU). In technical fields such as personal computers, all sent data is often sent to higher layers.
  • the PDU transferred from the PDU router software 104 performs appropriate processing (for example, endian conversion processing), extracts a signal included therein, checks an update bit that is update information, and is an updated signal. For example, the corresponding signal is compared with the filtering condition set in advance, and the comparison process is performed. If the condition is satisfied, the signal is transmitted to the RTE software 106 which is the upper software layer. For signals that have not been updated, the COM software 105 does not perform subsequent processing, thereby reducing the load on the CPU 2-1.
  • appropriate processing for example, endian conversion processing
  • extracts a signal included therein checks an update bit that is update information, and is an updated signal. For example, the corresponding signal is compared with the filtering condition set in advance, and the comparison process is performed. If the condition is satisfied, the signal is transmitted to the RTE software 106 which is the upper software layer.
  • the COM software 105 does not perform subsequent processing, thereby reducing the load on the CPU 2-1.
  • the RTE software 106 is software that links components such as operating system, bus technology, communication layer, hardware abstraction layer, API, standard library functions, etc., and manages the standard software interface to the service and the underlying hardware. is there.
  • An application program (not shown) exists above the RTE software 106.
  • FIG. 15 shows a schematic configuration of COM-ACC2-5.
  • the COM-ACC 2-5 includes a filter circuit, a mask generation circuit, a reception flag data compression circuit, a signal insertion extraction circuit, and an update bit generation detection circuit.
  • a solid line indicates a signal extraction process from the received PDU, and a broken line indicates a data flow in a process for generating a new PDU for transmission.
  • the data processed by each circuit includes a transmission mode condition TMC (Transmission Mode Condition) that determines a mode for transmitting a PDU to the lower level, a reception flag indicating an updated signal, and a PDU newly generated for transmission.
  • TMC Transmission Mode Condition
  • the COM-ACC 2-5 receives a PDU and a PDU ID for discriminating the PDU from the COM software 105 in the extraction process of the signal included in the received PDU, and starts the filtering process by the activation signal from the COM software 105. To do.
  • the COM-ACC 2-5 stores a signal to be processed by the COM software 105 in the signal buffer by filtering processing, and then notifies the CPU 2-1 by an interrupt or a reception flag.
  • COM-ACC 2-5 generates a PDU for transmission to other ECUs.
  • a signal to be transmitted from the COM software 105 to another ECU and a PDU ID indicating the PDU to be generated are supplied, and the PDU generation process is started by an activation signal from the COM software 105.
  • the COM-ACC 2-5 stores the generated PDU in the PDU transmission buffer, and then notifies the CPU 2-1 by an interrupt or the like.
  • This embodiment is characterized in that a COM-ACC (COM accelerator) 2-5 is used for the filter processing in the COM software 105.
  • COM-ACC COM accelerator
  • the protocol stack closer to the physical layer than the PDU router software 104 can be applied regardless of VFB regardless of whether it is for CAN or FlexRay.
  • a signal buffer 2-6 for storing OLD data (OLD data 12 in FIG. 5) described later.
  • the 64-bit fixed-length PDU transmitted via the CAN bus reaches the COM software 105.
  • This PDU includes a “signal” which is variable length data of 1 to 64 bits.
  • a single PDU can contain multiple signals as capacity permits.
  • Each ECU holds the position of each signal in the PDU as setting data.
  • Each signal is distinguished by a signal ID.
  • the significant capacity of the signal is determined by the “type of signal”. This “signal type” and “signal order” when there are two or more signals are defined for each PDU. In this way, the process of detecting one or more signals and extracting each of them is defined as “Reception Filtering”.
  • the number of signals in the PDU increases, it takes time to process one PDU accordingly.
  • the signal length is a variable length of 1 to 64 bits and filter processing is performed for each signal, it takes time to set processing for each signal.
  • the present invention is intended to eliminate this filtering delay. Then, the COM-ACC 2-5 executes these processes collectively and in parallel with the previous signal in the PDU by hardware.
  • the signal boundary information 10 is newly defined. As a result, all filtering in the PDU can be executed at once.
  • FIG. 5 is a conceptual diagram showing the filter circuit in COM-ACC 2-5 in 8-bit width.
  • This filter circuit acquires filtering conditions and necessary information from the PDU ID of the PDU supplied from the CPU 2-1, and executes filtering processing of one or more signals included in 64 bits of the PDU in parallel.
  • the conceptual diagram of this filter circuit is signal boundary information 10, OLD data 12, X / MAX data 13, Mask / Min data 14, filter algorithm selection data 15, and filtering processing for setting filtering processing conditions and information acquired from the PDU ID.
  • An original data storage unit 11 that stores PDUs to be subjected to filtering, a comparator 16 that performs filtering processing, a filter algorithm selection circuit 17, and a filter calculation result output area 18 that stores filtering processing results.
  • the leftmost is the first bit and the rightmost is the eighth bit.
  • the signal boundary information 10 is 64-bit data in which identification data is set at the boundary point (MSB of each signal) of each signal included in the same PDU. Based on this signal boundary information, the comparison result connected to the next bit is controlled for each signal.
  • a PDU includes a plurality of signals.
  • the most significant bit of each signal is set to “1” to indicate the boundary.
  • the original data storage unit 11 is a storage area for storing PDU values related to the current process.
  • OLD data 12 is the value of the PDU that has been previously received and updated the signal data. Although the value of the OLD data 12 is recorded in the signal buffer on the RAM 2-3, the COM-ACC 2-5 reads out the OLD data corresponding to the RAM 2-3 every time the filtering process is performed, and the series of processing ends. When it is necessary to update the value of the OLD data 12, the updated value is written in the signal buffer on the RAM.
  • X / MAX data 13 is comparison data used during the filtering process.
  • eight filters are defined according to the AUTOSAR (registered trademark) specification.
  • X / MAX data 13 is a data group used in a specific filter of these eight filters.
  • X and MAX, Mask and Min are not used at the same time. Therefore, the X / MAX data 13 and the Mask / Min data 14 can share one data area.
  • the filter algorithm selection data 15 is data for determining which of the eight filters of the above-mentioned AUTOSAR (registered trademark) specification is used.
  • the filter algorithm selection circuit 17 is a circuit that selects a filter algorithm to be operated using the filter algorithm selection data 15.
  • This filter algorithm selection data 15 is set for each signal. Note that the meanings of the X / MAX data 13 and the Mask / Min data 14 differ depending on the corresponding signals.
  • the comparator 16 stores the OLD data 12, the X / MAX data 13, the Mask / Min data 14 and the signal boundary information 10 indicating whether or not the comparison result of each bit is transferred to the adjacent bits in the original data storage unit 11. It is a comparator for performing a filter operation on the stored value.
  • the filter calculation result output area 18 is a storage area in the COM hardware for recording the result of the filter process (OLD data for update) so that it can be used in the upper layer and the next filter process.
  • FIG. 6 is a flowchart for explaining filter processing in signal extraction processing.
  • CANIP2-2 receives a packet containing a PDU via the CAN bus.
  • the CANIP 2-2 deletes the header and the footer from this packet, and then transmits the PDU after deleting the header and the like to the CPU 2-1.
  • processing is performed with the AUTOSAR (registered trademark) basic software having the protocol stack shown in FIG. That is, processing is performed in the order of the CAN driver software 102, the CAN interface software 103, the PDU router software 104, and the COM software 105. During this series of processing, the PDU and PDU ID are extracted.
  • This PDUID is an identifier for determining the data format of the PDU.
  • the PDUID is also used when determining the signal boundary information 10, the update flag enable information 31, and the update flag bit position information 32 (all described later) in the present invention.
  • the COM software 105 operating on the CPU 2-1 transmits the extracted PDU and PDU ID to the COM-ACC 2-5 (step S1001).
  • COM-ACC 2-5 sets the received PDU in the original data storage unit 11. Also, the OLD data 12 is read from the RAM using the PDUID passed here as a search key (step S1002).
  • the PDUID can determine how many signals are included in the PDU and what filter processing each signal performs. Therefore, the filter algorithm selection circuit 17 of the COM-ACC 2-5 sets the filter algorithm selection data 15 and the signal boundary information 10 based on the PDUID (step S1003). Further, X / MAX data 13 and Mask / Min data 14 are set according to the filter algorithm (step S1004).
  • the comparator 16 When the processing is completed so far, the comparator 16 performs a filtering process based on the original data storage unit 11, the OLD data 12, and other settings (step S1005).
  • the result of this filter processing is stored in the filter calculation result output area 18.
  • the filter processing result stored in the filter calculation result output area 18 is used as OLD data in the next filter processing. Therefore, the OLD data existing in the signal buffer 2-6 on the RAM is updated (step S1006).
  • the filter processing result stored in the filter calculation result output area 18 is returned to the COM software 105 in signal units (step S1007).
  • FIG. 7 is a conceptual diagram regarding the sharing of processing between the COM software 105 and the COM-ACC 2-5.
  • the COM software 105 receives the PDU and PDU ID transmitted from the PDU router software 104 to the COM software 105 (# 1).
  • the COM software performs a predetermined process on the PDU.
  • the COM software 105 transmits the processed PDU data and PDU ID to the COM-ACC 2-5 (# 2 (S1001)).
  • the COM software 105 issues an operation trigger to the COM-ACC 2-5 (# 3), and starts the COM-ACC 2-5 process.
  • the COM-ACC 2-5 reads the OLD data from the signal buffer on the RAM 2-3 (# 4 (S1002)), and stores the X / MAX data 13, the Mask / Min data 14, and the filter algorithm selection data 15 necessary for the filter processing in the ROM 2 -4 to start filtering.
  • the COM-ACC 2-5 performs filter processing, update bit check, data update mask creation, data update, and signal extraction. At this time, the update flag bit enable information 31 and the update flag bit position information 32 used for the update bit check are read from the ROM 2-4 (# 5).
  • the COM-ACC 2-5 updates the OLD data of the signal buffer on the RAM 2-3 (# 6 (S1006)).
  • the COM-ACC 2-5 transmits the extracted signal data to the COM software 105 (# 7 (S1007)).
  • the COM software 105 notifies the received signal data to the host and transmits it to the host in response to an inquiry from the host (not shown). Note that it is a design matter whether the extracted signal data is delivered directly through the interface or by address address delivery.
  • FIG. 8 is a conceptual diagram showing the configuration of a data update mask generation circuit according to the present invention. Also in each data in this figure, the leftmost is the first bit and the rightmost is the eighth bit.
  • This data update mask generation circuit handles the comparison result register 21, the signal boundary information 10, the write mask 22, the write inversion mask 23, the original data storage unit 11, the OLD data 12, and the signal buffer input value 24 as data.
  • signal boundary information 10 the value 11 of the original data storage unit, and the OLD data 12 are used as input data common to FIG. .
  • the comparison result register 21 is a value (for example, an AND operation result) reflecting an update bit check result (described later) with respect to the data in the filter operation result output area 18.
  • a value in which the update bit check result is reflected in the data of the filter calculation result output area 18 is defined as “reception flag data”.
  • the value of the comparison result register 21 and the data of the signal boundary information 10 are compared by the write mask generator 19.
  • the signal boundary information 10 represents the boundary by setting the most significant bit of each signal to “1”.
  • the write mask generator 19 receives the reception flag data and the signal boundary information 10 data.
  • the write mask generator 19 identifies the “break” of the signal in the signal boundary information 10 and outputs “1” in the filter calculation result output area 18 in the corresponding bit of the signal. All the bits corresponding to the corresponding signal (that is, the signal that has passed the filter process) of a certain writing mask 22 are set to “1”.
  • the writing mask generator 19 outputs to the writing mask 22 all the bits of the signal that passed the filtering process as “1” and all the bits of the signal that did not pass the filtering process as “0”.
  • “1” is set in the third bit and the fifth bit of the comparison result register 21. Accordingly, the writing mask 22 is “3F” in hexadecimal notation.
  • the write reversal mask 23 is obtained by reversing the output of the write mask 22. Therefore, in the above-described example, the write inversion mask 23 is “E0” in hexadecimal notation.
  • the signal buffer input value generation circuit 20 derives the signal buffer input value 24 using the write mask 22 and the write inversion mask 23.
  • the signal buffer input value generation circuit 20 is a logic circuit for generating the signal buffer input value 24. That is, only the signal data that has passed the filter among the values of the original data storage unit 11 is left as the logical product of the values of the write mask 22 and the original data storage unit 11, and all other signal bits are set to “0”.
  • the signal buffer input value 24 is generated by taking the logical sum of the results of the above-described logical operations related to the write mask 22 and the write inversion mask 23.
  • This signal buffer input value 24 is a data update mask and is a value used for OLD data update (# 6) in FIG. That is, the signal buffer input value 24 is written into the signal buffer 2-6 on the RAM 2-3.
  • the reception flag data is a value obtained by ANDing the data in the filter operation result output area 18 and the update bit check result.
  • This reception flag data is data of a maximum of 64 bits. If the reception flag data is handled as it is in the COM-ACC 2-5, the handling of the reception flag data becomes complicated and consumes a lot of memory. Therefore, it is necessary to compress only the necessary reception flag data in the COM-ACC 2-5.
  • the signal boundary information 10 is used when compressing the reception flag data. That is, only the bit that is set to “1” in the signal boundary information 10 is a bit that may change in the reception flag data. In other words, only the bits for which “1” is set in the signal boundary information 10 are handled, and if other bits are deleted, only necessary reception flag data can be compressed.
  • FIG. 9 is a circuit diagram showing a part of the reception flag data compression circuit according to the present invention.
  • FIG. 10 is a conceptual diagram of 8 bits for explaining the operation of the compression circuit of FIG.
  • the binary data “10000010” shown in FIG. 10 is 8-bit reception flag data. Further, the value of the signal boundary information to be compared with the reception flag data is “10010010”.
  • the circuit shown in FIG. 9 is configured in 8 steps and 43 steps as shown by the shaded area in FIG. With this configuration, the left end is detected by taking the AND of the value of the signal boundary information and the value of the reception flag data in order from the right end. If “1” is not filled, a value is acquired from the left on the next step, and if “1” is filled, “1” is executed by overlapping the number of steps corresponding to the selected data. In this way, 1 is padded with right justification as many as the number 1 is set in the signal boundary information.
  • COM-ACC 2-5 obtains reception flag data. Extracting signal data from here is signal extraction processing in the signal insertion extraction circuit described here.
  • FIG. 11 is a conceptual diagram showing the procedure of this signal extraction process in COM-ACC 2-5.
  • the right end of the signal desired to be acquired in the reception flag data is shifted to the right end of the PDU (FIG. 11 (a)).
  • the COM software 105 may constitute PDU data containing a plurality of signals. In other words, this is a case of transmission to a module (for example, PDU router software 104) closer to the physical layer than the COM software 105. At this time, signal insertion processing by the COM software 105 will be described in PDU generation processing described later.
  • This update bit check is a circuit for obtaining an update check result for deriving the value of the comparison result register 21 of the mask creation circuit.
  • the update bit is signal update information that can be set at an arbitrary position in the PDU.
  • the update bit is set by another ECU that is the transmission source of the PDU.
  • the COM software 105 does not process such an unupdated signal.
  • the COM software 105 repeatedly extracts a signal from PDU data, determines the presence / absence of the change by an update bit, and performs a filtering process on the signal indicating that the update bit has been changed.
  • the collective filter processing is performed in units of PDUs, it cannot be determined that the filter processing of signals that have not been updated is not performed. Therefore, all received signals are filtered, and only signals for which the filter and update bit are set are transmitted for processing by the COM software 105.
  • a mask is created with information obtained by ANDing the filter result of each signal and the check result of the update bit. OLD data is updated.
  • This update bit can set whether or not to have an update bit for each signal. Therefore, the update bit is not set for all signals. In addition, since there is no relation between the position of the signal data in the PDU and the position of the update bit, the signal boundary information 10 cannot be checked. For this reason, update flag enable information 31 and update flag bit position information 32 are required.
  • the update flag enable information 31 is 64-bit information indicating the presence / absence of update bit setting information of each signal in the PDU.
  • the update flag enable information 31 of the signal is stored in the bit in which “1” is set in the signal boundary information 10 of the signal. For signals with the update flag enable information 31 of “1”, an update flag exists at any position in the PDU.
  • the update flag bit position information 32 is 64-bit information related to the update bit setting location that can be set at an arbitrary position in the PDU. If the update flag enable information 31 is “1”, the update bit itself is present in the corresponding PDU bit.
  • the signal for which “1” is set in both the update flag enable information 31 and the signal boundary information 10 is determined to be information related to the signal having the update flag (situation 1).
  • a PDU bit whose update flag bit position information 32 is “1” is recognized as an update flag bit of any signal.
  • the means for determining which update flag bit corresponds to which signal is a design matter and is not limited in this specification.
  • a solution is conceivable in which the arrangement order of signals having update flag bits and the arrangement order of update flag bits are always matched.
  • update flag enable information 31 and update flag bit position information 32 are read by the COM-ACC 2-5 from the RAM 2-3 or the ROM 2-4 with reference to the PDU ID.
  • FIG. 12 is a conceptual diagram for explaining the sharing of processing between the COM software 105 and the COM-ACC 2-5 in the PDU generation processing.
  • a signal (one or more) transmitted from the COM software 105 to another ECU is received from the upper application.
  • the COM software 105 transmits the received signal and the PDU ID indicating the PDU to be generated or the signal ID associated with the PDU ID to the COM-ACC 2-5 (# 8 (S2001)).
  • the COM software 105 issues an operation trigger to the COM-ACC 2-5 (# 9), and starts the COM-ACC 2-5 process.
  • COM-ACC 2-5 reads out the OLD data corresponding to the PDU ID from the signal buffer on the RAM 2-3 (# 10 (S2002)).
  • a signal insertion / extraction circuit is used to set a newly generated signal at a place where the signal is to be set.
  • the update bit of the newly generated signal is set in a new PDU for transmission using the update bit generation / extraction circuit.
  • the OLD data read from the RAM 2-3 may be set at a location where a signal that is not a newly generated signal is set.
  • the newly generated transmission PDU is subjected to filter processing such as determining the transmission timing to another ECU using the filter circuit of FIG. 5, and then the signal / PDU transmission buffer is subjected to filter processing.
  • a PDU for transmission is set and transmitted to the COM software 105 (# 11 (S2007)).
  • the COM software 105 outputs the generated transmission PDU to the CAN network via the PDU router software 104, the CAN interface software 103, the CAN driver software 102, and the CANIP2-2 in order to transmit it to another ECU (# 12). ).
  • FIG. 13 is a conceptual diagram showing the procedure of signal insertion processing in the signal insertion extraction circuit.
  • the signal received from the COM-ACC 2-5 is stored in the predetermined N-bit shift register in the lower order. At this time, “0” is set to bits other than the received signal. Thereafter, the N-bit shift register is shifted left by a predetermined number of bits into which the signal is inserted (FIG. 13A).
  • the signal extraction processing from the PDU and the generation processing of the transmission PDU can be performed using a common circuit.
  • FIG. 16 is a block diagram showing the configuration of COM-ACC according to the second embodiment of the present invention. This figure is used in the form of replacing FIG.
  • the COM-ACC 2-5 includes an operation control unit 2-5-1, an interface unit 2-5-2, a register unit 2-5-3, and a data processing unit 2-5-4.
  • the data processing unit 2-5 -4 includes a filter processing unit 2-5-5, a mask generation unit 2-5-6, an update bit check unit 2-5-7, and a general-purpose processing unit 2-5-8.
  • the interface unit 2-5-2 is connected to the CPU 2-1, RAM 2-3, and ROM 2-4, respectively, as shown in FIG.
  • the operation control unit 2-5-1 manages the operation of the entire COM-ACC 2-5 in accordance with the operation request from the COM software 105.
  • the interface unit 2-5-2 provides an interface for connection with the CPU 2-1, RAM 2-3, and ROM 2-4.
  • the register unit 2-5-3 temporarily stores the setting data necessary for the operation of the COM-ACC 2-5, the PDU data and the signal data stored in the RAM 2-3 for use during the operation, and the COM- Used to temporarily store data during processing during ACC2-5 operation.
  • the data processing unit 2-5-4 is a circuit for processing data, and internally includes processing blocks corresponding to the processing contents.
  • the filter processing unit 2-5-5 is a circuit for collectively filtering the PDU data, and collectively processes the filtering processing for all signals included in the 64-bit PDU set by the CAN. Is possible.
  • the mask generation unit 2-5-6 is a circuit that generates mask data for selecting a signal to be extracted based on the result processed by the filter processing unit 2-5-5.
  • the mask data is composed of 64 bits and generates mask data for all signals in the PDU.
  • the update bit check unit 2-5-7 checks all the update bits existing at an arbitrary position in the PDU, and delivers the result to the mask data processing unit 2-5-6 together with the filter processing result.
  • the general-purpose processing unit 2-5-8 is a circuit that performs data processing other than the above-described data processing units, and performs data shift processing, logical product, and logical sum processing.
  • FIG. 17 is a flowchart relating to the PDU data reception process according to the second embodiment of the present invention.
  • PDU-ID data and PDU data specific to the PDU included in the header portion are transferred by CAN driver software 104 to CANIP 2-2. Is transferred from.
  • the PDU data determined by the PDU router software 104 to be transferred to the COM software 105 via the CAN interface software 103 is transferred to the COM software 105 together with the ID data.
  • the COM-ACC 2-5 is activated when the COM software 105 transmits the PDU data and the PDU-ID (step S201). In the COM-ACC 2-5, processing is performed according to the flow shown in FIG.
  • the COM-ACC 2-5 acquires setting data and OLD data (step S202). Based on the ID value given from the COM software 105 together with the PDU, the setting data and the OLD data are obtained by the COM-ACC 2-5 from the ROM 2-4 as a storage area and from the RAM 2-3. .
  • OLD data is PDU data received last time.
  • the OLD data is used for the purpose of holding the filtering function described later and data at the time of the previous reception of the signal that has not been updated.
  • step S203 The update bit check process (step S203), the invalid check process (step S204), the filtering process (step S205), and the mask creation process (step S206) are all performed based on the signal boundary information 301. , It is possible to process PDUs collectively.
  • FIG. 18 is a conceptual diagram showing the data structure of the signal boundary information 301 and the PDU data 302.
  • the signal boundary information 301 is 8 bytes (64 bits) in which High data (1) is set at the position of the most significant bit (MSB) of each signal in the PDU data 302 and all other bits are set to Low (0). Defined as data.
  • the setting position of each signal in the PDU data 302 is statically set in the ECU for each signal in accordance with the specification of AUTOSAR (registered trademark) COM. Data newly generated exclusively for COM-ACC 2-5 based on this information is used as signal boundary information 301.
  • the update bit check process (step S203) executed first at the time of reception by the COM-ACC 2-5 is a data update on the transmission side of each signal set at a bit position that does not overlap with any signal in the PDU data 302. If it is information and 1 is set, it indicates that the data has been updated on the transmission side, and 0 indicates that it has not been updated. If the data has not been updated, the data is unnecessary in the software higher than the COM software 105, and therefore, the subsequent processing is not performed and the data is discarded.
  • Update bit permission information 401 is defined. This update bit permission information 401 is based on the signal boundary information 301.
  • FIG. 19 is a conceptual diagram showing a data structure of the signal boundary information 301, the update bit permission information 401, the update bit position information 402, and the update bit check result information 403.
  • the update bit permission information 401 sets the bit in which data High is set at the MSB position of each signal in the signal boundary information 301 corresponding to the signal for which the update bit is defined among the signals, and updates the bit. This is data in which the value of the MSB position of a signal whose bit is not defined is set to Low.
  • the setting position of the update bit is arbitrary, and update bit position information 402 is newly defined as information indicating the setting position.
  • the update bit position information 402 is data composed of 64 bits in which the bit at the update bit setting position is set to High (1) and all other bits are set to Low (0) data.
  • Update bit check processing uses update bit permission information 401 and update bit position information 402.
  • the COM-ACC 2-5 checks the bit state in the PDU data 302 indicated by the update bit position information 402. If the signal information corresponding to the update bit permission information 401 is set to High, the COM-ACC 2-5 generates the update bit check result information 403 reflecting the state of the update bit at the same position.
  • the number of High data set in the update bit permission information 401 needs to be the same as the High set in the update bit position information 402.
  • the position of the high data set in the update bit position information 402 and the position of the high data set in the update bit permission information 401 are not the same. Therefore, when performing batch processing, the bit position between the update bit check result information 403 obtained by checking the bit state of the PDU data 302 based on the update bit position information and the signal position set in the update bit permission information 401 It is necessary to perform alignment. If all the processes are originally executed by the COM software 105, the process only needs to be repeated for the number of signals set in the PDU for each signal, and the update bit check result 403 and the update bit permission information 401 No data matching is required.
  • step S207 if any signal in the PDU data 302 has been updated effectively, the corresponding signal is updated (step S207). Thereafter, the COM-ACC 2-5 process ends (step S208).
  • the update bit position information 402 is at an arbitrary position in the PDU, and has no relation to the enable information set in the MSB position of each signal in the update bit permission information 401. For this reason, it is unclear whether the update bit enable information corresponding to the update bit information is present at the upper bit position or the lower bit position than the update bit bit position. Become. For this reason, it is necessary to first extract only the update bit information.
  • FIG. 20 is a schematic diagram of the update bit check unit 2-5-7 related to (matching processing 1) according to the second embodiment of this invention.
  • this figure is comprised by 8 bit width for description, it is comprised by 64 bits actually.
  • # 1 is a shift circuit that shifts the PDU data 501 (the PDU data 302 of FIG. 18 corresponding to 8 bits) right-justified.
  • # 2 is a shift circuit that shifts the update bit position information portion (update bit position information 401 in FIG. 19 corresponding to 8 bits) right justified.
  • the PDU data portion 501 of # 1 also extracts only the update bit data in the PDU with right justification.
  • High data is set only for the update bit position. For this reason, if the High data has already been set for all the bits on the right side of the own bit, it is determined that the update bit has shifted to the right end, and each bit in the second row from the top is directly above the own bit. Import the data. Otherwise, it is determined that the shift is still possible, and the bit data at the upper left of its own bit is captured.
  • FIG. 27 is a circuit diagram showing a configuration for realizing the series of procedures in FIG. Since this circuit configuration is a repetition of the same configuration, the circuit configuration is shown for 4 bits surrounded by the alternate long and short dash lines of # 1 and # 2 in FIG.
  • the 63-stage process is repeated as described above.
  • a 64-bit processing unit is required.
  • FIG. 27 since it has a 4-bit width and 3-stage configuration, 12 processing units are included. In this figure, the same reference numerals are used for the “internal configuration” even in different processing units. In this figure, the processing unit Un6 is labeled with respect to the internal configuration, but the other processing units also have the same internal configuration.
  • One processing unit Un includes one AND gate AND and two switches SW1 and SW2.
  • the AND gate AND is: 1) the value output by the AND gate AND existing in the processing unit Un1 of the next lower bit of the same processing stage; and 2) in the processing unit Un2 of the same bit of the previous processing stage. Is a circuit that takes a logical product with the output of the switch SW1 present in the circuit.
  • the output of the AND gate AND is used as a switching signal for the switch SW1. Further, it is used as an input of the AND gate AND existing in the processing unit Un3 of the upper bit of the same processing stage.
  • the AND gate AND has the value “1” output from the AND gate AND existing in the processing unit Un1 of the bit one bit lower in the same processing stage, and the process immediately preceding it. “1” is output only when the output of the switch SW1 existing in the processing unit Un2 of the same bit in the stage is “1”.
  • the switch SW1 is a selection switch that outputs one of the two input terminals according to the output of the AND gate AND.
  • One of the inputs of the switch SW1 is 1) a fixed value “1”.
  • the other input is 2) the output of the switch SW1 in the processing unit Un4 of the bit one bit higher in the process of the immediately preceding stage.
  • This output is used as a switching signal for the switch SW2. Also, as one input of the AND gate AND of the processing unit Un5 of the same bit of the next processing stage, and one input of the switch SW1 of the processing unit Un6 of the lower one processing stage of the next processing stage. Used as one.
  • the switch SW2 selects either the output of the switch SW2 of the processing unit Un2 of the same bit of the previous processing stage or the output of the switch SW2 of the processing unit Un4 of the upper bit of the previous processing stage It is a switch that determines whether to do.
  • the output of the switch SW1 is used as a switching signal for the switch SW2.
  • the output of the switch SW1 When the output of the switch SW1 is “0”, the output of the switch SW2 of the processing unit Un4 of the one higher-order bit of the previous processing stage is set as the output of the switch SW2 of the processing unit Un.
  • the output of the switch SW1 is “1”
  • the output of the switch SW2 of the processing unit Un2 of the same bit in the previous processing stage is set as the output of the switch SW2 of the processing unit Un.
  • the output of the switch SW2 is input to both the switch SW2 of the processing unit Un5 of the same bit and the switch SW2 of the processing unit Un6 of the one lower bit in the previous processing stage.
  • Such a circuit configuration enables the above processing.
  • FIG. 28 is a conceptual diagram in a case where right-justified update bit information is applied to corresponding bit positions set in the data High in the update bit permission information 503. This figure is also expressed with 16 bits for convenience, but there is no problem even with a longer bit width.
  • the update bit permission information 503 is used, and the update bit information corresponding to the above right-justified update bit information is applied to the bit position set in the data High in the update bit permission information 503.
  • FIG. 28 a step-like circuit opposite to that in FIG. 20 is used. For each bit of each stage, if the bit of the update bit permission information 503 in the uppermost stage of the own bit is set to High and the position of the own bit is the rightmost valid bit in the data string of the upper stage of the own bit, the upper stage If not, set the data in the upper right row.
  • the update bit information in the PDU data which is 16-bit data
  • the update bit permission information 503 composed of 16 bits.
  • 64 bits it is the same as in FIG. FIG. 29 explains the circuit operation of FIG. 28 in detail.
  • # 1 in FIG. 29 is a diagram illustrating the operation of the right end detection circuit that identifies the right end of the search target.
  • # 2 is a diagram illustrating the operation of the update bit comparison result shift circuit.
  • the initial value of the right end detection circuit is “0001” in hexadecimal notation
  • the initial value of the update bit comparison result shift circuit is the right justification result 510.
  • the initial value is “0015” in hexadecimal notation.
  • the initial value of the permission information 504 is “8432” in hexadecimal notation.
  • the value of the right end detection circuit is incremented by one bit higher by 1 bit, and the one-stage process proceeds. Therefore, except for the locations of P1 and P3, which will be described later, every time one stage is processed, the data is shifted by 1 bit.
  • the update bit comparison result shift circuit operates in synchronization with the right edge detection circuit as described above.
  • the predetermined bit of the permission information 504 is “0” in the right end detection circuit, regardless of the value set in the update bit comparison result shift circuit, the currently set value is shifted up by 1 bit, “0” is set to the corresponding bit of the update bit comparison result shift circuit. On the other hand, if the predetermined bit of the permission information 504 is “1”, the value of the corresponding bit is left as it is and the determination target is the one bit higher.
  • the B stage in FIG. 29 # 2 corresponds to this.
  • P2 of the update bit comparison result shift circuit corresponds to the processing. Since the lower second bit of the update bit comparison result shift circuit is “1”, the value of the least significant bit of the initial value is left as it is as the value of the second bit. Then, “0” of the third bit is an object of subsequent determination.
  • the bit to be operated by the update bit comparison result shift circuit is shifted by 2 bits.
  • FIG. 30 is a block diagram showing the configuration of the right end detection circuit described in FIG.
  • This circuit also has a multi-stage processing configuration that supports each bit as described above. 63-stage processing is required for 64-bit processing, and 15-stage processing is required for 16-bit processing. One-stage processing of this circuit is performed using processing units UBR corresponding to the number of bits to be handled.
  • FIG. 31 is a circuit diagram showing the internal configuration of the processing unit UBR.
  • the processing unit UBR includes two AND gates AND1 and AND2 and a switch circuit SW3.
  • the right end detection circuit is configured by arranging these circuits on a matrix.
  • FIG. 32 is a block diagram showing the configuration of the update bit comparison result shift circuit described in FIG. This circuit is also configured by arranging the processing units UBS on a matrix like the right end detection circuit.
  • FIG. 33 is a circuit diagram showing the internal configuration of the processing unit UBS.
  • the processing unit UBS includes two AND gates AND3 and AND4 and two switch circuits SW4 and SW5.
  • step S206 is mask data creation processing after the processing in steps S204 and S205 in FIG. 17 is completed.
  • (Matching process 2) In (alignment processing 1), the right-justified circuit and the alignment circuit are configured using the 64-bit width PDU data, the update bit position information 502, and the update bit permission information 503 as a whole, so that the number of circuit stages is 63. Needed a large circuit scale.
  • the 8-bit right-justified circuit 901 shown in FIG. 36 divides into 8-bit units, and derives the right-justified result 510b for each. By performing the process 8 times, the data is similarly handled in a 64-bit width.
  • the number of update bit permission bits in each 8-bit data obtained by dividing the update bit permission information 503 into eight bits, that is, the execution length of the data after the operation of the 8-bit right-justified circuit 901 is represented by 6 bits shown in FIG. Counter 902 counts. Then, the necessary number of bits recorded in the 6-bit counter is cut out from the right-justified update bit data, and the update bit data is matched with the position of the update bit permission information 503 as in the first embodiment.
  • FIG. 34 is a conceptual diagram regarding the 64-bit width operation performed in (matching processing 2).
  • a “temporary buffer” 903 is a primary storage memory for storing data processed in units of 8 bits. If all bits are valid as data, it is necessary to record 64 bits. Therefore, the temporary buffer is configured to store 64 bits.
  • the data stored in the right-justified result 510b is written as it is, from the bit serving as a processing reference (buffer processing reference bit). After writing, the buffer processing reference bit is bit-shifted higher by the data length in the 6-bit counter to prepare for the next processing.
  • FIG. 35 is a conceptual diagram for aligning update bits using a 6-bit wide 8-stage adder.
  • the 6-bit width 8-stage adder 904 is an adder circuit having eight 6-bit adders. This 6-bit width 8-stage adder can take a negative value. The initial value of the 6-bit width 8-stage adder is “ ⁇ 1”.
  • the write circuit 905 divides the update bit permission information 503 in units of 8 bits. Then, the special adder of the 6-bit width 8-stage adder confirms the bit position of the permission information by adding the value of the corresponding bit of the update bit permission information to the output of the adder one stage lower.
  • the output of the corresponding adder of the 6-bit width 8-stage adder is different from the output of the previous-stage adder.
  • the write circuit 905 extracts data from the temporary buffer by the number of differences, sets the bit of the update bit check result corresponding to the corresponding change point bit to the value of the corresponding bit of the temporary buffer, and sets the others to “0”. To do.
  • FIG. 36 is a block configuration diagram summarizing the processing flow of FIGS. 34 and 35 described above.
  • the update bit check is performed on all signals in the PDU at once by superimposing shift circuits in multiple stages.
  • the matching process 3 it is possible to check the state of the update bit existing in the PDU by using two of the 64-to 6-bit encoders 602 and 605, the bit check circuit 603, and the bit set circuit 607.
  • FIG. 21 is a schematic diagram of the update bit check unit 2-5-7 related to (matching processing 3) of the present embodiment.
  • the 64-to 6-bit encoders 602 and 605 encode the update bit position information 601 and the update bit permission information 605, respectively.
  • both bit encoders use an encoder with a priority function. Therefore, the encoded result is that the bit position set to the least significant bit side among the bits set to High in each of the update bit position information 601 and the update bit permission information 605 is displayed (displays 0 to 64). ).
  • bit check circuit 603 checks the data at the bit position indicated by the encoding result of the PDU data 604, using the result of encoding the update bit position information 601.
  • the bit check circuit 603 transmits this check result to the bit set circuit 607.
  • the bit set circuit 607 sets a value at the bit position indicated by the result of encoding the update bit permission information 605. This result becomes the bit set result 608, and the state of the update bit for the signal for which the update bit is permitted is set at the MSB position of each signal in the PDU.
  • the encoded bits of the update bit position information 601 and the update bit permission information 605 are cleared to prepare for the encoding of the next set lower bit position.
  • step S204 which is an invalid check process is executed.
  • the invalid check 204 is one of the filtering functions defined by AUTOSAR (registered trademark), and is used when a signal with a valid value cannot be transmitted due to some abnormality on the transmission side (sensor abnormality, etc.). It is done.
  • step 204 the invalid value previously determined in the same way between the transmission and reception ECUs is used, the signal value that cannot be transmitted on the transmission side is replaced with this invalid value, and the signal value received on the reception side is transmitted. It is determined whether or not it is the same as the invalid value of its own. In the case of different invalid values, a process of replacing with an initial value is performed according to the setting.
  • the circuit of the filter processing unit 2-5-5 is also used for comparing values, and the processing of the invalid check 204 will be described after the description of the processing of the data filtering 205.
  • Data filtering 205 is a filtering algorithm defined by AUTOSAR (registered trademark), F_Always, F_Never, F_MaskedNewWqualsX, F_MaskedNewDiffersX, F_MaskedNewDefersMasqueOld, F_NeF, and N These filter algorithms are defined in OSEK / VDX Communication.
  • F_Always is an algorithm that does not perform any filtering process.
  • F_Never is an algorithm that eliminates all messages.
  • F_MaskedNewWqualsX is an algorithm that passes a message if it is masked but equal to a specific value.
  • F_MaskedNewDiffersX is an algorithm that passes a message if the masked value is different from a specific value.
  • F_MaskedNewDiffersMaskedOld is an algorithm that passes when there is no change in the masked value.
  • F_Newswithin is an algorithm that allows a message to pass when a masked value is included in the range of preset boundary values (MAX, MIN).
  • F_NewIsOutside is an algorithm that passes a message when a masked value is included outside the range of preset boundary values (MAX, MIN).
  • F_OneEveryN is an algorithm that passes a message every time a predetermined number of times N occurs.
  • FIG. 22 is a block diagram showing the configuration of the filter processing unit 2-5-5.
  • the filter processing unit 2-5-5 includes a mismatch detection circuit 2 702 in which 64 2-bit comparators are connected in the same manner as the mismatch detection circuit 1 701 in which 64 2-bit comparators are connected, and Subtractor circuit 1 703 to which 64 2-bit subtractors are connected, and subtracter circuit 2 704 to which 64 2-bit subtractors are connected in the same manner, filter algorithm selector 705 for selecting a filtering result from each comparison result It is configured.
  • each circuit is connected to the upper bits across the boundary cutting circuit 706.
  • Each calculation result is connected to a filter algorithm selector 705.
  • signal boundary information 301 As input data to these arithmetic circuits, signal boundary information 301, MAX / Mask data, MIN / X data, PDU data (New data), Old data, filter algorithm selection data (64 ⁇ 3), all composed of 64 bits. ) Is newly defined.
  • the filter algorithm setting is fixed, and the MAX value and Mask data are not used in the same algorithm. For this reason, the data to be used is set in the same 64-bit data, and the data area is shared. Similarly, the MIN value and the X data share the data area.
  • the PDU data (New data) and the data X subjected to the bit mask processing are input to the mismatch detection circuit 1 701, and the data comparison is performed for each bit.
  • the result is transmitted to the algorithm selection circuit 705.
  • the transfer of the result to the upper bits is controlled by the boundary cutting circuit 706 based on the signal boundary information [x] so that it is not transmitted to the bit in which another signal in the PDU exists.
  • the mismatch detection circuit 2 702 receives PDU data (New data) and Old data subjected to bit mask processing
  • the subtraction circuit 1 703 receives PDU data (New data) and MAX data.
  • the PDU data (New data) and the MIN data are input to the subtraction circuit 2 704 and are respectively calculated.
  • FIG. 23 is a block diagram showing the configuration of the filter algorithm selector 705.
  • each operation result is input, and the result of each operation circuit is selected by an algorithm selected like the algorithm selection circuit 705-1 shown in FIG. 23 by the algorithm selection signal of each bit. .
  • the filter result is reflected only in the MSB position of each signal in the PDU data.
  • all signals in the PDU can be collectively filtered, and batch processing can be performed regardless of the number of signals in the PDU.
  • an invalid check is performed using only the mismatch detection circuit 1701 in the filter processing unit 2-5-5.
  • New data and an invalid value are given to the circuit as input values.
  • FIG. 24 is a diagram showing a mask generation circuit and a generation method.
  • FIG. 25 is a diagram illustrating the flow of each setting data and input data.
  • the logical product data of the data filtering result and the update bit check result is selected. If the data update condition is met, High data is selected. Next, when Low is set in the signal boundary information, data on the upper bit side is selected. For this reason, the MSB state is inherited for bit positions other than the MSB of the signal. For this reason, if the corresponding signal matches the update condition, High is set in all the bit positions of the signal. Conversely, if the update condition is not met, all Low is set. The state takeover continues until the bit position where High is set in the next signal boundary information, and the next signal state is newly taken over from the next signal boundary position.
  • Only the data of the updated signal is updated by merging the New data with the PDU data (Old data) at the time of the previous reception only for the bit portion in which High of the generated mask data is set.
  • step S203 related to the update bit check processing step S204 related to the invalid check processing
  • step S205 related to the filtering processing, mask, and all the signals collectively without depending on the number of signals belonging to the PDU.
  • Means are provided for performing step 206 relating to data generation processing and step S207 relating to signal update processing.
  • FIG. 26 is a diagram showing a data flow and a data configuration when generating mask data.
  • the object of the present invention is to reduce the load of the AUTOSAR (registered trademark) COM software and the ECU having the COM software.
  • Inversion mask for writing 24 ... Signal buffer input value, 102: CAN driver software, 103: CAN interface software, 104 ... PDU router software, 105 ... COM software, 106 ... RTE software, 2-5-1 ... Operation control unit, 2-5-2 ... Interface unit, 2-5-3... Register section, 2-5-4... Data processing section, 2-5-5: Filter processing unit, 2-5-6: Mask generation unit, 2-5-7 Update bit check part, 2-5-8 General-purpose data processing unit, 301 ... Signal boundary information, 302 ... PDU data structure, 401 ... update bit permission information, 402: Update bit position information, 403 ... Update bit check result, 501: Update bit check PDU data processing unit, 502 ...
  • Update bit position information processing section at the time of update bit check 503: Update bit permission information at update bit check, 504 ... Update bit check result, 601: Update bit position information, 602... 64 to 6 bit encoder, 603: Bit check circuit, 604 ... PDU data when using a bit encoder, 605 ... Update bit permission information when using a bit encoder, 606 ... 64 to 6 bit encoder, 607 ... bit set circuit, 608 ... bit set result, 701 ... mismatch detection circuit 1, 702 ... mismatch detection circuit 2, 703: Subtraction circuit 1, 704 ... Subtraction circuit 2, 705 ... Filter algorithm selection circuit, 705-1: Filter algorithm selection circuit details, 706 ... boundary cutting circuit, 801 ...

Abstract

 自動車用ソフトウェアによる抽象化に伴う処理速度の低下を、専用のハードウェア及び自動車用ソフトウェアに特化したアルゴリズムを用いることで、処理速度の向上を図る手段を提供する。CPU2-1に並存する形でCOM-ACC(COMアクセラレータ)2-5を設ける。該CPU2-1で動作するプロトコルスタックはPDU及びPDUIDを抽出する。抽出したPDU及びPDUIDはCOM-ACC2-5に送出された後、COM-ACC2-5がPDUの更新判断を行う。

Description

自動車用制御システム及び電子制御ユニット
 本発明は、自動車用伝送アーキテクチャに関するAUTOSAR(登録商標)仕様に準拠した自動車用のソフトウェアコンポーネント、特にハードウェアアクセラレータを併用することで処理負荷の軽減を図る手段に関する。
 AUTOSAR(登録商標)(AUTomotive pen ystem ARchitecture)は自動車用伝送アーキテクチャに関するオープンなデファクトスタンダードの策定及び成立のために協業する自動車製造業者及び自動車サプライヤーのパートナーシップならびに該パートナーシップが策定する仕様群である。AUTOSAR(登録商標)は、各種の自動車用のソフトウェアコンポーネントを各種定義し、またそれらのソフトウェアコンポーネント間で用いるインターフェースを定義することで、自動車用ソフトウェアの再利用性、汎用性を確保することを目的に活動を行っている。
 AUTOSAR(登録商標)はECU(電子制御ユニット)を単位としてソフトウェアを構成することを基本コンセプトとしている。ECU間は抽象的なVFB(Virtual Functional Bus:仮想機能バス)で接続され、実装上のハードウェアと切り離した形でシステムの初期検討が可能なようになっている。実装に際しては、VFBはCAN(Control Area Network)やFlexRayといったより具体的なハードウェアを想定して開発を行う。その際にも、CANドライバやFlexRayドライバといった標準コンポーネントによってハードウェア(特にCPU)が相違しても上位層の再利用性を確保することが想定されている。従って、CANやFlexRayと言ったハードウェアを想定した規格と分離した形でデータの送受信を行う必要に迫られる。AUTOSAR(登録商標)においてはPDU(Protocol Data Unit)がこれに当たる。
 PDUは上位層であるアプリケーションソフトウェアで利用される各種データの最小単位であるシグナルをECU間で送受信するための論理的なデータコンテナである。PDUは8バイト(=64ビット)幅のデータである。図1はECU間でのPDUの取り扱いを表す概念図である。
 この図においては、送信側ECU1と受信側ECU2がCAN3を介して通信を行うことを想定する。送信側ECU1はPDUに適切なヘッダ、フッダを添付したCANフレーム4をCAN3経由で受信側ECU2に送信する。受信側ECU2のCANIP2-2は受信したCANフレーム4からヘッダ及びフッダを切り離し必要な処理を行う。受信側ECU2内のCPU2-1はヘッダ、フッダを切り離したPDUからシグナルの分離、フィルタ処理を行うこととなる。
 ここで、フィルタ処理とは、特定の状態にメッセージの値が合致しないときにメッセージフィルタによって受信したメッセージを無視することをいう。
 これらの一連の処理ついてはAUTOSAR(登録商標) Specification of CAN Interface(非特許文献1)、AUTOSAR(登録商標) Specification of CAN Driver(非特許文献2)、Specification of CAN Communication(非特許文献3)、AUTOSAR(登録商標) Specification of Flexray Interface(非特許文献4)、AUTOSAR(登録商標) Specification of FlexRay Driver(非特許文献5)、AUTOSAR(登録商標) Specification of Communication(非特許文献6)などで規定されている。
AUTOSAR(登録商標) Specification of CAN Interface v3.0.3 AUTOSAR(登録商標) Specification of CAN Driver v2.2.3 AUTOSAR(登録商標) Specification of CAN Communication v3.0.3 AUTOSAR(登録商標) Specification of FlexRay Interface v3.0.2 AUTOSAR(登録商標) Specification of FlexRay Driver v2.2.1 AUTOSAR(登録商標) Specification of Communication v3.0.2
 これらAUTOSAR(登録商標)の仕様では、自動車用ソフトウェアの再利用性、汎用性を確保する、という目的から、ハードウェアへの依存は制限されている。
 しかし、パーソナルコンピュータの分野でもそうであったように、ソフトウェアによる抽象化は処理工程、処理時間の増大を招かざるを得ない。これに対して、パーソナルコンピュータの分野では、一般的な処理を行うCPU(中央処理装置)に対して、特定の処理に特化したアクセラレータチップを並存させ、上記のような抽象化された処理を高速に処理する手段が考えられている。
 一方、パーソナルコンピュータと異なり、自動車には特有な問題が多く存在する。すなわち、パーソナルコンピュータでは、送受信の対象となるのは、高位のアプリケーション層に位置するアプリケーションで取り扱われるデータがほとんどである。これに対し、自動車用ソフトウェアにおいては、自動車の状態を表す数ビット単位の短いデータ長を表すデータがやり取りされることが多く、自動車用ソフトウェアで扱うデータは数ビット単位のものが多く、32ビットCPU等のビット幅の広いバスを採用したCPUを用いても一般的なCPU命令による処理では効率が上がらない、といった具合である。
 また、AUTOSAR(登録商標)の仕様では、受信時には下位のプロトコル処理部(CAN―IP、FlexRay―IP等)にてPDU単位で扱われたデータ単位をシグナル単位へ分解する、送信時にはシグナル単位のデータをPDU単位のデータへ梱包する処理を行う、といったパーソナルコンピュータの分野ではあまり起こらない処理を行う。これらビット単位の梱包、分解処理はCPUにとって大きな負荷である。
 昨今、地球環境への影響を最小限に抑えるべく、自動車においては少燃費である事が必須課題となっている。一方でECUによる電子制御は益々増大している。このためECU自体の消費電力も厳しく制限されてきている。従ってECUの処理負荷が増大する事に対する解決策として、より高速なCPUを用いるという方法が困難になりつつある。このため、何らかのハードウェアによる高速かつ短時間での処理が必要となっている。
 本発明の目的は、自動車用ソフトウェアによるハードウェアの抽象化に伴う処理速度の低下を専用のハードウェアを用いて補助し、処理速度の高速化および低消費電力化を図る手段を提供する事にある。
 本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
 本発明の代表的な実施の形態に関わる自動車用制御システムは、1又は2以上のシグナルを有するプロトコルデータユニットを含むデータフレームを受信する第1のハードウェアと、第1のハードウェアを接続しデータフレームの伝達に用いられる仮想機能バスと、を有し、第1のハードウェアは、仮想機能バス経由で受信したデータフレームからプロトコルデータユニット及びプロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットIDを抽出するプロトコルスタックを実行し、プロトコルスタックは、1又は2以上のシグナルの更新の有無の判定をプロトコルデータユニットへの一度の処理で実行することを特徴とする。
 本発明の代表的な実施の形態に関わる電子制御ユニットは、CPUと、仮想機能バスインターフェースと、アクセラレータと、を有し、仮想機能バスインターフェースを介してプロトコルデータユニットを含むデータフレームを受信し、CPUは受信したデータフレームからプロトコルデータユニット及びプロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットIDを抽出するプロトコルスタックを実行し、CPUは、プロトコルデータユニット及びプロトコルデータユニットIDをアクセラレータに送信し、アクセラレータがシグナルの更新の有無の判定及びシグナルの更新を実行することを特徴とする。
 この電子制御ユニットにおいて、アクセラレータは、プロトコルデータユニットに含まれるアップデートビットの判定と、プロトコルデータユニット内の各シグナルに設定されたアルゴリズムに従い実行されたフィルタリング処理の判定結果から、過去に処理したプロトコルデータユニットの値を更新するデータ更新用マスクを作成することを特徴としてもよい。
 また、この電子制御ユニットにおいて、アクセラレータは、データ更新用マスクを用い、データの更新があったシグナルを抽出し、プロトコルスタックに前記データの更新があったシグナルを出力することを特徴としてもよい。
 この電子制御ユニットにおいて、プロトコルスタックは、受信した前記データの更新があったシグナルを用いてプロトコルデータユニットを更新することを特徴としてもよい。
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
 本発明の代表的な実施の形態に関わるCOMアクセラレータ並びにそれに対応するCOMソフトウェアを採用することで、AUTOSAR(登録商標)で規定するAUTOSAR(登録商標)COMの一定の処理の動作単位をPDU単位にすることができる。これにより、従来シグナル毎に反復処理を求められたシグナル更新の判定を一度に行うことができるという論理的な処理工数の低減、及びハードウェア処理による処理工数の低減を図ることが可能となる。
 また、この処理工数の低減により実動作時間が短縮されるため、処理負荷増大による消費電力増加を抑制する事が可能となる。
ECU間でのPDUの取り扱いを表す概念図である。 従来のAUTOSAR(登録商標)の各種ソフトウェアを動作させるためのハードウェアの構成を表すブロック図である。 本発明に関わるハードウェアの構成を表すブロック図である。 一般的なAUTOSAR(登録商標)用の通信用プロトコルスタックの構成を表す概念図である。 COM-ACC内のフィルタ回路を8ビット幅で表した概念図である。 シグナル抽出処理におけるフィルタ処理を説明するためのフローチャートである。 PDU受信時のCOMソフトウェアとCOM-ACCとの処理の分担についての概念図である。 本発明に関わるデータ更新用マスク生成回路の構成を表す概念図である。 本発明に関わる受信フラグデータの圧縮回路の一部を表す回路図である。 図9の圧縮回路の動作を説明するための図である。 COM-ACC内のシグナル挿入抽出回路におけるこのシグナル抽出処理の手順を表す概念図である。 シグナル送信時のCOMソフトウェアとCOM-ACCとの処理の分担についての概念図である。 シグナル挿入抽出回路でのシグナル挿入処理の手順を表す概念図である。 アップデートビットの判定方法及び対応するシグナルへの結果の反映方法の概念図である。 COM-ACCの概略構成を示すブロック図である。 本発明の第2の実施の形態にかかわるCOM-ACCの構成を表すブロック図である。 本発明の第2の実施の形態にかかわるPDUデータの受信処理に係るフローチャートである。 シグナル境界情報、及びPDUデータのデータ構成を表す概念図である。 シグナル境界情報、アップデートビット許可情報、アップデートビット位置情報及びアップデートビットチェック結果情報のデータ構成を表す概念図である。 本発明の第2の実施の形態の(合わせこみ処理1)にかかわるアップデートビットチェック部の模式図である。 本発明の第2の実施の形態の(合わせこみ処理3)にかかわるアップデートビットチェック部の模式図である。 フィルタ処理部の構成を示すブロック図である。 フィルタアルゴリズム選択器の構成を示すブロック図である。 マスク生成回路および生成方法を示した図である。 各設定データ及び入力データの流れを表す図である。 マスクデータ生成時のデータフローおよびデータ構成図を示す図である。 図20の一連の手順を実現する構成を表す回路図である。 右詰したアップデートビット情報をアップデートビット許可情報でデータHighに設定されているビット位置に、対応するアップデートビット情報を当てはめる場合の概念図である。 図28の回路動作を詳細に説明したものである。 図29で述べた右端検出回路の構成を表すブロック図である。 処理単位UBRの内部構成を表す回路図である。 図29で述べたアップデートビット比較結果シフト回路の構成を表すブロック図である。 処理単位UBSの内部構成を表す回路図である。 (合わせこみ処理2)で行う64ビット幅の動作に付いての概念図である。 6ビット幅8段加算器を用いたアップデートビットの位置あわせを行う概念図である。 図34および図35の処理の流れをまとめたブロック構成図である。
 以下、本発明の実施の形態について図を用いて説明する。
 (第1の実施の形態)
 図2は従来のAUTOSAR(登録商標)の各種ソフトウェアを動作させるための受信側ECU2の構成を表すブロック図である。図3は本発明に関わる受信側ECU2の構成を表すブロック図である。
 なお、図2および図3は説明用の図面であるので、I/O等の回路等は省略している。
 従来のAUTOSAR(登録商標)用の受信側ECU2はCPU2-1、CANIP2-2、RAM2-3、ROM2-4を含んで構成される。
 本発明の実施の形態はCANによる通信にて構成されているが、他の通信プロトコルであるFlexRay、Eather等での利用も想定されている。図1にFlexRayによる通信用のIPおよびバスの構成を表しているが、ここではCANによる構成を用いて説明を行う。
 CPU2-1はAUTOSAR(登録商標)の規定する各種仕様に従ったソフトウェアを動作させるためのCPUである。自動車には数多くの制御対象となるハードウェアが存在する。そしてそれらのハードウェアの制御には、それぞれにCPUを用意する必要がある。しかし、自動車のモデルチェンジは4年以上であり、CPU等の電子部品の製造期間と相違することが多々ある。また、自動車のマイナーチェンジ時に新たな機能を追加するなどの理由により異なるCPUを利用しなければならなくなった時に、そのCPUの変更に迅速に対応することができるようにするのがAUTOSAR(登録商標)の目的である。
 また、このアプリケーションソフトウェアはC言語等の高級言語で記述されている場合、コンパイラの設定を変更する事で多くの場合、CPUの違いを超えてソフトウェアを共有する事が可能となっている。たとえば、パーソナルコンピュータの分野では、基本となるオペレーションシステム(OS)上で、動作するアプリケーションソフトウェアは、同一のOSが搭載されたパーソナルコンピュータであれば、製造メーカおよびCPUの違いを区別せず使用する事が可能である。一方自動車用ECUに搭載されるマイクロコントロールユニット(MCU)の分野では、従来ではアプリケーションソフトウェアとMCUの各機能を動作させるためのドライバソフトウェア等が直接データの受け渡し処理を行っていた。このため、処理の最適化の意味では効率よく動作していたのだが、他方、アプリケーションソフトウェアの共有性を損なっていた。このため、制御システムの開発毎にドライバソフトウェア、アプリケーションソフトウェアの双方を作り直す必要があった。これの是正もAUTOSAR(登録商標)の目的である。
 CANIP2-2は、CANバス対応の通信ハードウェアである。CANIP2-2とCPU2-1は図示しないブリッジチップ等を介して接続されている。CANIP2-2はMCU外部とはCANバスで接続され、MCU内部では、CPUと内部の専用接続線を用いて接続されている。
 RAM2-3は、CPU2-1が動作する際の一時記憶領域として用いられる記憶媒体である。CPU2-1が動作中に使用する一時記憶領域である。
 ROM2-4は、CPU2-1で動作させるソフトウェアを記録するための不揮発性の記録媒体である。CPU2-1が動作中に使用する不揮発性の記憶領域である。
 CAN3はVFB(仮想機能バス)の一種である。CAN3はECUに接続されているCANバスであり、同一バス上には1又は2以上の別のECUが同様に接続されている。
 これに対し、本発明のハードウェアはCOM-ACC2-5が追加されている点が従来の物と相違する。
 COM-ACC(COMアクセラレータ)2-5は、CPU2-1で処理すべきAUTOSAR COMソフトウェアのうち、所定の処理を専用に担当するためのアクセラレータチップである。すなわち、従来CPU2-1で処理されるAUTOSAR(登録商標)COMソフトウェアの処理のうち、反復的に実行される箇所を専用に処理するハードウェアモジュールである。また、COM-ACC2-5はRAM2-3やROM2-4に接続され、COM-ACC内での動作に必要な設定データの取得および処理が完了したデータの一時保存に用いられる。このCOM-ACC2-5での処理が本発明の特徴となる。
 図4は一般的なAUTOSAR(登録商標)用の通信用プロトコルスタックの構成を表す概念図である。
 ハードウェアであるCANIP2-2を除くと、CANドライバソフトウェア102、CANインターフェースソフトウェア103、PDUルータソフトウェア104、COMソフトウェア105及びRTE(Run Time Environment)ソフトウェア106を含んで構成される。
 CANドライバソフトウェア102は、CANIP2-2を直接制御し、PDUデータ及びCANプロトコルで規定されているデータパケット識別用のID(PDU-ID)をCANIP2-2が管理するデータ保存領域から取得し、データの取得を上位のCANインターフェースソフトウェア103へ送信するためのソフトウェアである。
 CANインターフェースソフトウェア103は、CANドライバソフトウェア102によって検出され処理されたイベントが送信される。またPDUルータソフトウェア104などの上位層からCANドライバソフトウェア102のサービスへのアクセス手段を提供する。CANインターフェースソフトウェア103を介することで、上位のモジュール(COMソフトウェア105など)は複数の異なるCANハードウェアデバイスの管理に単一のインターフェースを用いることが可能となる。
 PDUルータソフトウェア104は、モジュール間での(I)PDUユニット(Interaction Layer Protocol Data Unit:中間層プロトコルデータユニット)ルーティングサービスを提供するモジュールである。異なる通信プロトコル間の通信において、PDUデータを別のプロトコル用インターフェースソフトウェアに引き渡す処理を行う。自動車制御システムにおいては、異なる通信プロトコルを用いる通信ネットワークを越えたデータの送受信を行うゲートウェイ動作と呼ばれる処理を行う必要がある場合が存在する。AUTOSAR(登録商標)では、PDUルータソフトウェア104がゲートウェイ機能を提供している。
 COMソフトウェア105は、上位のランタイム環境(RTEソフトウェア106)に対して、PDUルータソフトウェア104から送信されるPDUに対し適切な処置(例えばビッグエンディアンとリトルエンディアンの変換など)を行った後、PDU由来のデータ(例えばPDUに内包されるシグナル)を用いるランタイム環境に送信可能なようにするモジュールである。パソコンなどの技術分野では、送られたデータは全て上位層に送られることが多い。しかし自動車の場合は、このCOMソフトウェア105で送られたデータに変化があったか否かを判定し、変化があったときもしくは、PDUに内包されるシグナルの値が特定の条件を満たしている場合のみ図示しない上位のランタイム環境(COMソフトウェア105経由で信号の送受信を行うソフトウェア)に送信される処理を行う。これによりCPU2-1の負荷を減少させる。
 すなわち、PDUルータソフトウェア104から転送されたPDUに対し、適切な処理を行い(たとえばエンディアン変換処理)、内包するシグナルを抽出し、更新情報であるアップデートビットを検査し、更新されているシグナルであれば、該当シグナルにあらかじめ設定されているフィルタリング条件に照らし合わせ、比較処理を行い、条件を満たしていれば、上位ソフトウェア層であるRTEソフトウェア106へと送信する。更新されていないシグナルについては、COMソフトウェア105は以降の処理を行わないことにより、CPU2-1の負荷を軽減している。
 RTEソフトウェア106はオペレーティングシステム、バス技術、通信レイヤ、ハードウェア抽象化レイヤ、API、標準ライブラリ関数などの構成要素を結び付け、サービスおよび基盤となるハードウェアへの標準ソフトウエア・インターフェースを管理するソフトウェアである。RTEソフトウェア106の更に上位に図示しないアプリケーションプログラムが存在する。
 図15はCOM-ACC2-5の概略構成を示す。COM-ACC2-5は、フィルタ回路、マスク生成回路、受信フラグデータ圧縮回路、シグナル挿入抽出回路、アップデートビット生成検出回路からなる。実線は受信したPDUからのシグナル抽出処理、破線は送信用の新たなPDUの生成処理でのデータの流れを示す。
 それぞれの回路で処理されたデータは、PDUを下位へ送信する場合のモードを決定する送信モードコンディションTMC(Transmission Mode Condition)、更新されたシグナルを示す受信フラグ、送信用に新たに生成されたPDUに保存する送信PDUバッファ、更新されたシグナルを保存するシグナルバッファ2-6へ格納される。
 COM-ACC2-5は、受信したPDUに含まれるシグナルの抽出処理においては、COMソフトウェア105からPDUと当該PDUを弁別するためのPDUIDが供給され、COMソフトウェア105からの起動信号によりフィルタリング処理を開始する。COM-ACC2-5は、フィルタリング処理によりCOMソフトウェア105において処理すべきシグナルをシグナルバッファに格納した後、CPU2-1に割り込み等もしくは受信フラグによる通知を行う。
 また、COM-ACC2-5は他のECUに送信するためのPDUを生成する。このPDU生成処理においては、COMソフトウェア105から他のECUに送信するためのシグナルと生成するPDUを示すPDUIDを供給され、COMソフトウェア105からの起動信号によりPDU生成処理を開始する。COM-ACC2-5は、生成したPDUをPDU送信バッファに格納した後、CPU2-1に割り込み等による通知を行う。
 フィルタ回路、マスク生成回路、受信フラグ回路、シグナル挿入抽出回路、アップデートビット生成検出回路のそれぞれの回路動作については、以下に説明する。
 (シグナル抽出処理)
 以下、別のECUから受信したPDUに含まれるシグナルを抽出する処理について説明する。
 本実施の形態では、このCOMソフトウェア105におけるフィルタ処理にCOM-ACC(COMアクセラレータ)2-5を用いることが特徴である。逆を言えば、PDUルータソフトウェア104よりも物理層側のプロトコルスタックはCAN用のものであってもFlexRay用のものであっても、VFBに関係なく適用することが可能となる。
 加えて、RAM2-3の記憶領域の一部として、後述するOLDデータ(図5のOLDデータ12)を保存するシグナルバッファ2-6を有する。
 このCOM-ACC2-5における処理について説明する。
 図1でも述べたとおり、CANバス上を経由して送信された64ビット固定長のPDUがCOMソフトウェア105に到達する。このPDU内には1ないし64ビットの可変長データである「シグナル」が含まれている。1つのPDU内には、容量の許す限り、複数のシグナルを含めることが可能である。それぞれのシグナルのPDU内での位置は設定データとして各ECUが保持している。各シグナルはシグナルIDにより区別されている。
 シグナルの有意の容量は「シグナルの種別」によって決定される。この「シグナルの種別」及び2以上のシグナルがある場合の「シグナルの順序」はPDU毎に定義されている。このように1又は2以上のシグナルを検出し、それぞれを抽出する処理をReception Filteringと仕様上定義されている。
 抽出したシグナルに対して、フィルタ処理等のチェックを行う。具体的には、該信号が更新されたかなどを判断の対象とする。このフィルタ処理後、条件をクリアしたシグナルはシグナルバッファへ保存される。
 これらの処理を全てのシグナルに対して行い、通知すべきものについては図示しない上位のランタイム環境に通知されることになる。
 しかし、この処理には問題がある。
 すなわち、PDU内のシグナルの数が増えれば、その分1つのPDUの処理に時間を要することである。特に、シグナル長が1ないし64ビットの可変長であり、シグナル毎にフィルタ処理を行う場合、シグナル毎の処理設定に時間を要する。
 本発明は、このフィルタリングの遅延の解消を図るものである。そして、COM-ACC2-5はハードウェア的にこれらの処理をPDU内の前シグナルに対して一括・並行して実行する。
 本発明の実施の形態では、新たにシグナル境界情報10を定義する。これによりPDU内の全てのフィルタリングを一括して実行することが可能となる。
 図5はCOM-ACC2-5内のフィルタ回路を8ビット幅で表した概念図である。このフィルタ回路は、CPU2-1から供給されたPDUのPDUIDからフィルタリング処理を行う条件と必要な情報を取得し、PDUの64ビットに含まれる1以上のシグナルのフィルタリング処理を並列に実行する。
 このフィルタ回路の概念図はPDUIDから取得するフィルタリング処理の条件と情報を設定するシグナル境界情報10、OLDデータ12、X/MAXデータ13、Mask/Minデータ14、フィルタアルゴリズム選択データ15、フィルタリングの処理の対象となるPDUを格納する元データ格納部11、フィルタリング処理を行う比較器16とフィルタアルゴリズム選択回路17、及びフィルタリング処理結果を格納するフィルタ演算結果出力領域18を含む。なお、本図の各データにおいては、一番左が第1ビットであり、一番右が第8ビットであるとする。
 シグナル境界情報10は、同一のPDUに含まれる各シグナルの境界点(各シグナルのMSB)に識別用のデータがセットされた64ビットのデータである。このシグナル境界情報により、シグナル毎に次のビットに接続する比較結果の制御を行っている。
 PDU中には複数のシグナルが含まれるのは既述の通りである。シグナル境界情報10では各シグナルの最上位のビットを「1」にすることで、その境界を表す。
 元データ格納部11は、今回の処理に関わるPDUの値を格納する記憶領域である。
 OLDデータ12は前回受信処理を行って、シグナルデータを更新したPDUの値をいう。OLDデータ12の値はRAM2-3上のシグナルバッファに記録されているが、COM-ACC2-5はフィルタ処理を行う毎にRAM2-3に対応するOLDデータを読み出しにいき、一連の処理が終わりOLDデータ12の値を更新する必要があるときには、RAM上のシグナルバッファに更新値を書き込む。
 X/MAXデータ13は、フィルタ処理時に用いる比較用データである。COMソフトウェア105におけるフィルタ処理は、AUTOSAR(登録商標)仕様上8つのフィルタが規定されている。X/MAXデータ13はこの8つのフィルタの特定のフィルタで用いるデータ群である。Mask/Minデータ14も同様であり、この8つのフィルタの特定のフィルタで用いるデータ群である。なお、XとMAX、MaskとMinは同時に用いることがない。このため、X/MAXデータ13及びMask/Minデータ14は1つのデータ領域を共用することができる。
 フィルタアルゴリズム選択データ15は上述のAUTOSAR(登録商標)仕様の8つのフィルタのいずれを用いるかを決定するデータである。フィルタアルゴリズム選択回路17は、このフィルタアルゴリズム選択データ15を用いて動作させるフィルタアルゴリズムを選択する回路である。
 このフィルタアルゴリズム選択データ15はシグナル毎に設定される。また、X/MAXデータ13及びMask/Minデータ14は対応するシグナルによってデータの意味が相違することに注意する。
 比較器16は上述のOLDデータ12、X/MAXデータ13、Mask/Minデータ14及び各ビットの比較結果を隣接ビットに転送するか否かを表すシグナル境界情報10によって、元データ格納部11に格納された値をフィルタ演算するための比較器である。
 フィルタ演算結果出力領域18は、上位層及び次回のフィルタ処理で利用可能なようにフィルタ処理の結果(更新用のOLDデータ)を記録するためのCOMハードウェア内の記憶領域である。
 次にこのフィルタ回路の動作について図6を用いて説明する。
 図6はシグナル抽出処理におけるフィルタ処理を説明するためのフローチャートである。
 まず、CANIP2-2がCANバス経由でPDUを含むパケットを受信する。CANIP2-2は、このパケットからヘッダ、フッダを削除した後、CPU2-1にヘッダ等削除後のPDUを送信する。
 該PDUを受け取ったCPU2-1上では図4に示したプロトコルスタックを持つAUTOSAR(登録商標)基本ソフトウェアで処理を行う。すなわち、CANドライバソフトウェア102、CANインターフェースソフトウェア103、PDUルータソフトウェア104、COMソフトウェア105の順で処理がなされる。この一連の処理の間に、PDU及びPDUIDを抽出する。このPDUIDはPDUのデータフォーマットを決定する際の識別子となる。また本発明におけるシグナル境界情報10やアップデートフラグイネイブル情報31、アップデートフラグビット位置情報32(全て後述)を決定する際にもPDUIDが用いられる。
 この抽出したPDU及びPDUIDをCPU2-1で動作中のCOMソフトウェア105がCOM-ACC2-5に対して送信する(ステップS1001)。
 COM-ACC2-5は受け取ったPDUを元データ格納部11にセットする。また、ここで渡されたPDUIDを検索キーとして、OLDデータ12をRAMから読み出す(ステップS1002)。
 PDUIDによって、PDUにいくつのシグナルが含まれているか、各シグナルがどのようなフィルタ処理を行うか判断できる。そこでCOM-ACC2-5のフィルタアルゴリズム選択回路17はPDUIDを元にフィルタアルゴリズム選択データ15、シグナル境界情報10の設定を行う(ステップS1003)。さらに、フィルタアルゴリズムに合わせて、X/MAXデータ13、Mask/Minデータ14の設定を行う(ステップS1004)。
 ここまで終了したところで比較器16が元データ格納部11、OLDデータ12及び他の設定に基づきフィルタ処理を行う(ステップS1005)。
 このフィルタ処理の結果はフィルタ演算結果出力領域18に格納される。このフィルタ演算結果出力領域18に格納されたフィルタ処理の結果は次回のフィルタ処理においてOLDデータとして使用される。従って、RAM上のシグナルバッファ2-6に存在するOLDデータを更新する(ステップS1006)。
 このステップS1006でRAM上に存在するOLDデータを更新する際、後述する書き込み用の「データ更新用マスク」を用いる。
 また、フィルタ演算結果出力領域18に格納されたフィルタ処理の結果はシグナル単位でCOMソフトウェア105に戻される(ステップS1007)。
 この一連の処理において、COMソフトウェア105とCOM-ACC2-5との処理の分担について図7を用いて説明する。図7はCOMソフトウェア105とCOM-ACC2-5との処理の分担についての概念図である。
 まず、PDUルータソフトウェア104からCOMソフトウェア105に対して送信されるPDU及びPDUIDをCOMソフトウェア105は受信する(#1)。COMソフトウェアは、PDUに対して所定の処理を行う。処理後のPDUデータ及びPDUIDをCOMソフトウェア105はCOM-ACC2-5に対して送信する(#2(S1001))。送信後、COMソフトウェア105はCOM-ACC2-5に対して動作トリガを発行し(#3)、COM-ACC2-5の処理を開始する。
 COM-ACC2-5はRAM2-3上のシグナルバッファからOLDデータを読み出し(#4(S1002))、フィルタ処理に必要なX/MAXデータ13、Mask/Minデータ14、フィルタアルゴリズム選択データ15をROM2-4から読み出し、フィルタ処理を開始する。COM-ACC2-5はフィルタ処理、アップデートビットチェック、データ更新用マスク作成、データ更新、シグナル抽出を行う。この際、アップデートビットチェックに用いるアップデートフラグビットイネイブル情報31とアップデートフラグビット位置情報32をROM2-4などから読み出す(#5)。
 データ更新用マスクを作成した場合、COM-ACC2-5はRAM2-3上のシグナルバッファのOLDデータを更新する(#6(S1006))。
 COM-ACC2-5はその後、抽出したシグナルデータをCOMソフトウェア105に送信する(#7(S1007))。COMソフトウェア105は受け取ったシグナルデータを上位に通知し、図示していない上位からの問い合わせに応じ上位へ送信する。なお抽出したシグナルデータの受け渡しを、直接インターフェースを通して行うか、アドレスの番地の引渡しで行うかは設計事項である。
 次に、マスク生成回路でのデータ更新用マスクの作成方法について図8を用いて説明する。図8は本発明に関わるデータ更新用マスク生成回路の構成を表す概念図である。本図の各データにおいても、一番左が第1ビットであり、一番右が第8ビットであるとする。
 このデータ更新用マスク生成回路は、データとして比較結果レジスタ21、シグナル境界情報10、書き込み用マスク22、書き込み用反転マスク23、元データ格納部11、OLDデータ12、シグナルバッファ入力値24を取り扱う。
 本図においては、図5と共通の入力データとして、書き込みの元になるフィルタ演算結果出力領域18のデータだけでなく、シグナル境界情報10、元データ格納部の値11、OLDデータ12も用いられる。
 比較結果レジスタ21はフィルタ演算結果出力領域18のデータに対してアップデートビットチェック結果(後述)を反映させた値(例えば論理積演算結果)である。このフィルタ演算結果出力領域18のデータにアップデートビットチェック結果を反映させた値を「受信フラグデータ」と規定する。
 この比較結果レジスタ21の値とシグナル境界情報10のデータを書き込み用マスク生成器19で対比する。
 既述の通り、シグナル境界情報10では各シグナルの最上位のビットを「1」にすることで、その境界を表す。書き込み用マスク生成器19には受信フラグデータとシグナル境界情報10のデータが入力される。該書き込み用マスク生成器19はシグナル境界情報10のシグナルの「区切り」を識別すること、及び、シグナルの対応するビットにフィルタ演算結果出力領域18に「1」がセットされているとき、出力である書き込み用マスク22の該当するシグナル(すなわちフィルタ処理をパスしたシグナル)に対応するビット全てを「1」にセットすることを特徴とする。
 書き込み用マスク生成器19は、フィルタ処理をパスしたシグナルのビット全てを「1」に、フィルタ処理をパスしなかったシグナルのビットを全て「0」として書き込み用マスク22に出力する。図8では比較結果レジスタ21の第3ビット及び第5ビットで「1」が立っている。従って、書き込み用マスク22は16進数表記で「3F」となる。
 書き込み用反転マスク23は書き込み用マスク22の出力を反転させたものである。従って、上述の例では書き込み用反転マスク23は16進数表記で「E0」となる。
 その後、書き込み用マスク22と書き込み用反転マスク23を用いて、シグナルバッファ入力値生成回路20がシグナルバッファ入力値24を導出する。
 シグナルバッファ入力値生成回路20は、このシグナルバッファ入力値24を生成するための論理回路である。すなわち、書き込み用マスク22と元データ格納部11の値の論理積で元データ格納部11の値のうちフィルタをパスしたシグナルデータのみを残し、他のシグナルのビットを全て「0」にする。
 また、書き込み用反転マスク23とOLDデータ12の論理積でOLDデータ12のうち上書きされる部分のみを「0」にクリアし、残りのシグナルのビットはそのままの状態に維持する。
 そして、書き込み用マスク22及び書き込み用反転マスク23に関する上記論理演算の結果の論理和をとることで、シグナルバッファ入力値24を生成する。このシグナルバッファ入力値24がデータ更新用マスクであり、図7のOLDデータ更新(#6)に用いる値である。すなわちRAM2-3上のシグナルバッファ2-6に、このシグナルバッファ入力値24が書き込まれることとなる。
 次に、この受信フラグデータの格納について検討する。
 既述の通り、受信フラグデータはフィルタ演算結果出力領域18のデータとアップデートビットチェック結果の論理積をとった値である。この受信フラグデータは最大64ビットのデータであり、COM-ACC2-5内で受信フラグデータをこのままの形で取り扱うと、受信フラグデータの取り扱いが複雑となり、メモリを多く消費する。そこで、COM-ACC2-5内で必要な受信フラグデータのみを圧縮する必要がある。
 この受信フラグデータの圧縮に際して、シグナル境界情報10を用いる。すなわち、シグナル境界情報10中で「1」が立っているビットのみが受信フラグデータで変化する可能性のあるビットである。逆を言えば、シグナル境界情報10中で「1」が立っているビットのみを取り扱いの対象として、他のビットを削除すれば必要な受信フラグデータのみを圧縮することが可能となる。
 図9は本発明に関わる受信フラグデータの圧縮回路の一部を表す回路図である。また図10はこの図9の圧縮回路の動作を説明するための8ビット分の概念図である。図10であげられている「10000010」という2進数のデータは8ビットの受信フラグデータである。また、この受信フラグデータとの対比の対象となるシグナル境界情報の値は「10010010」である。
 図9にあらわす回路を図10の斜線の升目の様に8段43個の階段状に構成する。このように構成することで、右端から順にシグナル境界情報の値と受信フラグデータの値のANDを取って左端を検出する。「1」が埋まっていなければ、一段上の左となりから値を取得し、「1」が埋まっていれば「1」を選択データ分の段数重ねて実行する。このようにすれば、シグナル境界情報のうち1がセットされている数だけ右詰で1が埋まる。
 このビットの動きにフィルタの結果を連動させると、フィルタの結果が右詰でセットされる。
 次にCOM-ACC2-5におけるシグナル抽出処理について説明する。
 図7でも述べたとおり、フィルタ処理後COM-ACC2-5は受信フラグデータを得る。ここからシグナルデータを抽出するのがここで述べるシグナル挿入抽出回路でのシグナル抽出処理である。
 図11はCOM-ACC2-5におけるこのシグナル抽出処理の手順を表す概念図である。
 まず、受信フラグデータ中の取得を欲するシグナルの右端をPDUの右端までシフトさせる(図11(a))。
 その後、PDUの右端から取得を欲するシグナルのデータ長だけ「1」を挿入し、他のビットを「0」としたマスクデータを作成する(図11(b))。
 この図11(a)のビットシフト後のPDUデータと、図11(b)のマスクデータの論理積を取る(図11(c))。これにより、取得を欲するシグナルのみを得ることが可能になる(図11(d))。
 これとは逆に、COMソフトウェア105は、複数のシグナルを内包するPDUデータを構成する場合がある。すなわち、COMソフトウェア105より物理層に近いモジュール(例えばPDUルータソフトウェア104)に送信する場合である。この際、COMソフトウェア105によるシグナル挿入処理については後述するPDU生成処理で説明する。
 最後にアップデートビットのチェックについて説明する。
 このアップデートビットのチェックは、マスク作成回路の比較結果レジスタ21の値を導出するためのアップデートチェック結果を求める回路である。
 アップデートビットはPDU内の任意の位置に設定可能なシグナルの更新情報である。アップデートビットはPDUの送信元である別のECUがセットする。
 PDU内には送信側で更新したシグナル、更新しなかったシグナルが混在する場合がある。この際、更新されなかったシグナルについては受信側での利用価値が無い。従って、COMソフトウェア105ではこのような更新されていないシグナルの処理は行わない。
 従来は、COMソフトウェア105が、反復してPDUデータからシグナルを切り出し、アップデートビットによりその変更の有無を判定し、アップデートビットが変更されていることを示すシグナルに対してフィルタ処理を行っていた。しかし、本実施の形態では、PDU単位での一括フィルタ処理を行うため、更新されていないシグナルのフィルタ処理を行わない、という判断はできない。そこで、受信したシグナルは全てフィルタ処理し、フィルタ及びアップデートビットがセットされているシグナルのみCOMソフトウェア105で処理を行うために送信する。さらにCOMソフトウェア105で処理を行ったシグナルのOLDデータを次のフィルタ処理で用いるために更新するために、各シグナルのフィルタ結果とアップデートビットのチェック結果の論理積を取った情報でマスクを作成し、OLDデータの更新を行う。
 このアップデートビットは、シグナル毎にアップデートビットを持つか否かを設定できる。従って、全シグナル対応してアップデートビットが設定されているわけではない。また、PDU内でのシグナルデータの位置とアップデートビットの位置に関連性が無いため、シグナル境界情報10では、チェックできない。このため、アップデートフラグイネイブル情報31とアップデートフラグビット位置情報32が必要となる。
 アップデートフラグイネイブル情報31は、PDU内の各シグナルのアップデートビット設定情報の有無を表す64ビットの情報である。該シグナルのシグナル境界情報10で「1」がセットされているビットに該シグナルのアップデートフラグイネイブル情報31が格納される。アップデートフラグイネイブル情報31が「1」のシグナルについては、PDU内のいずれかの位置にアップデートフラグが存在する。
 アップデートフラグビット位置情報32は、PDU内の任意の位置に設定できるアップデートビットの設定場所に関する64ビット情報である。このアップデートフラグイネイブル情報31で「1」が立っているビットであれば、対応するPDUのビットにアップデートビット自体が存在することとなる。
 まとめると次のようになる。
 アップデートフラグイネイブル情報31及びシグナル境界情報10の双方共に「1」が立っているシグナルは、アップデートフラグを有するシグナルに関する情報であると判断する(状況1)。
 一方、シグナル境界情報10が「1」で、アップデートフラグイネイブル情報31が「0」のPDUのビットであれば、アップデートフラグを持たないシグナルに関する情報であると判断する(状況2)。
 また、アップデートフラグビット位置情報32が「1」であるPDUのビットは、いずれかのシグナルのアップデートフラグビットであると認識される。
 なお、いずれのアップデートフラグビットがいずれのシグナルに対応するかを判定する手段については設計事項であり、本明細書では限定しない。例えば、アップデートフラグビットを有するシグナルの並び順と、アップデートフラグビットの並び順をかならず一致させるなどの解決方法が考えられる。
 これらのアップデートフラグイネイブル情報31及びアップデートフラグビット位置情報32はPDUIDを参照してCOM-ACC2-5がRAM2-3もしくはROM2-4から読み出すこととなる。
 本回路においては、PDU内のアップデートフラグビット位置情報32が指し示す位置のデータが「1」であればアップデートされていると判断する。これらのアップデートビット情報を集め、フィルタの結果と論理積を取るため、アップデートフラグビット位置情報32をシグナル境界情報10の位置に反映させたアップデートフラグチェック結果33を生成する(図14)。
 その結果、1)フィルタ演算結果(フィルタ演算結果出力領域18に格納されている値)が「1」かつアップデートビットが設定され(状況1)、該シグナルに対応するアップデートフラグビットが「1」のとき、もしくは2)シグナル境界情報10が「1」で、アップデートフラグイネイブル情報31が「0」のとき(状況2)は更新されたシグナルであると判断する。そしてこれらをOLDデータ12の上書きの対象とし、既述の通り、データ更新用マスク生成回路の前段階で用いられる(比較結果レジスタ21の説明を参照)。
 以上のような構成を取ることで、PDUデータ中に含まれるシグナル単位で処理を繰り返すことなく、PDUデータで一括してフィルタ処理、更新用マスクの作成、及び一時記憶への上書きを行うことが可能となる。
 (PDU生成処理)
 図12はPDU生成処理におけるCOMソフトウェア105とCOM-ACC2-5との処理の分担について説明する概念図である。
 まず、COMソフトウェア105が他のECUに送信するシグナル(1以上)を上位アプリケーションより受け取る。COMソフトウェア105は受け取ったシグナルと生成すべきPDUを示すPDUIDもしくはPDUIDが関連付けされたシグナルIDをCOM-ACC2-5に対して送信する(#8(S2001))。送信後、COMソフトウェア105はCOM-ACC2-5に対して動作トリガを発行し(#9)、COM-ACC2-5の処理を開始する。
 COM-ACC2-5はRAM2-3上のシグナルバッファからPDUIDに対応するOLDデータを読み出す(#10(S2002))。送信用の新たなPDUとして、シグナル挿入抽出回路を用いて、新たに生成されたシグナルが設定されるべき場所に設定する。また、新たに生成されたシグナルのアップデートビットを、アップデートビット生成抽出回路を用いて、送信用の新たなPDUに設定する。送信用の新たなPDUのうち、新たに生成されたシグナルではないシグナルが設定される場所にはRAM2-3から読み出したOLDデータを設定すればよい。
 新たに生成された送信用のPDUに対して、他のECUへの送信タイミングを決定する等のフィルタ処理を図5のフィルタ回路を用いて行った後、シグナル・PDU送信バッファにフィルタ処理後の送信用のPDUを設定してCOMソフトウェア105に送信する(#11(S2007))。COMソフトウェア105は生成した送信用のPDUを他のECUへ送信するために、PDUルータソフトウェア104、CANインターフェースソフトウェア103、CANドライバソフトウェア102、CANIP2-2を経由してCANネットワークに出力する(#12)。
 図13はシグナル挿入抽出回路でのシグナル挿入処理の手順を表す概念図である。
 まず、COM-ACC2-5から受信したシグナルを所定のNビットシフトレジスタへ下位詰めで格納する。その際、該受信したシグナル以外のビットには「0」をセットする。その後、そのNビットシフトレジスタを、該シグナルを挿入する所定のビット数だけ左シフトする(図13(a))。
 次に、図13(a)のシフト後のNビットシフトレジスタに対応して、シグナルデータ部が「0」で他のビットが「1」のマスクデータを作成する(図13(b))。
 その後、該受信したシグナルを挿入するPDUとNビットシフトレジスタを、図13(b)のマスクデータを用いてマージする(図13(c))。
 これによりNビットシフトレジスタに格納された受信したシグナルが挿入されたPDUの作成が完了する(図13(d))。
 以上、PDUからのシグナル抽出処理と送信用のPDUの生成処理とにおいて、共通する回路を用いて処理を行うことが可能となる。
 (第2の実施の形態)
 次に本発明の第2の実施の形態に付いて、図を用いて説明する。本実施の形態は第1の実施の形態の応用に当たる。
 図16は、本発明の第2の実施の形態にかかわるCOM-ACCの構成を表すブロック図である。本図は図15と置き換わる形で用いられる。
 COM-ACC2-5は、動作制御部2-5-1、インターフェース部2-5-2、レジスタ部2-5-3、データ処理部2-5-4で構成され、データ処理部2-5-4は、フィルタ処理部2-5-5、マスク生成部2-5-6、アップデートビットチェック部2-5-7、汎用処理部2-5-8で構成されている。インターフェース部2-5-2は、図3で示した様に、CPU2-1、RAM2-3、ROM2-4へとそれぞれ接続されている。
 動作制御部2-5-1はCOMソフトウェア105からの動作要求に従い、COM-ACC2-5全体の動作を管理する。
 インターフェース部2-5-2はCPU2-1、RAM2-3、ROM2-4との接続のインターフェースを提供する。
 レジスタ部2-5-3はCOM-ACC2-5の動作に必要な設定データおよび、RAM2-3に保存されているPDUデータ、シグナルデータを動作中に使用するために一時保管し、さらにCOM-ACC2-5動作中の加工途中のデータを一時保存するために用いられる。データ処理部2-5-4はデータの加工を行う回路であり、内部にはそれぞれの加工内容に応じた処理ブロックが内在している。
 フィルタ処理部2-5-5はPDUデータを一括してフィルタリング処理するための回路であり、CANで設定される64ビットのPDU中に含まれる全てのシグナルに対するフィルタリング処理を一括して処理する事が可能である。
 マスク生成部2-5-6はフィルタ処理部2-5-5で処理された結果を元に抽出すべきシグナルを選択するためのマスクデータを生成する回路である。マスクデータは64ビットで構成され、PDU内の全てのシグナルに対するマスクデータを生成する。
 アップデートビットチェック部2-5-7は、PDU内の任意の位置に存在するアップデートビットを全て一括でチェックし、結果をフィルタ処理結果と共にマスクデータ処理部2-5-6へと引き渡す。
 汎用処理部2-5-8では、上記各データ処理部以外のデータ加工処理を行う回路であり、データのシフト処理、論理積、論理和の処理を行う。
 各データ処理部でのデータ処理方法については、受信時の動作を用いて以下に説明する。
 (受信処理)
 図17は、本発明の第2の実施の形態にかかわるPDUデータの受信処理に係るフローチャートである。
 CAN通信にて(他の通信プロトコルも同様)CANIP2-2で受信されたCANフレーム4のうち、ヘッダ部に含まれるPDU固有のPDU-IDデータおよびPDUデータはCANドライバソフトウェア104により、CANIP2-2から転送される。CANインターフェースソフトウェア103を経由して、PDUルータソフトウェア104によりCOMソフトウェア105へ転送すべきPDUであると判断されたPDUデータは、IDデータと共にCOMソフトウェア105へ転送される。
 本来AUTOSAR(登録商標)で規定されているCOM層での処理はすべてCOMソフトウェア105にて実行されるが、本発明であるCOM-ACC2-5を搭載したシステムにおいては、COMソフトウェア105およびCOM-ACC2-5が連携してCOM層での処理を実行する。
 COMソフトウェア105がPDUデータおよびPDU-IDを送信することでCOM-ACC2-5は起動される(ステップS201)。COM-ACC2-5では図17に示すフローに従って処理を行う。
 まずCOM-ACC2-5は設定データおよび、OLDデータを取得する(ステップS202)。設定データおよびOLDデータはPDUと共にCOMソフトウェア105より与えられたIDの値を元に、COM-ACC2-5は記憶領域であるROM2-4から設定データを、またRAM2-3よりOLDデータを取得する。
 OLDデータとは、前回受信したPDUデータである。OLDデータは、後述のフィルタリング機能および更新されなかったシグナルの前回受信時のデータを保持する目的で用いられる。
 COM-ACC205におけるPDUの処理は、PDU内に含まれるシグナルの数に寄らず一括で行われる。このため、COM-ACC205はPDU内のシグナルを識別する情報を必要としている。本実施の形態では、新たにシグナル境界情報301を定義する。アップデートビットチェック処理(ステップS203)、インバリッドチェック処理(ステップS204)、フィルタリング処理(ステップS205)、マスク作成処理(ステップS206)のいずれの処理もこのシグナル境界情報301を元に処理を行うことで、PDUを一括して処理する事を可能としている。
 図18は、シグナル境界情報301、及びPDUデータ302のデータ構成を表す概念図である。
 シグナル境界情報301は、PDUデータ302内の各シグナルの最上位ビット(MSB)の位置にHighデータ(1)を設定し、その他のビットを全てLow(0)に設定した8バイト(64ビット)のデータとして定義する。
 各々のシグナルのPDUデータ302内での設定位置はAUTOSAR(登録商標)COMの仕様に従って、シグナル毎にECU内で静的に設定されている。この情報を元にCOM-ACC2-5専用に新たに生成したデータをシグナル境界情報301として使用する。
 COM-ACC2-5で受信時の最初に実行されるアップデートビットのチェック処理(ステップS203)は、PDUデータ302内のどのシグナルとも重複しないビット位置に設定される各シグナルの送信側でのデータ更新情報であり、1がセットされていれば、送信側でデータが更新された事を示し、0であれば、更新されていない事を示す。もし、データが更新されていなければ、COMソフトウェア105より上位層のソフトウェアでは不必要なデータである事から、以降の処理を行わず、データを破棄する処理を行う。
 AUTOSAR(登録商標)によれば、アップデートビットを各シグナルに定義するか否かは任意であり、PDUデータ302内の各シグナルにアップデートビットが定義されているか否かを識別する目的で、新たにアップデートビット許可情報401を定義する。このアップデートビット許可情報401はシグナル境界情報301を元にしている。
 図19は、シグナル境界情報301、アップデートビット許可情報401、アップデートビット位置情報402及びアップデートビットチェック結果情報403のデータ構成を表す概念図である。
 アップデートビット許可情報401は、各シグナルのうちアップデートビットが定義されているシグナルに対応するシグナル境界情報301の中で各シグナルのMSB位置でデータHighが設定されているビットをHighと設定し、アップデートビットが定義されていないシグナルのMSB位置の値をLowに設定したデータである。また、アップデートビットの設定位置は任意であり、設定位置を示す情報として、アップデートビット位置情報402を新たに定義する。アップデートビット位置情報402は、アップデートビットの設定位置のビットをHigh(1)に設定し、他のビットを全てLow(0)データに設定した64ビットで構成されたデータである。
 アップデートビットのチェック処理(ステップS203)は、アップデートビット許可情報401およびアップデートビット位置情報402を用いる。COM-ACC2-5はアップデートビット位置情報402が示すPDUデータ302内のビット状態をチェックする。もしアップデートビット許可情報401の対応するシグナルの情報がHighに設定されていれば、COM-ACC2-5は同一位置にアップデートビットの状態を反映させたアップデートビットチェック結果情報403を生成する。
 このため、アップデートビット許可情報401に設定されているHighデータの数は、アップデートビット位置情報402に設定されているHighと同一である必要がある。
 アップデートビット位置情報402に設定されるHighデータの位置と、アップデートビット許可情報401に設定されているHighデータの位置が同一ではない。このため、一括処理を行う上で、アップデートビット位置情報を元にPDUデータ302のビット状態をチェックしたアップデートビットチェック結果情報403とアップデートビット許可情報401で設定されているシグナル位置とのビット位置の合わせこみを実行する必要がある。元来全ての処理をCOMソフトウェア105で実行する場合であれば、処理はシグナル毎にPDU内に設定されるシグナルの数だけ繰り返し処理をすればよく、アップデートビットチェック結果403とアップデートビット許可情報401のデータ合わせこみを必要としない。
 最終的に、PDUデータ302内のいずれかのシグナルが有効にアップデートされていれば、該当するシグナルのアップデート処理を行う(ステップS207)。この後COM-ACC2-5の処理は終了する(ステップS208)。
 データ位置の合わせこみ処理に関しては、以下の様に複数の実施形態が考えられる。
 (合わせこみ処理1)
 上述の様にアップデートビット位置情報402はPDU内の任意の位置にあり、アップデートビット許可情報401の各シグナルのMSBポジションに設定されているイネイブル情報との関連性を持たない。このため、アップデートビット情報に対応するアップデートビットイネイブル情報がアップデートビットのビット位置より上位側のビット位置に存在するのか、下位側に存在するのかが不明なため、そのままでは位置あわせ処理が困難となる。このため、まずアップデートビット情報だけを抽出する処理が必要となる。
 図20は本発明の第2の実施の形態の(合わせこみ処理1)にかかわるアップデートビットチェック部2-5-7の模式図である。なお、本図は説明のため8ビット幅で構成されているが、実際には64ビットで構成されている。
 図20の様な階段状に構成された2つのシフト回路を用いる。図上では#1と#2で表記されている。#1はPDUデータ501(図18のPDUデータ302を8ビット対応したもの)を右詰にシフトするシフト回路である。また#2はアップデートビット位置情報部(図19のアップデートビット位置情報401を8ビット対応したもの)を右詰にシフトするシフト回路である。
 まず、#2のアップデートビット位置情報402のHighデータが設定されているビットの情報を用いて、PDU内のアップデートビットデータのみを右詰にて抽出する。これに「同期」する形で、#1のPDUデータ部501もPDU内のアップデートビットデータのみを右詰にて抽出する。
 具体的には、#2のアップデートビット位置情報部502はアップデートビット位置のみHighデータがセットされることとなる。このため、上から2段目以下の各ビットは、自ビットより右側の全ビットに既にHighデータがセットされている場合は、アップデートビットが右端までシフトしていると判断し、自ビットの直上のデータを取り込む。そうでない場合には、まだシフト可能であると判断し、自ビットの左上のビットデータを取り込む。
 この動作を64ビット幅であれば、63段繰り返すことにより、全てのアップデートビット位置情報で設定されているHighデータが右詰状態で抽出される。
 しかしながらこれでは、アップデートビット位置情報のみを抽出したに過ぎない。実際のPDU内のアップデートビット情報を抽出した事にはならない。
 このアップデートビット位置情報部502の動作をそのままPDUデータ部501に対して実行する事で、アップデートビット位置情報502で設定されたポジションに対応するPDU内のビットデータのみが右詰にて抽出される。これにより全てのアップデートビット情報は、右詰状態にて抽出される。この右詰状態になったデータを右詰結果510と称する。以下の説明ではビット幅も相違するが、右詰処理後の結果は全て右詰結果510である。
 これにより既述の「同期」が達成できる。
 図27は、この図20の一連の手順を実現する構成を表す回路図である。なお、本回路構成は同一構成の繰り返しとなるので、図20の#1、#2の一点鎖線で囲われた4ビットを対象に回路構成を表している。
 上述する64ビット幅の場合、63段処理を繰り返すことは説明した通りである。1段の処理を行う際には、64ビット分の処理単位が必要となる。
 図27では、4ビット幅3段構成となっているため、12個の処理単位が含まれる。なお、この図では、異なる処理単位であっても「内部構成」については同じ符号を用いる。本図では、内部構成については処理単位Un6に符号が付いているが、他の処理単位も同じ内部構成を採るものとする。
 一つの処理単位Unには、一つのアンドゲートANDと2つのスイッチSW1、SW2が含まれる。
 アンドゲートANDは、1)同一の処理段の1つ下位のビットの処理単位Un1内に存在するアンドゲートANDが出力する値と、2)1つ手前の処理段の同じビットの処理単位Un2内に存在するスイッチSW1の出力との論理積をとる回路である。
 このアンドゲートANDの出力はスイッチSW1の切り替え信号として用いられる。また、同一処理段の1つ上位のビットの処理単位Un3内に存在するアンドゲートANDの入力として用いられる。
 このように構成することで、アンドゲートANDは、同一の処理段の1つ下位のビットの処理単位Un1内に存在するアンドゲートANDが出力する値が「1」で、かつ1つ手前の処理段の同じビットの処理単位Un2内に存在するスイッチSW1の出力が「1」の場合のみ「1」を出力する。
 なお、各処理段の最も下位のビットの1)は固定値として「1」が入力される。
 スイッチSW1はアンドゲートANDの出力により2つの入力端子の内の一方を出力する選択スイッチである。このスイッチSW1の入力の一方は1)固定値「1」である。他方の入力は、2)1つ前段の処理の1つ上位のビットの処理単位Un4内のスイッチSW1の出力、である。
 アンドゲートANDの出力が「1」の時は、スイッチSW1は1)固定値「1」を出力する。また、アンドゲートANDの出力が「0」の時は、2)処理単位Un4内のスイッチSW1の出力をスイッチSW1の出力とする。
 この出力はスイッチSW2の切り替え信号として用いられる。また、一つ後段の処理段の同じビットの処理単位Un5のアンドゲートANDの入力の1つとして、及び一つ後段の処理段の一つ下位のビットの処理単位Un6のスイッチSW1の入力の一つとして用いられる。
 スイッチSW2は、一つ前段の処理段の同じビットの処理単位Un2のスイッチSW2の出力と、一つ前段の処理段の一つ上位のビットの処理単位Un4のスイッチSW2の出力とのいずれを選択するかを決定するスイッチである。スイッチSW2の切り替え信号としてスイッチSW1の出力を用いる。
 スイッチSW1の出力が「0」のとき、一つ前段の処理段の一つ上位のビットの処理単位Un4のスイッチSW2の出力を、処理単位UnのスイッチSW2の出力とする。またスイッチSW1の出力が「1」のとき、一つ前段の処理段の同じビットの処理単位Un2のスイッチSW2の出力を、処理単位UnのスイッチSW2の出力とする。このスイッチSW2の出力は、一つ前段の処理段の同じビットの処理単位Un5のスイッチSW2及び一つ下位のビットの処理単位Un6のスイッチSW2の双方に入力される。
 このような回路構成とすることで、上記のような処理が可能となる。
 次に、右詰したアップデートビットデータをアップデートビット許可情報401が設定されているビット位置へセットする必要がある。図28は、右詰したアップデートビット情報をアップデートビット許可情報503でデータHighに設定されているビット位置に、対応するアップデートビット情報を当てはめる場合の概念図である。なお、この図も便宜上16ビットで表現しているが、もっと長いビット幅としても問題は無い。
 図28の左最上段は、図20及び図27で説明した「右詰」を行った結果(右詰結果510)である。また左最下段は、アップデートビットチェック結果504である。右はアップデートビット結果許可情報503を表す。
 ここでは、アップデートビット許可情報503を使い、上述の右詰したアップデートビット情報をアップデートビット許可情報503でデータHighに設定されているビット位置に、対応するアップデートビット情報を当てはめる。
 図28では、図20とは逆向きの階段状の回路を用いる。各段の各ビットは自ビットの最上段にあるアップデートビット許可情報503のビットがHighに設定され、かつ自ビット上段のデータ列のうち自ビットの位置が最も右端の有効ビットであれば、上段のデータを取得し、そうでなければ右上の段のデータをセットする。
 右詰した結果を左にシフトさせていき、結果の右端のデータ位置が許可情報の右から一番目の位置に重なったときに位置を固定し、残りのデータをさらにシフトさせていく。以下同様にそれぞれの許可情報位置で固定し、左端までシフトさせる。
 この図28のシフト回路も15段重ねる事で、16ビットデータであるPDUデータ内のアップデートビット情報を同様に16ビットで構成されるアップデートビット許可情報503の位置に合わせる事が可能となる。64ビットの場合には、63段の処理を重ねることも図20と同様である。図29は、図28の回路動作を詳細に説明したものである。
 図29の#1は、検索対象の右端を特定する右端検知回路の動作を表す図である。また#2は、アップデートビット比較結果シフト回路の動作を表す図である。
 これらの右端検知回路とアップデートビット比較結果シフト回路は同期して動作する。右端検知回路の初期値は16進数表記の「0001」であり、アップデートビット比較結果シフト回路の初期値は右詰結果510である。ここでは16進数表記の「0015」を初期値とする。また許可情報504の初期値は16進数表記の「8432」である。
 まず右端検知回路について説明する。
 右端検知回路で「1」が立っているビットの内最も左のビットと対応する許可情報504の対応するビットの値が「1」であるか確認する。図29A段では、16進数表記「0001」について対応を確認する。
 対応する許可情報504が「0」であれば、右端検知回路の値を1ビット上位のビットを1加算し、1段処理を進める。従って、後述するP1、P3の箇所を除けば、1段処理する毎に1ビットだけシフトする。
 一方、「1」である場合には、さらに1段上位のビットも「1」であるかを確認する。図29#1では、B段P1及びD段P3がこの処理に当たる。P1では、許可情報504の対応するビットのみが「1」であったため2ビット分シフトしている。これに対し、P3では、アップデートビット許可情報503が2ビット連続で「1」となっているため、計3ビットシフトする。
 アップデートビット比較結果シフト回路は上述の通り、右端検知回路と同期して動作する。
 右端検知回路で、許可情報504の所定のビットが「0」であれば、アップデートビット比較結果シフト回路にセットされた値に関わらず、現在セットされている値を1ビット上位側にシフトし、アップデートビット比較結果シフト回路の対応するビットに「0」をセットする。一方、許可情報504の所定のビットが「1」であれば、対応するビットの値はそのままに、判定の対象を1ビット上位の物とする。
 具体的には、許可情報504の所定のビットが「1」のときの動作例としては、図29#2のB段がこれに当たる。右端検知回路でP1のあるB段では、アップデートビット比較結果シフト回路のP2が対応する処理となる。アップデートビット比較結果シフト回路の下位2ビット目が「1」であるため、この2ビット目の値に初期値の最下位ビットの値である「1」がそのまま残される。そして、3ビット目の「0」が以降の判定の対象となる。
 また、P3のあるD段では、アップデートビット比較結果シフト回路の操作の対象となるビットが2ビット分シフトすることとなる。
 次に、この処理を行うための回路構成について説明する。
 図30は、図29で述べた右端検出回路の構成を表すブロック図である。
 この回路も、上述の通り各ビットをサポートする多段処理の構成を採っている。64ビットの処理の場合には63段、16ビット処理する場合には15段の処理が必要となる。この回路の1段の処理には、取り扱うビット数分の処理単位UBRを用いて行う。
 図31は処理単位UBRの内部構成を表す回路図である。この処理単位UBR内には2つのアンドゲートAND1、AND2とスイッチ回路SW3を含んで構成される。この回路をマトリクス上に並べることで、右端検出回路は構成される。
 図32は、図29で述べたアップデートビット比較結果シフト回路の構成を表すブロック図である。この回路も右端検出回路同様、処理単位UBSをマトリクス上に並べることで構成される。
 図33は、処理単位UBSの内部構成を表す回路図である。この処理単位UBS内には2つのアンドゲートAND3、AND4と、2つのスイッチ回路SW4、SW5を含んで構成される。
 以上のような処理により、生成されたアップデートビットチェック結果504は図17のステップS204とS205の処理完了後、マスクデータ作成処理であるステップS206において使用される。
 (合わせこみ処理2)
 (合わせこみ処理1)では、64ビット幅のPDUデータおよびアップデートビット位置情報502、アップデートビット許可情報503全体を用いて右詰回路および位置合わせ回路を構成していたため、回路の段数が63段と、大きな回路規模を必要としていた。これに対し、合わせこみ処理2では、8ビット単位に分割し、図36で表す8ビットの右詰め回路901が、それぞれに右詰結果510bを導出する。8回の処理を行うことで、同様に64ビット幅のデータを扱う構成としている。
 8回に分けて右詰したアップデートビットデータを8ビット内に含まれるアップデートビットの数をカウントし、カウント数だけ左にずらしながら重ね合わせる事で、全アップデートビットを右詰にしたデータを作成する。
 今度はアップデートビット許可情報503を8分割したそれぞれの8ビットデータ内にあるアップデートビット許可ビットの数、すなわち8ビットの右詰め回路901動作後のデータの実行長を後述する図36で表す6ビットカウンタ902がカウントする。そして、この6ビットカウンタに記録された必要ビット数だけ、前述の右詰したアップデートビットデータから切り出し、実施例1と同様にアップデートビットのデータをアップデートビット許可情報503の位置に合わせる。
 64ビット幅のPDUデータを8ビット単位で処理する場合、上記の処理を8回繰り返すこととなる。図34は、(合わせこみ処理2)で行う64ビット幅の動作に付いての概念図である。
 この図での「テンポラリバッファ」903は8ビット単位に分割して処理したデータを格納する一次記憶メモリである。全てのビットがデータとして有効な場合、64ビット記録する必要がある。したがってテンポラリバッファは64ビット記憶可能なように構成されている。
 8ビット単位での右詰め処理を1度行うと、8ビットの右詰結果510bが得られる。また、6ビットカウンタ内には、実データ長が格納されている。
 テンポラリバッファは、処理の基準となるビット(バッファ処理基準ビット)から8ビット分、右詰結果510bに格納されているデータをそのまま書き込む。書き込み後は、バッファ処理基準ビットを6ビットカウンタ内のデータ長分上位にビットシフトさせることで、次の処理に備える。
 これを8回繰り返すことで、合わせこみ処理1と同じ64ビットの右詰結果510が得られる。
 逆に、アップデートビット許可情報503を使いアップデートビットの位置あわせを行うことも可能である。図35は6ビット幅8段加算器を用いたアップデートビットの位置あわせを行う概念図である。
 6ビット幅8段加算器904は6ビットの加算器を8個有する加算回路である。この6ビット幅8段加算器は負の値を取ることができる。6ビット幅8段加算器の初期値は「-1」である。
 まず、書き込み回路905は、アップデートビット許可情報503を8ビット単位で分割する。そして、6ビット幅8段加算器の格段の加算器は1段下位の加算器の出力にアップデートビット許可情報の対応するビットの値を足すことで、許可情報のビット位置を確認する。
 すなわち、アップデートビット許可情報の所定のビットが「1」であれば、6ビット幅8段加算器の該当する加算器の出力が前段の加算器の出力と相違する。
 書き込み回路905は、この相違箇所の数だけテンポラリバッファからデータを抽出し、該当する変化点ビットに対応したアップデートビットチェック結果のビットをテンポラリバッファの対応するビットの値に、他を「0」にする。
 この後、テンポラリバッファバッファ処理基準ビットを検出した変化点の数だけ上位側にシフトさせることで、8ビット分の処理が終了する。
 図36は、上記の図34および図35の処理の流れをまとめたブロック構成図である。
 以上のように構成することで、合わせこみ処理1同様の結果を小さな回路規模で実現することが可能となる。
 (合わせこみ処理3)
 実施例1、2では、多段にシフト回路を重ね合わせる事で一括してPDU内の全シグナルに対するアップデートビットチェックを実施していた。
 これに対し、合わせこみ処理3では、64to6ビットエンコーダ602および605の2つ、ビットチェック回路603、ビットセット回路607を使い、PDU内に存在するアップデートビットの状態をチェックする事を可能としている。
 図21は本実施の形態の(合わせこみ処理3)にかかわるアップデートビットチェック部2-5-7の模式図である。
 まず、64to6ビットエンコーダ602、605はアップデートビット位置情報601およびアップデートビット許可情報605それぞれをエンコードする。このとき両ビットエンコーダはプライオリティー機能付きのエンコーダを利用する。このため、エンコードされた結果はアップデートビット位置情報601およびアップデートビット許可情報605それぞれの、Highにセットされたビットのうち、最も下位ビット側にセットされたビット位置を6ビット(0から64を表示)でエンコードする。
 次にビットチェック回路603は、アップデートビット位置情報601をエンコードした結果を用いて、PDUデータ604のエンコード結果が指し示すビット位置のデータをチェックする。
 ビットチェック回路603は、このチェック結果はビットセット回路607に伝える。ビットセット回路607は、アップデートビット許可情報605をエンコードした結果が示すビット位置に値をセットする。この結果がビットセット結果608となり、アップデートビットが許可されたシグナルに対するアップデートビットの状態がPDU内のそれぞれのシグナルのMSBの位置にセットされる。
 同時にアップデートビット位置情報601およびアップデートビット許可情報605それぞれのエンコードされたビットはクリアされ、次に下位にあるセットされたビット位置のエンコードに備える。
 (以降の処理)
 アップデートビットチェック処理完了後、インバリッドチェック処理であるステップS204が実行される。
 インバリッドチェック204とはAUTOSAR(登録商標)で規定されているフィルタリング機能の一つであり、送信側で何らかの異常が発生し(センサ異常など)有効な値のシグナルを送信できなくなった場合に用いられる。
 ステップ204ではあらかじめ送受信ECU間双方で同一に定められたインバリッド値を用い、送信側で有効な値を送信できないシグナルの値をこのインバリッド値に置き換えて送信し、受信側では受信したシグナルの値が自己の持つインバリッド値と同一か否かを判定する。異なるインバリッド値である場合、設定に応じて初期値に置き換える処理を行うものである。
 COM-ACC2-5では、値の比較にフィルタ処理部2-5-5の回路を併用しており、インバリッドチェック204の処理については、データフィルタリング205の処理についての記述の後に述べる。
 データフィルタリング205はAUTOSAR(登録商標)に規定されているフィルタリングアルゴリズムである、F_Always、F_Never、F_MaskedNewWqualsX、F_MaskedNewDiffersX、F_MaskedNewDiffersMaskedOld、F_NewisWithin、F_NewIsOutside、F_OneEveryNの8種のフィルタリング処理の事である。これらのフィルタアルゴリズムはOSEK/VDX Communicationで規定される。
 F_Alwaysは、一切のフィルタリング処理を行わないアルゴリズムである。
 F_Neverは、全てのメッセージを排除するアルゴリズムである。
 F_MaskedNewWqualsXは、マスクされたが特定の値と等しければメッセージを通過させるアルゴリズムである。
 F_MaskedNewDiffersXは、マスクされた値が特定の値と異なればメッセージを通過させるアルゴリズムである。
 F_MaskedNewDiffersMaskedOldは、マスクされた値に変化が無い場合に通過させるアルゴリズムである。
 F_NewisWithinは、事前に設定された境界値(MAX、MIN)の範囲内にマスクされた値が含まれる場合にメッセージを通過させるアルゴリズムである。
 F_NewIsOutsideは、事前に設定された境界値(MAX、MIN)の範囲外にマスクされた値が含まれる場合にメッセージを通過させるアルゴリズムである。
 F_OneEveryNは、所定数N回発生する毎にメッセージを通過させるアルゴリズムである。
 各シグナルに設定されているアルゴリズムに応じてフィルタリングチェックを実施する。本実施案である、COM-ACC2-5では、F_OneEveryNについては、COMソフトウェア105にて処理を実行している。
 図22はフィルタ処理部2-5-5の構成を示すブロック図である。
 本実施の形態では、フィルタ処理部2-5-5は2ビット比較器が64回路接続された不一致検出回路1 701と同様に2ビット比較器が64回路接続された不一致検出回路2 702および、2ビット減算器が64回路接続された減算回路1 703、同様に2ビット減算器が64回路接続された減算回路2 704、それぞれの比較結果からフィルタリング結果を選別するためのフィルタアルゴリズム選択器705で構成されている。
 それぞれの回路の結果は境界切断回路706を挟んで上位ビットへ接続される。演算結果はそれぞれフィルタアルゴリズム選択器705へ接続される。
 これら演算回路への入力データとして、全て64ビットで構成された、シグナル境界情報301、MAX/Maskデータ、MIN/Xデータ、PDUデータ(Newデータ)、Oldデータ、フィルタアルゴリズム選択データ(64×3)を新たに定義する。
 フィルタアルゴリズムの設定は、固定であり、MAX値とMaskデータは同一のアルゴリズムで使用しない。このため、同一の64ビットのデータにどちらか使用する方のデータをセットし、データ領域を共有している。同様に、MIN値とXデータもデータ領域を共有している。
 図22の様に、不一致検出回路1 701にはビットマスク処理をされたPDUデータ(Newデータ)とデータXが入力され、データ比較がビット毎に実施される。値が不一致の場合もしくは、下位ビットからの結果信号pre_eq0[x]が1の場合、上位ビットに1が伝えられる。また、その結果はアルゴリズム選択回路705へ伝えられる。上位ビットへの結果の転送はシグナル境界情報[x]により境界切断回路706で、PDU内の別のシグナルが存在するビットへ伝わらないように制御している。以下同様に、不一致検出回路2 702には、ビットマスク処理をされたPDUデータ(Newデータ)とOldデータが入力され、減算回路1 703には、PDUデータ(Newデータ)とMAXデータが入力される。また、減算回路2 704には、PDUデータ(Newデータ)とMINデータが入力され、それぞれ演算される。
 図23はフィルタアルゴリズム選択器705の構成を示すブロック図である。
 アルゴリズム選択器705では、各々の演算結果が入力され、各ビットのアルゴリズム選択信号により図23で表すアルゴリズム選択回路705-1の様に選択されたアルゴリズムにより、各演算回路の結果を選択している。
 アルゴリズム選択器705が出力結果とシグナル境界情報301との間で論理積を取る事により、PDUデータ内の各シグナルのMSBの位置にのみフィルタ結果が反映される。この回路により、PDU内の全シグナルについて、一括してフィルタ処理を行うことができ、PDU内のシグナルの数に依存せず、一括しての処理が可能となる。
 前述のステップS204に関しては、フィルタ処理部2-5-5のうち、不一致検出回路1 701のみを使用してインバリッドチェックを行っている。インバリッドチェック時にはNewデータおよび、インバリッド値が入力値として回路に与えられる。比較結果とシグナル境界情報301との論理積を演算する事により、各シグナルのMSB位置に結果が反映されたインバリッドチェック結果を求める事が可能となる。
 図24は、マスク生成回路および生成方法を示した図である。また、図25は、各設定データ及び入力データの流れを表す図である。
 アップデートビット演算結果およびデータフィルタリングの結果より、更新するシグナルのみを抽出するマスクデータを生成する。図24の様に、シグナル境界情報801とデータフィルタリングの結果とアップデートビットチェック結果(共に64ビット幅)の論理積を取ったデータ802を入力とし、フィルタリング条件に合致し、かつアップデートビットがセットされているシグナルのビット位置にのみHighデータがセットされるマスクデータを生成する。
 図24より、シグナル境界情報にhighがセットされている場合、データフィルタリングの結果とアップデートビットチェック結果の論理積のデータが選択される。データの更新条件に合致している場合、Highデータが選択される。次に、シグナル境界情報にLowがセットされている場合、上位ビット側のデータが選択される。このため、シグナルのMSB以外のビット位置については、MSBの状態を引き継ぐ。このため、該当シグナルが更新条件に合致していれば、シグナルの全ビット位置にHighがセットされることになる。逆に、更新条件に合致していなければ、全てLowがセットされる。状態の引継ぎは次のシグナル境界情報にHighがセットされているビット位置まで継続され、次のシグナル境界位置からは、次のシグナルの状態を新たに引き継ぐ。
 これにより、シグナル境界情報を801、フィルタ演算結果&アップデートビットチェック結果802を入力とした場合、マスクデータ803が生成される。
 生成されたマスクデータのHighがセットされているビット部分のみ、前回受信時のPDUデータ(Oldデータ)上にNewデータをマージする事で、更新されたシグナルのデータのみが更新される。
 この一連の処理により、PDU内に属するシグナルの数に依存する事なく、全シグナルに対し一括して、アップデートビットチェック処理に関するステップS203、インバリッドチェック処理に関するステップS204、フィルタリング処理に関するステップS205、マスクデータ生成処理に関するステップ206、シグナルアップデート処理に関するステップS207を行う手段を提供する。
 図26はマスクデータ生成時のデータフローおよびデータ構成を示す図である。
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。
 本発明は、AUTOSAR(登録商標)のCOMソフトウェア並びに該COMソフトウェアを有するECUの負荷軽減を目的とする。
 1・・・送信側ECU、2・・・受信側ECU
 2-1・・・CPU、2-2・・・CANIP、2-3・・・RAM、
 2-4・・・ROM、2-5・・・COM-ACC、
 2-6・・・シグナルバッファ、
 3・・・CANバス、4・・・CANフレーム、
 6・・・PDU、10・・・シグナル境界情報、11・・・元データ格納部、
 12・・・OLDデータ、13・・・X/MAXデータ、
 14・・・Mask/Minデータ、15・・・フィルタアルゴリズム選択データ、
 16・・・フィルタリング処理を行う比較器、
 17・・・フィルタアルゴリズム選択回路、
 18・・・フィルタリング処理結果を格納するフィルタ演算結果出力領域、
 19・・・書き込みマスク生成器、
 21・・・データとして比較結果レジスタ、22・・・書き込み用マスク、
 23・・・書き込み用反転マスク、24・・・シグナルバッファ入力値、
 102・・・CANドライバソフトウェア、
 103・・・CANインターフェースソフトウェア、
 104・・・PDUルータソフトウェア、
 105・・・COMソフトウェア、106・・・RTEソフトウェア、
 2-5-1・・・動作制御部、2-5-2・・・インターフェース部、
 2-5-3・・・レジスタ部、2-5-4・・・データ処理部、
 2-5-5・・・フィルタ処理部、2-5-6・・・マスク生成部、
 2-5-7・・・アップデートビットチェック部、
 2-5-8・・・汎用データ処理部、
 301・・・シグナル境界情報、302・・・PDUデータ構成、
 401・・・アップデートビット許可情報、
 402・・・アップデートビット位置情報、
 403・・・アップデートビットチェック結果、
 501・・・アップデートビットチェック時PDUデータ処理部、
 502・・・アップデートビットチェック時アップデートビット位置情報処理部、
 503・・・アップデートビットチェック時アップデートビット許可情報、
 504・・・アップデートビットチェック結果、
 601・・・アップデートビット位置情報、
 602・・・64to6ビットエンコーダ、
 603・・・ビットチェック回路、
 604・・・ビットエンコーダ使用時PDUデータ、
 605・・・ビットエンコーダ使用時アップデートビット許可情報、
 606・・・64to6ビットエンコーダ、
 607・・・ビットセット回路、608・・・ビットセット結果、
 701・・・不一致検出回路1、702・・・不一致検出回路2、
 703・・・減算回路1、
 704・・・減算回路2、705・・・フィルタアルゴリズム選択回路、
 705-1・・・フィルタアルゴリズム選択回路詳細、
 706・・・境界切断回路、
 801・・・マスク生成時シグナル境界情報、
 802・・・フィルタ演算結果&アップデートビットチェック結果、
 803・・・マスクデータ、
 902・・・6ビットカウンタ、
 903・・・テンポラリバッファ、
 904・・・6ビット幅8段加算器、
 905・・・書き込み回路。

Claims (10)

  1.  1又は2以上のシグナルを有するプロトコルデータユニットを含むデータフレームを受信する第1のハードウェアと、前記第1のハードウェアを接続し前記データフレームの伝達に用いられる仮想機能バスと、を有する自動車用制御システムであって、
     前記第1のハードウェアは、前記仮想機能バス経由で受信した前記データフレームからプロトコルデータユニット及び前記プロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットIDを抽出するプロトコルスタックを実行し、
     前記プロトコルスタックは、前記1又は2以上のシグナルの更新の有無をプロトコルデータユニットへの一度の処理で実行することを特徴とする自動車用制御システム。
  2.  CPUと、仮想機能バスインターフェースと、アクセラレータと、を有し、前記仮想機能バスインターフェースを介してプロトコルデータユニットを含むデータフレームを受信する電子制御ユニットであって、
     前記CPUは受信した前記データフレームから前記プロトコルデータユニット及び前記プロトコルデータユニットのデータフォーマットを識別するプロトコルデータユニットIDを抽出するプロトコルスタックを実行し、
     前記プロトコルスタックによるシグナルの更新の有無の判定を行う前記CPUは、前記プロトコルデータユニット及び前記プロトコルデータユニットIDを前記アクセラレータに送信し、前記アクセラレータがシグナルの更新の有無の判定を実行することを特徴とする電子制御ユニット。
  3.  請求項2に記載の電子制御ユニットにおいて、
     前記アクセラレータは、
     前記プロトコルデータユニットに含まれるアップデートビットの判定と、
     前記プロトコルデータユニットの値と前記プロトコルデータユニットに内在する上位モジュールで利用されるデータの最小単位であるシグナル毎に設定されたフィルタ条件に従い判定を実行し前記アップデートビットの判定の結果と、前記プロトコルデータユニットのフィルタ判定の結果から、過去に処理した前記プロトコルデータユニットの値を更新するデータ更新用マスクを作成することを特徴とする電子制御ユニット。
  4.  請求項3に記載の電子制御ユニットにおいて、
     前記アクセラレータは、
     前記データ更新用マスクからデータの更新があったシグナルを抽出し、
     前記プロトコルスタックに前記データの更新があったシグナルを出力することを特徴とする電子制御ユニット。
  5.  請求項3に記載の電子制御ユニットにおいて、
     前記アクセラレータは、
     前記データ更新用マスクからデータの更新があったシグナルを抽出し、
     前記プロトコルスタックに前記データの更新があったシグナルを出力することを特徴とする電子制御ユニット。
  6.  請求項5に記載の電子制御ユニットにおいて、
     前記プロトコルスタックは、受信した前記データの更新があったシグナルを用いて前記プロトコルデータユニットを更新することを特徴とする電子制御ユニット。
  7.  請求項3に記載の電子制御ユニットにおいて、
     前記アクセラレータは、更に所定の回数を記録する回数記録レジスタを有し、
     前記データ更新用マスクによりシグナルを抽出し、
     前記プロトコルスタックに前記シグナルの値が前記回数記録レジスタに記録された回数繰り返されたときに前記シグナルの値を出力することを特徴とする電子制御ユニット。
  8.  請求項3に記載の電子制御ユニットにおいて、
     前記アクセラレータは、更に上限値を記録する上限値レジスタ及び下限値を記録する下限値レジスタを有し、
     前記データ更新用マスクによりシグナルを抽出し、
     前記プロトコルスタックに前記データの更新があったシグナルの値が前記上限値レジスタに記録された値と前記下限値レジスタに記録された値の範囲内にある場合に前記シグナルの値を出力することを特徴とする電子制御ユニット。
  9.  請求項3に記載の電子制御ユニットにおいて、
     前記アクセラレータは、更に上限値を記録する上限値レジスタ及び下限値を記録する下限値レジスタを有し、
     前記データ更新用マスクによりシグナルを抽出し、
     前記プロトコルスタックに前記データの更新があったシグナルの値が前記上限値レジスタに記録された値と前記下限値レジスタに記録された値の範囲外にある場合に前記シグナルの値を出力することを特徴とする電子制御ユニット。
  10.  請求項2に記載の電子制御ユニットにおいて、
     前記アクセラレータは通信経路を介して外部に接続される他の電子制御ユニットへ送信するためのデータフレームの生成において使用されることを特徴とする電子制御ユニット。
PCT/JP2010/059841 2009-06-12 2010-06-10 自動車用制御システム及び電子制御ユニット WO2010143686A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-140890 2009-06-12
JP2009140890A JP2012165033A (ja) 2009-06-12 2009-06-12 自動車用制御システム及び電子制御ユニット

Publications (1)

Publication Number Publication Date
WO2010143686A1 true WO2010143686A1 (ja) 2010-12-16

Family

ID=43308941

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/059841 WO2010143686A1 (ja) 2009-06-12 2010-06-10 自動車用制御システム及び電子制御ユニット

Country Status (2)

Country Link
JP (1) JP2012165033A (ja)
WO (1) WO2010143686A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641406A (zh) * 2021-10-14 2021-11-12 阿里云计算有限公司 一种硬件管理方法和装置
CN114326674A (zh) * 2021-12-29 2022-04-12 深圳市元征科技股份有限公司 Ecu刷写的方法、装置、电子设备及存储介质
US11943140B2 (en) 2021-12-16 2024-03-26 Nio Technology (Anhui) Co., Ltd. Context-based PDU identifier provisioning

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576630A (zh) * 2012-08-06 2014-02-12 漳州鑫美达汽车零部件有限公司 一种基于can总线的车辆电器控制系统及其应用
CN104076716A (zh) * 2014-07-03 2014-10-01 湖北航天技术研究院特种车辆技术中心 一种车辆状态监测与综合显示系统
FR3064866B1 (fr) * 2017-04-04 2020-08-14 Peugeot Citroen Automobiles Sa Dispositif de gestion pour gerer un reseau ethernet/ip via un organe ethernet
WO2022004184A1 (ja) * 2020-07-01 2022-01-06 日立Astemo株式会社 電子制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11163907A (ja) * 1997-11-27 1999-06-18 Yazaki Corp 車両多重伝送装置
JP2006256457A (ja) * 2005-03-16 2006-09-28 Fujitsu Ten Ltd 車載データ管理装置、及び、車両情報供給システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11163907A (ja) * 1997-11-27 1999-06-18 Yazaki Corp 車両多重伝送装置
JP2006256457A (ja) * 2005-03-16 2006-09-28 Fujitsu Ten Ltd 車載データ管理装置、及び、車両情報供給システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OSEK/VDX COMMUNICATION, 20 July 2004 (2004-07-20), pages 12 - 13 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641406A (zh) * 2021-10-14 2021-11-12 阿里云计算有限公司 一种硬件管理方法和装置
US11943140B2 (en) 2021-12-16 2024-03-26 Nio Technology (Anhui) Co., Ltd. Context-based PDU identifier provisioning
CN114326674A (zh) * 2021-12-29 2022-04-12 深圳市元征科技股份有限公司 Ecu刷写的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2012165033A (ja) 2012-08-30

Similar Documents

Publication Publication Date Title
WO2010143686A1 (ja) 自動車用制御システム及び電子制御ユニット
Bogdan et al. Delta flashing of an ECU in the automotive industry
US20240053977A1 (en) Gateway device, in-vehicle network system, and firmware update method
CN110460573A (zh) 一种应用于汽车ecu安全升级管理系统及方法
CN107395565B (zh) 一种定长单字节格式报文协议下串口接收预处理方法
JPH09114664A (ja) データ駆動型情報処理装置
JP2002236583A (ja) 組込み用ソフトウェアモジュール
CN112235302A (zh) 一种适用于多种总线的协议解析方法
CN111198705A (zh) 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备
CN110888603A (zh) 高并发数据写入方法、装置、计算机设备及存储介质
CN110750405B (zh) 一种基于硬件板卡识别的软件兼容性方法
US8423787B2 (en) Apparatus and method of measuring integrity
CN117311817B (zh) 一种协处理器控制方法、装置、设备及存储介质
CN114189569B (zh) 一种数据传输方法、装置及系统
CN112636987B (zh) 一种区块链的跨链网关确定方法、系统及终端设备
Oh et al. Efficient data communication automotive gateway system for CAN-Ethernet networks
EP3588319B1 (en) Memory module
CN115687223A (zh) 用于嵌入式设备串口通信的方法及装置、嵌入式设备、存储介质
US9401809B2 (en) Composite system, method, and storage medium
JP2003280902A (ja) マイコンロジック開発システム及びそのプログラム
KR101575258B1 (ko) 차량 데이터 제어 방법 및 그 장치
WO2023175752A1 (ja) 車載プログラム更新システム、車載プログラム更新方法
CN114691605B (zh) 一种dbc信号起始位格式转换方法及系统
CN109885309B (zh) 生成用于建立协议栈软件的配置文件的方法
CN117176406A (zh) 一种智能合约部署方法、装置、计算设备及存储介质

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: 10786217

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10786217

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP