<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.5//EN" "ep-patent-document-v1-5.dtd">
<!-- This XML data has been generated under the supervision of the European Patent Office -->
<ep-patent-document id="EP15163875B1" file="EP15163875NWB1.xml" lang="de" country="EP" doc-number="2962853" kind="B1" date-publ="20200219" status="n" dtd-version="ep-patent-document-v1-5">
<SDOBI lang="de"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTRBGCZEEHUPLSK..HRIS..MTNORS..SM..................</B001EP><B005EP>J</B005EP><B007EP>BDM Ver 1.7.2 (20 November 2019) -  2100000/0</B007EP></eptags></B000><B100><B110>2962853</B110><B120><B121>EUROPÄISCHE PATENTSCHRIFT</B121></B120><B130>B1</B130><B140><date>20200219</date></B140><B190>EP</B190></B100><B200><B210>15163875.6</B210><B220><date>20140814</date></B220><B240><B241><date>20180326</date></B241><B242><date>20181122</date></B242></B240><B250>de</B250><B251EP>de</B251EP><B260>de</B260><B270><dnum><anum>14002837</anum></dnum><date>20140814</date><ctry>EP</ctry></B270></B200><B300><B310>202013007283 U</B310><B320><date>20130814</date></B320><B330><ctry>DE</ctry></B330></B300><B400><B405><date>20200219</date><bnum>202008</bnum></B405><B430><date>20160106</date><bnum>201601</bnum></B430><B450><date>20200219</date><bnum>202008</bnum></B450><B452EP><date>20190828</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>B41J   2/175       20060101AFI20170818BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>STEUERMODUL MIT EINEM INTEGRIERTEN ELEKTRONISCHEN SCHALTKREIS ZUR ANBRINGUNG AUF EINER VERBRAUCHSMATERIALKARTUSCHE</B542><B541>en</B541><B542>CONTROL MODULE WITH AN INTEGRATED ELECTRONIC CIRCUIT FOR ATTACHMENT TO A CONSUMABLE MATERIAL CARTRIDGE</B542><B541>fr</B541><B542>MODULE DE COMMANDE DOTÉ D'UN CIRCUIT INTÉGRÉ ÉLECTRONIQUE POUR APPLICATION SUR UNE CARTOUCHE DE CONSOMMABLE</B542></B540><B560><B561><text>EP-A1- 1 136 268</text></B561><B561><text>EP-A1- 1 222 523</text></B561><B561><text>EP-A1- 2 361 770</text></B561><B561><text>EP-A1- 2 719 538</text></B561><B561><text>WO-A1-2009/145775</text></B561><B561><text>JP-A- 2009 140 104</text></B561><B561><text>JP-A- 2012 084 043</text></B561></B560></B500><B600><B620><parent><pdoc><dnum><anum>14002837.4</anum></dnum><date>20140814</date></pdoc></parent></B620></B600><B700><B720><B721><snm>Franke, Andreas</snm><adr><str>Lindenweg 17</str><city>58239 Schwerte</city><ctry>DE</ctry></adr></B721><B721><snm>Bank, Gerald</snm><adr><str>In der Meile 23</str><city>44379 Dortmund</city><ctry>DE</ctry></adr></B721></B720><B730><B731><snm>Artech GmbH 
design + production in plastic</snm><iid>100079213</iid><irf>P70364aEP</irf><adr><str>Feldbachacker 10</str><city>44149 Dortmund</city><ctry>DE</ctry></adr></B731></B730><B740><B741><snm>Richly &amp; Ritschel Patentanwälte PartG mbB</snm><iid>101424550</iid><adr><str>Postfach 100411</str><city>51404 Bergisch Gladbach</city><ctry>DE</ctry></adr></B741></B740></B700><B800><B840><ctry>AL</ctry><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MK</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>NO</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>RS</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>SM</ctry><ctry>TR</ctry></B840><B880><date>20170927</date><bnum>201739</bnum></B880></B800></SDOBI>
<description id="desc" lang="de"><!-- EPO <DP n="1"> -->
<p id="p0001" num="0001">Die vorliegende Erfindung bezieht sich auf ein Steuermodul mit einem integrierten elektronischen Schaltkreis zur Anbringung auf einer Verbrauchsmaterialkartusche, zumindest umfassend die über Prozessorbusleitungen miteinander verbundenen Funktionsblöcke:
<ul id="ul0001" list-style="bullet" compact="compact">
<li>Prozessorkern mit programmierbarem Codespeicher,</li>
<li>lesbarer und wiederbeschreibbarer Datenspeicher,</li>
<li>serielle bidirektionale Schnittstelle.</li>
</ul></p>
<p id="p0002" num="0002">Eine Verbrauchsmaterialkartusche, beispielsweise eine Tinten- oder Tonerkartusche für einen Drucker mit einem derartigen Steuermodul ist ebenfalls Gegenstand der Erfindung.</p>
<p id="p0003" num="0003">Im Stand der Technik sind Drucker, beispielsweise Tintenstrahl- und Laser-Drucker, in einer Vielzahl von unterschiedlichen Ausführungsformen bekannt. Zur Versorgung mit Verbrauchsmaterial werden in der Regel austauschbare Einweg-Verbrauchsmaterialbehälter, sogenannte Verbrauchsmaterialkartuschen verwendet, beispielsweise Tinten- oder Tonerkartuschen, welche im Folgenden kurz als Kartuschen bezeichnet werden. Diese werden zum Betrieb in entsprechende Kartuschenaufnahmevorrichtungen in dem Drucker eingesetzt. Wenn eine Kartusche leer ist, wird sie aus dem Drucker entnommen, entsorgt und durch eine gefüllte Kartusche ersetzt, oder mit Verbrauchsmaterial wiederbefüllt.</p>
<p id="p0004" num="0004">Üblicherweise werden Kartuschen mit einem elektronischen Steuermodul versehen, welches zur Authentifizierung der Kartusche dient und zur Speicherung spezifischer Daten einen wiederbeschreibbaren Datenspeicher enthält. Das Steuermodul ist mit elektrischen Kontaktelementen verbunden, das sind von außen zugängliche<!-- EPO <DP n="2"> --> Kontaktflächen. Wird eine Kartusche in einen Drucker eingesetzt, treffen sie auf Drucker-Kontaktelemente, die sich in der Kartuschenaufnahmevorrichtung des Druckers befinden. Die Drucker-Kontaktelemente sind intern mit den Steuerleitungen des Druckers verbunden, über die von dem Drucker neben der Versorgungsspannung nach einem seriellen Datenübertragungsprotokoll auch Datensignale übertragen werden. Auf diese Weise können vom Drucker Daten aus dem Speicherelement der Tintenkartusche ausgelesen werden, beispielsweise zu Typ, Kapazität, Tinte, Toner, Farbe etc., und es können Daten in den Speicher geschrieben werden, beispielsweise zum aktuellen Rest-Tintenfüllstand. Dadurch kann ein Nutzer jederzeit über den aktuellen Tintenfüllstand einer Tintenkartusche informiert und gegebenenfalls aufgefordert werden, eine leere oder in Kürze verbrauchte Kartusche rechtzeitig zu ersetzen.</p>
<p id="p0005" num="0005">Während zu Beginn der Entwicklung einfache Ausführungen von Steuermodulen in Form von Speicherbausteinen verwendet wurden, die im Wesentlichen aus Speicherzellen und einer fest vorgegebenen Ein-/Ausgabe-Steuerlogik bestanden, werden aktuell fortgeschrittene Entwicklungen benutzt, bei denen komplexere Datenoperationen ausgeführt werden und der Datenaustausch mit einem Drucker über speziell angepasste Schnittstellen erfolgt. Die wesentlichen elektronischen Funktionen eines derartigen komplexen Steuermoduls werden aus Effizienz- und Kostengründen in einem integrierten Schaltkreis zusammengefasst, einem monolithischen Bauelement, welches auf einem Halbleitersubstrat ausgebildete digitale Funktionsblöcke aufweist, die über einen internen Prozessorbus (Bus) miteinander kommunizieren. Zu den wesentlichen Funktionsblöcken zählen ein Prozessorkern einschließlich Programmcode-Speicher (Codespeicher), lesbare und/oder wiederbeschreibbare Speicherbereiche sowie eine serielle bidirektionale Schnittstelle zur Datenkommunikation. Zum Anschluss der Stromversorgung sowie für den Datenaustausch mit dem Drucker weist der Schaltkreis nach außen herausgeführte Kontaktelemente (pins) auf, die mit den Kontaktelementen des Steuermoduls verbunden sind.</p>
<p id="p0006" num="0006">Der wesentliche Zweck der Steuermodule besteht heute darin, die Benutzer der Drucker an die ausschließliche Verwendung des jeweils passenden Verbrauchsmaterials, zum Beispiel Original-Tintenkartuschen des jeweiligen<!-- EPO <DP n="3"> --> Druckerherstellers zu binden. Hierzu werden die Halbleiterspeichermittel in zunehmendem Maße mit komplexen logischen Schaltungen zur Authentifizierung ausgerüstet, die auch kryptographische Datenverschlüsselungseinrichtungen aufweisen. Dadurch ist es technisch aufwendig, kompatible Ersatz-Tintenkartuschen bereitzustellen, auch wenn tatsächlich nur der Tintenfüllstand auf den Tintenkartuschen gespeichert werden soll. Ein derartiges Steuermodul ist beispielsweise in der <patcit id="pcit0001" dnum="WO2009145775A1"><text>WO2009145775A1</text></patcit> beschrieben.</p>
<p id="p0007" num="0007">Ein weiteres Problem für die Bereitstellung von Ersatz-Kartuschen ergibt sich daraus, dass jeder Druckerhersteller eigene, nicht standardisierte Datenübertragungsprotokolle anwendet. So wird in der <patcit id="pcit0002" dnum="EP1736318A2"><text>EP 1 736 318 A2</text></patcit> ein Steuermodul beschrieben, welches eine Schnittstelle mit zwei Stromversorgungs- und zwei Datenübertragungsleitungen aufweist sowie eine Lichtemissionssteuerschaltung zur optischen Datenübertragung an den Drucker, die ebenfalls von dem integrierten Schaltkreis gesteuert wird. Das aus der <patcit id="pcit0003" dnum="EP2361770A1"><text>EP 2 361 770 A1</text></patcit> bekannte Steuermodul eines anderen Druckerherstellers hat drei Daten- und zwei Stromversorgungsleitungen, ein weiterer Druckerhersteller verwendet gemäß der <patcit id="pcit0004" dnum="EP2607082A1"><text>EP 2 607 082 A1</text></patcit> insgesamt drei kombinierte Daten-Stromversorgungsleitungen.</p>
<p id="p0008" num="0008">Angesichts der vorangehend erläuterten Probleme im Stand der Technik liegt der Erfindung die Motivation zugrunde, ein Steuermodul mit den oben genannten Merkmalen zur Verfügung zu stellen, das flexibel unterschiedliche Authentifizierungsverfahren ausführen kann und an eine Vielzahl von unterschiedlichen Datenübertragungsprotokollen und physisch unterschiedlichen Schnittstellen anpassbar ist.</p>
<p id="p0009" num="0009">Zur Lösung der vorgenannten Problematik wird erfindungsgemäß vorgeschlagen, dass
<ul id="ul0002" list-style="bullet" compact="compact">
<li>der Prozessorkern als cryptRISC-Prozessorkern ausgebildet ist, der eine RISC-Prozessorarchitektur mit zusätzlichen kryptographischen Befehlen aufweist, und</li>
<li>die bidirektionale Schnittstelle bezüglich der Beschaltung der Kontaktelemente (pins) und der eingesetzten Datenübertragungsprotokolle frei programmierbar ausgebildet ist, und<!-- EPO <DP n="4"> --></li>
<li>das Steuermodul eine Kontaktplatte mit einer anpassbaren Kontaktgeometrie umfasst.</li>
</ul></p>
<p id="p0010" num="0010">Die Besonderheit der Erfindung besteht darin, dass ein für die spezifische Anwendung - nämlich kryptographisch verschlüsseltem Datenaustausch - besonders gut geeigneter, dabei hoch effizienter Prozessorkern verwendet wird, der über eine in weiten Grenzen programmierbaren, d.h. frei konfigurierbaren Schnittstelle (interface) mit einem Drucker kommunizieren kann.</p>
<p id="p0011" num="0011">Der erfindungsgemäß eingesetzte cryptRISC-Prozessorkern ist vom Grundsatz her ein RISC (Reduced Instruction Set Computer)-Prozessor, d.h. ein Prozessor mit einem reduzierten Befehlssatz, der ein einfaches und kostengünstiges Chipdesign und eine hohe Arbeitsgeschwindigkeit (Taktfrequenz) ermöglicht. Beim cryptRISC-Design wird dieser Ansatz weiter verfolgt, wobei der Befehlssatz um typische in kryptographischen Verfahren genutzte Befehle (Krypto-Befehle) erweitert wird. Ein typischer Befehlssatz umfasst beispielsweise die folgenden Befehle: Permutation (Bit-orientiert, Byteorlentiert), Multiplikation/Division, Galois-Feld-Arithmetik (Matrix-Multiplikation, Inverse Multiplikation), Affine und Invers Affine Transformation, Rotation, Verschiebung (shifting), Tabellenoperationen (Table look-up: 4/8/32-bit substitution), Arithmetische Operationen (ADD, SUB) und Logische Operationen (XOR, OR, AND, NOT). Gegebenenfalls können noch weitere spezifische Befehle zur Unterstützung spezieller Kryptographieverfahren implementiert werden. Der besondere Vorteil eines derartigen cryptRISC-Prozessorkerns ist, dass gängige kryptographische Algorithmen wie DES (Data Encryption Standard), AES (Advanced Encryption Standard) oder SHA (secure hash algorithm) hoch effizient durchgeführt werden können. Dank der integrierten Krypto-Befehle kann mit einem cryptRISC-Prozessorkern eine deutlich höhere Verarbeitungsgeschwindigkeit erreicht werden als mit einem herkömmlichen Prozessor. Dies ist für die Anwendung in einem Steuermodul für Verbrauchsmaterialkartuschen von besonderer Bedeutung, da in dieser speziellen Anwendung die Datenübertragungsgeschwindigkeit in der Regel so hoch ist, dass einfache, auf Standard-Mikrocontrollem basierte Ersatzlösungen nicht funktionieren.</p>
<p id="p0012" num="0012">Weitere Vorteile von cryptRISC-Prozessorkernen sind, dass sie flexibel zur Verarbeitung unterschiedlichster Datenübertragungsprotokolle programmiert werden<!-- EPO <DP n="5"> --> können und zudem kostengünstig als ASIC (Application Specific Integrated Circuit) realisiert werden können.</p>
<p id="p0013" num="0013">Ein weiterer wesentlicher Vorteil der Erfindung ergibt sich daraus, dass die Schnittstelle durch entsprechende Programmierung in weiten Grenzen frei konfigurierbar ist. Dies betrifft einerseits die physischen Anschlüsse, wie etwa die unterschiedliche Anzahl und Belegung der Daten- und Versorgungsspannungsleitungen in unterschiedlichen Druckertypen (siehe oben). Andererseits kann die Datenverarbeitung durch entsprechende Programmierung an die unterschiedlichsten Datenübertragungsprotokolle angepasst werden, bei denen es sich in der Regel um Druckerhersteller-spezifische, proprietäre Protokolle handelt. Außerdem können kontaktlose Datenübertragungsverfahren ebenfalls realisiert werden, beispielsweise opto-elektronisch durch Ansteuerung von lichtemittierenden Elementen (LEDs oder dergleichen).</p>
<p id="p0014" num="0014">Durch die erfindungsgemäße Kombination eines cryptRISC-Prozessorkerns mit einer frei konfigurierbaren Schnittstelle kann durch entsprechende Programmierung und Verwendung einer Kontaktplatte mit angepasster Kontaktgeometrie ein erfindungsgemäßes Steuermodul für eine Vielzahl unterschiedlicher Kartuschen- und Druckertypen verschiedener Druckerhersteller verwendet werden. Dadurch kann sowohl der Entwicklungs- als auch der Herstellungsaufwand für kompatible Kartuschen von unabhängigen Drittanbietern erheblich reduziert werden.</p>
<p id="p0015" num="0015">Zweckmäßigerweise ist ein Oszillator (OSC) sowie eine Taktsteuerung (CLK) zur Generierung sämtlicher Systemtakte integriert. Diese bestimmen die Arbeitsgeschwindigkeit des Prozessorkerns, sowie weiterer Funktionsblöcke durch individuelle Takte.</p>
<p id="p0016" num="0016">Vorzugsweise ist ein Zufallszahlengenerator zur Generierung echter Zufallszahlen (true random number generator TRNG) integriert. Dadurch können für kryptographische Operationen erforderliche echte Zufallszahlen effizient zur Verfügung gestellt werden.<!-- EPO <DP n="6"> --></p>
<p id="p0017" num="0017">Es ist weiterhin vorteilhaft, dass eine Verschlüsselungseinheit integriert ist. Dabei handelt es sich um einen Schaltungsblock, in dem Algorithmen für spezielle kryptographische Standardverfahren fest verdrahtet sind, beispielsweise für DES (data encryption standard)-Verfahren, 3DES (dreifaches DES), AES (advanced encryption Standard) oder SHA (secure hash algorithm). Dadurch können die Verschlüsselungsverfahren besonders effizient angewendet werden.</p>
<p id="p0018" num="0018">In weiteren Ausführungsformen des Steuermoduls können ferner folgende Funktionsblöcke umfasst sein:
<ul id="ul0003" list-style="bullet" compact="compact">
<li>ein Speicherkontroller (MC),</li>
<li>eine vom Prozessorkern unabhängig operierende Speicherzugriffseinheit (DMA),</li>
<li>ein Pulsweitenmodulator bzw. Taktgenerator (PWM).</li>
</ul></p>
<p id="p0019" num="0019">Im Folgenden werden Ausführungsbeispiele der Erfindung anhand von Zeichnungen näher erläutert. Im Einzelnen zeigen:
<dl id="dl0001" compact="compact">
<dt>Fig.1</dt><dd>ein Blockschaltbild eines erfindungsgemäßen Schaltkreises,</dd>
<dt>Fig.2</dt><dd>ein Steuermodul mit einem erfindungsgemäßen Schaltkreis gemäß <figref idref="f0001">Fig.1</figref>,</dd>
<dt>Fig.3</dt><dd>ein Blockschaltbild eines Steuermoduls nach dem Stand der Technik,</dd>
<dt>Fig.4</dt><dd>ein weiteres Blockschaltbild eines Steuermoduls nach dem Stand der Technik,</dd>
<dt>Fig.5</dt><dd>eine Tintenkartusche mit einem Steuermodul 1 gemäß <figref idref="f0002">Fig.2</figref>.</dd>
</dl></p>
<p id="p0020" num="0020">In <figref idref="f0001">Fig.1</figref> ist schematisch ein erfindungsgemäßes Steuermodul 1 dargestellt. Es umfasst einen erfindungsgemäßen integrierten Schaltkreis 2, der als Blockschaltbild dargestellt sowie mit Kontaktelementen 3 verbunden ist, d.h. von außen zugänglichen, leitenden Kontaktflächen (auch als pins, Terminals oder Kontaktpads bezeichnet werden).</p>
<p id="p0021" num="0021">Der Schaltkreis 2 weist eine Mehrzahl von integrierten Funktionsblöcken auf:
<ul id="ul0004" list-style="dash" compact="compact">
<li>CLK: frei programmierbarer Taktgenerator zur Steuerung (Taktsteuerung) interner Abläufe. Zwecks Leistungseinsparung können bestimmte Taktsignale bei Bedarf verlangsamt oder gänzlich ausgeschaltet werden. Dies ist wichtig im Fall eines geringen Power-Budgets oder bei<!-- EPO <DP n="7"> --> Stromversorgung durch Batterien, Akkumulatoren, Kondensatoren oder ähnlichem.<br/>
Dabei generiert der Oszillator (OSC) einen sogenannten "Masterclock". Dieser dient als Referenz um alle weiteren Taktsignale mittels der Taktsteuerung abzuleiten.</li>
<li>cryptRISC: Prozessorkern, der auf RISC-Architektur basiert und für kryptographische Operationen optimiert ist.</li>
<li>CRY: Verschlüsselungseinheit für Verschlüsselungsstandards wie z.B. DES, 3DES, AES oder SHA. Die Standard-Krypto-Algorithmen werden fest verschaltet bereitgestellt. Dadurch wird eine hohe Verarbeitungsgeschwindigkeit insbesondere für kryptographische Operationen ermöglicht.</li>
<li>DMA: programmierbare Speicherzugriffseinheit, die vom Prozessorkern unabhängig durchgeführte Schreib- und Leseoperationen auf die am Bus befindlichen Speicherelemente unterstützt. Dadurch ist es z.B. möglich eine schnelle Konfiguration des gesamten Systems durchzuführen, oder Speicherbereiche zu kopieren, bzw. zu löschen.</li>
<li>I/O: Signalverarbeitungseinheit. In diesem Funktionsblock werden Daten- und Steuersignale vom Drucker empfangen und an diesen gesendet. Beispielsweise kann die Belegung der nach außen herausgeführten Kontaktelemente vorgegeben werden, um ein Ein-, Zwei- oder Mehrdraht-Interface zu realisieren. Die Signalverarbeitungseinheit kann erfindungsgemäß ebenfalls konfiguriert werden. Dies ermöglicht es individuelle Signale der seriellen Schnittstelle (SPU) sowie des Pulsweitengenerators (PWM) auf beliebige physikalische Ein- bzw. Ausgänge zu schalten. Des Weiteren verfügt die Signalverarbeitungseinheit über eine sogenannte GPIO Funktion. Ein GPIO ist ein, unter Prozessorkontrolle, frei programmierbares Ein-/Ausgabe-Element. Dieses kann ebenfalls auf einen beliebigen physikalischen Ein-/Ausgang geschaltet werden.</li>
<li>MC: frei programmierbarer Speicherkontroller. Der Kontroller unterstützt Schreib- und Leseoperationen gemäß der verwendeten NVRAM Technologie. Gegebenenfalls werden technologiebedingte Eigenschaften<!-- EPO <DP n="8"> --> sowie integrierte Zwischenspeicher, sogenannte Caches, genutzt um höhere Zugriffszeiten zu erreichen.</li>
<li>NVRAM: wiederbeschreibbarer nichtflüchtiger Code-, Konfigurations- und Datenspeicher. Üblicherweise werden hier EEPROM oder Flash Speicher eingesetzt, es sind aber auch neuere Technologien wie z.B. F(E)RAM, MRAM, PCRAM oder gepufferte RAM Elemente denkbar. Technologien wie FERAM haben eine besonders hohe Speichergeschwindigkeit und ermöglichen daher eine flexible Anpassung an Anwendungen mit hoher Datenverarbeitungsgeschwindigkeit. Dadurch können auch proprietäre Hochgeschwindigkeits-Datenübertragungsprotokolle, wie sie von Druckerherstellern zur Kommunikation des Druckers mit Steuermodulen auf Verbrauchsmaterial-kartuschen eingesetzt werden, universell umgesetzt Der Codebereich nimmt das Betriebsprogramm für den cryptRISC Prozessorkern auf.<br/>
Durch den Konfigurationsbereich erfolgt die Anpassung aller konfigurierbaren Steuermodule an die unterschiedlichen geforderten Anwendungen auf Verbrauchsmaterialkartuschen für unterschiedliche Drucker.<br/>
Der Datenbereich dient zur langfristigen Speicherung von Druckerdaten.</li>
<li>OSC: Oszillator für Systemtakt. In der Regel erfolgt die Taktgenerierung über ein auf dem Chip befindliches RC Glied. Es sind alternativ aber auch andere interne oder externe Oszillatorquellen wie z.B. Quarze oder Mikro-Mechanische Strukturen denkbar. Der Oszillator generiert einen sogenannten "Masterclock" als Eingang für den Taktgenerator (CLK). Dieser dient als Referenz um alle weiteren Taktsignale abzuleiten.</li>
<li>POR: Zurücksetzen der internen Schaltung beim Einschalten (power-onreset).</li>
<li>PWM: Pulsweitenmodulator bzw. Taktgenerator. Durch Pulsweitenmodulation können analoge Signale nachgebildet werden, beispielsweise Ströme zur Simulation von ohmschen Widerständen. Der Taktgenerator erzeugt Rechteckimpulse mit definierter Periodenlänge und Puls-Pausenverhältnis zur Steuerung beliebiger externer Baugruppen. Unter Zuhilfenahme der Signalverarbeitungseinheit (I/O) können individuelle<!-- EPO <DP n="9"> --> Signale des Pulsweitengenerators/Taktgenerators auf beliebige physikalische Ein- bzw. Ausgänge geschaltet werden.</li>
<li>RAM: wiederbeschreibbarer, flüchtiger Datenspeicher.</li>
<li>SPU: frei programmierbare, serielle bidirektionale Schnittstelle (Interface), Durch eine entsprechende Programmierung, die in einem Konfigurations-Speicher (NVRAM) gespeichert wird, kann die Schnittstelle erfindungsgemäß in weiten Grenzen konfiguriert werden. So werden beispielsweise folgende Protokollvarianten unterstützt:
<ul id="ul0005" list-style="bullet" compact="compact">
<li>Serielle Protokolle mit einer bidirektionalen Datenleitung,</li>
<li>Serielle Protokolle mit zwei unidirektionalen Datenleitungen,</li>
<li>Serielle 2-Draht Protokolle (gemeinsame Takt-/Datenleitung),</li>
<li>Serielle 1-Draht Protokolle (gemeinsame Takt-/Datenleitung und Spannungsversorgung),</li>
<li>Serielle Protokolle mit optionalem Addressfeld,</li>
<li>Serielle Protokolle mit optionalem Datenrichtungsfeld,</li>
<li>Serielle Protokolle mit optionalem Datenfeld,</li>
<li>Serielle Protokolle mit optionalem Kommandofeld,</li>
<li>Serielle Protokolle mit optionalem Feld zur Empfangsbestätigung,</li>
<li>Serielle Protokolle mit optionalen Steuersignalen (z.B. Zwecks Rücksetzen in Startzustand, Einschalten der seriellen Schnittstelle),</li>
<li>Verarbeitung der seriellen Signale asynchron oder synchron zum seriellen Taktsignal,</li>
</ul>
<br/>
Parameter wie serielle Taktfrequenz, genutzte Taktflanken, Feldlängen (in Bit), Feldpositionen innerhalb des Datenstromes sowie optionale Wartezeiten sind frei programmierbar.
<br/>
Entsprechend dem jeweils angewendeten Datenaustauschprotokoll erfolgt die Aufbereitung der vom Drucker empfangenen und zum Drucker gesendeten Datensignale. Unter Zuhilfenahme der Signalverarbeitungseinheit (I/O) können individuelle Signale der bidirektionalen Schnittstelle auf beliebige physikalische Ein- bzw. Ausgänge geschaltet werden.
</li>
<li>TEST: Testschaltung.</li>
<li>TRNG: Zufallszahlengenerator zur Erzeugung echter Zufallszahlen.</li>
</ul><!-- EPO <DP n="10"> --></p>
<p id="p0022" num="0022">Die vorgenannten Funktionsblöcke sind über einen internen Bus (Prozessorbus) 4 miteinander verbunden.</p>
<p id="p0023" num="0023">Ferner sind Ausführungsformen des elektronischen Schaltkreises mit allen Kombinationen der vorgenannten Funktionsblöcke möglich. Gegebenenfalls können weitere Funktionsblöcke vorgesehen werden.</p>
<p id="p0024" num="0024">Über die Kontaktelemente (3) VDD und GND wird die Versorgungsspannung an den Schaltkreis 2 angelegt.</p>
<p id="p0025" num="0025">Der Funktionsblock SPU, der seinerseits mit der Schnittstelle I/O und dem Bus 4 verbunden ist, ist mit dem Kontaktelement (3) SCL verbunden, über das ein externes Taktsignal eingespeist wird, sowie dem Kontaktelement SDA, welches zur Eingabe von Datensignalen vom Drucker und Ausgabe von Datensignalen an den Drucker dient (bidirektionale Datenkommunikation).</p>
<p id="p0026" num="0026">Bei der frei programmierbaren Schnittstelle I/O sind beispielhaft einige mögliche Kontaktelemente 3 angegeben:
<ul id="ul0006" list-style="dash" compact="compact">
<li>LEDN / RESN: LED-Ansteuerung, RESET-Eingang/Ausgang,</li>
<li>INIT: Initialisierung,</li>
<li>GPIO: Allzweckeingabe/-ausgabe (general purpose input/output): Hierbei handelt es sich um frei programmierbare Ein- und Ausgänge, die zur Ein-und Ausgabe beliebiger digitaler Daten und Steuersignale konfiguriert werden können. Ferner ist es möglich, durch die angeschlossene Pulsweitenmodulationseinheit PWM quasi-analoge Signale auszugeben, beispielsweise Steuerströme für opto-elektronische Übertragungselemente (LED) oder zur Simulation von Prüf- oder Messwiderständen.</li>
</ul></p>
<p id="p0027" num="0027">Durch die erfindungsgemäß frei programmierbare Schnittstellen, die im gezeigten Beispiel die Funktionsblöcke I/O, SPU und PWM umfasst, kann der cryptRISC-Prozessorkern über eine in weiten Grenzen frei anpassbare Schnittstellenkonfiguration mit einem Drucker kommunizieren. Dadurch kann eine flexible Anpassung an die unterschiedlichsten Druckermodelle von verschiedenen<!-- EPO <DP n="11"> --> Herstellern erfolgen. Durch den verwendeten cryptRISC-Prozessorkern und die speziell angepassten Hilfsmodule (TRNG, CRY, etc.) wird eine hohe Datenverarbeitungsgeschwindigkeit gewährleistet, so dass eine Anpassung an unterschiedliche Datenübertragungsprotokolle gewährleistet ist, auch wenn diese hohe Datenübertragungsraten bzw. Datenverarbeitungsgeschwindigkeiten erfordern.</p>
<p id="p0028" num="0028">Durch die besondere Anpassbarkeit eines erfindungsgemäßen Steuermoduls 1 kann die Funktion eines Steuermoduls 100 eines ersten Druckerherstellers, wie es in <figref idref="f0004">Fig.3</figref> beispielhaft dargestellt ist, nachgebildet werden, oder auch für ein davon unterschiedliches Steuermodul 200 eines anderen Druckerherstellers, wie es in <figref idref="f0005">Fig.4</figref> gezeigt ist. Eine Besonderheit des Steuermoduls 200 besteht beispielsweise darin, dass es zusätzlich eine opto-elektronisches Element, nämlich eine Leuchtdiode (LED 201) aufweist, die von dem erfindungsgemäßen Schaltkreis (2) über einen entsprechend programmierten Steuerausgang GPIO angesteuert werden kann.</p>
<p id="p0029" num="0029"><figref idref="f0002">Fig.2</figref> zeigt eine praktische Ausführung eines erfindungsgemäßen Steuermoduls 1. Auf einer Leiterplatte 5 (Platine PCB) sind die Kontaktelemente 3 entsprechend der Kontaktgeometrie in einem Drucker angeordnet, in den eine Verbrauchsmaterialkartusche eingesetzt werden kann.</p>
<p id="p0030" num="0030">Als Beispiel für eine Verbrauchsmaterialkartusche ist in <figref idref="f0003">Fig.5</figref> eine Tintenkartusche 300 dargestellt, die mit einem Steuermodul 1 gemäß <figref idref="f0002">Fig.2</figref> ausgestattet ist.<!-- EPO <DP n="12"> --></p>
<heading id="h0001"><b>Bezugszeichenliste</b></heading>
<p id="p0031" num="0031">
<dl id="dl0002" compact="compact">
<dt>1.</dt><dd>Steuermodul</dd>
<dt>2.</dt><dd>Schaltkreis</dd>
<dt>3.</dt><dd>Kontaktelemente</dd>
<dt>4.</dt><dd>Bus, Prozessorbus, Prozessorbusleitungen</dd>
<dt>5.</dt><dd>Leiterplatte</dd>
<dt>100.</dt><dd>Steuermodul</dd>
<dt>200.</dt><dd>Steuermodul</dd>
<dt>201.</dt><dd>Leuchtdiode</dd>
<dt>300.</dt><dd>Tintenkartusche</dd>
</dl></p>
</description>
<claims id="claims01" lang="de"><!-- EPO <DP n="13"> -->
<claim id="c-de-01-0001" num="0001">
<claim-text>Steuermodul für eine Verbrauchsmaterialkartusche, umfassend einen integrierten elektronischen Schaltkreis (2) zur Anbringung auf einer Verbrauchsmaterialkartusche (300), zumindest umfassend die über Prozessorbusleitungen (4) miteinander verbundenen Funktionsblöcke:
<claim-text>• ein Prozessorkern mit programmierbarem Codespeicher</claim-text>
<claim-text>• ein lesbarer und wiederbeschreibbarer Datenspeicher</claim-text>
<claim-text>• eine serielle bidirektionale Schnittstelle (SPU, I/O)</claim-text>
<b>dadurch gekennzeichnet, dass</b>
<claim-text>• der Prozessorkern als cryptRISC-Prozessorkern ausgebildet ist, der eine RISC-Prozessorarchitektur mit zusätzlichen kryptographischen Befehlen aufweist, und</claim-text>
<claim-text>• die bidirektionale Schnittstelle (SPU, I/O) bezüglich der Beschaltung der Kontaktelemente (3), die die physikalischen Ein- und Ausgänge darstellen<sup>1</sup> und vorgesehen sind, bei Aufnahme der Verbrauchsmaterialkartusche (300) in einen Drucker mit den Druckerkontaktelemente des Druckers in Kontakt zu treten<sup>2</sup>, und der eingesetzten Datenübertragungsprotokolle frei programmierbar ausgebildet ist, und</claim-text>
<claim-text>• das Steuermodul (1) eine Kontaktplatte umfassend die Kontaktelemente (3) <sup>3</sup>umfasst, wobei der Codespeicher und der Datenspeicher als nichtflüchtiger Code-, Konfigurations- und Datenspeicher (NVRAM) ausgebildet ist, wobei der Datenspeicher einen Konfigurationsbereich und einen Datenbereich umfasst, und wobei im Konfigurationsbereich eine Programmierung gespeichert ist zur Konfiguration der bidirektionalen Schnittstelle (SPU, I/O) bezüglich der Beschaltung der Kontaktelemente (3)<sup>4</sup>.<br/>
<sup>1</sup> Seite 9, Zeilen 28-31<br/>
<sup>2</sup> Seite 2, Zeilen 1-3<br/>
<sup>3</sup> Durch Aufnahme des geänderten Anspruchs 2 wird definiert, wie die Kontaktgeometrie anpassbar ist, nämlich durch eine Änderung der Beschaltung.<br/>
<sup>4</sup> Seite 9, Zeilen 4-8</claim-text><!-- EPO <DP n="14"> --></claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Steuermodul nach Anspruch 1 oder 2, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) einen Oszillator (OSC) sowie eine Taktsteuerung (CLK) zur Generierung sämtlicher Systemtakte umfasst.</claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Steuermodul nach Anspruch 1 oder 2, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) einen Zufallszahlengenerator (TRNG) zur Generierung echter Zufallszahlen umfasst.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Steuermodul nach einem der vorangehenden Ansprüche, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) eine Verschlüsselungseinheit (CRY) umfasst.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Steuermodul nach einem der vorangehenden Ansprüche, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) einen Speicherkontroller (MC) umfasst.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Steuermodul nach einem der vorangehenden Ansprüche, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) eine vom rozessorkern unabhängig operierende Speicherzugriffseinheit (DMA) umfasst.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Steuermodul nach einem der vorangehenden Ansprüche, <b>dadurch gekennzeichnet, dass</b> der Schaltkreis (2) einen Pulsweitenmodulator bzw. Taktgenerator (PWM) umfasst.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Verbrauchsmaterialkartusche (300), <b>gekennzeichnet durch</b> ein Steuermodul (1) gemäß Anspruch 1.</claim-text></claim>
</claims>
<claims id="claims02" lang="en"><!-- EPO <DP n="15"> -->
<claim id="c-en-01-0001" num="0001">
<claim-text>Control module for a consumable-material cartridge, comprising an integrated electronic circuit (2) for installation on a consumable-material cartridge (300), at least comprising the functional blocks, which are connected to one another via processor bus lines (4), of:
<claim-text>• a processor core with programmable code memory</claim-text>
<claim-text>• a readable and re-writable data memory</claim-text>
<claim-text>• a serial bidirectional interface (SPU, I/O)</claim-text>
<b>characterized in that</b>
<claim-text>• the processor core is formed as a cryptRISC processor core, which has an RISC processor architecture with additional cryptographic commands, and</claim-text>
<claim-text>• the bidirectional interface (SPU, I/O) with respect to the circuitry of the contact elements (3), which constitute the physical inputs and outputs and are provided to come into contact with the printer contact elements of the printer when the consumer-material cartridge (300) is received in a printer, and with respect to the data transmission protocol used is designed so as to be freely programmable, and</claim-text>
<claim-text>• the control module (1) comprises a contact plate comprising the contact elements (3),</claim-text>
wherein the code memory and the data memory are designed as non-volatile code, configuration and data memories (NVRAM), wherein the data memory comprises a configuration region and a data region, and wherein<!-- EPO <DP n="16"> --> programming is stored in the configuration region for the configuration of the bidirectional interface (SPU, I/O) with respect to the circuitry of the contact elements (3).</claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>Control module according to Claim 1 or 2, <b>characterized in that</b> the circuit (2) comprises an oscillator (OSC) and a clock control system (CLK) for generating all of the system clocks.</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>Control module according to Claim 1 or 2, <b>characterized in that</b> the circuit (2) comprises a random number generator (TRNG) for generating real random numbers.</claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>Control module according to one of the preceding claims, <b>characterized in that</b> the circuit (2) comprises an encryption unit (CRY).</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>Control module according to one of the preceding claims, <b>characterized in that</b> the circuit (2) comprises a memory controller (MC).</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>Control module according to one of the preceding claims, <b>characterized in that</b> the circuit (2) comprises a memory access unit (DMA) that operates independently of the processor core.</claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>Control module according to one of the preceding claims, <b>characterized in that</b> the circuit (2) comprises a pulse-width modulator or clock generator (PWM).</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>Consumable-material cartridge (300), <b>characterized by</b> a control module (1) according to Claim 1.</claim-text></claim>
</claims>
<claims id="claims03" lang="fr"><!-- EPO <DP n="17"> -->
<claim id="c-fr-01-0001" num="0001">
<claim-text>Module de commande pour une cartouche de matériel consommable, comprenant un circuit électronique intégré (2) destiné à être installé sur une cartouche de matériel consommable (300), comprenant au moins les blocs fonctionnels suivants, reliés ensemble par le biais de lignes de bus de processeur (4) :
<claim-text>* un cœur de processeur pourvu d'une mémoire de code programmable</claim-text>
<claim-text>* une mémoire de données lisible et réinscriptible</claim-text>
<claim-text>* une interface bidirectionnelle (SPU, I/O) série</claim-text>
<b>caractérisé en ce que</b>
<claim-text>* le cœur de processeur est réalisé sous la forme d'un cœur de processeur cryptRISC, qui possède une architecture de processeur RISC avec des instructions cryptographiques supplémentaires, et</claim-text>
<claim-text>* l'interface bidirectionnelle (SPU, I/O) est configurée pour pouvoir être programmée librement concernant la connexion des éléments de contact (3), lesquels représentant les entrées et sorties physiques et étant conçus pour, lors de l'accueil de la cartouche de matériel consommable (300) dans une imprimante, entrer en contact avec des éléments de contact d'imprimante de l'imprimante, et le protocole de transmission de données, et</claim-text>
<claim-text>* le module de commande (1) comporte une plaque de contact comprenant les éléments de contact (3),</claim-text>
la mémoire de code et la mémoire de données étant réalisées sous la forme de mémoires de code, de<!-- EPO <DP n="18"> --> configuration et de données non volatiles (NVRAM), la mémoire de données comportant une zone de configuration et une zone de données, et une programmation étant enregistrée dans la zone de configuration pour la configuration de l'interface bidirectionnelle (SPU, I/O) concernant la connexion des éléments de contact (3).</claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Module de commande selon la revendication 1 ou 2, <b>caractérisé en ce que</b> le circuit (2) comporte un oscillateur (OSC) ainsi qu'une commande d'horloge (CLK) destinée à générer toutes les horloges du système.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Module de commande selon la revendication 1 ou 2, <b>caractérisé en ce que</b> le circuit (2) comporte un générateur de nombre aléatoire (TRNG) destiné à générer des nombres aléatoires vrais.</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Module de commande selon l'une des revendications précédentes, <b>caractérisé en ce que</b> le circuit (2) comporte une unité de cryptage (CRY).</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Module de commande selon l'une des revendications précédentes, <b>caractérisé en ce que</b> le circuit (2) comporte un contrôleur de mémoire (MC).</claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Module de commande selon l'une des revendications précédentes, <b>caractérisé en ce que</b> le circuit (2) comporte une unité d'accès à la mémoire (DMA) qui fonctionne indépendamment du cœur de processeur.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Module de commande selon l'une des revendications précédentes, <b>caractérisé en ce que</b> le circuit (2) comporte un modulateur de largeur d'impulsions ou un générateur d'horloge (PWM).</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Cartouche de matériel consommable (300), <b>caractérisée par</b> un module de commande (1) selon la revendication 1.</claim-text></claim>
</claims>
<drawings id="draw" lang="de"><!-- EPO <DP n="19"> -->
<figure id="f0001" num="1"><img id="if0001" file="imgf0001.tif" wi="162" he="143" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="20"> -->
<figure id="f0002" num="2"><img id="if0002" file="imgf0002.tif" wi="144" he="125" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="21"> -->
<figure id="f0003" num="5"><img id="if0003" file="imgf0003.tif" wi="142" he="122" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="22"> -->
<figure id="f0004" num="3"><img id="if0004" file="imgf0004.tif" wi="155" he="113" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="23"> -->
<figure id="f0005" num="4"><img id="if0005" file="imgf0005.tif" wi="154" he="158" img-content="drawing" img-format="tif"/></figure>
</drawings>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE</b></heading>
<p id="ref-p0001" num=""><i>Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.</i></p>
<heading id="ref-h0002"><b>In der Beschreibung aufgeführte Patentdokumente</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="WO2009145775A1"><document-id><country>WO</country><doc-number>2009145775</doc-number><kind>A1</kind></document-id></patcit><crossref idref="pcit0001">[0006]</crossref></li>
<li><patcit id="ref-pcit0002" dnum="EP1736318A2"><document-id><country>EP</country><doc-number>1736318</doc-number><kind>A2</kind></document-id></patcit><crossref idref="pcit0002">[0007]</crossref></li>
<li><patcit id="ref-pcit0003" dnum="EP2361770A1"><document-id><country>EP</country><doc-number>2361770</doc-number><kind>A1</kind></document-id></patcit><crossref idref="pcit0003">[0007]</crossref></li>
<li><patcit id="ref-pcit0004" dnum="EP2607082A1"><document-id><country>EP</country><doc-number>2607082</doc-number><kind>A1</kind></document-id></patcit><crossref idref="pcit0004">[0007]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
