EP3935505A1 - Nahtlose audioübergabe in einem mehrprozessor-audiosystem - Google Patents

Nahtlose audioübergabe in einem mehrprozessor-audiosystem

Info

Publication number
EP3935505A1
EP3935505A1 EP20710850.7A EP20710850A EP3935505A1 EP 3935505 A1 EP3935505 A1 EP 3935505A1 EP 20710850 A EP20710850 A EP 20710850A EP 3935505 A1 EP3935505 A1 EP 3935505A1
Authority
EP
European Patent Office
Prior art keywords
audio output
computing node
memory area
audio
computing
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
EP20710850.7A
Other languages
English (en)
French (fr)
Inventor
Gerhard Dochow
Thomas Göhring
Meinrad Niemöller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aumovio Germany GmbH
Original Assignee
Continental Automotive Technologies GmbH
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 Continental Automotive Technologies GmbH filed Critical Continental Automotive Technologies GmbH
Publication of EP3935505A1 publication Critical patent/EP3935505A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/04Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/01Input selection or mixing for amplifiers or loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/13Acoustic transducers and sound field adaptation in vehicles

Definitions

  • the invention relates to a computing unit for an audio system for a vehicle, a vehicle with such a computing unit, a method for seamless transfer of an audio output, a computer program element and a computer-readable storage medium.
  • Audio systems and / or warning systems can be installed in vehicles. These can be used for entertainment and / or information for the user or the driver. Warning tones can also be heard via the vehicle's audio system
  • Audio output can be mixed and output to the user through speakers.
  • the second computing node can also take over the calculation of the audio output of the first computing node, but this can result in a disruptive jump in the output of the audio signal if a transfer takes place between the two computing nodes.
  • Compute node These computing nodes can be spatially distributed or they can be located as separate computing nodes on a silicon chip or exist purely virtually in a system controlled by a hypervisor.
  • a first starts Computing nodes (early) open very quickly in order to provide the basic functions, such as CAN bus and sound outputs. Due to the higher complexity, the second computing node (multimedia), with, for example, multimedia tasks, needs more time to start up.
  • a very simple audio management is implemented on the first computing node. Only when the second computing node is started is the complete audio management for all sources
  • Multimedia e.g. Radio, streaming, CD or MP3, possible.
  • Audio output is not possible.
  • a first aspect relates to a computing unit for an audio system of a vehicle.
  • the computing unit has a first computing node, a second computing node and a program memory.
  • the program memory is set up to be written to by the first computing node and by the second computing node.
  • the processing unit is set up so that after the start of the
  • the first computing node calculates an audio output segment by segment and writes, stores or stores the segments one after the other in the program memory or temporarily stores them in it. Furthermore, the first computing node calculates an audio output segment by segment and writes, stores or stores the segments one after the other in the program memory or temporarily stores them in it. Furthermore, the first computing node calculates an audio output segment by segment and writes, stores or stores the segments one after the other in the program memory or temporarily stores them in it. Furthermore, the
  • Computing unit set up to transfer the calculation of the
  • the second computing node Carry out audio output from the first computing node to the second computing node when the program memory is written by the first computing node with audio data up to a predefined point, so that an entire audio segment is available for the audio output and when the second Computing node is ready for operation.
  • the second computing node is set up to calculate the audio output after the transfer and to write it into the program memory segment by segment or to store it temporarily in it.
  • first and the second computing node can quickly read and write to a jointly addressable program memory (shared memory).
  • This program memory can be a direct memory access (DMA) memory, which is read out cyclically and segment by segment by the audio output system and converted into the audio output signal by the latter.
  • DMA direct memory access
  • the first compute node calculates the segments for the from
  • Audio output system performed audio output and once the second
  • Computing node is ready for operation or started and has reached a state for the handover, the calculation of the audio output segments can be transferred to the second computing node. The calculation of the audio output can then be paused on the first computing node. Furthermore, the exact playback position of the audio file, which forms the basis for the audio output, can also be stored in shared memory. The handover of the
  • the audio output from the first computing node is calculated on the second computing node when the program memory is up to one
  • predefined point was described with the audio output by the first computation node.
  • the program memory is preferably completely written with the audio output for an entire audio segment by the first computing node.
  • Audio output by an audio output system works smoothly during the handover and there is no interruption in the output of the audio signal.
  • the size of the audio data stored in the program memory e.g. an entire audio segment
  • the output mechanism e.g. the DMA transmission mechanism
  • the output can be based on the
  • the first computing node is a fast starting computing node for the computation of a basic audio output, such as warning tones, e.g. from an open
  • the second computing node is a computing node for calculating a complete audio output, including for a multimedia system, for example
  • the full audio output can include the basic audio output.
  • An audio signal is referred to here as audio output, which is then output by an audio output system.
  • This audio output can be cached in the program memory so that this
  • Program memory can serve as a buffer.
  • the audio output can be calculated directly, for example on the basis of a sinusoidal signal, or the audio output can be generated from a predefined audio file.
  • Memory are stored and the computing node plays the appropriate audio file depending on the situation.
  • the audio file can be an analog or digital signal, but is advantageously a digital signal that is already on a Memory is stored, wherein both computing nodes can access the memory with the audio file.
  • the computing unit can be a control unit, a processor or a circuit. Furthermore, the computing unit can have a memory unit for storing data. Furthermore, the two computing nodes can be arranged in a common computing unit, or else both
  • Computing nodes can be arranged in a distributed manner. Furthermore, a computing node can be formed by a computing core of a processor.
  • the second computing node can take into account a variety of audio signals from different audio sources, e.g. Multimedia system or a
  • the audio output can receive various modifications in the processing of the audio source, e.g. by taking into account the speed of the vehicle, the source signal level, the
  • Amplifier temperature the source (s) selected by the user and sources mixed with them from the audio source, e.g. navigation announcements or the noise level in the vehicle interior, e.g. with hands-free kits.
  • a plurality of audio sources can be taken into account when calculating the audio output, e.g. a radio, a
  • Web radio a CD player, an AUX connection, a Bluetooth interface, a navigation system or a hands-free system.
  • the processing unit also has an audio output system (DMA controller).
  • the audio output system is set up to cyclically read the audio output segments stored in the program memory and to output them continuously.
  • Audio output segments which are stored cyclically in the program memory, are output acoustically by the audio output system, so that a user can perceive this audio output acoustically.
  • the audio output system also has a loudspeaker. This speaker is set up to work in the
  • the program memory has a first memory area and a second memory area.
  • Computing unit or the first or second computing node is set up to first write the first memory area with the audio output cyclically and segment by segment and when the first memory area has been written up to the predefined point, to switch to the second memory area.
  • the first memory area for a complete audio segment is written to by the audio output calculated by the first computing node, in order to then switch to the second memory area and add it completely to the next segment of the coming audio output
  • the audio output system is set up for the first
  • the audio output system can output the audio output stored in the first and second memory area alternately, so that a buffered and uninterrupted output of the audio output takes place.
  • the arithmetic unit is set up when the in the first memory area
  • Memory area and the second memory area can be written alternately with the audio output. This creates a ping-pong memory that is alternately written to and read out and then switched to the other memory area. In other words, during the output of the audio output stored in the first memory area the second memory area can be written with the incoming audio output and vice versa.
  • the memory areas are advantageously of the same size and are from the first or second computing node to one
  • the shared memory for audio data can also be organized as a ring memory, which allows the processing unit to cyclically write to several audio segments one after the other and allows the audio output system to read several audio segments that have already been written.
  • the first computing node calculates the audio output and stores it in one of the two memory areas, e.g. part of an audio file. This calculated audio output can alternate in a fixed size, e.g.
  • the control of the audio output system for the program memory typically allows these two addresses A and B and the number N of memory words (equal to the audio samples of the audio output) of the memory area to be transferred and the DMA to be set
  • the DMA controller can alternately load addresses A or B if the number N of data has been transferred from a memory area to the conversion for the audio output signal. Furthermore, the address of the DMA interrupt service routine, which is due to a
  • Interruption signal from the DMA controller to the computing unit when the number N of transferred memory words from a computing node is reached is jumped to, in the interrupt vector table of this computing node
  • the first computing node Before the very first audio output starts, the first computing node writes the first two audio segments from address A and address B into the program memory. Data transmission to the audio sink, which is controlled in the audio cycle, now begins at address A in that the first computing node starts the DMA transmission mechanism.
  • the DMA controller then reads the main memory from address A automatically and without the involvement of the computing nodes and transfers the audio output to the periphery at the rate of the audio sink, where the audio output is then serialized or converted to analogue and to other components outside the processing unit (also SoC (System on Chip)) (typically an amplifier with
  • the internal read address of the DMA controller can be incremented as soon as an audio sample has been output to the audio sink in the audio output cycle, so that the next sample of the audio output from the DMA's program memory
  • Controller is read and transferred to the periphery.
  • Subsequent address B When the number of data to be transmitted has been reached, read address B is loaded by the DMA controller for data transmission and the DMA controller generates an interrupt signal that the
  • Program execution of the first computation node is interrupted and for the
  • Memory area are read.
  • the DMA controller then continues with the transmission of the audio output from address A.
  • Subsequent address A At that moment, the DMA controller again signals an interrupt signal to the first computing node, which is the normal one Program execution is interrupted and the overwriting of the memory area just output from address B is permitted by the interrupt service routine, while at the same time the last audio output calculated by the first computing node is output from address A by the DMA controller to the periphery.
  • Audio output can take place unhindered and without interference without the assistance of a computing node, while any program or status changes are possible on the computing node. It would even be possible to completely reinitialize the computing node if the size of the memory area is sufficiently dimensioned.
  • the computing unit is set up to transfer the calculation of the audio output from the first computing node to the second computing node when the first memory area or the second memory area is described by the first computing node up to the predefined point and when the second computing node is operational.
  • Memory area or the second memory area is described up to the predefined point, preferably the first memory area or the second memory area is fully written. If the first or the second memory area has been written to up to the predefined point, the
  • Audio output can be output by the audio output system and in the meantime the second computing node can calculate the coming audio output and again write it into that memory area which is currently not being used for outputting the audio output. The transfer can thus take place during the output without the output of the audio output being interrupted.
  • the program memory has a third memory area. The first computing node is set up to do this after each writing to the first memory area or the second
  • Storage area up to the predefined point to store the exact playback position of an audio file accessible by both computing nodes in the third storage area, so that seamless transfer of the audio output is possible.
  • the second computing node By storing the exact playback position of the audio file accessible by both computing nodes, a seamless transfer of the calculation can be achieved.
  • the second computing node thus knows at which point it should start calculating the audio output, and an interruption or a jump in the output of the audio output is prevented.
  • the first arithmetic unit is set up, after writing to the first memory area or the second memory area, up to the predefined point
  • Trigger an interrupt signal which signals that the first memory area or the second memory area has been written up to the predefined point.
  • the second computing node is set up to take over the audio output in response to this interrupt signal, in that the second computing node reads the exact playback position from the third memory area, calculates the upcoming audio output and stores this audio output in the first memory area or in the second memory area, as the case may be which is currently not used for the output of the audio output.
  • the interrupt signal can be used to signal to the second computing node when the computation can be transferred.
  • the second computing node can interrupt the calculation
  • the second computing node can then output audio to the Save program memory so that the audio output can continue seamlessly.
  • the first memory area and the second memory area each have a size which corresponds to an output time of the audio output t.
  • the output time of the audio output t is longer than the time required for the handover.
  • This audio output time t can be 10 ms or 100 ms long, for example.
  • the first or the second memory area is dimensioned such that it can store, for example, 10 ms or 100 ms audio output.
  • the audio output t can also be dynamic, so that with a
  • the size of the first and second memory areas is increased so that there is more time for the handover.
  • Another aspect of the invention relates to a method for seamlessly transferring a calculation of an audio output.
  • the procedure consists of the following steps:
  • Computing node to a second computing node when the program memory is written by the first computing node up to a predefined point and when the second computing node is ready for operation;
  • a further aspect of the invention relates to a vehicle with a processing unit for an audio system described above and below.
  • the vehicle is, for example, a motor vehicle, such as a car, bus or truck, or else a rail vehicle, a ship or an airplane or a helicopter.
  • Another aspect of the invention relates to a program element which, when it is executed on a processing unit of an audio system, instructs the processing unit, the method described above and below
  • Another aspect of the invention relates to a computer-readable storage medium on which a program element is stored, which when it is on a
  • Computing unit of an audio system is executed, instructing the computing unit to carry out the method described above and below.
  • FIG. 1 shows a block diagram of a computing unit according to an embodiment of the invention.
  • FIG. 2 shows a vehicle with a computing unit according to an embodiment of the invention.
  • FIG. 3 shows a flow chart for a method for audio output according to an embodiment of the invention.
  • FIG. 4 shows a flowchart for a method for audio output according to an embodiment of the invention.
  • FIG. 5 shows a further flow diagram for a method for audio output according to an embodiment of the invention.
  • the computing unit 1 shows a block diagram of a computing unit 1 of an audio system.
  • the computing unit 1 has a first computing node 10, a second computing node 20 and a jointly writable program memory 30.
  • Program memory 30 in turn has a first memory area 31, a second memory area 32 and a third memory area 33.
  • This program memory 30 can be written to and read by both computing nodes 10, 20 and thus serves as a common program memory 30 (shared memory).
  • the first and second memory areas 31, 32 also serve to store the audio output that is to be output by an audio output system 40.
  • the first memory area 31 and the second memory area 32 are advantageously of the same size and are dimensioned such that they correspond to an output time of the audio output t, the output time of the audio output t being longer than the time required for the transfer.
  • the audio output t can be, for example, 10 ms or 100 ms.
  • first and the second memory area can also be dynamic, so that the memory area can be enlarged in the event of an impending transfer, since the transfer must also take place in addition to the calculation of the upcoming audio output.
  • the exact playback position of an audio file accessible by both computing nodes 10, 20 can be stored in the third memory area 33, so that the second computing node 20 provides seamless audio output after the transfer
  • the first computing node 10 has a controller 1 1, a basic audio manager 12 and an audio processor 13 for the
  • the second computing node 20 also has a controller 21, a complete audio manager 22 and an audio processor 23.
  • the first computing node 10 is a quickly starting computing node with a reduced operating system, so that basic audio signals, such as warning tones, can be calculated.
  • This calculated basic audio output is written by the audio processor 13 for the basic audio output in the first and the second memory area 31, 32 of the program memory 30, respectively.
  • These two memory areas 31, 32 can be written alternately with the audio output, so that the first memory area 31 is written while the audio output system 40 handles the audio output from the second
  • Memory area 32 reads and outputs, and that the second memory area 32 is written to when the audio output system 40 outputs the audio output from the first memory area 31. This creates a ping-pong memory that is written to and read out alternately.
  • the first or the second memory area 31, 32 is written to up to a predetermined point, preferably completely. After each writing to the first or second memory area 31, 32, the first computing node 10 generates an interrupt signal which signals to the second computing node 20 that a handover can take place. It should be noted that this
  • the interruption signal only leads to a transfer of the calculation when the second computing node 20 is ready for operation and initiates the transfer within a predefined time span in response to the interruption signal. Furthermore, after each writing of the first or the second memory area 31, 32, the first computing node writes the current playback position of an audio file accessible by both computing nodes 10, 20 in the third memory area 33. Thus, the second computing node 20 can be in the correct position when the transfer has taken place continue with the calculation of the upcoming audio output. It should be noted that the first and the second computing node can compute the audio output, e.g. based on a sinusoidal signal, or the
  • Computing node can determine the appropriate audio file and playback position from a predefined number of audio files and store them in the common
  • the audio output is calculated by the second computing node 20, which also has other audio functions such as multimedia applications and
  • FIG. 2 shows a vehicle 2 with a processing unit 1 for an audio system, described above and below.
  • Warning tones an audio input signal from an audio source such as a radio, a reference signal and / or a white signal can be output via the audio system.
  • the warning tones must sound immediately after the vehicle has started, so that a system that starts quickly (computing node including operating system) is required to calculate the audio output for this. This is ensured by the first computing node of the computing unit 1, which is a computing node that starts quickly for the basic audio output.
  • the second should
  • Computing nodes take over the calculation of the audio output, as it has more computing power and can therefore calculate a more complex audio output (including several audio sources and warning signals). However, this takes longer to start and so it may not be available for calculating the audio output at the beginning of the journey. It follows from this that a handover must take place between the first computing node and the second computing node if the second computing node is to calculate the complete audio output. This transfer of the calculation from the first computing node to the second computing node should take place in such a way that the audio output is outputted seamlessly. In other words, it should not be audible to the driver of vehicle 2 when the calculation of the audio output is transferred.
  • FIG. 3 shows a flow diagram for a method for seamless transfer of an audio output.
  • a is calculated
  • Audio output by a first computing node This calculated audio output is written into a program memory by the first computing node in step S2.
  • the program memory can have two memory areas, which are alternately written to by the first computing node up to a predefined point.
  • steps S1 and S2 can be carried out several times in succession, in particular until a second computing node is ready for operation.
  • step S3 the calculation of the audio output is transferred from the first computing node to the second computing node when the second computing node is ready for operation.
  • the handover takes place here when the program memory has been written to up to the predefined point, preferably when the program memory, the first memory area or the second memory area has been completely written.
  • the first computing node can output an interrupt signal when the program memory, the first memory area or the second memory area up to
  • the audio output is calculated by the second computing node
  • Memory area can be written to and read from both computing nodes. Because the entire calculation of the audio output is transferred when the program memory has been written to up to a predefined point (preferably completely), seamless output of the
  • Audio output can be ensured despite the transfer of the bill.
  • FIG. 4 shows a further flow diagram for a method for seamless transfer of an audio output.
  • the first computing node is initialized in step S10. This starts its operating system so that a
  • step S20 starts with the initialization of the second computing node.
  • the first compute node is
  • step S1 1 the first computing node calculates the
  • the first computing node can calculate the audio signals directly or use predefined audio files, with the first computing node determining the exact playback position of these predefined audio files. This then starts the transmission of the audio output by the audio output system (the direct memory controller), which first reads the audio data from the address area from address A and outputs it to the audio peripherals.
  • the second computing node is initialized in intermediate step S21. This initialization usually takes significantly longer than the execution of the first subsequent steps S12, S13, S14, S15 and S16 of the first computing node. After the second computing node has been initialized in step S21
  • Memory address TRANSFER is written with an agreed value 'REQUEST ". This memory address must be initialized with another value beforehand.
  • the direct memory controller When the direct memory controller has output its data from the first memory area from address A and has signaled this to the first computing node, for example with an interrupt signal, the first computing node continues with step S12 and reloads the memory area from address A, i.e. calculates the corresponding audio output and stores the audio data from address A.
  • the direct memory controller continues to read the audio data from address B and output it to the audio peripherals.
  • the first computing node asks in step S13 whether an audio transfer has been requested from the second computing node and for this purpose checks the value of the memory address TRANSFER to see whether it contains the value "REQUEST". If this is not the case, the next audio segment is calculated in step S14 and the signal from the direct memory controller is waited for that the data has been completely read from the memory area from address B by the DMA controller. Then the newly calculated audio segment is written into the program memory from address B.
  • step S14 the direct memory controller continues to read the audio data from address A and output it to the audio peripherals.
  • step S14 the first computing node asks again in step S15 whether an audio transfer has been requested from the second computing node and for this purpose again checks the value of SEND whether this contains the value 'REQUEST ". If this is not the case, the system waits again for the direct memory controller to signal that the data has been completely read from the memory area from address A by the DMA controller and output to the audio peripherals proceeded to step S12.
  • Step S16 This cycle is repeated until in steps S13 or S15, immediately after the signaling by the audio output system, the first computing node determines that the DELIVERY address contains the value "REQUEST" and thus the second computing node has requested the audio transfer from the first computing node and both possible process flows in Step S16
  • the calculated audio output can thus be written to the first and the second memory area alternately.
  • the audio output system reads the audio output stored in the first memory area and outputs it. As soon as the audio output has been output from the first memory area, the audio output system switches to the second
  • step S16 the first computing node copies the audio management status (which audio sources are currently active), which address area A or B was last written with audio data and the exact playback position (s) into a third memory area and signals this to the second computing node, for example an interrupt signal and via the jointly writable and readable memory address TRANSFER with the value "NOW", which the second node queries after step S21. Based on this, the second computing node now calculates the audio output in step S17 and writes it to the first or second memory area from address A or B, whichever is not currently used for the output of the
  • Audio output is used.
  • the acoustic output is used.
  • the acoustic output is used.
  • the acoustic output is used.
  • Interrupt requests of the audio output are diverted to the second computing node, so that future interruptions by the audio output unit (the direct memory access controller) after a complete output of a
  • Audio segments from read address A or B lead to a reloading of audio data by the second computing node.
  • FIG. 5 shows a further flow diagram for a method for seamless transfer of an audio output.
  • Two different computing nodes first and second computing nodes
  • the transfer of the calculation of the audio output takes place from the first computing node to the second computing node.
  • HANDOVER "REQUEST”
  • TRANSFER "NOW”
  • S1 1 initialization (e.g. reading the audio file from the file system); Load DMA buffers A and B, output buffer A

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Telephone Function (AREA)

Abstract

Die Erfindung betrifft eine Recheneinheit (1) für ein Audiosystem eines Fahrzeugs (2). Die Recheneinheit (1) weist einen ersten Rechenknoten (10), einen zweiten Rechenknoten (20) und einen Programmspeicher (30) auf, wobei der Programmspeicher (30) dazu eingerichtet ist, von dem ersten Rechenknoten (10) und von dem zweiten Rechenknoten (20) beschrieben zu werden. Die Recheneinheit (1) ist dazu eingerichtet, dass nach dem Start der Recheneinheit (1) der erste Rechenknoten (10) eine Audioausgabe berechnet und in den Programmspeicher (30) schreibt. Ferner ist die Recheneinheit (1) dazu eingerichtet, eine Übergabe der Berechnung der Audioausgabe von dem ersten Rechenknoten (10) auf den zweiten Rechenknoten (20) dann durchzuführen, wenn der Programmspeicher (30) durch den ersten Rechenknoten (10) bis zu einem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten (20) betriebsbereit ist. Der zweite Rechenknoten (20) ist dazu eingerichtet, die Audioausgabe nach der Übergabe zu berechnen und in den Programmspeicher (30) zu schreiben.

Description

Beschreibung
- Nahtlose Audioübergabe in einem Mehrprozessor-Audiosystem -
Die Erfindung betrifft eine Recheneinheit für ein Audiosystem für ein Fahrzeug, ein Fahrzeug mit einer solchen Recheneinheit, ein Verfahren zur nahtlosen Übergabe einer Audioausgabe, ein Computerprogrammelement und ein computerlesbares Speichermedium.
In Fahrzeugen können Audiosysteme und/oder Warnsysteme verbaut sein. Diese können der Unterhaltung und/oder der Information des Benutzers bzw. des Fahrers dienen. Ferner können Warntöne über das Audiosystem des Fahrzeugs
ausgegeben werden bzw. es können Warntöne in das Ausgabesignal des
Audiosystems eingespeist werden. Da die Multimediasysteme in den Fahrzeugen jedoch zunehmen komplexer werden, verlängert sich auch zunehmend die Zeit bis diese Systeme vollumfänglich zur Verfügung stehen. Um diesen Umstand zu beheben, können zwei verschiedene Rechenknoten eingesetzt werden, wobei einer der Rechenknoten schnell startet und für die grundlegende Audioausgabe, wie z.B. Warntöne, verantwortlich ist. Diese Warntörne sollten möglichst gleich nach dem Einsteigen bzw. dem Start des Fahrzeugs verfügbar sein. Der zweite Rechenknoten kann für die Multimediaaudioausgabe verantwortlich sein. Hierbei kann eine etwas längere Zeit zum Starten vertretbar sein, z.B. 30 Sekunden. Die Audiosignale dieser beiden Rechenknoten können anschließend durch einen Mixer zu einer
Audioausgabe gemischt werden und über Lautsprecher an den Benutzer ausgegeben werden. Alternativ kann der zweite Rechenknoten, sobald dieser betriebsbereit ist, die Berechnung der Audioausgabe des ersten Rechenknotens mitübernehmen, jedoch kann hierbei ein störender Sprung in der Ausgabe des Audiosignals entstehen, wenn eine Übergabe zwischen den beiden Rechenknoten stattfindet.
Moderne Infotainment-Systeme bestehen typischerweise aus mehreren
Rechenknoten. Diese Rechenknoten können räumlich verteilt sein oder sich als separate Rechenknoten auf einem Siliziumchip befinden oder rein virtuell in einem von einem Hypervisor kontrollierten System existieren. Dabei startet ein erster Rechenknoten (Early) sehr schnell auf, um die Basisfunktionen, wie z.B. CAN-Bus und Soundausgaben, zur Verfügung zu stellen. Aufgrund der höheren Komplexität braucht der zweite Rechenknoten (Multimedia), mit z.B. Multimedia Aufgaben, mehr Zeit für den Aufstart. Um gewisse Audiofunktionen wie das Abspielen von Tönen (Parc Distance Control, offene Türe, nicht geschlossenes Gurtschloss oder Chimes) sehr schnell zur Verfügung zu haben, wird ein sehr einfaches Audiomanagement (AM) auf dem ersten Rechenknoten realisiert. Erst mit dem Aufstart des zweiten Rechenknotens wird das vollständige Audiomanagement für alle Quellen
(Multimedia), z.B. Radio, Streaming, CD oder MP3, möglich.
Während der Übergabe von dem ersten Rechenknoten auf den zweiten
Rechenknoten ist keine Audioausgabe möglich.
Es ist eine Aufgabe der Erfindung, die Audioausgabe in einem Fahrzeug zu verbessern.
Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Ausführungsformen und Weiterbildungen sind den abhängigen Ansprüchen, der Beschreibung und den Figuren zu entnehmen.
Ein erster Aspekt betrifft eine Recheneinheit für ein Audiosystem eines Fahrzeugs. Die Recheneinheit weist einen ersten Rechenknoten, einen zweiten Rechenknoten und einen Programmspeicher auf. Der Programmspeicher ist dazu eingerichtet, von dem ersten Rechenknoten und von dem zweiten Rechenknoten beschrieben zu werden. Die Recheneinheit ist dazu eingerichtet, dass nach dem Start der
Recheneinheit der erste Rechenknoten eine Audioausgabe segmentweise berechnet und die Segmente nacheinander in den Programmspeicher schreibt, ablegt oder speichert bzw. in diesem zwischenspeichert. Ferner ist die
Recheneinheit dazu eingerichtet, eine Übergabe der Berechnung der
Audioausgabe von dem ersten Rechenknoten auf den zweiten Rechenknoten dann durchzuführen, wenn der Programmspeicher durch den ersten Rechenknoten mit Audiodaten bis zu einem vordefinierten Punkt beschrieben ist, sodass ein ganzes Audiosegment für die Audioausgabe zur Verfügung steht und wenn der zweite Rechenknoten betriebsbereit ist. Der zweite Rechenknoten ist dazu eingerichtet, die Audioausgabe nach der Übergabe zu berechnen und ebenfalls segmentweise in den Programmspeicher zu schreiben bzw. in diesem zwischenzuspeichern.
Somit kann die Audioausgabe während der Übergabe von dem ersten
Rechenknoten an den zweiten Rechenknoten ohne Qualitätsverlust und
ununterbrochen aufrechterhalten werden.
Es sei angemerkt, dass der erste und der zweite Rechenknoten schnell auf einen gemeinsam adressierbaren Programmspeicher (shared memory) lesen und schreiben kann. Dieser Programmspeicher kann ein Direkt Memory Access (DMA) Speicher sein, der zyklisch und segmentweise vom Audioausgabesystem ausgelesen wird und von diesem in das Audioausgabesignal gewandelt wird.
Zunächst berechnet der erste Rechenknoten die Segmente für die vom
Audioausgabesystem ausgeführte Audioausgabe und sobald der zweite
Rechenknoten betriebsbereit bzw. aufgestartet ist und einen Zustand für die Übergabe erreicht hat, kann die Berechnung der Audioausgabesegmente an den zweiten Rechenknoten übergeben werden. Anschließend kann die Berechnung der Audioausgabe auf dem ersten Rechenknoten pausiert werden. Ferner kann die exakte Abspielposition der Audiodatei, welche die Grundlage für die Audioausgabe bildet, ebenfalls im shared memory gespeichert werden. Die Übergabe der
Berechnung der Audioausgabe von dem ersten Rechenknoten auf den zweiten Rechenknoten erfolgt dann, wenn der Programmspeicher bis zu einem
vordefinierten Punkt mit der Audioausgabe durch den ersten Rechenknoten beschrieben wurde. Vorzugsweise wird der Programmspeicher komplett mit der Audioausgabe für ein ganzes Audiosegment durch den ersten Rechenknoten beschrieben. Durch das Beschreiben des Programmspeichers bis zu einem vordefinierten Punkt kann sichergestellt werden, dass das Ausgeben der
Audioausgabe durch ein Audioausgabesystem während der Übergabe reibungslos funktioniert und keine Unterbrechung der Ausgabe des Audiosignals auftritt. Dabei muss die Größe der im Programmspeicher abgelegten Audiodaten (z.B. einem ganzen Audiosegment) derart groß gewählt sein, dass die Ausgabezeit für diese Audiodaten durch den Ausgabe-Mechanismus (z.B. den DMA-Übertragungs-Mechanismus) größer ist als die Zeit für die Übergabe des Audiostatus und der Audioausgabenberechnung von dem ersten Rechenknoten an den zweiten Rechenknoten. Die Ausgabe kann auf Basis der in dem
Programmspeicher gespeicherten Audioausgabe erfolgen.
Somit kann sichergestellt werden, dass keine Unterbrechung der Ausgabe der Audioausgabe, also des gespeicherten zur Ausgabe bestimmten Audiosignals, während der Übergabe zwischen den Rechenknoten auftritt. Dadurch kann die Qualität der Ausgabe der Audioausgabe verbessert werden und störende
Unterbrechungen können vermieden werden.
Gemäß einer Ausführungsform der Erfindung ist der erste Rechenknoten ein schnell startender Rechenknoten für die Berechnung von einer grundlegenden Audioausgabe, wie beispielsweise Warntöne, z.B. von einem geöffneten
Gurtschloss, einer offenen Tür oder von der Parkabstandskontrolle. Der zweite Rechenknoten ist ein Rechenknoten für die Berechnung einer vollständigen Audioausgabe, beispielsweise für ein Multimediasystem inklusive
Navigationsansagen, CD, MP3, Streaming und/oder Radio. Es sei angemerkt, dass die vollständige Audioausgabe die grundlegende Audioausgabe umfassen kann.
Als Audioausgabe wird hierbei ein Audiosignal bezeichnet, welches anschließend durch ein Audioausgabesystem ausgegeben wird. Diese Audioausgabe kann in dem Programmspeicher zwischengespeichert werden, sodass dieser
Programmspeicher als Puffer dienen kann. Die Audioausgabe kann hierbei direkt berechnet werden, beispielsweise auf Basis eines Sinussignals oder aber die Audioausgabe kann aus einer vordefinierten Audiodatei erzeugt werden.
Beispielsweise können verschiedene vordefinierte Audiodateien auf einem
Speicher abgelegt werden und der Rechenknoten spielt situationsbedingt die passende Audiodatei ab.
Es sei angemerkt, dass die Audiodatei ein analoges oder digitales Signal sein kann, jedoch vorteilhafterweise ein digitales Signal ist, welches bereits auf einem Speicher gespeichert ist, wobei beide Rechenknoten auf den Speicher mit der Audiodatei zugreifen können.
Es sei ferner angemerkt, dass die Recheneinheit eine Steuereinheit, ein Prozessor oder ein Schaltkreis sein kann. Ferner kann die Recheneinheit eine Speichereinheit zum Speichern von Daten aufweisen. Ferner können die beiden Rechenknoten in einer gemeinsamen Recheneinheit angeordnet sein, oder aber die beiden
Rechenknoten können verteilt angeordnet sein. Ferner kann ein Rechenknoten durch einen Rechenkern eines Prozessors gebildet werden.
Der zweite Rechenknoten kann eine Vielzahl von Audiosignalen von verschiedenen Audioquellen berücksichtigen, wie ein z.B. Multimediasystem oder ein
Infotainmentsystem. Ferner kann die Audioausgabe in der Verarbeitung der Audioquelle vielfältige Modifikationen erhalten, z.B. durch Berücksichtigung der Geschwindigkeit des Fahrzeugs, des Quellensignalpegels, der
Verstärkertemperatur, der vom Benutzer ausgewählten Quelle(n) und von der Audioquelle dazu gemischter Quellen, beispielsweise Navigationsdurchsagen oder des Geräuschpegels im Fahrzeuginnenraum, z.B. bei Freisprecheinrichtungen.
Gemäß einer Ausführungsform können eine Vielzahl von Audioquelle bei der Berechnung der Audioausgabe berücksichtigt werden, z.B. ein Radio, ein
Webradio, ein CD-Spieler, ein AUX-Anschluss, eine Bluetooth-Schnittstelle, ein Navigationssystem oder eine Freisprecheinrichtung.
Gemäß einer Ausführungsform der Erfindung weist die Recheneinheit ferner ein Audioausgabesystem auf (DMA Controller). Das Audioausgabesystem ist dazu eingerichtet, die in den Programmspeicher gespeicherten Audioausgabesegmente zyklisch zu lesen und kontinuierlich auszugeben.
Somit kann die vom ersten oder zweiten Rechenknoten berechneten
Audioausgabesegmente, welche in dem Programmspeicher zyklisch abgelegt werden, durch das Audioausgabesystem akustisch ausgegeben werden, sodass ein Benutzer diese Audioausgabe akustisch wahrnehmen kann. Gemäß einer Ausführungsform weist das Audioausgabesystem ferner einen Lautsprecher auf. Dieser Lautsprecher ist dazu eingerichtet, die in dem
Programmspeicher gespeicherte und durch das Audioausgabesystem
ausgegebene Audioausgabe in ein akustisches Signal zu wandeln.
Gemäß einer weiteren Ausführungsform der Erfindung weist der Programmspeicher einen ersten Speicherbereich und einen zweiten Speicherbereich auf. Die
Recheneinheit bzw. der erste oder zweite Rechenknoten ist dazu eingerichtet, zunächst den ersten Speicherbereich mit der Audioausgabe zyklisch und segmentweise zu beschreiben und wenn der erste Speicherbereich bis zu dem vordefinierten Punkt beschrieben ist, auf den zweiten Speicherbereich zu wechseln. Vorteilhafterweise wird der erste Speicherbereich für ein komplettes Audiosegment durch die von dem ersten Rechenknoten berechneten Audioausgabe beschrieben, um anschließend auf den zweiten Speicherbereich zu wechseln und diesen komplett mit dem nächsten Segment der kommenden Audioausgabe zu
beschreiben. Das Audioausgabesystem ist dazu eingerichtet, die im ersten
Speicherbereich gespeicherte Audioausgabe auszugeben und wenn diese ausgegeben wurde, auf die in dem zweiten Speicherbereich gespeicherte
Audioausgabe zu wechseln.
Mit anderen Worten kann das Audioausgabesystem die in dem ersten und zweiten Speicherbereich gespeicherte Audioausgabe abwechselnd ausgeben, sodass eine gepufferte und unterbrechungsfreie Ausgabe der Audioausgabe erfolgt. Die Recheneinheit ist dazu eingerichtet, wenn die im ersten Speicherbereich
gespeicherte Audioausgabe ausgeben wurde und wenn der zweite Speicherbereich bis zu einem vordefinierten Punkt beschrieben ist, wieder den ersten
Speicherbereich mit der Audioausgabe zu beschreiben, sodass der erste
Speicherbereich und der zweite Speicherbereich jeweils abwechselnd mit der Audioausgabe beschrieben werden. Somit entsteht ein Ping-Pong-Speicher, welcher abwechselnd beschrieben und ausgelesen wird und anschließend auf den jeweils anderen Speicherbereich gewechselt wird. Mit anderen Worten kann während der Ausgabe der im ersten Speicherbereich gespeicherten Audioausgabe der zweite Speicherbereich mit der kommenden Audioausgabe beschrieben werden und umgekehrt. Die Speicherbereiche sind vorteilhafterweise gleich groß und werden von dem ersten bzw. zweiten Rechenknoten bis zu einem
vordefinierten Punkt beschrieben. Alternativ kann der gemeinsame Speicher für Audiodaten auch als Ringspeicher organisiert sein, der es der Recheneinheit erlaubt mehrere Audiosegmente hintereinander zyklisch zu beschreiben und es dem Audioausgabesystem erlaubt mehrere bereits beschriebene Audiosegmente zu lesen.
Nun folgt eine detaillierte Beschreibung des Audioausgabesystems mit Hilfe eines direkt adressierbaren gemeinsamen Programmspeichers (DMA) und deren
Funktionsweise. Der erste Rechenknoten berechnet die Audioausgabe und legt diese in einem der beiden Speicherbereiche ab, z.B. einen Teil einer Audiodatei. Diese berechnete Audioausgabe kann abwechselnd in einer festen Größe, z.B.
N = 8192 Abtastwerte = ein Datenübertragungsblock oder Audiosegment, abwechselnd auf zwei verschiedene Speicherbereiche (Puffer) im Hauptspeicher geschrieben werden. Diese Speicherbereiche können an den Adressen A (erster Speicherbereich) bzw. B (zweiter Speicherbereich) beginnen oder auch unmittelbar an einander grenzen. Nach dem Start der Recheneinheit werden zunächst beide Speicherbereiche mit der durch den ersten Rechenknoten berechneten
Audioausgabe beschrieben.
Die Steuerung des Audioausgabesystems für den Programmspeicher („DMA Controller“) erlaubt typischerweise diese zwei Adressen A und B und die Anzahl N der Speicherwörter (gleich der Audioabtastwerte (Samples) der Audioausgabe) des zu übertragenden Speicherbereichs zu setzen und den DMA
Datenübertragungsvorgang zu starten. Der DMA Controller kann abwechselnd die Adressen A oder B laden, wenn die Anzahl N der Daten aus einem Speicherbereich an die Wandlung für das Audioausgabesignal übertragen wurde. Ferner kann die Adresse der DMA Interruptserviceroutine, die aufgrund eines
Unterbrechungssignals vom DMA Controller an die Recheneinheit bei Erreichen der Anzahl N der übertragenen Speicherwörter von einem Rechenknoten angesprungen wird, in die Interruptvektortabelle dieses Rechenknotens
eingetragen werden.
Startadresse A: Vor dem Start der allerersten Audioausgabe schreibt der erste Rechenknoten die ersten beiden Audiosegmente ab Adresse A und Adresse B in den Programmspeicher. An der Adresse A beginnt nun die Datenübertragung zur im Audiotakt gesteuerten Audiosenke indem der erste Rechenknoten den DMA Übertragungsmechanismus startet. Danach liest der DMA Controller automatisch und ohne Zutun der Rechenknoten kontinuierlich den Hauptspeicher ab Adresse A aus und überträgt die Audioausgabe im Takt der Audiosenke an die Peripherie, wo die Audioausgabe anschließend serialisiert oder analog gewandelt werden und an andere Komponenten außerhalb der Recheneinheit (auch SoC (System on Chip) genannt) ausgegeben werden (typischerweise einem Verstärker mit
nachgeschalteten Lautsprechern). Wenn Adresse A gelesen ist, kann die interne Leseadresse des DMA Controllers inkrementiert werden, sobald die Ausgabe eines Audioabtastwertes im Audioausgabetakt an die Audiosenke erfolgt ist, sodass das nächste Sample der Audioausgabe aus dem Programmspeicher vom DMA
Controller gelesen und an die Peripherie übertragen wird.
Folgeadresse B: Wenn die Anzahl der zu übertragenden Daten erreicht ist, wird die Leseadresse B vom DMA Controller zur Datenübertragung geladen und der DMA Controller erzeugt ein Unterbrechungssignal (Interrupt), der die
Programmausführung des ersten Rechenknotens unterbricht und für die
Ausführung einer Interruptserviceroutine auf dem ersten Rechenknoten sorgt. In dieser Interruptserviceroutine wird der Datenbereich im Hauptspeicher ab Adresse A wieder mit einer neuen Audioausgabe überschrieben. Währenddessen läuft die Ausgabe der Audioausgabe durch den DMA Controller ab Adresse B weiter und die Leseadresse wird weiter inkrementiert bis alle Audioausgabedaten dieses
Speicherbereichs gelesen sind. Der DMA Controller fährt anschließend mit der Übertragung der Audioausgabe ab Adresse A fort.
Folgeadresse A: In dem Moment signalisiert der DMA Controller wieder ein Unterbrechungssignal an den ersten Rechenknoten, der die normale Programmausführung unterbricht und das Überschreiben des gerade ausgegebenen Speicherbereichs ab Adresse B durch die Interruptserviceroutine erlaubt, während gleichzeitig die zuletzt von dem ersten Rechenknoten berechnete Audioausgabe ab Adresse A vom DMA Controller an die Peripherie ausgeben werden.
Somit kann der Effekt der Ausgabe der Audiodaten per DMA derart beschrieben werden, dass für die Abspieldauer der Audioausgabe, die Ausgabe der
Audioausgabe ohne Zutun eines Rechenknoten ungehindert und störungsfrei erfolgen kann, während auf dem Rechenknoten beliebige Programm- oder Zustandsänderungen möglich sind. Es wäre sogar möglich den Rechenknoten komplett neu zu initialisieren, wenn die Größe des Speicherbereichs ausreichend dimensioniert ist.
Gemäß einer Ausführungsform der Erfindung ist die Recheneinheit dazu eingerichtet, die Übergabe der Berechnung der Audioausgabe von dem ersten Rechenknoten auf den zweiten Rechenknoten dann durchzuführen, wenn der erste Speicherbereich oder der zweite Speicherbereich durch den ersten Rechenknoten bis zu dem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten betriebsbereit ist.
Die Übergabe zwischen dem ersten Rechenknoten und dem zweiten
Rechenknoten kann vorteilhafterweise dann erfolgen, wenn der erste
Speicherbereich bzw. der zweite Speicherbereich bis zu dem vordefinierten Punkt beschrieben ist, vorzugsweise wird der erste Speicherbereich bzw. der zweite Speicherbereich voll beschrieben. Ist der erste bzw. der zweite Speicherbereich bis zu dem vordefinierten Punkt beschrieben, kann die dort gespeicherte
Audioausgabe durch das Audioausgabesystem ausgegeben werden und in der Zwischenzeit kann der zweite Rechenknoten die kommende Audioausgabe berechnen und wiederum in denjenigen Speicherbereich schreiben, welcher gerade nicht für die Ausgabe der Audioausgabe verwendet wird. Somit kann die Übergabe während des Ausgabe stattfinden, ohne dass die Ausgabe der Audioausgabe unterbrochen wird. Gemäß einer Ausführungsform der Erfindung weist der Programmspeicher einen dritten Speicherbereich auf. Der erste Rechenknoten ist dazu eingerichtet, nach jedem Beschreiben des ersten Speicherbereichs oder des zweiten
Speicherbereichs bis zu dem vordefinierten Punkt die exakte Abspielposition einer von beiden Rechenknoten zugreifbaren Audiodatei in den dritten Speicherbereich abzulegen, sodass eine nahtlose Übergabe der Audioausgabe möglich ist.
Durch das Ablegen der exakten Abspielposition der von beiden Rechenknoten zugreifbaren Audiodatei, kann eine nahtlose Übergabe der Berechnung erreicht werden. Somit weiß der zweite Rechenknoten, an welchem Punkt er mit der Berechnung der Audioausgabe starten soll und somit wird eine Unterbrechung oder ein Sprung in der Ausgabe der Audioausgabe verhindert.
Gemäß einer weiteren Ausführungsform der Erfindung ist die erste Recheneinheit dazu eingerichtet, nach dem Beschreiben des ersten Speicherbereichs oder des zweiten Speicherbereichs bis zu dem vordefinierten Punkt ein
Unterbrechungssignal (Interrupt) auszulösen, welches signalisiert, dass der erste Speicherbereich oder der zweite Speicherbereich bis zu dem vordefinierten Punkt beschrieben ist. Der zweite Rechenknoten ist dazu eingerichtet, in Reaktion auf dieses Unterbrechungssignal die Audioausgabe zu übernehmen, indem der zweite Rechenknoten die exakte Abspielposition aus dem dritten Speicherbereich liest, die kommende Audioausgabe berechnet und diese Audioausgabe in dem ersten Speicherbereich oder in dem zweiten Speicherbereich speichert, je nachdem welche gerade nicht für die Ausgabe der Audioausgabe verwendet wird.
Durch das Unterbrechungssignal kann dem zweiten Rechenknoten signalisiert werden, wann eine Übergabe der Berechnung stattfinden kann. Nach dem
Unterbrechungssignal kann der zweite Rechenknoten die Berechnung
übernehmen, indem er die exakte Abspielposition aus dem dritten Speicherbereich liest und basierend darauf die kommende Audioausgabe berechnet. Diese
Audioausgabe kann der zweite Rechenknoten anschließend in dem Programmspeicher speichern, sodass die Ausgabe der Audioausgabe nahtlos fortgesetzt werden kann.
Gemäß einer Ausführungsform der Erfindung weisen der erste Speicherbereich und der zweite Speicherbereich jeweils eine Größe auf, welche einer Ausgabezeit der Audioausgabe t entspricht. Die Ausgabezeit der Audioausgabe t ist länger als die für die Übergabe benötigte Zeit.
Diese Zeit der Audioausgabe t kann beispielsweise 10ms oder 100ms lang sein. Mit anderen Worten ist der erste bzw. der zweite Speicherbereich derart dimensioniert, dass dieser beispielsweise 10ms oder 100ms Audioausgabe speichern kann.
Ferner kann die Audioausgabe t auch dynamisch sein, sodass bei einer
bevorstehenden Übergabe die Größe des ersten und des zweiten Speicherbereichs vergrößert wird, sodass mehr Zeit für die Übergabe bleibt.
Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zur nahtlosen Übergabe einer Berechnung einer Audioausgabe. Das Verfahren weist die folgenden Schritte auf:
- Berechnen einer Audioausgabe durch einen ersten Rechenknoten;
- Beschreiben eines Programmspeichers mit der berechneten
Audioausgabe durch den ersten Rechenknoten;
- Übergabe der Berechnung der Audioausgabe von dem ersten
Rechenknoten auf einen zweiten Rechenknoten, wenn der Programmspeicher durch den ersten Rechenknoten bis zu einem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten betriebsbereit ist;
- Berechnen der Audioausgabe durch den zweiten Rechenknoten; und
- Beschreiben des Programmspeichers mit der berechneten Audioausgabe durch die zweite Recheneinheit.
Ein weiterer Aspekt der Erfindung betrifft ein Fahrzeug mit einer vorhergehend und nachfolgend beschriebenen Recheneinheit für ein Audiosystem. Bei dem Fahrzeug handelt es sich beispielsweise um ein Kraftfahrzeug, wie Auto, Bus oder Lastkraftwagen, oder aber auch um ein Schienenfahrzeug, ein Schiff oder um ein Flugzeug oder ein Helikopter.
Ein weiterer Aspekt der Erfindung betrifft ein Programmelement, das, wenn es auf einer Recheneinheit eines Audiosystems ausgeführt wird, die Recheneinheit anleitet, das vorhergehend und nachfolgend beschriebene Verfahren
durchzuführen.
Ein weiterer Aspekt der Erfindung betrifft ein computerlesbares Speichermedium, auf dem ein Programmelement gespeichert ist, das, wenn es auf einer
Recheneinheit eines Audiosystems ausgeführt wird, die Recheneinheit anleitet, das vorhergehend und nachfolgend beschriebene Verfahren durchzuführen.
Weitere Merkmale, Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung der Ausführungsbeispiele und der Figuren.
Die Figuren sind schematisch und nicht maßstabsgetreu. Sind in der nachfolgenden Beschreibung der Figuren gleiche Bezugszeichen angegeben, so bezeichnen diese gleiche oder ähnliche Elemente.
Fig. 1 zeigt ein Blockdiagramm einer Recheneinheit gemäß einer Ausführungsform der Erfindung.
Fig. 2 zeigt ein Fahrzeug mit einer Recheneinheit gemäß einer Ausführungsform der Erfindung.
Fig. 3 zeigt ein Flussdiagramm für ein Verfahren zur Audioausgabe gemäß einer Ausführungsform der Erfindung.
Fig. 4 zeigt ein Ablaufdiagramm für ein Verfahren zur Audioausgabe gemäß einer Ausführungsform der Erfindung. Fig. 5 zeigt ein weiteres Ablaufdiagramm für ein Verfahren zur Audioausgabe gemäß einer Ausführungsform der Erfindung.
Fig. 1 zeigt ein Blockdiagramm einer Recheneinheit 1 eines Audiosystems. Die Recheneinheit 1 weist einen ersten Rechenknoten 10, einen zweiten Rechenknoten 20 und einen gemeinsam beschreibbaren Programmspeicher 30 auf. Der
Programmspeicher 30 weist wiederum einen ersten Speicherbereich 31 , einen zweiten Speicherbereich 32 und einen dritten Speicherbereich 33 auf. Dieser Programmspeicher 30 kann von beiden Rechenknoten 10, 20 beschrieben und gelesen werden und dient somit als gemeinsamer Programmspeicher 30 (shared memory). Der erste und der zweite Speicherbereich 31 , 32 dient weiterhin der Speicherung der Audioausgabe, welche durch ein Audioausgabesystem 40 ausgegeben werden soll. Vorteilhafterweise sind der erste Speicherbereich 31 und der zweite Speicherbereich 32 gleich groß und sind derart dimensioniert, dass diese einer Ausgabezeit der Audioausgabe t entsprechen, wobei die Ausgabezeit der Audioausgabe t länger ist als die für die Übergabe benötigte Zeit. Die Audioausgabe t kann beispielsweise 10ms oder 100ms betragen. Es sei angemerkt, dass der erste und der zweite Speicherbereich auch dynamisch sein können, sodass bei einer bevorstehenden Übergabe der Speicherbereich vergrößert werden kann, da neben der Berechnung der kommenden Audioausgabe auch die Übergabe stattfinden muss. In dem dritten Speicherbereich 33 kann die exakte Abspielposition einer von beiden Rechenknoten 10, 20 zugreifbaren Audiodatei gespeichert sein, sodass der zweite Rechenknoten 20 nach der Übergabe die nahtlose Audioausgabe
sicherstellen kann. Der erste Rechenknoten 10 weist eine Steuerung 1 1 , eine grundlegenden Audiomanager 12 und einen Audioprozessor 13 für die
grundlegende Audioausgabe auf. Der zweite Rechenknoten 20 weist ebenfalls eine Steuerung 21 , einen vollständigen Audiomanager 22 und einen Audioprozessor 23 auf. Der erste Rechenknoten 10 ist ein schnell startender Rechenknoten mit einem reduzierten Betriebssystem, sodass grundlegende Audiosignale, wie Warntöne, berechnet werden können. Diese berechnete grundlegende Audioausgabe wird durch den Audioprozessor 13 für die grundlegende Audioausgabe in dem ersten bzw. dem zweiten Speicherbereich 31 , 32 des Programmspeichers 30 geschrieben. Diese beiden Speicherbereiche 31 , 32 können abwechselnd mit der Audioausgabe beschrieben werden, sodass der erste Speicherbereich 31 beschrieben wird, während das Audioausgabesystem 40 die Audioausgabe aus dem zweiten
Speicherbereich 32 liest und ausgibt, und dass der zweite Speicherbereich 32 beschrieben wird, wenn das Audioausgabesystem 40 die Audioausgabe aus dem ersten Speicherbereich 31 ausgibt. Somit entsteht ein Ping-Pong-Speicher, welcher wechselseitig beschrieben und ausgelesen wird.
Der erste bzw. der zweite Speicherbereich 31 , 32 wird bis zu einem vorbestimmen Punkt beschrieben, vorzugsweise komplett. Nach jedem Beschreiben des ersten bzw. zweiten Speicherbereichs 31 , 32 wird durch den ersten Rechenknoten 10 ein Unterbrechungssignal erzeugt, welches dem zweiten Rechenknoten 20 signalisiert, dass eine Übergabe stattfinden kann. Es sei angemerkt, dass dieses
Unterbrechungssignal nur dann zu einer Übergabe der Berechnung führt, wenn der zweite Rechenknoten 20 betriebsbereit ist und innerhalb einer vordefinierten Zeitspanne in Reaktion auf das Unterbrechungssignal die Übergabe initiiert. Des Weiteren schreibt der erste Rechenknoten nach jedem beschreiben des ersten bzw. des zweiten Speicherbereichs 31 , 32 die aktuelle Abspielposition einer von beiden Rechenknoten 10, 20 zugreifbaren Audiodatei in den dritten Speicherbereich 33. Somit kann der zweite Rechenknoten 20 bei erfolgter Übergabe an der richtigen Position mit der Berechnung der kommenden Audioausgabe fortsetzen. Es sei angemerkt, dass der erste bzw. der zweite Rechenknoten die Audioausgabe berechnen kann, z.B. basierend auf einem Sinussignal, oder aber der
Rechenknoten kann aus einer vordefinierten Anzahl an Audiodateien die passende Audiodatei und Abspielposition bestimmen und diese in dem gemeinsamen
Programmspeicher 30 ablegen, schreiben bzw. speichern. Ist die Übergabe erfolgt, wird die Audioausgabe durch den zweiten Rechenknoten 20 berechnet, welcher auch weitere Audiofunktionen, wie Multimediaanwendungen und
Navigationshinweise, bei der Berechnung berücksichtigen kann, wodurch eine vollständige Audioausgabe möglich ist. Diese berechnete Audioausgabe wird anschließend wiederum in den gemeinsamen Programmspeicher abgelegt bzw. gespeichert, sodass das Audioausgabesystem 40 diese ausgeben kann. Fig. 2 zeigt ein Fahrzeug 2 mit einer vorhergehend und nachfolgend beschriebenen Recheneinheit 1 für ein Audiosystem. Über das Audiosystem können Warntöne, ein Audioeingangssignal von einer Audioquelle, wie z.B. ein Radio, ein Referenzsignal und/oder ein Flinweissignal ausgegeben werden. Die Warntöne müssen direkt nach dem Start des Fahrzeugs ertönen, sodass hierfür ein schnell startendes System (Rechenknoten inkl. Betriebssystem) benötigt wird, welches die Audioausgabe hierfür berechnet. Dies wird durch den ersten Rechenknoten der Recheneinheit 1 sichergestellt, welcher ein schnell startender Rechenknoten für die grundsätzliche Audioausgabe ist. Im weiteren Verlauf der Fahrt sollte jedoch der zweite
Rechenknoten die Berechnung der Audioausgabe übernehmen, da dieser mehr Rechenleistung aufweist und somit eine komplexere Audioausgabe (inkl. mehrerer Audioquellen und Warnsignalen) berechnen kann. Dieser benötigt jedoch länger um gestartet zu werden und somit steht er zu Beginn der Fahrt unter Umständen nicht für die Berechnung der Audioausgabe zur Verfügung. Daraus folgt, dass eine Übergabe zwischen dem ersten Rechenknoten und dem zweiten Rechenknoten stattfinden muss, wenn der zweite Rechenknoten die vollständige Audioausgabe berechnen soll. Diese Übergabe der Berechnung von dem ersten Rechenknoten zu dem zweiten Rechenknoten sollte hierbei derart erfolgen, dass das Ausgaben der Audioausgabe nahtlos erfolgt. Mit anderen Worten sollte es für den Fahrer des Fahrzeugs 2 nicht hörbar sein, wenn die Berechnung der Audioausgabe übergeben wird.
Fig. 3 zeigt ein Flussdiagramm für ein Verfahren zur nahtlosen Übergabe einer Audioausgabe. In einem ersten Schritt S1 erfolgt die Berechnung einer
Audioausgabe durch einen ersten Rechenknoten. Diese berechnete Audioausgabe wird durch den ersten Rechenknoten in dem Schritt S2 in einen Programmspeicher geschrieben. Insbesondere kann der Programmspeicher zwei Speicherbereiche aufweisen, welche abwechselnd bis zu einem vordefinierten Punkt durch den ersten Rechenknoten beschrieben werden. Ferner können die Schritte S1 und S2 mehrmals hintereinander ausgeführt werden, insbesondere so lange bis ein zweiter Rechenknoten betriebsbereit ist. In Schritt S3 erfolgt die Übergabe der Berechnung der Audioausgabe von dem ersten Rechenknoten auf den zweiten Rechenknoten, wenn der zweite Rechenknoten betriebsbereit ist. Hierbei erfolgt die Übergabe dann, wenn der Programmspeicher bis zu dem vordefinierten Punkt beschrieben wurde, vorzugweise wenn der Programmspeicher, der erste Speicherbereich oder der zweite Speicherbereich komplett beschreiben wurde. Ferner kann der erste Rechenknoten ein Unterbrechungssignal ausgeben, wenn der Programmspeicher, der erste Speicherbereich oder der zweite Speicherbereich bis zu dem
vordefinierten Punkt beschrieben ist, sodass der zweite Rechenknoten daraufhin die Berechnung der Audioausgabe übernehmen kann. In dem darauffolgenden Schritt S4 erfolgt die Berechnung der Audioausgabe durch den zweiten
Rechenknoten. Diese berechnete Audioausgabe wird anschließend in Schritt S5 durch den zweiten Rechenknoten in den Programmspeicher, den ersten
Speicherbereich oder den zweiten Speicherbereich geschrieben. Es sei angemerkt, dass der Programmspeicher, der erste Speicherbereich oder der zweite
Speicherbereich von beiden Rechenknoten beschrieben und ausgelesen werden kann. Dadurch dass die Übergabe der gesamten Berechnung der Audioausgabe dann erfolgt, wenn der Programmspeicher bis zu einem vordefinierten Punkt beschreiben ist (vorzugweise komplett), kann eine nahtlose Ausgabe der
Audioausgabe trotz Übergabe deren Berechnung sichergestellt werden.
Fig. 4 zeigt ein weiteres Flussdiagramm für ein Verfahren zur nahtlosen Übergabe einer Audioausgabe. Zunächst erfolgt in Schritt S10 die Initialisierung des ersten Rechenknotens. Hierbei startet dieser sein Betriebssystem, sodass eine
Audioausgabe berechnet werden kann. Gleichzeitig startet Schritt S20 mit der Initialisierung des zweiten Rechenknotens. Der erste Rechenknoten ist
insbesondere für die Berechnung einer grundlegenden Audioausgabe, z.B. von Warntönen, gedacht. In Schritt S1 1 berechnet der erste Rechenknoten die
Audioausgabe und schreibt die ersten beiden Audiosegmente in den direkt adressierbaren Speicherbereichen ab Adresse A und B. Hierbei kann der erste Rechenknoten die Audiosignale direkt berechnen oder aber auf vordefinierte Audiodateien zurückgreifen, wobei dabei der erste Rechenknoten hierbei die exakte Abspielposition dieser vordefinierten Audiodateien bestimmt. Danach startet dieser die Übertragung der Audioausgabe durch das Audioausgabesystem (den Direct Memory Controller), der die Audiodaten zunächst aus dem Adressbereich ab Adresse A liest und an die Audioperipherie ausgibt. Währenddessen wird in Zwischenschritt S21 der zweite Rechenknoten initialisiert. Diese Initialisierung dauert in der Regel deutlich länger, als die Ausführung der ersten Folgeschritte S12, S13, S14, S15 und S16 des ersten Rechenknotens. Nachdem der zweite Rechenknoten seine Initialisierung im Schritt S21
abgeschlossen hat, stellt er eine Aufforderung zur Audioübergabe an den ersten Rechenknoten, indem zum Beispiel eine von ersten Rechenknoten lesbare
Speicheradresse ÜBERGABE mit einem vereinbarten Wert 'AUFFORDERUNG" beschrieben wird. Zuvor muss diese Speicheradresse mit einem anderen Wert initialisiert werden.
Wenn der Direct Memory Controller seine Daten aus dem ersten Speicherbereich ab Adresse A ausgegeben hat und dies an den ersten Rechenknoten zum Beispiel mit einem Unterbrechungssignal signalisiert hat, fährt der erste Rechenknoten mit Schritt S12 fort und lädt den Speicherbereich ab Adresse A nach, das heißt berechnet die entsprechende Audioausgabe und legt die Audiodaten ab Adresse A ab.
Währenddessen fährt der Direct Memory Controller fort, die Audiodaten ab Adresse B zu lesen und an die Audioperipherie auszugeben.
Nach dem Schritt S12 fragt der erste Rechenknoten im Schritt S13 ab, ob eine Audioübergabe vom zweiten Rechenknoten angefordert ist und kontrolliert dazu den Wert der Speicheradresse ÜBERGABE, ob sie den Wert "AUFFORDERUNG" enthält. Ist dies nicht der Fall, wird im Schritt S14 das nächste Audiosegment berechnet und auf die Signalisierung des Direct Memory Controllers gewartet, dass die Daten vollständig aus dem Speicherbereich ab Adresse B vom DMA Controller gelesen wurden. Dann wird das neu berechnete Audiosegment ab Adresse B in den Programmspeicher geschrieben.
Währenddessen fährt der Direct Memory Controller fort, die Audiodaten ab Adresse A zu lesen und an die Audioperipherie auszugeben. Nach dem Schritt S14 fragt der erste Rechenknoten im Schritt S15 erneut ab, ob eine Audioübergabe vom zweiten Rechenknoten angefordert ist und kontrolliert dazu wieder den Wert von ÜBERGABE, ob diese den Wert 'AUFFORDERUNG" enthält. Ist dies nicht der Fall wird wieder auf die Signalisierung des Direct Memory Controllers gewartet, dass die Daten vollständig aus dem Speicherbereich ab Adresse A vom DMA Controller gelesen und an die Audioperipherie ausgegeben wurden. Anschließend wird mit dem Schritt S12 fortgefahren.
Dieser Zyklus wiederholt sich bis in den Schritten S13 oder S15 unmittelbar nach der Signalisierung durch das Audioausgabesystem der erste Rechenknoten feststellt, dass die Adresse ÜBERGABE den Wert "AUFFORDERUNG" beinhaltet und damit der zweite Rechenknoten die Audioübergabe vom ersten Rechenknoten angefordert hat und beide mögliche Ablaufflüsse im Schritt S16
Zusammenkommen.
Somit kann der erste und der zweite Speicherbereich abwechselnd mit der berechneten Audioausgabe beschrieben werden. Das Audioausgabesystem hingegen liest die in dem ersten Speicherbereich abgespeicherte Audioausgabe und gibt diese aus. Sobald die Audioausgabe aus dem ersten Speicherbereich ausgegeben wurde, wechselt das Audioausgabesystem auf den zweiten
Speicherbereich und gibt die dort gespeicherte Audioausgabe aus. Wurde auch diese ausgegeben, wechselt das Audioausgabesystem wieder zurück auf den ersten Speicherbereich, sodass eine wechselseitige Ausgabe der Audioausgabe erfolgt. Somit ist es vorteilhaft, um eine nahtlose Ausgabe der Audioausgabe sicherzustellen, die Übergabe zwischen den beiden Rechenknoten dann
durchzuführen, wenn das Audioausgabesystem gerade den einen Speicherbereich abspielt und der andere Speicherbereich beschrieben werden kann.
Im Schritt S16 kopiert der erste Rechenknoten den Audiomanagementstatus (welche Audioquellen gerade aktiv sind), welcher Adressbereich A oder B zuletzt mit Audiodaten beschrieben wurde und die exakte(n) Abspielposition(en) in einen dritten Speicherbereich und signalisiert dies dem zweiten Rechenknoten zum Beispiel mit einem Unterbrechungssignal und über die gemeinsam schreib- und lesbare Speicheradresse ÜBERGABE mit dem Wert "JETZT", die der zweite Knoten nach dem Schritt S21 abfragt. Basierend darauf berechnet nun der zweite Rechenknoten in Schritt S17 die Audioausgabe und schreibt diese in den ersten bzw. zweiten Speicherbereich ab Adresse A oder B, je nachdem welcher gerade nicht für die Ausgabe der
Audioausgabe verwendet wird. Außerdem werden die
Unterbrechungsanforderungen der Audioausgabe auf den zweiten Rechenknoten umgeleitet, so dass künftige Unterbrechungen durch die Audioausgabeeinheit (des Direct Memory Access Controllers) nach vollständiger Ausgabe eines
Audiosegments ab Leseadresse A oder B zu einem Nachladen von Audiodaten durch den zweiten Rechenknoten führen. Somit wurde die Berechnung der
Audioausgabe von dem ersten Rechenknoten auf den zweiten Rechenknoten übergeben, ohne dass eine Unterbrechung in der Audioausgabe für den Benutzer wahrnehmbar war.
Fig. 5 zeigt ein weiteres Ablaufdiagram für ein Verfahren zur nahtlosen Übergabe einer Audioausgabe. Hierbei kommen zwei verschiedene Rechenknoten (erster und zweiter Rechenknoten) zu Einsatz, welche getrennt voneinander sind. Dies wird durch den schwarzen durchgezogenen Strich in der Mitte des Diagramms symbolisiert. Die Übergabe der Berechnung der Audioausgabe (Suspendierung) erfolgt von dem ersten Rechenknoten auf den zweiten Rechenknoten. Hierbei kann der zweite Rechenknoten eine Anforderung zur Übergabe stellen (ÜBERGABE = „AUFFORDERUNG“) und der erste Rechenknoten kann, wenn ein Speicherbereich bis zu einem vordefinierten Punkt beschrieben wurde, die Übergabe auslösen (ÜBERGABE =“JETZT“). Dieses Vorgehen wir durch die gestrichelten Pfeile in Fig. 5 dargestellt. Die schwarzen Pfeile symbolisieren einen Ablauf von Arbeitsschritten. Auf den Programmspeicher (shared Memory) kann durch beide Rechenknoten zugegriffen werden. Die einzelnen Verfahrensschritte und Stati werden im
Folgenden kurz erläutert.
S10: Initialisierung des ersten Rechenknotens (Early)
S1 1 : Initialisierung (z.B. Lesen der Audiodatei vom Filesystem); Laden DMA Puffer A und B, Ausgabe Puffer A
S12: Nachladen Puffer A und Ausgabe DMA Puffer B S13: Suspendierung möglich? Unterbrechungssignal wird ausgelöst
S14: Nachladen Puffer B und Ausgabe DMA Puffer A
S15: Suspendierung möglich? Unterbrechungssignal wird ausgelöst
S16: Wenn Suspendierung: AudioManagement Statusübergabe
S16‘: als Unterschritt von S16; Kopieren des AudioManagement Status, der exakten Abspielposition (der Audiodatei und der Sounderzeugungsparameter) in den shared memory
S20: Initialisierung des zweiten Rechenknotens (Multimedia)
S21 : Aufforderung zur Suspendierung durch den zweiten Rechenknoten an den ersten Rechenknoten; ÜBERGABE auf„AUFFORDERUNG“ setzen
S22: Warten auf ÜBERGABE = "JETZT"; AudioManagement Status und
Abspielposition aus dem Shared memory lesen
S22’: Initialisierung AudioManagement, Audiodateiwiedergabe ab letzter Abspielposition
S22”: Umsetzung der DMA Unterbrechungen auf den zweiten Rechenknoten
S22’”: Wiedergabe Audiodatei, Audioausgabe mit DMA Mechanismus

Claims

Patentansprüche
1 . Recheneinheit (1 ) für ein Audiosystem eines Fahrzeugs (2), aufweisend:
- einen ersten Rechenknoten (10);
- einen zweiten Rechenknoten (20); und
- einen Programmspeicher (30), welcher dazu eingerichtet ist, von dem ersten Rechenknoten (10) und von dem zweiten Rechenknoten (20) beschrieben zu werden,
wobei die Recheneinheit (1 ) dazu eingerichtet ist, dass nach dem Start der Recheneinheit (1 ) der erste Rechenknoten (10) eine Audioausgabe berechnet und in den Programmspeicher (30) schreibt,
wobei die Recheneinheit (1 ) dazu eingerichtet ist, eine Übergabe der Berechnung der Audioausgabe von dem ersten Rechenknoten (10) auf den zweiten Rechenknoten (20) dann durchzuführen, wenn der Programmspeicher (30) durch den ersten Rechenknoten (10) bis zu einem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten (20) betriebsbereit ist, und
wobei der zweite Rechenknoten (20) dazu eingerichtet ist, die Audioausgabe nach der Übergabe zu berechnen und in den Programmspeicher (30) zu schreiben.
2. Recheneinheit (1 ) nach Anspruch 1 ,
ferner ein Audioausgabesystem (40) aufweisend,
wobei das Audioausgabesystem (40) dazu eingerichtet ist, die in den
Programmspeicher (30) gespeicherte Audioausgabe auszugeben.
3. Recheneinheit (1 ) nach Anspruch 2,
wobei der Programmspeicher (30) einen ersten Speicherbereich (31 ) und einen zweiten Speicherbereich (32) aufweist,
wobei die Recheneinheit (1 ) dazu eingerichtet ist, zunächst den ersten
Speicherbereich (31 ) mit der Audioausgabe zu beschreiben und wenn der erste Speicherbereich (31 ) bis zu dem vordefinierten Punkt beschrieben ist, auf den zweiten Speicherbereich (32) zu wechseln,
wobei das Audioausgabesystem (40) dazu eingerichtet ist, die im ersten Speicherbereich (31 ) gespeicherte Audioausgabe auszugeben und wenn diese ausgegeben wurde, auf die in dem zweiten Speicherbereich (32) gespeicherte Audioausgabe zu wechseln,
wobei die Recheneinheit (1 ) dazu eingerichtet ist, wenn die im ersten Speicherbereich (31 ) gespeicherte Audioausgabe ausgeben wurde und wenn der zweite Speicherbereich (32) bis zu einem vordefinierten Punkt beschrieben ist, wieder den ersten Speicherbereich (31 ) mit der Audioausgabe zu beschreiben, sodass der erste Speicherbereich (31 ) und der zweite Speicherbereich (32) jeweils wechselseitig mit der Audioausgabe beschrieben werden.
4. Recheneinheit (1 ) nach Anspruch 3,
wobei die Recheneinheit (1 ) dazu eingerichtet ist, die Übergabe der Berechnung der Audioausgabe von dem ersten Rechenknoten (10) auf den zweiten Rechenknoten (20) dann durchzuführen, wenn der erste Speicherbereich (31 ) oder der zweite Speicherbereich (32) durch den ersten Rechenknoten (10) bis zu dem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten (20) betriebsbereit ist.
5. Recheneinheit (1 ) nach einem der Ansprüche 3 oder 4,
wobei der Programmspeicher (30) einen dritten Speicherbereich (33) aufweist,
wobei der erste Rechenknoten (10) dazu eingerichtet ist, nach jedem Beschreiben des ersten Speicherbereichs (31 ) oder des zweiten Speicherbereichs (32) bis zu dem vordefinierten Punkt die exakte Abspielposition einer von beiden
Rechenknoten zugreifbaren Audiodatei in den dritten Speicherbereich (33) abzulegen, sodass eine nahtlose Übergabe der Audioausgabe möglich ist.
6. Recheneinheit (1 ) nach Anspruch 5,
wobei der erste Rechenknoten (10) dazu eingerichtet ist, nach dem
Beschreiben des ersten Speicherbereichs (31 ) oder des zweiten Speicherbereichs (32) bis zu dem vordefinierten Punkt ein Unterbrechungssignal auszulösen, welches signalisiert, dass der erste Speicherbereich (31 ) oder der zweite
Speicherbereich (32) bis zu dem vordefinierten Punkt beschrieben ist, wobei der zweite Rechenknoten (20) dazu eingerichtet ist, in Reaktion auf dieses Unterbrechungssignal die Audioausgabe zu übernehmen, indem der zweite Rechenknoten (20) die exakte Abspielposition aus dem dritten Speicherbereich (33) liest, die Audioausgabe berechnet und diese Audioausgabe in dem ersten
Speicherbereich (31 ) oder in dem zweiten Speicherbereich (32) speichert.
7. Recheneinheit (1 ) nach einem der Ansprüche 3 bis 6,
wobei der erste Speicherbereich (31 ) und der zweite Speicherbereich (32) jeweils eine Größe aufweisen, welche einer Ausgabezeit der Audioausgabe t entspricht, wobei die Ausgabezeit der Audioausgabe t länger ist als die für die Übergabe benötigte Zeit.
8. Fahrzeug (2) mit einer Recheneinheit (1 ) für ein Audiosystem gemäß einem der vorhergehenden Ansprüche.
9. Verfahren zur nahtlosen Übergabe einer Audioausgabe, die folgenden Schritte aufweisend:
- Berechnen (S1 ) einer Audioausgabe durch einen ersten Rechenknoten;
- Beschreiben (S2) eines Programmspeichers mit der berechneten
Audioausgabe durch den ersten Rechenknoten;
- Übergabe (S3) der Berechnung der Audioausgabe von dem ersten Rechenknoten auf einen zweiten Rechenknoten, wenn der Programmspeicher durch den ersten Rechenknoten bis zu einem vordefinierten Punkt beschrieben ist und wenn der zweite Rechenknoten betriebsbereit ist;
- Berechnen (S4) der Audioausgabe durch den zweiten Rechenknoten; und
- Beschreiben (S5) des Programmspeichers mit der berechneten Audioausgabe durch die zweite Recheneinheit.
10. Computerprogrammelement, das, wenn es auf einer Recheneinheit eines Audiosystems ausgeführt wird, die Recheneinheit anleitet, das Verfahren gemäß Anspruch 9 durchzuführen.
11. Computerlesbares Speichermedium, auf welchem das Computerprogrammelement gemäß Anspruch 10 gespeichert ist.
EP20710850.7A 2019-03-07 2020-03-05 Nahtlose audioübergabe in einem mehrprozessor-audiosystem Pending EP3935505A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019203130.7A DE102019203130A1 (de) 2019-03-07 2019-03-07 Nahtlose Audioübergabe in einem Mehrprozessor-Audiosystem
PCT/EP2020/055803 WO2020178369A1 (de) 2019-03-07 2020-03-05 Nahtlose audioübergabe in einem mehrprozessor-audiosystem

Publications (1)

Publication Number Publication Date
EP3935505A1 true EP3935505A1 (de) 2022-01-12

Family

ID=69804854

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20710850.7A Pending EP3935505A1 (de) 2019-03-07 2020-03-05 Nahtlose audioübergabe in einem mehrprozessor-audiosystem

Country Status (5)

Country Link
US (1) US12047759B2 (de)
EP (1) EP3935505A1 (de)
CN (1) CN113454599B (de)
DE (1) DE102019203130A1 (de)
WO (1) WO2020178369A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114228725A (zh) * 2021-11-23 2022-03-25 深圳元戎启行科技有限公司 车载控制系统以及无人驾驶车辆
CN115771475A (zh) * 2022-12-01 2023-03-10 亿咖通(湖北)技术有限公司 音频播放控制方法、设备及存储介质
CN116089081A (zh) * 2023-01-10 2023-05-09 上海艾为电子技术股份有限公司 音频处理电路、方法、芯片和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228615A1 (en) * 1998-01-07 2009-09-10 Microsoft Corporation Vehicle Computer System with Audio Entertainment System

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763458B1 (en) * 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
US8194692B2 (en) 2004-11-22 2012-06-05 Via Technologies, Inc. Apparatus with and a method for a dynamic interface protocol
US7500128B2 (en) 2005-05-11 2009-03-03 Intel Corporation Mobile systems with seamless transition by activating second subsystem to continue operation of application executed by first subsystem as it enters into sleep mode
US7461247B2 (en) * 2005-06-03 2008-12-02 Qnx Software Systems Gmbh & Co. Kg Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization
US7814307B2 (en) 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
CN101433048B (zh) * 2006-03-28 2012-11-07 雷帝系统加拿大有限公司 并行多核心计算结构的多媒体处理
US8819483B2 (en) * 2006-09-27 2014-08-26 L-3 Communications Corporation Computing device with redundant, dissimilar operating systems
US7568057B2 (en) * 2006-12-19 2009-07-28 Intel Corporation Method and apparatus for maintaining synchronization of audio in a computing system
US9071214B2 (en) 2009-06-11 2015-06-30 Invensense, Inc. Audio signal controller
WO2011061878A1 (ja) 2009-11-18 2011-05-26 日本電気株式会社 マルチコアシステム、マルチコアシステムの制御方法及びプログラムが格納された非一時的な可読媒体
WO2012163275A1 (zh) * 2011-05-30 2012-12-06 联想(北京)有限公司 控制方法、控制装置以及计算机系统
JP6507169B2 (ja) * 2014-01-06 2019-04-24 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company 複数のユーザインターフェース動作ドメインを有する車両
CN106462517B (zh) 2014-04-02 2019-08-06 大陆汽车有限公司 在多处理器架构中的早期标识显示
WO2015150871A1 (en) 2014-04-02 2015-10-08 Continental Automotive Gmbh Early rear view camera video display in a multiprocessor architecture
CN107179868A (zh) 2016-03-11 2017-09-19 比亚迪股份有限公司 车载多媒体系统、车载多媒体系统的控制方法及车辆
JP7180542B2 (ja) * 2019-06-03 2022-11-30 株式会社デンソー 情報処理装置および情報処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228615A1 (en) * 1998-01-07 2009-09-10 Microsoft Corporation Vehicle Computer System with Audio Entertainment System

Also Published As

Publication number Publication date
CN113454599A (zh) 2021-09-28
US12047759B2 (en) 2024-07-23
DE102019203130A1 (de) 2020-09-10
WO2020178369A1 (de) 2020-09-10
US20220191616A1 (en) 2022-06-16
CN113454599B (zh) 2024-08-09

Similar Documents

Publication Publication Date Title
EP3935505A1 (de) Nahtlose audioübergabe in einem mehrprozessor-audiosystem
DE102015200422A1 (de) Fahrzeugspezifisches Berechnungsmanagementsystem für Cloud-Datenverarbeitung
DE3241376A1 (de) Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger
DE112019002469T5 (de) Elektronische steuereinheit und sitzungsaufbau-programm
DE102020202372A1 (de) Anpassung von Einstellungen für eine Medienwiedergabe in einem Fortbewegungsmittel
DE102014113762A1 (de) Verfahren und Vorrichtung zum Anpassen einer variablen Rate für das Anfordern von Softwaredaten von einem Fahrzeug
EP3204255B1 (de) Fahrzeugmultimediaeinrichtung
DE102020118005A1 (de) Verfahren und einrichtung zum dynamischen drosseln von rechenengines
WO2016091603A1 (de) Verfahren zum automatischen ausführen wenigstens einer fahrfunktion eines kraftfahrzeuges
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102015210505A1 (de) Haupteinheit zum Bereitstellen eines Multistreaming-Dienstes zwischen unterschiedlichen Vorrichtungen, Streaming-Steuerverfahren davon und computerlesbares Medium zum Ausführen des Verfahrens
DE3317593C2 (de) Prüfsystem-Speicherarchitektur
DE102015206021B4 (de) Rechnersystem für ein Fahrzeug
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE102018132367A1 (de) Geräuschunterdrückung in fahrzeugen bei adaptiver geschwindigkeitsregelung
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE112020005466T5 (de) Bussystem und verfahren zum betrieb eines bussystems
DE102019107868B4 (de) Elektronische Vorrichtung, Steuerverfahren und Programm
CN115696173B (zh) 一种芯片、车用音源播放方法、车载设备及存储介质
DE102004006767B4 (de) Verfahren und Vorrichtung zum Transport von Datenabschnitten mittels eines DMA-Controllers
DE112023002999T5 (de) Fahrzeugbordsystem, elektronische steuervorrichtung, zugriffsautorisierungsrichtlinienaktualisierungsverfahren und programm
DE102020110970B3 (de) Steuergerät für eine Benutzerschnittstelle eines Kraftfahrzeugs, Kraftfahrzeug und Verfahren zum Betrieb eines Steuergeräts für eine Benutzerschnittstelle
DE102022203339A1 (de) Ersatzsteuergerät zum Bereitstellen einer funktionswesentlichen Steuerfunktion in einem Fahrzeug
DE102023133604A1 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, and speichermedium
DE10027845A1 (de) Controller für Warteschlangen-Datenports in mikroprozessorbasierten Motorsteuerungen

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211007

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230522

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20231215

P02 Opt-out of the competence of the unified patent court (upc) changed

Effective date: 20240207

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: AUMOVIO GERMANY GMBH