Vehicle safety electronic control system
10776295 ยท 2020-09-15
Assignee
Inventors
Cpc classification
G06F9/52
PHYSICS
G06F9/4881
PHYSICS
International classification
G06F9/52
PHYSICS
Abstract
A vehicle safety electronic control system (11) including master and slave microcontrollers (12, 13). The master microcontroller (12) is connected to a TDMA network bus, and the slave microcontroller (13) is connected to the master microcontroller (12) via a general purpose input/connection (14). Both microcontrollers (12, 13) are configured to operate schedule table based execution, and each has a respective synchronization counter. The master microcontroller (12) is configured to update its synchronization counter in response to a primary synchronization signal (19) from the network bus (10), and to issue a corresponding secondary synchronisation signal (20) to the slave microcontroller (13) via the general purpose input/output connection (14). The slave microcontroller (13) is configured to update its synchronization counter in response to the secondary synchronization signal (20) from the master microcontroller (12) such that the schedule tables of both microcontrollers (12, 13) are synchronized to the network bus (10).
Claims
1. A vehicle safety electronic control system, comprising: a master microcontroller and a slave microcontroller; the master microcontroller being connected to a TDMA network bus, and the slave microcontroller being connected to the master microcontroller via a general purpose input/output connection; both of the microcontrollers being configured to operate schedule table based execution, and each of the microcontrollers having a respective synchronization counter, wherein the master microcontroller is configured to update a synchronization counter of the master microcontroller in response to receipt of a primary synchronization signal from the network bus, and to issue a corresponding secondary synchronization signal to the slave microcontroller via the general purpose input/output connection, the slave microcontroller being configured to update a synchronization of the slave microcontroller counter in response to receipt of the secondary synchronization signal from the master microcontroller such that the schedule tables of both of the microcontrollers are synchronized to the network bus, wherein the slave microcontroller comprises a plurality of the slave microcontrollers, wherein each of the plurality of slave microcontrollers is connected to the master microcontroller via the respective general purpose input/output connection, and the master microcontroller is configured to issue a respective the secondary synchronization signal to each of the plurality of microcontrollers via the respective general purpose input/output connection.
2. A control system according to claim 1, further comprising, the master microcontroller is configured to issue the secondary synchronization signal in the form of an Interrupt Service Routine.
3. A control system according to claim 1, further comprising wherein the synchronization counters of the microcontrollers have identical resolutions.
4. A control system according to claim 1, further comprising wherein the slave microcontroller is not connected to the network bus directly.
5. A control system according to claim 1, further comprising wherein the microcontrollers are provided within a single integrated electronic control unit.
6. A control system according to claim 1, further comprising wherein the network bus is a FlexRay bus.
7. A control system according to claim 1, further comprising, wherein the microcontroller is configured to run an AUTOSAR-compliant operating system.
8. A control system according to claim 1, wherein each of the microcontrollers comprises a plurality of processing cores.
9. A control system according to claim 1, incorporated into a motor vehicle electronic safety system.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) So that the invention may be more readily understood, and so that further features thereof may be appreciated, embodiments of the invention will now be described by way of example with reference to the accompanying drawings in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION
(6) Turning now to consider
(7) Collectively, and under the control of the control unit 8, the various sensors 3-6 can be used to provide a variety of different types of driver assistance systems such as, for example: blind spot monitoring; adaptive cruise control; collision prevention assist; lane departure protection; and rear collision mitigation. Accordingly, the control unit 8 will be configured to run appropriate software algorithms for each such driver system.
(8)
(9) Both microcontrollers 12, 13 are configured to run an AUTOSAR-compliant operating system, and both are thus configured to operate according to the schedule table processing concept. Each microcontroller 12, 13 has a respective synchronization counter (not shown) associated with its schedule table, with both synchronization counters having an identical resolution.
(10) The first microcontroller 12 is connected directly to a network bus for data communication, such as the FlexRay bus 10 as illustrated schematically in
(11) The first and second microcontrollers 12, 13 are interconnected via a general purpose input/output connection 14 provided between a general purpose input/output (GPIO) pin 15 on the first microcontroller 12 and a corresponding GPIO pin 16 on the second microcontroller 13. As will be noted from
(12) Also illustrated schematically in
(13) The first microcontroller 12 is configured to update its synchronization counter in response to receipt of the primary synchronization signal 19 from the network bus 10.
(14) It is to be noted that the schedule table of each microcontroller 12, 13 will have a period (denoted T.sub.sch) which is equal to a multiple of the period of the primary synchronization signal (T.sub.sync). The schedule table periods are both equal, such that T.sub.sch=K.Math.T.sub.sync. The tick resolutions (denoted T.sub.tick) of the AUTOSAR operating system of each microcontroller 11, 12 are also equal, and smaller than the period of the primary synchronization signal (T.sub.sync). This is denoted schematically in
(15) The synchronization counter of the first microcontroller 12 will thus be updated, upon receipt of the primary synchronization signal 19, in accordance with the expression:
Sync.sub.count=Sync.sub.count+(T.sub.sync/T.sub.tick)
(16) Considered another way, the synchronization counter of the first microcontroller 12 will thus be incremented by the difference in the number of operating system ticks registered between two preceding pulses of the primary synchronization signal 19:
Sync.sub.count=Sync.sub.count+(Tick Count[T.sub.sync]Tick Count[T.sub.sync1]
(17) Where Tick Count [T.sub.sync] denotes the number of operating system ticks which occurred up until receipt of the last pulse of the primary synchronization signal 19, and Tick Count [T.sub.sync1] denotes the number of ticks which occurred up until receipt of the previous pulse of the primary synchronization signal 19.
(18) Because the operating system ticks are very accurate, this principle allows the system to determine the drift between the ECU's schedule and the entire vehicle network, and to make adjustments as necessary.
(19) As well as updating its own synchronization counter in response to receipt of the primary synchronization signal 19 from the network bus 10, the first microcontroller also issues a corresponding secondary synchronization signal (denoted schematically by arrows 20 in
(20) As will therefore be appreciated, the schedule tables of both microcontrollers 12, 13 are synchronized to the network bus 10 each and every time the synchronization counter of the first microcontroller 12 is updated in response to receipt of the primary synchronization signal 19 from the bus 10.
(21) Furthermore, it will be noted that the system is configured such that the synchronization counter of the first microcontroller 12 is updated in direct response to receipt of the primary synchronization signal 19 from the network bus, whilst the synchronization counter of the second microcontroller 13 is updated in response to the secondary synchronization signal 20 issued by the first microcontroller 12. The first microcontroller 12 thus acts as a synchronization master microcontroller, whilst the second microcontroller 13 acts as a synchronization slave microcontroller.
(22) Turning now to consider
(23) In particular, it will be noted that the embodiment illustrated in
(24) The master microcontroller 12 and the second slave microcontroller 13 are interconnected by a second GPIO connection 14 provided between a second general purpose input/output (GPIO) pin 15 on the master microcontroller 12 and a corresponding GPIO pin 16 on the second slave microcontroller 13. The second GPIO connection 14 is identical to the first GPIO connection 14 which is provided between the master microcontroller 12 and the first slave microcontroller 13. Like the first slave microcontroller, the second slave microcontroller 13 is connected only to the master microcontroller 12 and is not connected to the network bus 10 directly. Nevertheless, it is envisaged that the master microcontroller 12 and the second slave microcontroller 13 may also be interconnected via a second inter-processor communication path 17, in addition to the GPIO connection 14, to permit the exchange of data pertaining to operation of the various driver assistance and safety systems. In the same manner as the first GPIO connection 14 provided between the master microcontroller 12 and the first slave microcontroller 13, the second GPIO connection 14 is provided solely for the purpose of permitting synchronization of the second slave microcontroller 13 to the network bus 10.
(25) synchronization of the master microcontroller 12 and the first slave microcontroller 13 to the network bus 10 in the embodiment of
(26) As well as updating its own synchronization counter in response to receipt of the primary synchronization signal 19 from the network bus 10, and issuing a (first) corresponding secondary synchronization signal 20 to the first slave microcontroller 13 via the first GPIO connection 14, the master microcontroller 12 is also configured to issue a corresponding second secondary synchronization signal (denoted schematically by arrows 20 in
(27) It is to be appreciated that whilst the embodiment illustrated in
(28) In all of the embodiments described above, it will be noted that the primary synchronization signal 19 on the network bus 10 will serve to increment the synchronization counter of the master microcontroller 12 and synchronise the schedule table of the (or each) slave microcontroller 13 (13, 13) to the schedule of the network bus 10. The schedule tables of the master microcontroller 12 and the (or each) slave microcontroller 13 (13, 13) are also synchronized relative to one another. Thus, besides the (or each) secondary synchronization signal 20 (20, 20) which will be synchronous to the start of the bus cycle, all inter-processor communication (e.g. via the inter-processor communication paths 17, 17 or on a given peripheral bus) will have a constant delay relative to the (or each) secondary synchronization signal 20 (20, 20), and will jitter with any jitter on the network bus 10.
(29) The proposals presented herein for the synchronization of multiple microcontrollers 12, 13, 13 based on an external synchronization pulse 19 from a network bus 10 offer significant advantages over prior proposals. In particular, the present invention provides a very simple hardware connection between microcontrollers which has been found to suit various different types/family of microcontrollers, and can easily be extended to be applied to a large number of individual slave microcontrollers 13, 13 under the control of a single master microcontroller 12.
(30) Additionally, the proposal of the present invention provides a synchronization regime which is independent of software applications being run on the microcontrollers 12, 13, 13, by addressing Operating System schedule tables rather than individual tasks. This permits: cross-microcontroller static scheduling, relative offset and expansion of the schedule table across multiple microcontrollers; the development of software applications independently of the hardware layout of an electronic control unit; removal of internal schedule jitter between the synchronized bus and software application tasks by consistent synchronization of the entire task schedule to the network bus; consistent states of synchrony throughout an electronic control unit on all microcontrollers and processing cores therein; and synchronous advance or retardation of the task schedule.
(31) When used in this specification and claims, the terms includes and includes and variations thereof mean that the specified features, steps or integers are included. The terms are not to be interpreted to exclude the presence of other features, steps or integers.
(32) The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for obtaining the disclosed results, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof.
(33) While the invention has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments of the invention set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the invention.
(34) While the above description constitutes the preferred embodiment of the present invention, it will be appreciated that the invention is susceptible to modification, variation and change without departing from the proper scope and fair meaning of the accompanying claims.