DE102005004420A1 - Programmierbare I/O-Schnittstelle - Google Patents

Programmierbare I/O-Schnittstelle Download PDF

Info

Publication number
DE102005004420A1
DE102005004420A1 DE102005004420A DE102005004420A DE102005004420A1 DE 102005004420 A1 DE102005004420 A1 DE 102005004420A1 DE 102005004420 A DE102005004420 A DE 102005004420A DE 102005004420 A DE102005004420 A DE 102005004420A DE 102005004420 A1 DE102005004420 A1 DE 102005004420A1
Authority
DE
Germany
Prior art keywords
register
interface
registers
microcontroller
contraption
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.)
Granted
Application number
DE102005004420A
Other languages
English (en)
Other versions
DE102005004420B4 (de
Inventor
Richard D. Taylor
Mark D. Montierth
Douglas G. Keithley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell Asia Pte Ltd
Original Assignee
Agilent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102005004420A1 publication Critical patent/DE102005004420A1/de
Application granted granted Critical
Publication of DE102005004420B4 publication Critical patent/DE102005004420B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Abstract

Die Erfindung schafft eine Architektur und ein Verfahren zum Implementieren einer programmierbaren I/O-Schnittstelle. Die Hauptfunktion liefert eine generische rekonfigurierbare Schnittstelle für serielle Kommunikation zwischen einer Laserdruckersteuerung und dem Druckmechanismus. Der Entwurf unterstützt außerdem eine Vertikalseitensynchronisierung (Erfassung des oberen Seitenendes).

Description

  • Im Stand der Technik ist eine Laserdruckersteuerung insbesondere für eine zweckgebundene Druckmechanismus-Kommunikationszustandsmaschine entworfen. So muss eine anwendungsspezifische integrierte Schaltung (ASIC) neu entworfen werden, wenn sich die Maschinenschnittstellenspezifizierung verändert oder wenn ein Mechanismus eines anderen Verkäufers verwendet wird. Zusätzlich kann eine Laserdrucksteuerung I/O-Schnittstellen, wie z. B. seriell, parallel, Steuerbereichsnetz (CAN) und Frontplatte mit zweckgebundener Hardware mit fester Funktion, verwenden. Da die Funktionalität der Schnittstelle in einer bestimmten ASIC fest ist, ist die Flexibilität eingeschränkt und unter Umständen können Veränderungen an dem Protokoll einer bestimmten Schnittstelle nicht unterstützt werden. Zusätzlich muss, wenn eine andere Funktionalität erwünscht wird, die ASIC neu entworfen werden. Für Schnittstellen, die vor dem Einsetzen der ASIC-Entwicklung nicht gut definiert sind, kann die programmierbare I/O ein Implementierungsrisiko reduzieren und Zeitvermarktungsvorteile bringen.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine programmierbare Schnittstelle mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch eine Schnittstelle gemäß Anspruch 1 gelöst.
  • Die vorliegende Erfindung definiert eine programmierbare I/O-Teilsystem-Architektur, die zur Implementierung einer Vielzahl von I/O-Protokollen verwendet werden kann. Sie ist für die Implementierung von Kommunikationsschnittstellen zwischen Laserdruckersteuerungen und Laserdruckermechanismussteuerungen geeignet. Das I/O-Teilsystem ist über eine herkömmliche Busstruktur an das Hauptsystemprozessor angeschlossen und kann innerhalb einer einzelnen integrierten Schaltung oder in separaten integrierten Schaltungen enthalten sein. Das I/O-Teilsystem besteht aus einer einfachen Mikrosteuerung, einem Codespeicher-SRAM, der den ausführbaren Code enthält, einem Laufsteuerregister, das durch die Hauptsystem-CPU zur Aktivierung des Teilsystems gesetzt wird, und einer spezialisierten Dual-Port-Registerdatei.
  • Die einfache Mikrosteuerung umfasst einen einfachen Instruktionssatz, der es derselben ermöglicht, grundlegende Zustandsmaschinenaufbauten zu emulieren. Die Architektur, wie sie hierin beschrieben ist, umfasst eine Dual-Port-Registerdatei, die Einzyklus-Lesen-Modifizieren-Schreiben-Zugriffe ermöglicht, für die effizienteste Emulierung von I/O-Zustandsmaschinen. Eine herkömmliche Mikrosteuerung jedoch könnte alternativ mit herkömmlichen Registern verwendet werden.
  • Der Codespeicher-RAM wird mit einem ausführbaren Mikrosteuerungscode von dem Hauptprozessor geladen, bevor er über das Laufsteuerregister aktiviert wird. Nachdem die Mikrosteuerung aktiviert ist, führt die Mikrosteuerung die in diesem Speicher gespeicherte Instruktionssequenz aus. Obwohl ein externer zugeteilter Speicher für einige Anwendungen eingesetzt werden könnte, ist der lokale Speicher für eine schnelle und wiederholbare Zustandsmaschinensequenzierung der Mikrosteuerung vorzuziehen. Da der ausführbare „Zustandsmaschine"-Code durch den Anwendungsprozessor heruntergeladen wird, ist das I/O-Teilsystem bei Laufzeit konfigurierbar.
  • Die spezialisierte Dual-Port-Registerdatei enthält eine Anzahl von Merkmalen, die es dem I/O-Teilsystem ermöglichen, effizient eine breite Vielzahl von Protokollen zu implementieren. Die Registerdatei umfasst eine Bank von Universalregistern, Zeitgeberregistern, externen I/O-Schnittstellenregistern, internen I/O-Registern, gemeinschaftlich verwen deten Registern, Unterbrechungsregister und optionalem DMA-FIFO, die durch den Mikroprozessor zur Datenspeicherung verwendet werden. Die Zeitgeberregister liefern eine Echtzeitsteuerung und Messung von Zeitgebungssequenzen. Die externen I/O-Schnittstellenregister mit Flankenerfassungsfähigkeit ermöglichen es der Mikrosteuerung, die I/O-Signale, die das Protokoll aufweist, abzutasten und/oder zu steuern.
  • Die internen I/O-Schnittstellenregister können wahlweise zur schnittstellenmäßigen Verbindung des programmierbaren I/O-Systems mit einem zweckgebundenen Hardwareblock verwendet werden. Die Bank gemeinschaftlich verwendeter Register ist mit einem Zugriffsprotokoll gemeinsam durch sowohl die Mikrosteuerung als auch die Hauptsystem-CPU zugänglich. Ein Unterbrechungsregister ermöglicht, dass Unterbrechungen von dem I/O-Teilsystem an die Haupt-CPU geleitet werden können. Das optionale DMA-FIFO ermöglicht eine effiziente Volumendatenübertragung von dem I/O-Teilsystem zu/von dem Hauptsystemspeicher mit minimaler Hauptsystemprozessorintervention.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beigefügten Zeichnungen näher erläutert. Es zeigen:
  • 1 ein System gemäß der vorliegenden Erfindung; und
  • 2 eine beispielhafte Implementierung für einen Laserdrucker.
  • Die Erfindung liefert eine Architektur und ein Verfahren zum Implementieren einer programmierbaren I/O-Schnittstelle. Die Hauptfunktion liefert eine generische rekonfigurierbare I/O-Schnittstelle. Die Schnittstelle kann für Kommunikationen zwischen einer Laserdruckersteuerung und dem Druckmechanismus verwendet werden oder sie kann verwendet werden, um eine Vielzahl von Standard- oder kundenspezifischen Kommunikationsschnittstellen zu implementieren, wie z. B. serielle Schnittstellen, parallele Schnittstellen, serielle Peripherieschnittstellen (SPI), eine synchrone serielle Schnittstelle (SSI), Mikro Wire, eine Inter-Integrierte-Schaltung (I2C), ein Steuerbereichsnetz (CAN), UART, IEEE 1284, eine LCD-Schnittstelle, eine Frontplattenschnittstelle und ein MODEM.
  • Die Erfindung 10, wie in 1 gezeigt, ist als ein Peripheriegerät in einem herkömmlichen eingebetteten System auf Mikroprozessorbasis angeschlossen. Sie kann in der gleichen integrierten Schaltung wie der Hauptmikroprozessor enthalten sein oder kann sich in einer separaten integrierten Schaltung befinden. Die Erfindung ist mit dem Hauptmikroprozessorbus als Peripheriegerät verbunden. Sie ist außerdem an die Systemunterbrechungssteuerung und wahlweise an eine System-Direktspeicherzugriffs- (-DMA-) Steuerung angeschlossen. Als zusätzliche Option kann sie in einigen Fällen auch an ein zweckgebundenes Hardwaremerkmal in der integrierten Schaltung angeschlossen sein. In einem Videosystem z. B. kann die Erfindung verwendet werden, um zu einem Videostrom gehörige Synchronisierungspulse zu erfassen.
  • Die Erfindung kann die komplexen Synchronisierungsinformationen extrahieren und die vereinfachten Synchronisierungsinformationen an eine zweckgebundene Videoausgangssteuerung leiten. In einem Laserdrucker würde diese Synchronisierung die vertikale Seitensynchronisierung umfassen, die an die Lasermodulationssteuerung geleitet wird.
  • Die Architektur 10, in 1 gezeigt, besteht aus vier Hauptelementen, nämlich einer Mikrosteuerung 12, einem Codespeicher-SRAM 14, einem Laufsteuerregister 16 und einer spezialisierten Dual-Port-Registerdatei 18.
  • Die Mikrosteuerung 12 umfasst einen minimalen Instruktionsteilsatz zur Emulierung grundlegender Zustandsmaschinenaufbauten. Zur Darstellung kann ein minimaler Teilsatz Verzweigungs-, Konditional-Verzweigungs-, Schleifen-, Bewe gungs-, Inkrementieren/Dekrementieren-, Vergleichs- und einfache Boolesche Operationen umfassen. Für eine Codeeffizienz kann ein Einebenen-Stapelregister 24 enthalten sein, um Eintiefen-Teilroutinen zu erlauben. Wie auf dem Erfindungsdiagramm gezeigt ist, besteht eine darstellende Mikrosteuerung 12 aus einem Programmzähler (PC) 20, der den Ort in dem Codespeicher 14 anzeigt, der gerade ausgeführt wird, einer Ausführungseinheit 22, die die mikrocodierte Instruktion aus dem Codespeicher decodiert, einem Stapelregister 24, das eine Einfachrückgabeadresse speichern kann, einer arithmetischen Einzyklus-Logikeinheit (Einzyklus-ALU) 26, die auf Daten wirken kann, die von dem Codespeicher vorgelegt werden, und/oder auf gegenwärtige Werte der Registerdatei 18, und einem Flag 28, das das Ergebnis der vorherigen Instruktion zur Konditional-Verzweigung speichert. Der ausführbare Maschinencode kann durch einen einfachen Assembler erzeugt werden. Freeware-Assembler sind verfügbar, die konfiguriert sein können, um eine einfache Mikrosteuerung zu unterstützen, indem eine Umfassen-Datei editiert wird, die die Operationscodes und das Maschineninstruktionsformat definiert. Eine Auflistungs- und Symboltabelle wird durch den Assembler erzeugt, um eine Fehlersuche in dem Code zu unterstützen.
  • Der Codespeicher-SRAM 14 wird verwendet, um die Maschineninstruktionen zu enthalten, die durch die Mikrosteuerung 12 ausgeführt werden. Der Codespeicher-SRAM 14 wird bei Laufzeit durch den Hauptsystem-Mikroprozessor 30 geladen. Aus der Perspektive der Mikrosteuerung 12 ist dies ein Nur-Lese-Speicher. Nachdem der Hauptprozessor 30 den Code geladen hat, signalisiert derselbe der Mikrosteuerung 12 über das Laufsteuerregister 16, mit der Ausführung von Instruktionen zu beginnen. Als eine alternative Implementierung könnte ein zugeteilter Systemspeicher (nicht gezeigt), z. B. ein DRAM, zur Speicherung des ausführbaren Codes verwendet werden. Dies ist jedoch weniger vorzuziehen, da dies die Zustandsmaschinenleistung reduzieren würde und unter Umständen keine wiederholbaren Ergebnisse ergibt, die unter Umständen zur Implementierung eines I/O-Protokolls erforderlich sind. Das I/O-Protokoll, z. B. Systemprogrammierschnittstelle (SPI), Inter-Integrierte-Schaltung (I2C), Steuerbereichsnetz (CAN), RS232, IEEE 1284, Frontplatte und MODEM, ist durch den ausführbaren „Zustandsmaschine"-Code definiert.
  • Das Herz der Erfindung ist die spezialisierte Registerdatei 18. Die Registerdatei 18 ist das, was es der Erfindung ermöglicht, effizient mit minimalem Mehraufwand bei dem Hauptsystemprozessor als I/O-Teilsystem zu arbeiten. Tatsächlich erlauben es diese Merkmale der programmierbaren I/O, sehr stark einem zweckgebundenen Hardwareperipheriegerät zu ähneln. Die Erfindung schafft Fähigkeiten, die normalerweise in einem zweckgebundenen Hardwareperipheriegerät zu finden sind, einschließlich Peripheriegerät-Status/Konfiguration/Steuer-Register, Unterbrechungsfähigkeit und DMA-Fähigkeit zur Volumendatenübertragung.
  • Idealerweise ist die spezialisierte Registerdatei 18 mit zwei Ports versehen, um es der einfachen Mikrosteuerung 12 zu ermöglichen, Lesen-Modifizieren-Schreiben-Operationen für Codegrößeneffizienz und -leistung durchzuführen. Die Registerdatei 18 kann eine Bank von Universalmikrosteuerungsregistern 18A, Zeitgeberregistern 18B, externen I/O-Schnittstellenregistern 18D, internen I/O-Registern 18E, gemeinschaftlich verwendeten Registern 18C, Unterbrechungsregister 18F und optionalem DMA-FIFO 18G, die durch den Mikroprozessor 30 zur Datenspeicherung verwendet werden, umfassen.
  • Die Universalmikrosteuerungsregister 18A werden für lokale Variablen und zur Speicherung verwendet.
  • Die Zeitgeberregister 18B ähneln den Universalregistern 18A. Sie können konfiguriert sein, um unabhängig basierend auf einer ausgewählten Systemzeitbasis (z. B. 1 μs, 10μs, 100 μs, 1 ms, 10 ms und 100 ms) zu inkrementieren. Sie wer den zur Erzeugung einer Zeitgebung für das zu implementierende Protokoll und zur Erfassung von Protokollzeitablaufsfehlern verwendet. Die Register können konfiguriert sein, um bei einem vorbestimmten End-Zählwert zu stoppen, oder können frei laufen.
  • Auf die gemeinschaftlich verwendeten Register 18C kann durch sowohl den Hauptsystemprozessor 30 als auch die I/O-Mikrosteuerung 12 zugegriffen werden. Sie werden verwendet, um die Peripheriegerät-Status/Konfiguration/Steuer-Register zu emulieren, die in einem herkömmlichen Hardwareperipheriegerät erscheinen. Für eine Effizienz kann auf die Register 18C durch den Hauptprozessor 30 und die Mikrosteuerung 12 unterschiedlich zugegriffen werden. Der Hauptprozessor 30 könnte z: B. vier Byte breite Register auf einmal als ein einzelnes 32-Bit-Wort lesen, wohingegen die Mikrosteuerung 12 auf dieselben unter Umständen als vier separate 8-Bit-Entitäten zugreift. Um ein Status/Protokoll-Element in diesen Registern 18C effizient und sicher zu implementieren, wird eine Zugriffspriorität spezifiziert, die Schreibzugriff für ein bestimmtes Register entweder dem Hauptprozessor 30 oder der Mikrosteuerung 12 erteilt. Das Verfahren zur Zugriffsprioritätssteuerung ist in einer separaten Patentanmeldung, offenbart durch Richard Taylor, mit dem Titel „Register Access Protocol for Multi-Processor Systems" (Registerzugriffsprotokoll für Mehrprozessorsysteme), übertragen an Agilent Technologies, eingereicht am 11. März 2004 beim US-Patent- und Markenamt, spezifiziert.
  • Die externen I/O-Schnittstellenregister 18D ermöglichen es der Mikrosteuerung 12, die tatsächlichen externen elektrischen Signale zu beobachten und zu steuern, die das Protokoll der zu implementierenden Kommunikationen aufweist. Diese Register 18D umfassen eine zusätzliche Funktionalität, um eine effiziente Implementierung der Steuerzustandsmaschine in der Mikrosteuerung 12 zu erlauben. Die Register 18D sind so vorgesehen, dass jedes Signal als Eingangs-, Ausgangs- oder als bidirektionales Signal definiert werden kann. Als Eingabe kann der Zustand des Signals gelesen werden. Synchronisierer sind an jedem Eingang vorgesehen, um Asynchronitätsprobleme zu verhindern. Zusätzlich ist eine optionale Flankenerfassungslogik vorgesehen, um anzuzeigen, ob eine ansteigende oder abfallende Flanke bei dem Eingangssignal aufgetreten ist. Die Übergangserfassung ist besonders wertvoll, wenn das I/O-Protokoll aus Pulsen besteht, die andernfalls verpasst worden wären. Wenn ein Signal als eine Ausgabe verwendet wird, werden Ausgabepegel und Ausgabefreigabe direkt durch die Register 18D gesteuert.
  • Die internen I/O-Schnittstellenregister 18E liefern eine ähnliche Funktion wie die externen I/O-Schnittstellenregister 18D, mit der Ausnahme, dass diese es dem I/O-Teilsystem ermöglichen, mit internen zweckgebundenen Funktionsblöcken zu kommunizieren. Dies ist nützlich, wenn der Zweck des programmierbaren I/O-Teilsystems darin besteht, als ein flexibler Mittler zwischen einem externen Protokoll und einem internen Peripheriegerät mit fester Funktion zu dienen. Als ein Beispiel gibt es für eine Laserdruckersteuerung eine zweckgebundene Laserdruckermodulationsausgangssteuerung, die einen seriellen Videobitstrom erzeugt, der den Laser abfeuert. Der Bitstrom muss auf die tatsächliche Position der fotoempfindlichen Trommel und des Papiers synchronisiert sein. Das Verfahren einer Horizontal- und Vertikal-Synchronisierung variiert unter den verfügbaren Druckmechanismen. Einige Mechanismen können ein einzelnes Vertikalsynchronisierungssignal bereitstellen, andere erfordern es unter Umständen, dass die Vertikalsynchronisierung durch das Vorliegen eines Horizontalsynchronisierungssignals abgeleitet wird, wiederum andere liefern unter Umständen zahlreiche Vertikalsynchronisierungssignale für mehrere Trommeln. Das I/O-Teilsystem kann verwendet werden, um die in einem bestimmten Mechanismus implementierte Synchronisierung zu decodieren und dieselbe zu einer konsistenten Synchronisierungsschnittstelle zu der zweckgebundenen Modulationssteuerung zu übertragen. Die programmierbare Natur der Erfindung ermöglicht es, dass der Entwurf eine Vielzahl von Mechanismen sowie Mechanismen, die noch nicht definiert wurden, unterstützen kann.
  • Das Unterbrechungsregister 18F würde es dem I/O-Teilsystem ermöglichen, einen unterbrechungsgetriebenen Status an den Hauptprozessor 30 zu liefern, wie dies ein herkömmliches Peripheriegerät tun würde. Bei der tatsächlichen Implementierung kann das Unterbrechungsregister 18F in den gemeinschaftlich verwendeten Registern 18C enthalten sein, mit zusätzlichen zweckgebundenen Unterbrechungssignalen an den Hauptsystemprozessor 30.
  • Das FIFO 18G ermöglicht es, dass eine Volumendatenübertragung zwischen dem I/O-Teilsystem und dem Systemspeicher mit minimaler durch den Hauptsystemprozessor 30 benötigter Unterstützung fertig gestellt werden kann. Daten, die durch die Mikrosteuerung 12 an das FIFO 18G geschrieben werden, werden über einen DMA 34 an den Hauptsystemspeicher (nicht gezeigt) übertragen. Ähnlich können eingehende DMA-Daten durch die Mikrosteuerung 12 gelesen werden. Das Laufsteuerregister 16 kann ein Merkmal zum Löschen des Inhalts des FIFO 18G umfassen.
  • Angesichts der programmierbaren Natur der Erfindung können unterschiedliche Kommunikationsprotokolle mit einem einzelnen Entwurf unterstützt werden. ASIC-Entwürfe können abgeschlossen werden, bevor das Kommunikationsprotokoll vollständig definiert ist. Die Steuerung, die Schnittstellenzeitgebung und das Protokoll können spät in dem Entwurfszyklus oder an dem Einsatzort modifiziert werden. Höhere Grade einer Hardwareassistenz können implementiert werden. Der Entwurf kann zur Implementierung neuer Schnittstellen verwendet werden, die zu der Zeit, zu der der ASIC-Entwurf herausgegeben wurde, noch nicht vorstellbar waren.
  • Die Erfindung ist insbesondere für Laserdrucker geeignet. In einer beispielhaften Implementierung, in 2 gezeigt, wird eine einzelne Steuerung 12 verwendet, um sowohl den seriellen Befehl/Status-Kanal zwischen der Lasermodulationssteuerung 36 und der Mechanismussteuerung (separate integrierte Schaltung) 38 als auch die Vertikalseitensynchronisation bereitzustellen. Der Entwurf unterstützt aufgrund der Fähigkeit eines Herunterladens unterschiedlicher Synchronisierungsprotokolle eine Vielzahl von Farb- und einfarbigen Druckmechanismen mit variierenden Anzahlen von Laserstrahlen.

Claims (6)

  1. Programmierbare Schnittstelle (10) mit folgenden Merkmalen: einer Registerdatei (18) mit Registern (18A, 18B, 18C, 18D, 18E, 18F, 18G), wobei jedes Register einen Typ aufweist; einem Laufsteuerregister (16); einer Mikrosteuerung (12), die bidirektional mit der Registerdatei und dem Laufsteuerregister kommuniziert; einem Codespeicher-SRAM (14), der bidirektional mit der Mikrosteuerung kommuniziert; und einem ausführbaren Code, der auf den Codespeicher-RAM geladen ist, wobei der Codespeicher-SRAM (14) und das Laufsteuerregister (16) bidirektional mit einem Systemprozessor kommunizieren.
  2. Vorrichtung gemäß Anspruch 1, bei der die Typen der Register aus einer Gruppe ausgewählt sind, die ein Zeitgeberregister (18B), ein Universalregister (18A), ein externes I/O-Register (18D), ein internes I/O-Register (18E), ein gemeinschaftlich verwendetes Register (18C) und ein Unterbrechungsregister (18F) umfasst.
  3. Vorrichtung (10) gemäß Anspruch 2, bei der, wenn eines der Register einen Typ eines externen I/O-Registers (18D) aufweist, das Register eine Flankenerfassungslogik umfasst.
  4. Vorrichtung (10) gemäß Anspruch 2 oder 3, bei der der Registertyp ferner FIFO-Register (18G) umfasst, die wirksam sind, um mit einer Direktspeicherzugriffssteuerung zu kommunizieren.
  5. Vorrichtung (10) gemäß Anspruch 3 oder 4, bei der der ausführbare Code eine Laserdruckermechanismus-Kommunikationsschnittstelle und eine Vertikal-Seite-Oben-Synchronisierungsschnittstelle implementiert.
  6. Vorrichtung (10) gemäß einem der Ansprüche 1 bis 5, bei der der ausführbare Code aus einer Gruppe ausgewählt ist, die serielle Schnittstellen, parallele Schnittstellen, eine serielle Peripherieschnittstelle (SPI), eine synchrone serielle Schnittstelle (SSI), Mikro Wire, eine Inter-Integrierte-Schaltung (I2C), ein Steuerbereichsnetz (CAN), UART, IEEE 1284, eine LCD-Schnittstelle, eine Frontplattenschnittstelle und ein MODEM umfasst.
DE102005004420A 2004-04-15 2005-01-31 Programmierbare I/O-Schnittstelle Expired - Fee Related DE102005004420B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/826886 2004-04-15
US10/826,886 US7975094B2 (en) 2004-04-15 2004-04-15 Programmable I/O interface

Publications (2)

Publication Number Publication Date
DE102005004420A1 true DE102005004420A1 (de) 2005-11-10
DE102005004420B4 DE102005004420B4 (de) 2013-01-10

Family

ID=35097648

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005004420A Expired - Fee Related DE102005004420B4 (de) 2004-04-15 2005-01-31 Programmierbare I/O-Schnittstelle

Country Status (3)

Country Link
US (2) US7975094B2 (de)
JP (1) JP5366288B2 (de)
DE (1) DE102005004420B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7898047B2 (en) * 2003-03-03 2011-03-01 Samsung Electronics Co., Ltd. Integrated nitride and silicon carbide-based devices and methods of fabricating integrated nitride-based devices
US7174405B1 (en) * 2003-06-06 2007-02-06 Cisco Technology, Inc. Method and system for replacing a read-modify-write operation with an atomic set-bits or clear-bits operation
US7525679B2 (en) * 2003-09-03 2009-04-28 Marvell International Technology Ltd. Efficient printer control electronics
US20110138158A1 (en) * 2008-07-30 2011-06-09 Masatomo Mitsuhashi Integrated circuit
JP5331730B2 (ja) * 2010-02-24 2013-10-30 日立オートモティブシステムズ株式会社 内燃機関制御装置
CN103389958B (zh) * 2013-06-27 2016-08-17 三星半导体(中国)研究开发有限公司 通用串行接口
CN104360970A (zh) * 2014-10-11 2015-02-18 中国船舶重工集团公司第七二四研究所 一种串行总线协议自动适配传输技术
CN106708769B (zh) * 2015-07-16 2019-08-06 北京谊安医疗系统股份有限公司 一种自适应串行接口电路
US11550281B2 (en) 2017-05-12 2023-01-10 Gowin Semiconductor Corporation Method and system for providing programmable microcontroller unit (MCU) using two-phase configuration process
US10789197B2 (en) * 2017-05-12 2020-09-29 Jinghui Zhu Methods and system for providing software defined microcontroller unit (MCU)
WO2019090247A1 (en) 2017-11-06 2019-05-09 Pensando Systems Inc. Network system including match processing unit for table-based actions
WO2019164827A1 (en) * 2018-02-22 2019-08-29 Pensando Systems Inc. Programmable computer io device interface

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309754A (en) 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
JPH0833685B2 (ja) 1986-07-15 1996-03-29 株式会社リコー 静電転写型記録装置
JPH0348754A (ja) 1989-07-18 1991-03-01 Dainippon Printing Co Ltd 印刷バーコード品質管理システム
US5517015A (en) * 1990-11-19 1996-05-14 Dallas Semiconductor Corporation Communication module
JPH04368875A (ja) 1991-06-15 1992-12-21 Ricoh Co Ltd 異常検出装置
US5381538A (en) * 1991-10-15 1995-01-10 International Business Machines Corp. DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
JPH05216597A (ja) * 1992-02-05 1993-08-27 Canon Inc 入出力方法及び装置
US6762733B2 (en) * 1993-06-24 2004-07-13 Nintendo Co. Ltd. Electronic entertainment and communication system
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
KR100200965B1 (ko) 1995-12-30 1999-06-15 윤종용 전자사진 방식을 이용한 기기의 보조 급지장치
US6029239A (en) * 1997-12-01 2000-02-22 Advanced Micro Devices, Inc. Configuring a communications system with a configurable data transfer architecture
US6490638B1 (en) * 1999-08-23 2002-12-03 Advanced Micro Devices, Inc. General purpose bus with programmable timing
US6496971B1 (en) * 2000-02-07 2002-12-17 Xilinx, Inc. Supporting multiple FPGA configuration modes using dedicated on-chip processor
DE10005977A1 (de) 2000-02-09 2001-08-30 Thomas Lehmann Kontaktierungsvorrichtung für ein tragbares Datenverarbeitungsger t
US7139743B2 (en) * 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US6839783B2 (en) 2000-12-07 2005-01-04 Texas Instruments Incorporated Programmable state machine interface
JP2002245113A (ja) * 2001-02-16 2002-08-30 Hitachi Ltd 論理コンパイルシステム及び方法及び物理モジュール
JP3895120B2 (ja) * 2001-03-07 2007-03-22 株式会社リコー プログラマブルシーケンサ内蔵asic及び画像形成装置
US20020168067A1 (en) * 2001-05-08 2002-11-14 Timofei Kouzminov Copy protection method and system for a field-programmable gate array
US6621293B2 (en) * 2001-05-31 2003-09-16 Koninklijke Philips Electronics N.V. Integrated circuit arrangement with feature control
US7418642B2 (en) 2001-07-30 2008-08-26 Marvell International Technology Ltd. Built-in-self-test using embedded memory and processor in an application specific integrated circuit
JP3995037B2 (ja) 2001-11-28 2007-10-24 富士フイルム株式会社 走査型印刷装置およびそれによる印刷方法
US6971051B2 (en) 2002-01-10 2005-11-29 Agilent Technologies, Inc. System and method of recovering from soft memory errors
JP2005111932A (ja) * 2003-10-10 2005-04-28 Fuji Photo Film Co Ltd 電子機器
US8488184B2 (en) 2004-03-18 2013-07-16 Riso Kagaku Corporation Image forming apparatus having a plurality of individually controlled recording heads

Also Published As

Publication number Publication date
JP5366288B2 (ja) 2013-12-11
DE102005004420B4 (de) 2013-01-10
US7975094B2 (en) 2011-07-05
US20050235096A1 (en) 2005-10-20
US20110307634A1 (en) 2011-12-15
JP2005297561A (ja) 2005-10-27
US8127070B2 (en) 2012-02-28

Similar Documents

Publication Publication Date Title
DE102005004420B4 (de) Programmierbare I/O-Schnittstelle
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2456578C2 (de) Datenverarbeitungsanlage
DE3914265C2 (de)
DE2542740C2 (de) Datenverarbeitungsanlage mit einer Mikroprogrammsteuerung
DE69926365T2 (de) Software-konfigurierbare technik zum priorisieren von unterbrechungen in einem auf einem mikroprozessor basierten system
DE2835095C2 (de) Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren
DE2357003A1 (de) Programmierbarer prozessor
DE19735348A1 (de) Einzelbefehl-Mehrdaten-Verarbeitung unter Verwendung von mehreren Bänken von Vektorregistern
DE60100848T2 (de) Virtuelles rom für geräte-aufzählung
DE4207148A1 (de) Superscalar-prozessor
CH615521A5 (de)
DE2755611A1 (de) Steuereinheit fuer datenverarbeitungsanlagen
DE102013113262A1 (de) Auslöser-Leitwegeinheit
DE19842254A1 (de) Datenverarbeitungsgerät
DE3307194C2 (de)
EP1117037B1 (de) Datenverarbeitungsvorrichtung zum parallelen Verarbeiten von unabhängigen Prozessen (Threads)
DE60010847T2 (de) Verfahren zur Fehlerbeseitigung in einem Thread-Programm
WO2006131471A1 (de) Verfahren zum durchführen des datentransfers zwischen programmelementen eines prozesses, puffer-objekt zum durchführen des datentransfers, sowie ein drucksystem
DE2537360A1 (de) Elektronische datenverarbeitungsanlage
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE2717700C2 (de) Speicherzugriffsanordnung
DE2847479A1 (de) Schablonenfamilien-schnittstelleneinrichtung
DE19580638B4 (de) Computersystem und Verfahren zum Steuern eines Peripheriegeräts in einem Computersystem
DE102007015507B4 (de) Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AVAGO TECHNOLOGIES GENERAL IP ( SINGAPORE) PTE. LT

8128 New person/name/address of the agent

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELLSCHA

8127 New person/name/address of the applicant

Owner name: MARVELL INTERNATIONAL TECHNOLOGY LTD., HAMILTO, BM

8128 New person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130411

R081 Change of applicant/patentee

Owner name: MARVELL ASIA PTE, LTD., SG

Free format text: FORMER OWNER: MARVELL INTERNATIONAL TECHNOLOGY LTD., HAMILTON, BM

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee