DE102008045813A1 - Logic circuit for calculating CRC test values - Google Patents
Logic circuit for calculating CRC test values Download PDFInfo
- Publication number
- DE102008045813A1 DE102008045813A1 DE200810045813 DE102008045813A DE102008045813A1 DE 102008045813 A1 DE102008045813 A1 DE 102008045813A1 DE 200810045813 DE200810045813 DE 200810045813 DE 102008045813 A DE102008045813 A DE 102008045813A DE 102008045813 A1 DE102008045813 A1 DE 102008045813A1
- Authority
- DE
- Germany
- Prior art keywords
- logic circuit
- crc
- data
- circuit according
- length
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00315—Modifications for increasing the reliability for protection in field-effect transistor circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Es wird eine Logigschaltung zur Berechnung eines CRC-Prüfwerts einer Nachricht vorgeschlagen, wobei der CRC-Prüfwert eine vorgebbare Länge aufweist. Die Logikschaltung umfasst einen Eingang (402) zur Aufnahme der Nachricht, einen Eingang (401) zur Aufnahme eines frei vorgebbaren CRC-Polynoms, Berechnungsmittel (421-426, "&", "=1") zur Berechnung eines CRC-Prüfwerts der Nachricht anhand des CRC-Polynoms und Schaltmittel (430), welche die Berechnungsmittel (421-426, "&", "=1") in Abhängigkeit von einer Länge des CRC-Polynoms so beschalten, dass die Länge des CRC-Prüfwerts der Länge des CRC-Polynoms entspricht. Damit lässt sich eine Hardwareschaltung bereitstellen, die die Berechnung unterschiedlich langer Prüfwerte unter Verwendung beliebiger Genratorpolynome erlaubt.A logic circuit is proposed for calculating a CRC check value of a message, wherein the CRC check value has a predefinable length. The logic circuit comprises an input (402) for receiving the message, an input (401) for receiving a freely definable CRC polynomial, calculation means (421-426, "&", "= 1") for calculating a CRC check value of the message based on the CRC polynomial and switching means (430), which connect the calculation means (421-426, "&", "= 1") to a length of the CRC polynomial such that the length of the CRC check value is equal to the length of the CRC polynomial Corresponds to CRC polynomial. This can be used to provide a hardware circuit that allows the calculation of different length test values using arbitrary genrator polynomials.
Description
Die vorliegende Erfindung betrifft eine Logikschaltung zur Berechnung von CRC-Prüfwerten sowie eine Verwendung einer derartigen Schaltung bei einer Datenübertragung.The The present invention relates to a logic circuit for calculation of CRC test values and a use of such Circuit during a data transmission.
Stand der TechnikState of the art
Bei der zyklischen Redundanzprüfung (cyclic redundancy check, CRC) handelt es sich um ein Verfahren aus der Informationstechnologie zur Bestimmung eines Prüfwerts für Daten (z. B. Netzwerkverkehr oder eine Datei), um Fehler bei der Übertragung oder Duplizierung von Daten erkennen zu können.at the cyclic redundancy check (cyclic redundancy check, CRC) is an information technology process for determining a test value for data (eg Network traffic or a file) to errors in the transfer or Recognize duplication of data.
CRC-Prüfwerte werden häufig auch als CRC-Prüfsummen bezeichnet, obwohl es sich im eigentlichen Sinne um Prüfdivisionsreste und nicht um Summen handelt. Bei der CRC wird ein Datenblock durch ein CRC-Polynom modulo dividiert. Der Divisionsrest stellt den CRC-Prüfwert dar.CRC check values are often referred to as CRC checksums, although in the true sense it is a test division remainder and not buzz. At the CRC, a block of data is passed through divides a CRC polynomial modulo. The remainder of the division represents the CRC check value represents.
CRC-Typen
werden anhand des verwendeten CRC-Polynoms (Generatorpolynom) unterschieden.
Nach der Bitlänge der Polynome richtet sich die Länge
des prüfbaren Datenblocks. Es existieren bekannte Standard-Polynome,
wie z. B.:
CRC-CCITT (CRC-16): 0x11021
IBM-CRC-16: 0x18005
IEEE-802
CRC (CRC-32): 0x104C11DB7
CRC32/4: 11EDC6F41
CAN-CRC:
0xC599
Bluetooth: 0x35CRC types are distinguished by the CRC polynomial used (generator polynomial). The length of the testable data block depends on the bit length of the polynomials. There are known standard polynomials, such. B .:
CRC-CCITT (CRC-16): 0x11021
IBM CRC-16: 0x18005
IEEE-802 CRC (CRC-32): 0x104C11DB7
CRC32 / 4: 11EDC6F41
CAN-CRC: 0xC599
Bluetooth: 0x35
Es
ist bekannt, CRC-Logikschaltungen unter Verwendung eines Schieberegisters – üblicherweise ein
Schieberegister mit linearer Rückkopplung LFSR (linear
feedback shift register) – zu realisieren, wobei XOR-Gatter
zwischen den einzelnen Bits des Registers vorgesehen sind. Dabei
hängt die Plazierung der XOR-Gatter von den Koeffizienten
der entsprechenden Terme im Polynom ab, die 1 betragen. In der
Insbesondere in bestimmten Bereichen der Datenübertragung ist es notwendig, unterschiedliche Generatorpolynome verwenden zu können. Diese müssen entweder durch Implementierung mehrerer Hardwareschaltungen oder softwareseitig berechnet werden. Beide Möglichkeiten sind aufwändig. Weiterhin können in Situationen, in denen die notwendigen CRC-Polynome noch nicht bekannt sind, keine (schnellen) Hardwareschaltungen verwendet werden. Statt dessen müssen langsame Softwarelösungen zum Einsatz kommen.Especially in certain areas of data transmission it is necessary to be able to use different generator polynomials. These must be done either by implementing multiple hardware circuits or software calculated. Both possibilities are expensive. Furthermore, in situations in which the necessary CRC polynomials are not yet known, no (fast) Hardware circuits are used. Instead, you have to slow software solutions are used.
Ausgehend von diesem Stand der Technik wird eine Logikschaltung zur Berechnung eines CRC-Prüfwerts einer Nachricht mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche und der nachfolgenden Beschreibung.outgoing from this prior art is a logic circuit for calculation a CRC check value of a message with the characteristics of Patent claim 1 proposed. Advantageous embodiments are Subject matter of the dependent claims and the description below.
Vorteile der ErfindungAdvantages of the invention
Durch die erfindungsgemäße Logikschaltung kann eine wesentliche Beschleunigung des Berechnungsverfahrens bei großer Flexibilität erreicht werden. Die Logikschaltung ist in der Lage, beliebige CRC-Polynome zu verwenden, wobei die maximale Bitzahl des Polynoms nur durch die Ausgestaltung der Schaltung begrenzt wird. In der Praxis wird es sich jedoch anbieten, eine maximale Bitzahl von 32 oder 64 anzusetzen.By the logic circuit according to the invention can be a Substantial acceleration of the calculation process at large Flexibility can be achieved. The logic circuit is in able to use any CRC polynomials, the maximum number of bits of the polynomial limited only by the design of the circuit becomes. In practice, however, it will offer a maximum Bit number of 32 or 64 to set.
Es ist vorteilhaft, wenn die Logikschaltung eine Schnittstellenfunktionalität, beispielsweise eine API, bereitstellt. Dieses Verfahren ermöglicht die schnelle Berechnung von CRC-Prüfwerten insbesondere von Datenblöcken in einem Datentelegramm an variablen Positionen. Die Logikschaltung kann als integrierte Schaltung oder Teil einer integrierten Schaltung ausgebildet sein. Sie kann ebenso als ASIC oder FPGA usw. ausgebildet sein. Im Stand der Technik bestehen Logikschaltungen in den meisten Fällen nicht mehr wie früher aus festverdrahteter Logik, sondern aus flexibel programmierbaren Bausteinen (FPGAs, EPLDs, ASICs, Gate Arrays usw.). Diese Bausteine beinhalten typenabhängig keine vorbestimmten Logikfunktionalitäten, sondern stellen eine Art ”Logikbaukasten” bereit. Durch Programmierung dieser Bausteine kann eine erwünschte Funktionalität vorgegeben werden.It is advantageous if the logic circuit has an interface functionality, for example, an API. This procedure allows the fast calculation of CRC test values in particular of data blocks in a data telegram at variable positions. The logic circuit can be an integrated circuit or part of a be formed integrated circuit. It can also be called ASIC or FPGA, etc. may be formed. In the prior art there are logic circuits in most cases not anymore like before hard-wired logic, but from flexibly programmable components (FPGAs, EPLDs, ASICs, Gate Arrays, etc.). These blocks include Depending on the type, no predetermined logic functionalities, but provide a kind of "logic kit" ready. By programming these blocks, a desired Functionality can be specified.
Herkömmliche Logikbausteine weisen eine vorbestimmte, herstellungs- oder typenbedingte Kapazität auf. In vielen Fällen sind bei bestehenden Schaltungen bereits Logikbausteine vorhanden, deren Kapazität noch nicht vollständig belegt ist. In diesem Fall kann die erfindungsgemäße Logikschaltung besonders vorteilhaft implementiert werden, da nur geringe oder keine schaltungstechnischen Veränderungen notwendig sind. Damit kann eine Kosteneinsparung erreicht werden. Bei der Datenübertragung werden die Datenblöcke an die Logikschaltung übergeben, die dann selbständig die entsprechenden CRC-Prüfwerte berechnet. Die Übergabe kann beispielsweise seriell oder parallel, über Register usw. erfolgen.conventional Logic modules have a predetermined, manufacturing or type-related Capacity up. In many cases, existing circuits are Logic modules already exist whose capacity is still not fully occupied. In this case, the inventive Logic circuit can be implemented particularly advantageous because only small or no circuit changes necessary are. Thus, a cost saving can be achieved. In the Data transfer to the data blocks to the Logic circuit passed, which then independently calculated the corresponding CRC test values. The handover can for example be serial or parallel, via registers etc. take place.
Die Prüfsumme eines Datenstroms kann bit- oder byteweise usw. berechnet und vom Sender an die Daten angehängt werden. Die Berechung der Prüfsumme an sich erfolgt vorzugsweise über bekannte Methoden, insbesondere Verwendung von Schieberegistern zur Verarbeitung eines Bit-Datenstroms, wie es bspw. im zitierten Stand der Technik beschrieben ist. Zweckmäßigerweise wird das höchstwertiges Bit des Schieberegisters durch die Schaltmittel definiert. Vorteilhafterweise weisen die Schaltmittel dazu wenigstens einen Multiplexer auf, an den wenigstens zwei Bits des Schieberegisters geführt werden. Weiterhin umfassen die Berechnungsmittel zweckmäßigerweise wenigstes wenigstens ein XOR-Gatter. Mittels XOR-Gattern kann eine Polynomdivision besonders leicht in Hardware implementiert werden. Die Längenabhängigkeit kann dann beispielsweise dadurch erreicht werden, dass eines der Bits des Schieberegisters über den Multiplexer ausgewählt und als Rückkopplung in den XOR-Block geführt wird. Bei einer 32bit-Prüfsumme benötigt der Multiplexer dann bspw. fünf Steuereingänge, die einen von 2^5 (= 32) Eingängen als rückzukoppelndes CRC-Registerbit auswählen. Alternativ könnte auch eine Kette von 31 AND-Gattern verwendet werden, wobei jedes AND-Gatter zwei Eingänge aufweist, an denen jeweils ein CRC-Registerbit und ein konfigurierbares Bit anliegt. In diesem Fall benötigt man bspw. 31 Steuerbits (anstatt 5 Steuerbits im Vergleich bei einem MUX), von denen nur genau ein einziges UND-Glied mit einer ”1” versehen wird, alle anderen haben den Wert ”0”.The checksum of a data stream can be calculated in bits or bytes, etc., and attached to the data by the sender. The calculation of the checksum per se is preferably done over be knew methods, in particular use of shift registers for processing a bit data stream, as described, for example, in the cited prior art. Conveniently, the most significant bit of the shift register is defined by the switching means. Advantageously, the switching means for this purpose at least one multiplexer, are passed to the at least two bits of the shift register. Furthermore, the calculating means expediently comprise at least one XOR gate. By means of XOR gates, a polynomial division can be implemented particularly easily in hardware. The length dependence can then be achieved, for example, by selecting one of the bits of the shift register via the multiplexer and feeding it as feedback into the XOR block. For example, with a 32-bit checksum, the multiplexer requires five control inputs that select one of 2 ^ 5 (= 32) inputs as the CRC register bit to feed back. Alternatively, a chain of 31 AND gates could be used, with each AND gate having two inputs, each with a CRC register bit and a configurable bit. In this case one needs, for example, 31 control bits (instead of 5 control bits in comparison with a MUX), of which only exactly one AND gate is provided with a "1", all others have the value "0".
Vorzugsweise weist die Logikschaltung einen Eingang zur Aufnahme eines Initialisierungswerts bzw. Startwerts für das Schieberegister auf. In Abhängigkeit vom verwendeten CRC-Polynom haben sich haben sich verschiedene Initialisierungswerte als vorteilhaft erwiesen, die vorteilhaft der Logikschaltung ebenfalls von außen zuführbar sind. Beispielsweise wird bei CRC-16 nach CCITT mit dem Polynom x^16 + x^12 + x^5 + 1 als Startwert ”1” in jedem Registerbit verwendet. Der Startwert kann aber auch jeden beliebigen Wert, insbesondere auch ”0” annehmen.Preferably the logic circuit has an input for receiving an initialization value or start value for the shift register. Dependent on The used CRC polynomial has different initialization values proved to be advantageous, the advantageous of the logic circuit also be fed from the outside. For example for CRC-16 according to CCITT with the polynomial x ^ 16 + x ^ 12 + x ^ 5 + 1 as Start value "1" used in each register bit. The starting value can also be any value, in particular also accept "0".
Vorteilhafterweise ist wenigstens ein vorbestimmtes CRC-Polynom integriert ist. Es bietet sich an, die für den geplanten Verwendungszweck benötigten und/oder die bekannten, bei der Beschreibung des Stands der Technik genannten Polynome bereits fest in die Schaltung zu integrieren, wodurch insbesondere der externe Schaltungsaufwand reduziert werden kann. Insbesondere kann eine Auswahlmöglichkeit vorgesehen sein, um eines der vorbestimmten CRC-Polynome zur Verwendung auszuwählen. Ebenso ist möglich, nur ein vorbestimmtes CRC-Polynom zu integrieren, das bspw. dann automatisch verwendet wird, wenn kein frei vorgebbares CRC-Polynom am Eingang anliegt. Es bietet sich an, zu jedem vorbestimmten CRC-Polynom auch einen initialisierungswert vorzubestimmen.advantageously, At least one predetermined CRC polynomial is integrated. It lends itself to the intended use needed and / or the known, in the description of the Prior art polynomials already firmly in the circuit to integrate, which in particular the external circuitry can be reduced. In particular, a choice may be made be provided to use one of the predetermined CRC polynomials for use select. It is also possible, only a predetermined one Integrate CRC polynomial, which, for example, then used automatically if no freely specifiable CRC polynomial is present at the input. It makes sense, for each predetermined CRC polynomial also one to predetermine initialization value.
Es ist zweckmäßig, wenn eine Länge des CRC-Polynoms extern vorgebbar ist. Ebenso ist es möglich, die Länge des extern vorgegebenen CRC-Polynoms innerhalb der Schaltung zu bestimmen, wobei jedoch durch die externe Vorgabe der Länge die Komplexität der Schaltung vermindert werden kann. Durch die Bestimmung der Länge innerhalb der Schaltung ist es möglich, den externen Schaltungsaufwand zu vermindern.It is useful if a length of the CRC polynomial can be specified externally. It is also possible to change the length of the externally given CRC polynomial within the circuit determine, but by the external specification of the length the complexity of the circuit can be reduced. By the determination of the length within the circuit is it possible to reduce the external circuit complexity.
Es ist besonders zweckmäßig, wenn die erfindungsgemäße Logikschaltung in einen Kommunikationscontroller integriert ist. Kommunikationscontroller werden für die Datenübertragung verwendet und stellen verschiedene Funktionalitäten für die Datenübertragung bereit. Durch die zusätzliche Integration der Logikschaltung kann eine vorteilhafte Platzersparnis erzielt werden. Es versteht sich, dass die erfindungsgemäße Logikschaltung ebenso in andere Logikbausteine integrierbar ist.It is particularly useful when the inventive Logic circuit is integrated in a communication controller. Communication controllers are used for data transmission used and set different functionalities for the data transfer ready. By the additional Integration of the logic circuit can be a beneficial space saver be achieved. It is understood that the inventive Logic circuit can also be integrated into other logic devices.
Ebenso vorteilhaft ist es, wenn die erfindungsgemäße Logikschaltung als integrierter Schaltungsbaustein ausgebildet ist. Dadurch kann sie zusätzlich zu vorhandenen Bausteinen oder Controllern verwendet werden und in bestehende Systeme eingesetzt werden.As well It is advantageous if the inventive Logic circuit is designed as an integrated circuit module. This allows it in addition to existing building blocks or Controllers are used and used in existing systems become.
Es ist zweckmäßig, wenn die erfindungsgemäße Logikschaltung für ethernetbasierte Datenübertragung verwendet wird. Ethernetbasierte Datenübertragung ist mittlerweile weit verbreitet und bildet eine Standardausführungsform der Datenübertragung. Die erfindungsgemäße Logikschaltung kann vorteilhaft in bestehende Systeme integriert werden.It is useful if the inventive Logic circuit for Ethernet-based data transmission is used. Ethernet-based data transmission is now widely used and forms a standard embodiment the data transmission. The inventive Logic circuitry can be advantageously integrated into existing systems become.
In einer besonders bevorzugten Ausführungsform wird die erfindungsgemäße Logikschaltung in einem Feldbus-Netzwerk, insbesondere in einem Netzwerk nach einem SERCOS-Standard verwendet. Beispielsweise kann ein Netzwerk nach dem SERCOS III-Standard verwendet werden, der die Verwendung von Ethernet-Komponenten bei einer SERCOS-Verbindung erlaubt.In In a particularly preferred embodiment, the inventive Logic circuit in a fieldbus network, in particular in one Network used according to a SERCOS standard. For example, can a network to be used according to the SERCOS III standard, the the use of Ethernet components in a SERCOS connection allowed.
Zweckmäßigerweise wird die erfindungsgemäße Logikschaltung für Echtzeitdatenübertragung bzw. Echtzeitkommunikation verwendet. Besonders bei der Echtzeitkommunikation wirkt sich die beschleunigte CRC-Prüfwertberechnung vorteilhaft aus.Conveniently, the logic circuit according to the invention for Real-time data transmission or real-time communication used. Especially with real-time communication, the accelerated effect CRC check value calculation advantageous.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further Advantages and embodiments of the invention will become apparent from the Description and attached drawing.
Es versteht sich, daß die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the features mentioned above and those yet to be explained not only in the combination specified, but also in other combinations or alone, without the To leave the scope of the present invention.
Figurenbeschreibungfigure description
Im Folgenden sollen die Erfindung und insbesondere deren Vorteile anhand eines in den Figuren dargestellten Ausführungsbeispiels näher erläutert werden.in the The following is intended to illustrate the invention and in particular its advantages an embodiment shown in the figures be explained in more detail.
Es zeigtIt shows
In
Im
Verfahrensschritt
Im
Schritt
Im
Verfahrensschritt
In
In
Schritt
Im
Verfahrensschritt
Durch die Verwendung einer erfindungsgemäß Logikschaltung können insbesondere Kommunikationscontroller bereitgestellt werden, die für unterschiedliche Übertragungsprotokolle, insbesondere unterschiedliche Feldbussysteme, geeignet sind. Beispielsweise wird bei einem SERCOS I/II- oder CAN-Bus eine 16bit-Prüfsumme verwendet, wohingegen bei einem SERCOS III, safety SERCOS oder EtherCAT-Bus eine 32bit-Prüfsumme verwendet wird.By the use of a logic circuit according to the invention In particular, communication controllers can be provided be used for different transmission protocols, especially different fieldbus systems are suitable. For example becomes a 16bit checksum on a SERCOS I / II or CAN bus whereas in a SERCOS III, safety SERCOS or EtherCAT bus a 32bit checksum is used.
In
An
den Eingang
Die
Eingabedatenblöcke
Vorzugsweise
kann auch ein Startwert für ein Schieberegister innerhalb
der Logikschaltung
Die
Eingabedatenblöcke
Die
Logikschaltung
Auf
diese Weise kann eine schnelle CRC-Prüfwertberechnung für
variable Datenblöcke erreicht werden, wie sie insbesondere
bei einer Datenübertragung nach dem SERCOS III-Standard
auftreten, wie näher anhand
In
Bei SERCOS handelt es sich um eine standardisierte Servoantriebsschnittstelle mit Feldbuskopplern. Das Anwendungsspektrum umfasst neben spanenden Bearbeitungstechnologien auch andere Automatisierungslösungen z. B. auf dem Gebiet der Montageroboter, sowie von Druck- und Verpackungsmaschinen.at SERCOS is a standardized servo drive interface with fieldbus couplers. The range of applications includes machining Machining technologies also other automation solutions z. As in the field of assembly robots, as well as printing and packaging machines.
Der Zugriff auf das Übertragungsmedium wird durch ein Zeitschlitzverfahren realisiert. Dabei wird jedem Teilnehmer ein Zeitpunkt zugeordnet, an dem er exklusiv das Zugriffsrecht auf das Übertragungsmedium besitzt.Of the Access to the transmission medium is by a time slot method realized. Each participant is assigned a time, on which he exclusively the right of access to the transmission medium has.
Der Kommunikationszyklus wird durch das Mastersynchronisationstelegramm (MST) des Masters, z. B. ein Steuerungssystem, gestartet. Die Slaves, z. B. Antriebssysteme oder E/A-Stationen, senden nacheinander jeweils ein Antriebstelegramm (AT) mit ihren momentanen Istwerten. Im Anschluss sendet der Master das Masterdatentelegramm (MDT) mit den Sollwerten. Dieser Ablauf wiederholt sich in jedem Kommunikationszyklus. Alle Datentelegramme werden von allen Slaves empfangen. Ein MDT enthält daher Daten für alle anzusteuernden Slaves.Of the Communication cycle is through the master synchronization telegram (MST) of the master, z. As a control system started. The slaves, z. For example, drive systems or I / O stations send one at a time a drive telegram (AT) with its current actual values. Subsequent sends the master sends the master data telegram (MDT) with the setpoints. This Sequence repeats itself in every communication cycle. All data telegrams are received by all slaves. An MDT therefore contains Data for all the slaves to be controlled.
Ein
MDT Feld (MDT data field)
In
dem gezeigten Beispiel weist der. Bereich
Abhängig
vom Verwendungszweck der angesprochenen Slaves weisen die Bereiche
In
dem gezeigten Beispiel, weist der Bereich
Der
Bereich
In
den Bereichen
Im
Stand der Technik werden die CRC-Prüfwerte für
die Bereiche
Aus diesen Gründen müssen die CRC-Prüfwerte in jedem Übertragungszyklus erneut berechnet werden. Dies nimmt in jedem Übertragungszyklus eine lange Zeitdauer in Anspruch.Out For these reasons, the CRC test values be recalculated in each transmission cycle. This takes a long time in every transmission cycle to complete.
Durch Verwendung einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens zur Berechnung der CRC-Prüfwerte, die in die variierenden Bereichen ”SDC” hinzugefügt werden, kann eine wesentliche Zeitersparnis erreicht werden.By Use of a preferred embodiment of the invention Method for calculating the CRC test values included in the varying areas "SDC" added can be achieved, a significant time savings.
In
Die
Nachricht wird einem Schieberegister innerhalb der Logikschaltung
Die
Logikschaltung
Optional weist die Logikschaltung auch einen Eingang (nicht gezeigt) zur Aufnahme eines Presets bzw. Initialisierungswertes für das Schieberegisters auf. In Abhängigkeit vom verwendeten CRC-Polynom haben sich haben sich verschiedene Initialisierungswerte als vorteilhaft erwiesen, die vorteilhaft der Logikschaltung ebenfalls von außen zuführbar sind.optional the logic circuit also has an input (not shown) Recording a preset or initialization value for the shift register. Depending on the used CRC polynomial have become different initialization values proved to be advantageous, the advantageous of the logic circuit also be fed from the outside.
Zur
Bestimmung des CRC-Prüfwerts ist jedes der Polynombits
Erfindungsgemäß können
in der Logikschaltung
Am
Ende der Berechnung des CRC-Prüfwerts ist dieser in den
Bits
Obwohl
in der dargestellten Ausführungsform die Länge
des CRC-Polynoms über den Eingang
Es
versteht sich, dass in den dargestellten Figuren nur beispielhafte
Ausführungsformen der Erfindung dargestellt ist. Daneben
ist jede andere Ausführungsform denkbar, ohne den Rahmen
dieser Erfindung zu verlassen. Beispielsweise kann die Funktionalität
der AND-Gatter in
- 101–103101-103
- Verfahrensschrittstep
- 110–112110-112
- Verfahrensschrittstep
- 200200
- Logikschaltunglogic circuit
- 201201
- Eingangentrance
- 202202
- Ausgangoutput
- 203203
- Eingabedateninput data
- 203a–203e203a-203e
- EingabedatenblockInput data block
- 204204
- Ausgabedatenoutput data
- 204a–204d204a-204d
- AusgabedatenblockOutput data block
- 300300
- MDT FeldMDT field
- 301301
- MDT hotplug fieldMDT hotplug field
- 302302
- MDT service channel fieldMDT service channel field
- 303303
- MDT realtime data fieldMDT real-time data field
- 304304
- realtime data 1realtime data 1
- 304a304a
- standard realtime data 1default realtime data 1
- 304b304b
- safe data container 1safe data container 1
- 305305
- realtime data 2realtime data 2
- 305a305a
- standard realtime data 2default realtime data 2
- 306306
- realtime data 3realtime data 3
- 306a306a
- standard realtime data 3default realtime data 3
- 306b306b
- safe data container 3safe data container 3
- 400400
- Logikschaltunglogic circuit
- 401, 402, 403401 402, 403
- Eingangentrance
- 404404
- Ausgangoutput
- 411–416411-416
- GeneratorpolynombitsGeneratorpolynombits
- 421–426421-426
- SchieberegisterbitsShift register
- 430430
- Multiplexermultiplexer
- &&
- AND-GatterAND gate
- = 1= 1
- XOR-GatterXOR gate
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- - US 4723243 [0005] US 4723243 [0005]
- - US 6253346 B1 [0005] - US 6253346 B1 [0005]
Claims (13)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200810045813 DE102008045813A1 (en) | 2008-09-05 | 2008-09-05 | Logic circuit for calculating CRC test values |
PCT/EP2009/004427 WO2010025786A1 (en) | 2008-09-05 | 2009-06-19 | Logic circuit for calculating crc test values |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200810045813 DE102008045813A1 (en) | 2008-09-05 | 2008-09-05 | Logic circuit for calculating CRC test values |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102008045813A1 true DE102008045813A1 (en) | 2010-03-11 |
Family
ID=41319526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200810045813 Ceased DE102008045813A1 (en) | 2008-09-05 | 2008-09-05 | Logic circuit for calculating CRC test values |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102008045813A1 (en) |
WO (1) | WO2010025786A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4723243A (en) | 1985-12-02 | 1988-02-02 | Advanced Micro Devices, Inc. | CRC calculation machine with variable bit boundary |
US6253346B1 (en) | 1997-11-29 | 2001-06-26 | Korea Telecommunication Authority | Data transmission circuit having cyclic redundancy check circuit and data rate control circuit |
DE102005029515A1 (en) * | 2005-06-25 | 2006-12-28 | Bosch Rexroth Aktiengesellschaft | Method for calculating CRC test values and logic circuit |
WO2007008419A1 (en) * | 2005-07-13 | 2007-01-18 | Microchip Technology Incorporated | Method and apparatus for configuring a cyclic redundancy check (crc) generation circuit to perform crc on a data stream |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128760A (en) * | 1998-10-13 | 2000-10-03 | Lsi Logic Corporation | Method and apparatus for calculating a CRC remainder |
US6701480B1 (en) * | 2000-03-08 | 2004-03-02 | Rockwell Automation Technologies, Inc. | System and method for providing error check and correction in memory systems |
-
2008
- 2008-09-05 DE DE200810045813 patent/DE102008045813A1/en not_active Ceased
-
2009
- 2009-06-19 WO PCT/EP2009/004427 patent/WO2010025786A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4723243A (en) | 1985-12-02 | 1988-02-02 | Advanced Micro Devices, Inc. | CRC calculation machine with variable bit boundary |
US6253346B1 (en) | 1997-11-29 | 2001-06-26 | Korea Telecommunication Authority | Data transmission circuit having cyclic redundancy check circuit and data rate control circuit |
DE102005029515A1 (en) * | 2005-06-25 | 2006-12-28 | Bosch Rexroth Aktiengesellschaft | Method for calculating CRC test values and logic circuit |
WO2007008419A1 (en) * | 2005-07-13 | 2007-01-18 | Microchip Technology Incorporated | Method and apparatus for configuring a cyclic redundancy check (crc) generation circuit to perform crc on a data stream |
Also Published As
Publication number | Publication date |
---|---|
WO2010025786A1 (en) | 2010-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0847165B1 (en) | Digital data transmission network and method for operating a data transmission network | |
DE68925889T2 (en) | CONTROL DEVICE IN ROW | |
DE3802254C2 (en) | ||
DE102010025515A1 (en) | Communication system for connecting field devices with a higher-level control device | |
EP1631013B1 (en) | Main station and auxiliary station in a switched data network and method for transmitting data in such a network | |
DE1537146B2 (en) | METHOD FOR TRANSMISSION OF SIGNALS FROM SEVERAL TRANSMISSION CHANNELS | |
DE2736967C3 (en) | Telecontrol arrangement | |
DE112007000820B4 (en) | Highly responsive master-slave valve setting | |
EP1461910A1 (en) | Cyclical time-based communication system, user in such a system and transmission method | |
EP0017835B1 (en) | Circuitry for controlling the transmission of digital signals, especially pcm signals, between connection points of a time division multiplexing telecommunication network, especially a pcm network | |
EP0732823B1 (en) | Method for clock recovery of a digital signal on the reception side | |
EP1737132A1 (en) | Method for calculation of CRC-checksums and logic device | |
EP3632049B1 (en) | Status signal output | |
DE102008045813A1 (en) | Logic circuit for calculating CRC test values | |
EP3157201A1 (en) | Timed cut-through method for data transport in distributed real time systems | |
DE102008037610A1 (en) | Device and method for the selective switching of two masters for assigned slaves | |
EP3632016B1 (en) | Embedded cyclical redundancy check values | |
EP2605457A1 (en) | Method for transferring user data | |
DE102010063528B4 (en) | Method for connecting bus lines to buses and device for carrying out the method | |
EP0720411B1 (en) | Method and system for policing an ATM-cell stream | |
DE102014019032A1 (en) | Numerical control system | |
DE2163105A1 (en) | PROCEDURE AND CIRCUIT ARRANGEMENT FOR DECODING AND CORRECTING A SO-CALLED CONVOLUTIONAL CODE | |
EP3632066B1 (en) | Pre-loading of instructions | |
EP1176764B1 (en) | Method of operating a data transmission network | |
DE4123007A1 (en) | Data rate matching method using packing data - storing input words in registers of buffer memory, controlling multiplexer w.r.t. number of bits in output word and varying bits in synchronising word |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20120322 |