Beschreibung Titel Description title
Verfahren und Vorrichtung zum Liefern einer Prüfantwort Stand der Technik Method and apparatus for providing a test response prior art
Die Erfindung geht aus von einer Vorrichtung oder einem Verfahren nach The invention is based on a device or a method
Gattung der unabhängigen Ansprüche. Gegenstand der vorliegenden Erfindung ist auch ein Computerprogramm. Type of independent claims. The subject of the present invention is also a computer program.
Bei einem Datenbus kann eine Mastereinheit des Datenbusses überprüft werden, indem zumindest eine von der Mastereinheit angesteuerte Slaveeinheit einen Datenwert liefert, der in der Mastereinheit als ein Schwellenwert definiert ist. Beispielsweise kann dazu der Slaveeinheit durch eine externe Prüfapparatur eine definierte Messgröße bereitgestellt werden. In a data bus, a master unit of the data bus can be checked by at least one slave unit driven by the master unit providing a data value defined in the master unit as a threshold value. For example, the slave unit can be provided with a defined measured variable by an external testing apparatus.
Offenbarung der Erfindung Disclosure of the invention
Vor diesem Hintergrund werden mit dem hier vorgestellten Ansatz ein Verfahren zum Liefern einer Prüfantwort zum Prüfen einer Funktion einer Mastereinheit eines synchronen seriellen Datenbusses, weiterhin eine Vorrichtung, dieses Verfahren verwendet sowie schließlich ein entsprechendes Computerprogramm gemäß den Hauptansprüchen vorgestellt. Durch die in den abhängigen Against this background, with the approach presented here, a method for providing a test response for testing a function of a master unit of a synchronous serial data bus, furthermore a device, this method is used and finally presented a corresponding computer program according to the main claims. By in the dependent
Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen der im unabhängigen Anspruch angegebenen Vorrichtung möglich. Claims listed measures advantageous refinements and improvements of the independent claim device are possible.
Wenn eine Messgröße durch eine Slaveeinheit in einem Datenwert abgebildet wird, können Abbildungsfehler den Datenwert verfälschen. Wenn der Datenwert der Slaveeinheit als digitaler Wert manipuliert wird, kann ein zu überprüfender
Schwellenwert in der Mastereinheit bitgenau getestet werden, da bei einer direkten Manipulation des Datenwerts Abbildungsfehler in der Slaveeinheit keine Rolle spielen. If a measure is mapped by a slave unit into a data value, mapping errors can corrupt the data value. If the data value of the slave unit is manipulated as a digital value, a to be checked Threshold in the master unit are tested to the nearest bit, as in a direct manipulation of the data value aberrations in the slave unit play no role.
Durch den hier vorgestellten Ansatz kann schnell, genau und kostengünstig eine Funktion einer Mastereinheit in einem Datenbus überprüft werden, wobei auf eine kostenintensive Prüfapparatur verzichtet werden kann. By the approach presented here, a function of a master unit can be checked in a data bus quickly, accurately and cost-effectively, which can be dispensed with a costly testing apparatus.
Es wird ein Verfahren zum Liefern einer Prüfantwort zum Prüfen einer Funktion einer Mastereinheit eines synchronen seriellen Datenbusses vorgestellt, wobei das Verfahren die folgenden Schritte aufweist: A method of providing a test response for testing a function of a master unit of a synchronous serial data bus is presented, the method comprising the steps of:
Überwachen einer Befehlsbitfolge auf einem Befehlskanal des Datenbusses, um einen vorbestimmten Befehl von der Mastereinheit zu erkennen; und Monitoring a command bit sequence on a command channel of the data bus to detect a predetermined command from the master unit; and
Bereitstellen der Prüfantwort auf einem Antwortkanal des Datenbusses ansprechend auf einen erkannten vorbestimmten Befehl, wobei eine Providing the test response on a response channel of the data bus in response to a detected predetermined instruction, wherein a
Antwortbitfolge der Prüfantwort unter Verwendung einer in einem Answer bit sequence of the test response using a in a
Kurzzeitspeicher vordefinierten Antwortvorschrift bereitgestellt wird. Short term memory predefined response rule is provided.
Unter einer Mastereinheit kann eine Recheneinheit verstanden werden, die ausgebildet ist, um andere Recheneinheiten (wie beispielsweise eine A master unit can be understood to mean a computing unit that is designed to be able to handle other arithmetic units (such as a computer)
Slaveeinheit) oder einen ablaufenden Algorithmus in diesen Recheneinheiten zu steuern oder mit Daten zu versorgen. Unter einer Funktion einer Mastereinheit kann eine softwaregesteuerte Reaktion auf eine durch die Mastereinheit empfangene Information verstanden werden. Eine Prüfantwort kann eine vordefinierte Information für die Mastereinheit sein. Eine Befehlsbitfolge kann eine Bitfolge sein, die eine Abfolge von unterschiedlichen Befehlen auf dem Befehlskanal repräsentiert. Ein vorbestimmter Befehl kann ein Ausschnitt der Befehlsbitfolge sein. Eine Antwortbitfolge kann eine Bittfolge sein, die die Prüfantwort auf dem Antwortkanal repräsentiert. Eine Antwortvorschrift kann eine Handlungsanweisung zum Erzeugen der Antwortbitfolge sein.
Dieses Verfahren kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät implementiert sein. Das Verfahren kann einen Schritt des Schreibens aufweisen, in dem eine weitereSlave unit) or to run a running algorithm in these arithmetic units or to supply data. A function of a master unit can be understood as a software-controlled reaction to an information received by the master unit. A test response may be a predefined information for the master unit. A command bit string may be a bit string representing a sequence of different commands on the command channel. A predetermined command may be a segment of the command bit sequence. A response bit string may be a bit sequence that represents the verification response on the response channel. A response rule may be an action to generate the response bit string. This method can be implemented, for example, in software or hardware or in a mixed form of software and hardware, for example in a control unit. The method may include a step of writing in which another
Antwortvorschrift in den Kurzzeitspeicher geschrieben wird, nachdem der Befehl erkannt wird. Die weitere Antwortvorschrift kann unter Verwendung einer Prüfvorschrift geschrieben werden. Durch ein direktes Nachladen einer neuen Antwortvorschrift kann unmittelbar auf ein nächstes Erkennen des vorbestimmten Befehls reagiert werden. Response rule is written to the temporary memory after the command is recognized. The further response instructions can be written using a test specification. By directly reloading a new response rule, one can immediately respond to a next recognition of the predetermined command.
Die Prüfantwort kann ferner unter Verwendung einer aus dem Befehl The check response may also be made using one of the command
resultierenden Antwort auf dem Antwortkanal bereitgestellt werden. Die Antwort wird eingelesen und kann unter Verwendung der Antwortvorschrift in zumindest einem Bit der Antwort verändert werden, um die Prüfantwort zu erhalten. Durch ein bitweises Verändern einer realen Antwort kann exakt festgelegt werden, welche Stelle der Antwortbitfolge zu der Prüfantwort verändert wird. Damit kann die Prüfantwort um die definiert veränderte Stelle herum eine natürlich vorkommende Varianz aufweisen. resulting response can be provided on the response channel. The response is read in and may be changed using the response rule in at least one bit of the response to obtain the test response. By changing a real response bit by bit, it is possible to specify exactly which position of the response bit sequence is changed to the test response. Thus, the test response around the defined altered location may have a naturally occurring variance.
Im Schritt des Überwachens kann ferner zumindest ein Adresskanal des In the monitoring step, at least one address channel of the
Datenbusses überwacht werden. Dabei kann der Befehl erkannt werden, wenn auf dem Adresskanal eine vorbestimmte, mit dem Datenbus verbundene, der Mastereinheit hierarchisch untergeordnete, Slaveeinheit adressiert ist. Durch die Überwachung des Adresskanals kann eine Mastereinheit eines umfangreichen Datenbusses geprüft werden. Durch die Überwachung des Adresskanals kann verhindert werden, dass eine Antwort einer ungewollten Slaveeinheit abgeändert wird. Die Befehlsbitfolge kann unter Verwendung eines vorgegebenen Befehlsmusters überwacht werden, um den Befehl zu erkennen. Ein Befehlsmuster kann mehrere Bits umfassen. Das Befehlsmuster kann charakteristisch für den Befehl sein. Durch das Befehlsmuster kann der Befehl sicher erkannt werden.
Im Schritt des Überwachens kann zumindest ein vorgegebener Teilbereich der Befehlsbitfolge überwacht werden, um den Befehl zu erkennen. Insbesondere können ein erster Teilbereich und zumindest ein zweiter Teilbereich der Data bus to be monitored. In this case, the command can be detected if a predetermined, connected to the data bus, the master unit hierarchically subordinate, slave unit is addressed on the address channel. By monitoring the address channel, a master unit of a comprehensive data bus can be checked. By monitoring the address channel can be prevented that a response of an unwanted slave unit is changed. The command bit sequence may be monitored using a predetermined command pattern to recognize the command. A command pattern may include multiple bits. The command pattern may be characteristic of the command. Through the command pattern, the command can be safely detected. In the monitoring step, at least a predetermined subset of the command bitstream can be monitored to detect the command. In particular, a first subarea and at least a second subarea of the
Befehlsbitfolge überwacht werden, um den Befehl zu erkennen. Zwischen dem ersten Teilbereich und dem zweiten Teilbereich kann ein Zwischenraum mit einer Breite von zumindest einem Bit liegen. Der Befehl kann durch eine Bitfolge gekennzeichnet sein, die an einer willkürlichen Stelle der Befehlsbitfolge angeordnet ist. Durch einen definierten Überwachungsbereich können irrelevante Bits ignoriert werden. Command bit sequences are monitored to detect the command. Between the first partial area and the second partial area, there may be a gap with a width of at least one bit. The instruction may be characterized by a bit string located at an arbitrary location of the instruction bitstream. Due to a defined monitoring range irrelevant bits can be ignored.
Die Prüfantwort kann ferner ansprechend auf ein Freigabesignal bereitgestellt werden. Das Freigabesignal kann eine erfüllte externe Bedingung repräsentieren. Damit kann die Mastereinheit geprüft werden, wenn die externe Bedingung erfüllt ist. The test response may be further provided in response to an enable signal. The enable signal may represent a satisfied external condition. This allows the master unit to be checked if the external condition is met.
Das Verfahren kann einen Schritt des Vordefinierens aufweisen, bei dem ansprechend auf ein Startsignal die Antwortvorschrift in dem Kurzzeitspeicher vordefiniert wird. Insbesondere kann der Schritt des Vordefinierens zeitlich vor dem Schritt des Bereitstellens ausgeführt werden. Durch ein Vordefinieren kann direkt der erste Befehl auf dem Befehlskanal erkannt werden und eine The method may include a predefining step in which the response rule is predefined in the short term memory in response to a start signal. In particular, the predefining step may be performed prior to the providing step. By predefining directly the first command on the command channel can be recognized and a
Prüfantwort bereitgestellt werden. Durch das Vordefinieren kann das Prüfen schnell erfolgen. Test response be provided. Predefining allows testing to be done quickly.
Weiterhin wird eine Vorrichtung zum Liefern einer Prüfantwort zum Prüfen einer Funktion einer Mastereinheit eines synchronen seriellen Datenbusses vorgestellt, wobei die Vorrichtung die folgenden Merkmale aufweist: eine Überwachungseinrichtung, die dazu ausgebildet ist, eine Befehlsbitfolge auf einem Befehlskanal des Datenbusses zu überwachen, um einen vorbestimmten Befehl von der Mastereinheit zu erkennen; und eine Ausgabeeinrichtung, die dazu ausgebildet ist, ansprechend auf einen erkannten vorbestimmten Befehl unter Verwendung einer in einem There is further provided an apparatus for providing a test response for testing a function of a master unit of a synchronous serial data bus, the apparatus comprising: a monitor adapted to monitor a command bit sequence on a command channel of the data bus for a predetermined command to recognize from the master unit; and an output device configured to be responsive to a detected predetermined command using one in a
Kurzzeitspeicher vordefinierten Antwortvorschrift eine Antwortbitfolge einer
Prüfantwort auf einem Antwortkanal des Datenbusses bereitzustellen, wobei die Ausgabeeinrichtung in den Antwortkanal eingeschleift ist. Short-term memory predefined response instruction a response bit sequence of a Provide test response on a response channel of the data bus, wherein the output device is looped into the response channel.
Auch durch diese Ausführungsvariante der Erfindung in Form einer Vorrichtung kann die der Erfindung zugrunde liegende Aufgabe schnell und effizient gelöst werden. Also by this embodiment of the invention in the form of a device, the object underlying the invention can be solved quickly and efficiently.
Unter einer Vorrichtung kann vorliegend ein elektrisches Gerät verstanden werden, das Sensorsignale verarbeitet und in Abhängigkeit davon Steuer- und/oder Datensignale ausgibt. Die Vorrichtung kann eine Schnittstelle aufweisen, die hard- und/oder softwaremäßig ausgebildet sein kann. Bei einer hardwaremäßigen Ausbildung können die Schnittstellen beispielsweise Teil eines sogenannten System-ASICs sein, der verschiedenste Funktionen der Vorrichtung beinhaltet. Es ist jedoch auch möglich, dass die Schnittstellen eigene, integrierte Schaltkreise sind oder zumindest teilweise aus diskreten Bauelementen bestehen. Bei einer softwaremäßigen Ausbildung können die Schnittstellen Softwaremodule sein, die beispielsweise auf einem Mikrocontroller neben anderen Softwaremodulen vorhanden sind. In the present case, a device can be understood as meaning an electrical device which processes sensor signals and outputs control and / or data signals in dependence thereon. The device may have an interface, which may be formed in hardware and / or software. In the case of a hardware-based embodiment, the interfaces can be part of a so-called system ASIC, for example, which contains a wide variety of functions of the device. However, it is also possible that the interfaces are their own integrated circuits or at least partially consist of discrete components. In a software training, the interfaces may be software modules that are present, for example, on a microcontroller in addition to other software modules.
Von Vorteil ist auch ein Computerprogrammprodukt oder Computerprogramm mit Programmcode, der auf einem maschinenlesbaren Träger oder Speichermedium wie einem Halbleiterspeicher, einem Festplattenspeicher oder einem optischen Speicher gespeichert sein kann und zur Durchführung, Umsetzung und/oder Ansteuerung der Schritte des Verfahrens nach einer der vorstehend Also of advantage is a computer program product or computer program with program code which can be stored on a machine-readable carrier or storage medium such as a semiconductor memory, a hard disk memory or an optical memory and for carrying out, implementing and / or controlling the steps of the method according to one of the above
beschriebenen Ausführungsformen verwendet wird, insbesondere wenn das Programmprodukt oder Programm auf einem Computer oder einer Vorrichtung ausgeführt wird. described embodiments, in particular when the program product or program is executed on a computer or a device.
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt: Embodiments of the invention are illustrated in the drawings and explained in more detail in the following description. It shows:
Fig. 1 ein Blockschaltbild einer Vorrichtung zum Liefern einer Prüfantwort gemäß einer Ausführungsform;
Fig. 2 ein Ablaufdiagramm eines Verfahrens zum Liefern einer Prüfantwort gemäß einer Ausführungsform; 1 is a block diagram of an apparatus for providing a test response according to an embodiment; FIG. 2 is a flowchart of a method for providing a test response according to an embodiment; FIG.
Fig. 3 eine Darstellung eines synchronen seriellen Datenbusses mit einer Vorrichtung zum Liefern einer Prüfantwort gemäß einer Ausführungsform; und 3 is an illustration of a synchronous serial data bus having a device for providing a test response in accordance with an embodiment; and
Fig. 4 eine Darstellung einer Vorrichtung zum Liefern einer Prüfantwort gemäß einer Ausführungsform. In der nachfolgenden Beschreibung günstiger Ausführungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Figuren 4 is an illustration of an apparatus for providing a test response in accordance with one embodiment. In the following description of favorable embodiments of the present invention are for the in the various figures
dargestellten und ähnlich wirkenden Elemente gleiche oder ähnliche represented and similar elements acting the same or similar
Bezugszeichen verwendet, wobei auf eine wiederholte Beschreibung dieser Elemente verzichtet wird. Reference numeral used, wherein a repeated description of these elements is omitted.
Fig. 1 zeigt ein Blockschaltbild einer Vorrichtung 100 zum Liefern einer Fig. 1 shows a block diagram of a device 100 for delivering a
Prüfantwort 102 gemäß einer Ausführungsform. Die Vorrichtung 100 weist eine Überwachungseinrichtung 104 und eine Ausgabeeinrichtung 106 auf. Die Überwachungseinrichtung 104 ist mit einem Befehlskanal 108 eines synchronen seriellen Datenbusses 110 verbunden. Der Datenbus 110 verbindet eine Test Response 102 according to one embodiment. The device 100 has a monitoring device 104 and an output device 106. The monitoring device 104 is connected to a command channel 108 of a synchronous serial data bus 110. The data bus 110 connects a
Mastereinheit 112 und zumindest eine der Mastereinheit 112 hierarchisch untergeordnete Slaveeinheit 114 miteinander. Der Datenbus 110 weist neben dem Befehlskanal 108 zumindest einen Antwortkanal 116 auf. Über den Master unit 112 and at least one of the master unit 112 hierarchically subordinate slave unit 114 with each other. The data bus 110 has at least one response channel 116 in addition to the command channel 108. On the
Befehlskanal 108 schickt die Mastereinheit 112 Befehle 118 an die Slaveeinheit 114. Über den Antwortkanal 116 antwortet die Slaveeinheit 114 auf die BefehleCommand channel 108 sends master unit 112 commands 118 to slave unit 114. Via response channel 116, slave unit 114 responds to the commands
118. Die Überwachungseinrichtung 104 ist dazu ausgebildet, eine Befehlsbitfolge 120 der Befehle 118 auf dem Befehlskanal 108 zu überwachen, um einen vorbestimmten Befehl 118 von der Mastereinheit 112 zu erkennen. Beim 118. The monitor 104 is configured to monitor a command bit train 120 of the instructions 118 on the command channel 108 to detect a predetermined command 118 from the master unit 112. At the
Erkennen der zu dem Befehl 118 korrespondierenden Befehlsbitfolge 120 wird eine Triggerinformation 122 bereitgestellt. Upon detection of command bit train 120 corresponding to command 118, trigger information 122 is provided.
Die Ausgabeeinrichtung 106 ist in den Antwortkanal 116 eingeschleift und dazu ausgebildet, ansprechend auf die Triggerinformation 122 die Prüfantwort 102 auf dem Antwortkanal 116 des Datenbusses 110 bereitzustellen. Die Prüfantwort 102 wird unter Verwendung einer in einem Kurzzeitspeicher 124 vordefinierten
Antwortvorschrift 126 bereitgestellt. Die Antwortvorschrift 126 wird bitweise aus dem Kurzzeitspeicher 124 ausgelesen. Die Prüfantwort 102 weist eine The output device 106 is looped into the response channel 116 and configured to provide the test response 102 on the response channel 116 of the data bus 110 in response to the trigger information 122. The test response 102 is predefined using a temporary memory 124 Response rule 126 provided. The response instruction 126 is read out bit by bit from the temporary memory 124. The test response 102 has a
Antwortbitfolge 128 auf. Insbesondere entspricht eine Länge der Answer bit string 128 on. In particular, corresponds to a length of
Antwortvorschrift 126 einer Länge der Antwortbitfolge 128. Die Prüfantwort 102 ist dazu ausgebildet, eine Funktion der Mastereinheit 112 zu prüfen. Response specification 126 of a length of the response bit string 128. The verification response 102 is configured to check a function of the master unit 112.
Eine Reaktion der Mastereinheit 112 kann durch ein Überwachen der Kanäle 108, 116 des Datenbusses 110 erfasst werden. Beispielsweise kann die A response of the master unit 112 may be detected by monitoring the channels 108, 116 of the data bus 110. For example, the
Slaveeinheit 114 ein Sensor sein. Dann kann die Prüfantwort 102 einen durch den Sensor gemessenen Wert simulieren, obwohl der Sensor diesen Wert aktuell gar nicht misst. Der simulierte Wert kann beispielsweise kleiner als ein Slave unit 114 may be a sensor. Then, the test response 102 may simulate a value measured by the sensor, although the sensor currently does not measure that value. For example, the simulated value may be less than one
Schwellenwert zum Auslösen eines anderen Befehls auf dem Befehlskanal 108 sein. Bei bestimmungsgemäßer Funktion der Mastereinheit 112 wird der andere Befehl nicht ausgegeben. Bei einer Fehlfunktion der Mastereinheit 112 kann beispielsweise der andere Befehl trotz des zu niedrigen simulierten Werts oder ein falscher Befehl ausgegeben werden. Ebenso kann der simulierte Wert größer als der Schwellenwert sein. Dann gibt die Mastereinheit 112 bei Threshold for triggering another command on the command channel 108. If the master unit 112 functions as intended, the other command is not output. In the event of a malfunction of the master unit 112, for example, the other command may be issued despite the too low simulated value or a wrong command. Similarly, the simulated value may be greater than the threshold. Then the master unit 112 asserts
bestimmungsgemäßer Funktion den anderen Befehl aus. Bei einer Fehlfunktion der Mastereinheit 112 kann beispielsweise kein Befehl ausgegeben werden. intended function of the other command. For example, if the master unit 112 malfunctions, no command can be issued.
In einer Ausführungsform wird die Prüfantwort 102 unter Verwendung einer Antwort 130 der Slaveeinheit 114 auf den Befehl 118 bereitgestellt. In one embodiment, the test response 102 is provided to the instruction 118 using a response 130 of the slave unit 114.
Beispielsweise definiert dann die Antwortvorschrift 126, an welchen Stellen eine Bitfolge der Antwort 130 geändert werden soll, um die Antwortbitfolge 128 zu erhalten. For example, response policy 126 then defines at which locations a bit string of response 130 should be changed to obtain the response bit string 128.
Die Mastereinheit 112 kann den gleichen Befehl 118 periodisch über den The master unit 112 may poll the same command 118 periodically
Datenbus 110 an die Slaveeinheit 114 senden. Dann kann die Bitfolge der Antwort 130 unter Verwendung der Antwortvorschrift 126 jedes Mal gleichartig geändert werden. Send data bus 110 to the slave unit 114. Then, the bit string of the response 130 may be changed similarly using the response law 126 each time.
Wenn die Prüfantwort 102 verändert werden soll, wird eine weitere If the test response 102 is to be changed, another
Antwortvorschrift 132 benötigt. In einer Ausführungsform weist die Vorrichtung 100 eine Einheit 134 zum Beschreiben des Kurzzeitspeichers 124 auf. Die Einheit 134 zum Beschreiben ist dazu ausgebildet, die weitere Antwortvorschrift
132 in den Kurzzeitspeicher 124 zu schreiben. Das Beschreiben kann ansprechend auf die Triggerinformation 122 erfolgen. Die Einheit 134 zum Beschreiben erzeugt die weitere Antwortvorschrift 132 unter Verwendung einer Prüfvorschrift 135. Die Prüfvorschrift 136 ist speziell auf den zu überprüfenden Befehl 118 abgestimmt. Die Prüfvorschrift 136 ist in einem Response rule 132 is needed. In one embodiment, the device 100 includes a unit 134 for writing to the short term memory 124. The writing unit 134 is adapted to the further answering rule 132 in the temporary memory 124 to write. The writing may be done in response to the trigger information 122. The write unit 134 generates the further response rule 132 using a test specification 135. The test specification 136 is specially adapted to the instruction 118 to be checked. The test specification 136 is in one
Konfigurationsspeicher 138 der Vorrichtung 100 hinterlegt. Configuration memory 138 of the device 100 deposited.
Das Beschreiben kann bitweise erfolgen. Dabei kann das erste Bit der weiteren Antwortvorschrift 132 in den Kurzzeitspeicher 124 geschrieben werden, während das erste Bit der Antwortvorschrift 126 aus dem Kurzzeitspeicher 124 gelesen wird. Insbesondere kann es sich bei dem Kurzzeitspeicher 124 um ein Register handeln, das von einer Eingangsseite beschreibbar ist und an einer The writing can be done bit by bit. In this case, the first bit of the further response instruction 132 can be written into the short-term memory 124, while the first bit of the response instruction 126 is read from the short-term memory 124. In particular, the short-term memory 124 may be a register that can be written on an input side and written on an input side
Ausgangseite auslesbar ist. Output side is readable.
Fig. 2 zeigt ein Ablaufdiagramm eines Verfahrens 200 zum Liefern einer Prüfantwort gemäß einer Ausführungsform. Das Verfahren 200 kann FIG. 2 shows a flowchart of a method 200 for providing a test response according to an embodiment. The method 200 may
beispielsweise auf einer Vorrichtung, wie sie in Fig. 1 dargestellt ist ausgeführt werden. Das Verfahren 200 weist einen Schritt 202 des Überwachens und einen Schritt 204 des Bereitstellens auf. Die Prüfantwort ist dazu ausgebildet, eine Funktion einer Mastereinheit eines synchronen seriellen Datenbusses zu überprüfen. Dazu wird im Schritt 202 des Überwachens eine Befehlsbitfolge auf einem Befehlskanal des Datenbusses überwacht, um einen vorbestimmten Befehl von der Mastereinheit zu erkennen. Ansprechend auf das Erkennen wird im Schritt 204 des Bereitstellens die Prüfantwort auf einem Antwortkanal des Datenbusses bereitgestellt. Eine Antwortbitfolge der Prüfantwort wird unter Verwendung einer in einem Kurzzeitspeicher vordefinierten Antwortvorschrift bereitgestellt. for example, on a device as shown in Fig. 1 are executed. The method 200 includes a step 202 of monitoring and a step 204 of providing. The check response is designed to check a function of a master unit of a synchronous serial data bus. To this end, in step 202 of monitoring, a command bit sequence is monitored on a command channel of the data bus to detect a predetermined command from the master unit. In response to the detection, in step 204 of the provisioning, the check response is provided on a response channel of the data bus. A response bit string of the check response is provided using a predefined response rule in a short term memory.
In einem Ausführungsbeispiel weist das Verfahren 200 einen Schritt 206 des Schreibens auf, in dem eine weitere Antwortvorschrift in den Kurzzeitspeicher geschrieben wird, nachdem der Befehl erkannt wird. Die weitere In one embodiment, the method 200 includes a step 206 of writing in which another response policy is written to the short term memory after the command is recognized. The others
Antwortvorschrift wird dabei unter Verwendung einer Prüfvorschrift geschrieben. Response instructions are written using a test specification.
Fig. 3 zeigt eine Darstellung eines synchronen seriellen Datenbusses 110 mit einer Vorrichtung 100 zum Liefern einer Prüfantwort gemäß einer
Ausführungsform. Die Vorrichtung 100 entspricht im Wesentlichen einer FIG. 3 shows a representation of a synchronous serial data bus 110 with a device 100 for providing a test response in accordance with FIG Embodiment. The device 100 essentially corresponds to one
Vorrichtung, wie sie in Fig. 1 dargestellt ist. Dabei ist hier nur die Device as shown in Fig. 1. Here is only the
Ausgabeeinrichtung 106 dargestellt. Zusätzlich ist die Vorrichtung 100 analog zu dem Datenbus 110 mit zumindest einem weiteren synchronen seriellen Datenbus 110 verbunden, um in dem weiteren Datenbus 110 ebenfalls die Prüfantwort zum Prüfen der weiteren Mastereinheit 112 bereitzustellen. Insbesondere können bis zu vier Datenbusse 110 mit der Vorrichtung 100 verbunden werden. Output device 106 shown. In addition, the device 100 is connected to at least one further synchronous serial data bus 110 analogously to the data bus 110 in order to also provide the check response in the further data bus 110 for testing the further master unit 112. In particular, up to four data buses 110 can be connected to the device 100.
Zusätzlich zu dem Datenbus in Fig. 1 ist hier zumindest eine weitere Slaveeinheit 114 mit dem Datenbus 110 verbunden. Um die Slaveeinheiten 114 einzeln adressieren zu können, weist der Datenbus 110 daher einen Adresskanal 300 auf. Somit kann der Befehl einer bestimmten Slaveeinheit 114 zugeordnet werden, auch wenn die Befehlsbitfolge identisch ist. Der Adresskanal 300 wird von der Vorrichtung 100 ebenfalls überwacht, um die Prüfantwort bereitstellen zu können, wenn eine Antwort von der bestimmten Slaveeinheit 114 ausgegeben wird. In addition to the data bus in FIG. 1, at least one further slave unit 114 is connected to the data bus 110 here. In order to be able to address the slave units 114 individually, the data bus 110 therefore has an address channel 300. Thus, the command may be assigned to a particular slave unit 114, even if the command bit sequence is identical. The address channel 300 is also monitored by the device 100 to provide the check response when a response is issued by the particular slave unit 114.
Weiterhin weist der Datenbus 110 einen Taktkanal 302 auf, über den die Furthermore, the data bus 110 has a clock channel 302 via which the
Kommunikation aller Teilnehmer 112, 114 an dem Datenbus 110 synchronisiert beziehungsweise getaktet wird. Die Vorrichtung 100 ist ebenfalls mit dem Communication of all participants 112, 114 is synchronized or clocked on the data bus 110. The device 100 is also with the
Taktkanal 302 verbunden, um die Prüfantwort synchronisiert beziehungsweise getaktet bereitstellen zu können. Clock channel 302 connected to provide the test response synchronized or timed.
Um den Befehl zu überprüfen, wird die Vorrichtung 100 mit einer To check the command, the device 100 is connected to a
Konfigurationsinformation 304 konfiguriert. Die Konfigurationsinformation 304 ist in dem Konfigurationsspeicher hinterlegt. Dabei repräsentiert die Configuration information 304 configured. The configuration information 304 is stored in the configuration memory. This represents the
Konfigurationsinformation 304 ein charakteristisches Bitmuster beziehungsweise Befehlsmuster des zu prüfenden Befehls. Weiterhin repräsentiert die Configuration information 304 a characteristic bit pattern or command pattern of the command under test. Furthermore represents the
Konfigurationsinformation 304 eine Bitmaske, um zu definieren, welche Bits der Befehlsbitfolge überprüft werden sollen. In einem Ausführungsbeispiel ist der Befehl dabei teilweise in dem Bitmuster beziehungsweise der Bitmaske abgebildet, um mehrere ähnliche Befehle überprüfen zu können. Die Bitmaske kann auch mehrere über ein Datenwort der Befehlsbitfolge verteilte Configuration information 304 is a bitmask to define which bits of the command bitstream to check. In one exemplary embodiment, the command is partially mapped in the bit pattern or the bit mask in order to be able to check several similar commands. The bitmask may also have multiple ones distributed over a data word of the command bitstream
Überprüfungsfenster definieren, wobei die Bits in den Überprüfungsfenstern
überprüft werden, um den Befehl zu erkennen. Mit anderen Worten definiert die Bitmaske zumindest einen zu überprüfenden Teilbereich der Befehlsbitfolge. Define check window, with the bits in the check windows be checked to recognize the command. In other words, the bit mask defines at least one portion of the command bit sequence to be checked.
In einem Ausführungsbeispiel umfasst die Konfigurationsinformation 304 eine Busnummer, um festzulegen, welcher beziehungsweise welche Datenbusse 110 zu überprüfen sind. Weiterhin kann die Konfigurationsinformation 304 eine Adresse der Slaveeinheit 114 umfassen, deren Antwort auf dem Antwortkanal 116 abgeändert werden soll. Des Weiteren umfasst die Konfigurationsinformation 304 Manipulationsdaten und einen Manipulationsmodus. Die Manipulationsdaten repräsentieren einen Teil der Antwortvorschrift zum Bereitstellen der Prüfantwort beziehungsweise zum Bereitstellen einer Folge von nacheinander bereitzustellenden Prüf antworten. Dabei können in den Manipulationsdaten eine oder mehrere vollständige In one embodiment, configuration information 304 includes a bus number to determine which data bus (s) 110 to check. Furthermore, the configuration information 304 may include an address of the slave unit 114 whose response on the response channel 116 is to be changed. Furthermore, the configuration information 304 includes manipulation data and a manipulation mode. The manipulation data represent part of the response rule for providing the test response or for providing a sequence of test replies to be provided one after the other. One or more complete ones can be used in the manipulation data
Prüfantworten hinterlegt sein. Ebenfalls können einzelne zu ändernden Bits derTest responses be deposited. Also, individual bits to be changed can be
Antwort der Slaveeinheit 114 in den Manipulationsdaten hinterlegt sein. Der Manipulationsmodus repräsentiert ebenfalls einen Teil der Antwortvorschrift zum Bereitstellen der Prüfantwort. Der Manipulationsmodus kennzeichnet dabei erforderliche Rahmenbedingungen zum Bereitstellen der Prüfantwort. Response of the slave unit 114 may be stored in the manipulation data. The manipulation mode also represents part of the response to providing the test response. The manipulation mode characterizes the necessary framework conditions for providing the test response.
Mit anderen Worten zeigt Fig. 3 eine Vorrichtung 100 für Softwaretests auf Basis von SPI-Manipulationen in Echtzeit. Dabei ist der Datenbus 110 ein SPI-Bus 110. Die Vorrichtung 100 kann auch als SPI-Manipulator 100 bezeichnet werden. Im SPI-Bus 110 wird die Matereinheit 112 als Master 112 bezeichnet, während die Slaveeinheiten 114 als Slaves 114 bezeichnet werden. An einer Vorrichtung 100 können bis zu vier getrennte SPI-Busse 110 gleichzeitig angeschlossen sein. Der SPI-Bus 110 weist als den Taktkanal 302 eine SCLK beziehungsweise In other words, FIG. 3 shows a device 100 for software tests based on SPI manipulations in real time. In this case, the data bus 110 is an SPI bus 110. The device 100 can also be referred to as an SPI manipulator 100. In SPI bus 110, the Matereinheit 112 is referred to as master 112, while the slave units 114 are referred to as slaves 114. At a device 100, up to four separate SPI buses 110 may be connected simultaneously. The SPI bus 110 has as the clock channel 302 an SCLK or
Systemclock auf. Als Befehlskanal weist der SPI-Bus 110 einen MOSI beziehungsweise Master out Slave in auf. Als Antwortkanal 116 weist der SPI- Bus 110 einen M ISO- Kanal (der auch als Master-in-Slave-out-System clock on. As a command channel, the SPI bus 110 has a MOSI or master out slave in. As response channel 116, the SPI bus 110 has an M ISO channel (which is also known as master-in-slave-out).
Datenübertragungskanal bezeichnet werden kann) auf. Der Adresskanal 300 im SPI-Bus 110 wird durch einen SS-Kanal (der auch als Slave Select-Kanal bezeichnet werden kann) pro Slave gebildet. Im dargestellten Data transmission channel can be called) on. The address channel 300 in the SPI bus 110 is formed by an SS channel (which may also be referred to as a slave select channel) per slave. In the illustrated
Ausführungsbeispiel weist der SPI-Bus also einen SSI-Kanal für den ersten Slave 114 und einen SS2- Kanal für den zweiten Slave 114 auf. Der SPI-
Manipulator 100 ist in den MISO-Kanals eingeschleift. Es besteht also keine unmittelbare Verbindung der MISO-(Kanal-)-Ausgänge der Slaves 114 zu dem MISO(-Kanal)-Eingang des Masters 112. Über MOSI-Kanal können beispielsweise 120 unterschiedliche Befehle vomThus, the SPI bus has an SSI channel for the first slave 114 and an SS2 channel for the second slave 114. The SPI Manipulator 100 is looped into the MISO channels. Thus, there is no direct connection of the MISO (channel) outputs of the slaves 114 to the MISO (channel) input of the master 112. Via MOSI channel, for example, 120 different commands from the
Master 112 an die Slaves 114 übertragen werden. Die Slaves 114 überwachen den MOSI-Kanal kontinuierlich, reagieren aber nur, wenn sie über den ihnen zugeordneten SS-Kanal 300 adressiert sind. Wenn ein Slave 114 durch einen Befehl auf dem MOSI-Kanal angesprochen wird, wird direkt über den M ISO- Kanal eine Antwort auf den Befehl bereitgestellt. Durch den SPI-Manipulator 100 wird diese Antwort verändert beziehungsweise verfälscht, um eine Reaktion des Masters 112 auf diese angepasste Master 112 are transmitted to the slaves 114. Slaves 114 continuously monitor the MOSI channel, but only respond when addressed via their associated SS channel 300. When a slave 114 is addressed by a command on the MOSI channel, a response to the command is provided directly through the M ISO channel. The SPI manipulator 100 modifies or falsifies this response to accommodate a response of the master 112 to it
Falschantwort beziehungsweise Prüfantwort analysieren zu können. Dabei können beispielsweise in der Prüfantwort Werte bitgenau abgebildet werden, die im Master 112 als Schwellenwerte für eine Aktion hinterlegt sind. To be able to analyze the wrong answer or the test answer. In this case, for example, values that are stored in the master 112 as threshold values for an action can be mapped in the test response.
Als Konfigurationsinformationen 304 sind bei dem SPI-Bus 110 die SPI-Nummer, die Slave-Select- Leitung, die SPI-Trigger-Bits die SPI-Trigger-Maske und das Conditional Control Register (32 Bit pro Störeinheit) hinterlegt. Dabei ist über dieAs configuration information 304, the SPI bus 110 stores the SPI number, the slave select line, the SPI trigger bits, the SPI trigger mask and the conditional control register (32 bits per fault unit). It is about the
SPI-Nummer definiert, welcher der angeschlossenen Busse geprüft wird. Über die Slave-Select- Leitung ist definiert, welcher Slave 114 geprüft werden soll. In den SPI-Trigger-Bits ist das Bitmuster des zu überprüfenden Befehls hinterlegt. In der SPI-Trigger-Maske ist die Anzahl der zum Erkennen des Befehls notwendigen Bits und die Lage innerhalb der Bitfolge des Befehls definiert. Dabei kann die Lage auch an mehreren Stellen innerhalb der Bitfolge definiert sein. SPI number defines which of the connected buses is checked. The slave select line defines which slave 114 should be checked. The bit pattern of the command to be checked is stored in the SPI trigger bits. In the SPI trigger mask, the number of bits necessary to recognize the command and the location within the bit string of the command is defined. The position can also be defined at several locations within the bit sequence.
Weiterhin sind in der Konfigurationsinformation 304 die Manipulationsdaten und der Manipulationsmode hinterlegt. Furthermore, the manipulation data and the manipulation mode are stored in the configuration information 304.
Der SPI-Manipulator 100 dient der Manipulation von Datenbits auf der SPI-MISO- Leitung bzw. -Kanal in Echtzeit. Damit lassen sich Softwaresysteme, bei welchen die Kommunikation zwischen dem Mikrocontroller μθ (SPI-Master) 112 und den ASICs (SPI-Slaves) 114 über die SPI-Busleitung stattfindet, bitgenau testen. Durch den hier vorgestellten Ansatz kann eine Veränderung der
Peripherieeinstellungen des Steuergerätes vermieden werden. Über die The SPI manipulator 100 is for manipulating data bits on the SPI MISO channel in real time. This makes it possible to test bit-accurate software systems in which the communication between the microcontroller μθ (SPI master) 112 and the ASICs (SPI slaves) 114 takes place via the SPI bus line. Through the approach presented here, a change in the Peripheral settings of the control unit can be avoided. About the
Einstellungen an der Peripherie ist ein bitgenaues Testen in den meisten Fällen nicht möglich. Settings on the periphery, bit-accurate testing is not possible in most cases.
Nach dem gleichen Prinzip kann auch die SPI-MOSI Leitung manipuliert werden, oder beide Leitungen, wenn die Einheit 124 doppelt vorliegt. By the same principle, the SPI-MOSI line can also be manipulated, or both lines, if the unit 124 is duplicated.
Der SPI-Manipulator 100 dient der Manipulation von Datenbits auf der SPI-MISO- Leitung bzw. -Kanal in Echtzeit. The SPI manipulator 100 is for manipulating data bits on the SPI MISO channel in real time.
Fig. 4 zeigt eine Darstellung einer Vorrichtung 100 zum Liefern einer Prüfantwort 102 gemäß einem Ausführungsbeispiel. Die Vorrichtung 100 entspricht im Wesentlichen einer Vorrichtung, wie sie in Fig. 1 dargestellt ist. Dabei sind hier nur die Überwachungseinrichtung 104 und die Ausgabeeinrichtung 106 sowie der Kurzzeitspeicher 124 dargestellt. Die dargestellte Vorrichtung 100 ist 4 shows an illustration of an apparatus 100 for providing a test response 102 according to one embodiment. The device 100 essentially corresponds to a device as shown in FIG. Only the monitoring device 104 and the output device 106 as well as the short-term memory 124 are shown here. The illustrated device 100 is
insbesondere Bestandteil der Vorrichtung in Fig. 3. Die in particular part of the device in Fig. 3. The
Überwachungseinrichtung 104 weist hier verschiedene Module auf. Ein Monitoring device 104 here has various modules. One
Triggermodul 400 überwacht dabei die Bitfolge auf dem Befehlskanal 108. Trigger module 400 monitors the bit sequence on the command channel 108.
Beispielsweise sind die Befehle 32 Bit lang. Um den Befehl zu erkennen, werden die ersten zehn Bits der Bitfolge überwacht. Die restlichen Bits enthalten beispielsweise Zusatzinformationen. Weiterhin überwacht das Triggermodul den Adresskanal 300 und den Taktkanal 302. Wenn auf dem Adresskanal 300 die in der Konfigurationsinformation festgelegte Slaveeinheit adressiert ist und über den Befehlskanal 108 die in der Konfigurationsinformation festgelegte, den Befehl repräsentierende Bitfolge empfangen wird, wird ein Triggersignal 402 bereitgestellt. Das Triggersignal 402 wird für ein Manipulator- Kontrollmodul 404 und ein Speicher- Kontrollmodul 406 bereitgestellt. For example, the instructions are 32 bits long. To recognize the command, the first ten bits of the bit string are monitored. The remaining bits contain additional information, for example. Furthermore, the trigger module monitors the address channel 300 and the clock channel 302. If the slave unit specified in the configuration information is addressed on the address channel 300 and the command sequence representing the command information set in the configuration information is received, a trigger signal 402 is provided. The trigger signal 402 is provided to a manipulator control module 404 and a memory control module 406.
Im Manipulator- Kontrollmodul 404 wird die Triggerinformation 122 für den Kurzzeitspeicher 124 ausgegeben, wenn das Triggersignal 402 empfangen wird und eine zusätzliche Bedingung 408 erfüllt ist. Beispielsweise kann auf dem Datenbus ein und derselbe Befehl in verschiedenem Kontext verwendet werden. Durch die zusätzliche Bedingung 408 kann die Prüfantwort 102 bereitgestellt werden, wenn der richtige Kontext vorliegt und zurückgehalten werden, wenn der
falsche Kontext vorliegt. Die zusätzliche Bedingung 408 kann als Freigabesignal 408 bezeichnet werden. In the manipulator control module 404, the trigger information 122 for the temporary memory 124 is output when the trigger signal 402 is received and an additional condition 408 is met. For example, one and the same command in different contexts may be used on the data bus. The additional condition 408 may provide the test response 102 if the correct context exists and is retained when the wrong context exists. The additional condition 408 may be referred to as an enable signal 408.
Über das Speicher- Kontrollmodul 406 werden Pufferspeicher 410, 412, 414 angesteuert. Die Pufferspeicher 410, 412, 414 entsprechen dabei der Einheit 134 zum Beschreiben des Kurzzeitspeichers 124 in Fig. 1. Die Pufferspeicher 410, 412, 414 werden hier als FI FO-Speicher betrieben, wobei eine zuerst in einen der Pufferspeicher 410, 412, 414 eingelesene Information auch wieder zuerst ausgelesen wird. Die Pufferspeicher 410, 412, 414 werden über ein Buffer memories 410, 412, 414 are activated via the memory control module 406. The buffer memories 410, 412, 414 in this case correspond to the unit 134 for writing to the short-term memory 124 in FIG. 1. The buffer memories 410, 412, 414 are operated here as FI FO memories, one first into one of the buffer memories 410, 412, 414 read-in information is again read out first. The buffers 410, 412, 414 are over
Auslesesignal 416 von dem Speicherkontrollmodul 406 angesteuert. Das Auslesesignal 416 wird durch das Speicherkontrollmodul 406 bereitgestellt, wenn ein globales Startsignal 418 oder ein externes Startsignal 420 eingelesen worden sind und das Triggersignal 402 empfangen wird. Readout signal 416 driven by the memory control module 406. The readout signal 416 is provided by the memory control module 406 when a global start signal 418 or an external start signal 420 has been read in and the trigger signal 402 is received.
Im ersten Pufferspeicher 410 ist dabei der Manipulationsmodus hinterlegt. Beim Auslesen des ersten Pufferspeichers 410 ansprechend auf das Auslesesignal 416 wird ein Zeit-Trigger 422 und/oder das Speicherkontrollmodul 406 angesteuert. The manipulation mode is stored in the first buffer memory 410. When the first buffer memory 410 is read in response to the readout signal 416, a time trigger 422 and / or the memory control module 406 are actuated.
Im zweiten Pufferspeicher 412 und dritten Pufferspeicher 414 ist die in den Kurzzeitspeicher 124 als nächstes nachzuladende Antwortvorschrift 132 vorgespeichert. Ansprechend auf das Auslesesignal 416 werden der Inhalt des zweiten Pufferspeichers 412 und des dritten Pufferspeichers 414 in den In the second buffer memory 412 and third buffer memory 414, the response instruction 132 to be reloaded into the short-term memory 124 is pre-stored. In response to the readout signal 416, the contents of the second buffer memory 412 and the third buffer memory 414 are written into the
Kurzzeitspeicher 124 verschoben. Da das Auslesesignal 416 wie die Short-term memory 124 shifted. Because the readout signal 416 like the
Triggerinformation 122 abhängig von dem Triggersignal 402 ist, wird der Pufferspeicher 124 bereits geleert, wenn die Pufferspeicher 412, 414 ausgelesen werden. Dabei ist im zweiten Pufferspeicher 412 eine Kontrollinformation 424 der nächsten Antwortvorschrift 132 gespeichert. Im dritten Pufferspeicher 414 ist eine Dateninformation 426 der nächsten Antwortvorschrift 132 gespeichert. Die Kontrollinformation 424 repräsentiert dabei eine Bitfolge von Kontrollbits 428 zum Ansteuern der Ausgabeeinrichtung 106. Die Dateninformation 426 repräsentiert dabei eine Bitfolge von Datenbits 430 zum Ansteuern der Ausgabeeinrichtung 106.
Der Kurzzeitspeicher 124 ist hier ein 32- Bit-Shift- Register. Für die Trigger information 122 is dependent on the trigger signal 402, the buffer memory 124 is already emptied when the buffer memory 412, 414 are read out. In this case, a control information 424 of the next response rule 132 is stored in the second buffer memory 412. In the third buffer memory 414, data information 426 of the next response rule 132 is stored. The control information 424 in this case represents a bit sequence of control bits 428 for driving the output device 106. The data information 426 represents a bit sequence of data bits 430 for driving the output device 106. The temporary memory 124 is here a 32-bit shift register. For the
Kontrollinformation 424 weist der Kurzzeitspeicher 124 ein 32-Bit- Kontroll-Shift- Register auf. Für die Dateninformation 426 weist der Kurzzeitspeicher ein 32-Bit- Daten-Shift- Register auf. Control information 424, the temporary memory 124 has a 32-bit control shift register. For the data information 426, the short-term memory has a 32-bit data shift register.
Die Ausgabeeinrichtung 106 ist hier ein vier Bit zu ein Bit Multiplexer 106. Der Multiplexer 106 wird für jedes als Prüfantwort 102 ausgegebenes Bit durch je ein Kontrollbit 428 und ein Datenbit 430 angesteuert. An den vier Eingängen des Multiplexers 106 liegen der Antwortkanal 116 mit der Antwort 130 von der adressierten Slaveeinheit, der invertierte Antwortkanal 432 mit der invertiertenIn this case, the output device 106 is a four-bit to one-bit multiplexer 106. The multiplexer 106 is activated for each bit output as test response 102 by a respective control bit 428 and a data bit 430. At the four inputs of the multiplexer 106 are the response channel 116 with the response 130 from the addressed slave unit, the inverted response channel 432 with the inverted
Antwort von der adressierten Slaveeinheit, logisch null und logisch eins an. Response from the addressed slave unit, logical zero and logical one on.
Wenn das Kontrollbit 428 und das Datenbit 430 null sind, wird als Prüfantwort 102 das entsprechende Bit der Antwort 130 ausgegeben. Wenn das Kontrollbit 428 null ist und das Datenbit 430 eins ist, wird als Prüfantwort 102 das entsprechende Bit der invertierten Antwort ausgegeben. Wenn das Kontrollbit 428 eins ist und das Datenbit 430 null ist, wird als Prüfantwort 102 logisch null ausgegeben. Wenn das Kontrollbit 428 und das Datenbit 430 eins sind, wird als Prüfantwort 102 logisch eins ausgegeben. If the control bit 428 and the data bit 430 are zero, the corresponding bit of the response 130 is output as the test response 102. If the control bit 428 is zero and the data bit 430 is one, then the corresponding bit of the inverted response is output as test response 102. If the control bit 428 is one and the data bit 430 is zero, logic zero is output as test response 102. When the control bit 428 and the data bit 430 are one, the check response 102 is output logical one.
Die Grundidee des SPI-Manipulators 100 basiert auf einem 4-Bit-zu-l-Bit- Multiplexer 106, welcher durch die Most significant Bit MSB von zwei Shift- Registern 124 angesteuert wird. Die Shift- Register 124 werden bei erkanntem SPI-Muster mit den Werten aus den FI FOs Control und Data 412, 414 vorgeladen und mit jedem SPI-Takt um ein Bit weiter geshiftet bzw. geschoben.The basic idea of the SPI manipulator 100 is based on a 4-bit-to-1-bit multiplexer 106, which is driven by the most significant bit MSB of two shift registers 124. The shift registers 124 are preloaded with the values from the FI FOs Control and Data 412, 414 when the SPI pattern is recognized and shifted or shifted by one bit with each SPI cycle.
Die Manipulation der MISO-Leitung 116 bzw. -Kanal beginnt mit dem nächsten Bit nach der Erkennung des SPI-Musters. Mit jedem neuen SPI-Befehl werden die beiden Shift- Register 124, gelöscht. Dies hat zur Folge, dass die MISO-Bits bei nicht erkanntem SPI-Muster unmanipuliert bleiben. The manipulation of the MISO line 116 or channel begins with the next bit after the recognition of the SPI pattern. With each new SPI command, the two shift registers 124 are cleared. As a result, the MISO bits remain unmanipulated when the SPI pattern is not recognized.
Ein SPI-Manipulation-Modul 100 detektiert einen zu störenden SPI-Befehl und steuert das synchrone Lesen der drei FIFOs 410, 412, 414 abhängig vom einem der vier gewählten Modi. Sollen mehrere SPI-Befehle gleichzeitig manipuliert werden, können dafür entsprechend viele SPI-Manipulation-Module verwendet werden.
Der Control FIFO 412 und der Data FI FO 414 weisen beispielsweise eine Breite von 32 Bit und eine Tiefe von 512 Einträgen auf. Der Control FI FO 412 und der Data FIFO 414 enthalten die Manipulationsdaten zur Ansteuerung des 4-Bit-zu-l- Bit-Multiplexers 106. An SPI manipulation module 100 detects an SPI instruction to be disturbed and controls the synchronous reading of the three FIFOs 410, 412, 414 depending on one of the four selected modes. If several SPI commands are to be manipulated at the same time, a corresponding number of SPI manipulation modules can be used. For example, the control FIFO 412 and the data FI FO 414 have a width of 32 bits and a depth of 512 entries. The control FI FO 412 and the data FIFO 414 contain the manipulation data for driving the 4-bit-to-1-bit multiplexer 106.
Der Mode FI FO 410 weist beispielsweise eine Breite von 32 Bit und eine Tiefe von 512 Einträgen auf. Bit 31 bis Bit 28 enthalten die Modi, welche bestimmen, unter welchen Bedingungen das nächste Lesen der drei FI FOs 410, 412, 414 erfolgt. Bit 27 bis Bit 0 enthalten den Vorladewert für den Timer. Diese Bits sind nur für den Timer Mode relevant. For example, the mode FI FO 410 has a width of 32 bits and a depth of 512 entries. Bits 31 to 28 contain the modes which determine under which conditions the next reading of the three FI FOs 410, 412, 414 occurs. Bit 27 to bit 0 contain the preload value for the timer. These bits are only relevant for the timer mode.
Im SPI-Trigger Mode erfolgt nach jedem erkannten SPI-Muster ein Lesen der drei FI FOs 410, 412, 414. Im Time-Trigger Mode werden die FI FOs 410, 412, 414 gelesen, wenn der 28 Bit Timer abgelaufen ist. Dabei wird gleichzeitig ein neuer Timer Wert geladen. Dadurch wird eine einstellbare Manipulationszeit erreicht. Im Global-Trigger Mode erfolgt das Lesen der FI FOs aufgrund eines definierten Ereignisses von allen SPI-Manipulations-Modulen gleichzeitig. Im External-Trigger Mode erfolgt der Trigger zum Lesen der FI FOs 410, 412, 414 interaktiv von einem PC, nachdem vorher, auch vom PC, ein Eintrag in die FIFOsIn the SPI trigger mode, after each detected SPI pattern, the three FI FOs 410, 412, 414 are read. In the time trigger mode, the FI FOs 410, 412, 414 are read when the 28-bit timer has expired. At the same time a new timer value is loaded. This achieves an adjustable manipulation time. In global trigger mode, the FI FOs are read simultaneously by all SPI manipulation modules based on a defined event. In external trigger mode, the trigger for reading the FI FOs 410, 412, 414 interactively from a PC, after previously, also from the PC, an entry in the FIFOs
410, 412, 414 erfolgte. Dadurch können über eine„virtuelle Peripherie" 410, 412, 414 took place. This can be done via a "virtual periphery"
Änderungen an der Peripherie simuliert werden, ohne dabei die realen Changes to the periphery can be simulated without losing the real
Peripherieeinstellungen zu verändern. Das FI FO-Control-Modul 406 entscheidet je nach aktiven Trigger-Mode und dem erfolgten Trigger, wann die drei FIFOs 410, 412, 414 erneut gelesen werden. Mit jedem Lesen des Mode FIFOs 410 kann auch der Mode umgeschaltet werden. Change peripheral settings. The FI FO control module 406 decides when to read the three FIFOs 410, 412, 414 again, depending on the active trigger mode and trigger. With each reading of the mode FIFO 410, the mode can also be switched.
Das SPI-Trigger-Modul 400 dient der Erkennung eines belieben Musters auf der SPI. Dies geschieht mit Hilfe von zwei 32 Bit Register. Das Mask-Register enthält eine„1" für die relevanten Bits. Das Pattern- Register enthält die zu prüfenden Bits gegenüber der MOSI-Leitung 108. Beide Register werden im SPI-Takt 302 nach links geshiftet und mit„0" nachgefüllt. Sobald im Mask-Register alle Bits den Wert null haben, gilt das Muster als erkannt und es wird ein Trigger 402 an die Module FI FO-Control 406 und Manipulator-Control 404 geschickt.
Das Time-Trigger-Modul 422 sendet nach Ablauf eines μδ-ΤίηηεΓε einen Trigger an das FI FO-Control-Modul. 406 Das führt dazu, dass die FIFOs 410, 412, 414 erneut gelesen werden und somit auch ein neuer Timer-Wert vorgeladen wird. The SPI trigger module 400 is for detecting an arbitrary pattern on the SPI. This is done with the help of two 32 bit registers. The Mask Register contains a "1" for the relevant bits, and the Pattern Register contains the bits to test against MOSI line 108. Both registers are shifted left in SPI clock 302 and padded with "0". As soon as all bits in the mask register have the value zero, the pattern is considered recognized and a trigger 402 is sent to the modules FI FO control 406 and manipulator control 404. The time-trigger module 422 transmits a trigger to the FI FO control module after the expiration of a μδ-ηηεεεε. 406 This causes the FIFOs 410, 412, 414 to be read again, thus precharging a new timer value.
Das Manipulator-Control-Modul 404 bestimmt, wann die an den Ausgängen der FI FOs 412, 414 anliegenden Störmuster 132 in die beiden Shift- Register 124 kopiert werden. Das Kopieren erfolgt aber nur, wenn Conditional Control 408 logisch„1" ist. Die Conditional Control Bedingung kann verwendet werden, wenn die Erkennung eines SPI-Musters auf der MOSI-Leitung 108 nicht eindeutig ist oder eine andere Bedingung im System erfüllt sein muss. Dafür ist ein zusätzliches Modul zu erstellen, welches die Bedingung erzeugt auf welche ein oder mehrere Störeinheiten reagieren können, wen sie entsprechend konfiguriert sind. The manipulator control module 404 determines when the disturbance patterns 132 applied to the outputs of the FI FOs 412, 414 are copied to the two shift registers 124. However, copying occurs only when conditional control 408 is logic "1." The conditional control condition can be used when the detection of an SPI pattern on MOSI line 108 is ambiguous or another condition must be met in the system. For this, an additional module is to be created, which generates the condition to which one or more perturbations can react, if they are configured accordingly.
Umfasst ein Ausführungsbeispiel eine„und/oder"- Verknüpfung zwischen einem ersten Merkmal und einem zweiten Merkmal, so ist dies so zu lesen, dass das Ausführungsbeispiel gemäß einer Ausführungsform sowohl das erste Merkmal als auch das zweite Merkmal und gemäß einer weiteren Ausführungsform entweder nur das erste Merkmal oder nur das zweite Merkmal aufweist.
If an exemplary embodiment comprises an "and / or" link between a first feature and a second feature, then this is to be read so that the embodiment according to one embodiment, both the first feature and the second feature and according to another embodiment either only first feature or only the second feature.