The present invention relates to a method for the initial programming of a secondary computer. In addition, the present invention relates to a corresponding device, a corresponding computer program, and a corresponding storage medium.
In digital and automation technology, any semiconductor module that contains a processor and peripheral functions is referred to as a microcontroller (pController, pC, MCU). Microcontrollers known in the existing art sometimes have flash electrically erasable programmable read-only memories, or flash EEPROMs. In addition, control devices (electronic control units, or ECUs) are known that have a plurality of microcontrollers configured as master computers and slave computers.
German Patent Application No. DE10,2007/051657A1 provides a communication system and a method for operating a communication system, the communication system having a CAN bus and at least two devices coupled via the CAN bus. Such a device has a CAN control unit, an asynchronous, serial communication interface unit, and a switching means. The CAN control unit is suitable for transmitting, in a first transmission mode, CAN data frames via the CAN bus, using a first physical protocol. The asynchronous, serial communication interface unit is suitable for transmitting ASC data frames via the CAN bus, using a second physical protocol, in a second transmission mode. The switching means is set up to change over between the first transmission mode and the second transmission mode as a function of at least one agreement made between the device and at least one additional device.
The present invention provides an example method for the initial programming of a secondary computer, a corresponding example device, a corresponding example computer program, and a corresponding example storage medium.
In accordance with the present invention, it is recognized that during the booting of a microcontroller in its state as delivered (“virgin device”), the boot loader normally checks a defined address in the flash to find out whether a valid program start address is present. If there is no valid entry, the boot loader receives an asynchronous serial communication (ASC) via CAN or UART in order to receive data via the CAN interface according to the ASC protocol (ASC@CAN). The received data are then programmed to the flash memory.
In addition, the present invention recognizes that in control devices having inadequate performance of one microcontroller, designs are frequently used that have two microcontrollers in a master-slave configuration. In this case, the second pC, configured as slave, can be used as a peripheral expansion, e.g. for inadequate ADC channels, more CAN interfaces, etc. However, the slave can also execute separate programs, and can operate separate connected peripheral modules. The results are then provided to the master, or read out by the master itself. In addition, the slave can be realized as a pluggable board in order to represent different performance classes within a hardware family of control devices, or to offer particular additional features as added value. The two pC are connected via a powerful serial interprocessor interface (SIPI) so that the exchange of data can take place with adequate performance.
A particular feature of this interface is that the master can have write access or read access to every address in the slave as long as no address protection mechanisms are activated. Due to the high transmission speed, the transmit and receive ports are typically set up for the transmission of a low-voltage differential signal (LVDS) in the sense of the standard ANSI/TIA/EIA-644-1995, in order to meet EMC requirements.
According to an example embodiment of the present invention, a new boot mode via the SIP interface is provided. The selection of the boot mode between CAN/UART or SIPI takes place using conventional methods, e.g., with HW configuration spins. During the boot process, the new boot mode is recognized. In order to set up the SIPI function, the pins should be configured to LVDS, and a minimal initialization of the SIPI module (PLL, transmitter, receiver, etc.) should be carried out. The further controlling is later taken over by the master.
An advantage of this solution is the possibility it provides for direct programming of the slave by the master, using the already-connected SIPI interface.
In this way, specific additional hardware, such as a CAN transceiver, for the programming of the slave pC can be done without. As a result, the costs that would arise only for the factory programming of the secondary computer are then not incurred.
Moreover, additional programming points for a needle adapter are no longer necessary. As a result, open spaces on the circuit board can be opened up. The space that thus becomes available can be used to unbundle other circuits. Additional pins for the slave programming at the pC, as used for example in the so-called “ASC@CAN” method via UART, can be done without, because signal conductors that are generally already present are used.
A further advantage results for the production facility, because no special equipment (e.g., a second programming station) is required for the slave programming.
Through the measures described herein, advantageous developments and improvements of the basic present invention are possible.
Exemplary embodiments of the present invention are shown in the figures and are explained in more detail in the following description.
During the boot process of the secondary computer (22), the boot loader checks a defined address of its flash memory (25) for the presence of a valid program start address. If no valid entry is found, the boot loader recognizes the SIPI boot mode via the pre-configuration—e.g., external hardware configuration spins—and waits for the data (24) that are to be programmed. So that a reception of data can take place, the SIPI interface (21) is first configured (process 11—
The further programming (process 12—
According to an alternative specific embodiment, the main computer (23) first loads a program via the SIPI interface (21) into the RAM of the secondary computer (22). This program is executed, and takes over the programming of the flash memory (25). The programming data (24) are communicated from the programming station to the secondary computer (22) via the main computer (23) and the SIPI interface (21).
The specific software implementation is a function of the programming design, and may be varied without departing from the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
102017212252.8 | Jul 2017 | DE | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2018/065294 | 6/11/2018 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/015872 | 1/24/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5781774 | Krick | Jul 1998 | A |
5805882 | Cooper | Sep 1998 | A |
10024921 | Butzmann | Jul 2018 | B2 |
10572242 | Santharam | Feb 2020 | B1 |
20040225418 | Barrenscheen | Nov 2004 | A1 |
20040232449 | Barrenscheen | Nov 2004 | A1 |
20050120343 | Tai et al. | Jun 2005 | A1 |
20051203430 | Horng-Ming | Jun 2005 | |
20050273601 | Buch | Dec 2005 | A1 |
20060277346 | Doak | Dec 2006 | A1 |
20080034151 | Lu et al. | Feb 2008 | A1 |
20080341510 | Chi-Chang | Feb 2008 | |
20120096451 | Tenbarge | Apr 2012 | A1 |
20130346756 | Cook | Dec 2013 | A1 |
20130346814 | Zadigian | Dec 2013 | A1 |
20170213034 | Sarangdhar | Jul 2017 | A1 |
20200210205 | Govindarajan | Jul 2020 | A1 |
Number | Date | Country |
---|---|---|
102007051657 | Apr 2009 | DE |
3043262 | Jul 2016 | EP |
2003123475 | Apr 2003 | JP |
2005122759 | May 2005 | JP |
2008102668 | May 2008 | JP |
2011113240 | Jun 2011 | JP |
2014066854 | Apr 2014 | JP |
2016103114 | Jun 2016 | JP |
Entry |
---|
International Search Report for PCT/EP2018/065294, dated Aug. 21, 2018. |
Dees, et al.: “Introduction to the Zipwire Interface; Inter-Processor Communication with SIPI/LFAST on the MPC57xx and S32Vxxx families”, May 2015, NXP Freescale Semiconductor Application Note, Doc. No. AN5134, XP055795154, pp. 1-38. |
Number | Date | Country | |
---|---|---|---|
20200226092 A1 | Jul 2020 | US |