DE102005004420B4 - Programmierbare I/O-Schnittstelle - Google Patents
Programmierbare I/O-Schnittstelle Download PDFInfo
- Publication number
- DE102005004420B4 DE102005004420B4 DE102005004420A DE102005004420A DE102005004420B4 DE 102005004420 B4 DE102005004420 B4 DE 102005004420B4 DE 102005004420 A DE102005004420 A DE 102005004420A DE 102005004420 A DE102005004420 A DE 102005004420A DE 102005004420 B4 DE102005004420 B4 DE 102005004420B4
- Authority
- DE
- Germany
- Prior art keywords
- register
- registers
- interface
- microcontroller
- system processor
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Record Information Processing For Printing (AREA)
Abstract
eine Registerdatei (18) mit Registern (18A, 18B, 18C, 18D, 18E, 18F, 18G), wobei jedes Register einen Typ aufweist;
ein Laufsteuerregister (16);
eine Mikrosteuerung (12), die mit der Registerdatei für eine bidirektionale Kommunikation und mit dem Laufsteuerregister (16) verbunden ist;
ein Codespeicher-SRAM (14), der mit der Mikrosteuerung verbunden ist; und einen ausführbaren Code, der auf den Codespeicher-RAM geladen ist,
wobei der Codespeicher-SRAM (14) und das Laufsteuerregister (16) für eine bidirektionale Kommunikation mit dem Systemprozessor (30) verbunden sind,
wobei einer der Typen der Register ein Typ gemeinschaftlich verwendeter Register (18C) ist, auf die durch sowohl den Systemprozessor (30) als auch die Mikrosteuerung (12) zugegriffen werden kann, wobei die gemeinschaftlich verwendeten Register (18C) so angeordnet sind, dass auf sie durch den Systemprozessor (30) und die Mikrosteuerung (12) unterschiedlich zugegriffen wird,...
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.
- Aus der
US 6,490,638 B1 ist eine programmierbare Bussteuerung bekannt, die von einem Mikrokontroller gebildet wird, der eine CPU, einen internen Datenbus, eine Bus-Zustandssteuermaschine, eine programmierbare Schnittstellen-Zeitgabel-Steuerung und einen externen Bus aufweist. - Aus der
EP 1213653 A2 ist eine programmierbare Schnittstelle bekannt, die eine programmierbare Zustandsmaschine auf Mikroprozessor-Basis aufweist. - Aus der
DE 19654588 A1 ist eine programmierbare Ablaufsteuerung bekannt, mit der die Arbeitsbelastung einer Mikrosteuereinheit einer Speicherplattensteuerung vermindert werden kann. - Aus der
DE 10005977 A1 ist bereits eine Kontaktiervorrichtung für ein tragbares Datenverarbeitungsgerät bekannt, welches eine Steuereinrichtung mit einem Mikroprozessor, einen Speicher und eine Kopplungseinrichtung aufweist, wobei die Kontaktierungsvorrichtung ein Gehäuse mit einer Kontaktierungseinheit und einer Rekonfigurationseinheit zum Anpassen der Kommunikation zwischen dem Datenverarbeitungsgerät und der Kontaktierungsvorrichtung aufweist. - Aus der
US 2003/0131307 A1 - Die
EP 1 282 041 A2 beschreibt einen eingebauten Test, der einen eingebetteten Speicher und Prozessor in einem anwendungsspezifischen integrierten Schaltkreis verwendet. - Die
EP 0 023 568 B1 beschreibt einen Datenschnittstellenmechanismus zum Ausbilden einer Schnittstelle zu bitparallelen Datenbussen verschiedener Bitbreiten. - 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 verwendeten 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 in1 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 Synchronisierungsnformationen 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 , in1 gezeigt, besteht aus vier Hauptelementen, nämlich einer Mikrosteuerung12 , einem Codespeicher-SRAM14 , einem Laufsteuerregister16 und einer spezialisierten Dual-Port-Registerdatei18 . - Die Mikrosteuerung
12 umfasst einen minimalen Instruktionsteilsatz zur Emulierung grundlegender Zustandsmaschinenaufbauten. Zur Darstellung kann ein minimaler Teilsatz Verzweigungs-, Konditional-Verzweigungs-, Schleifen-, Bewegungs-, Inkrementieren/Dekrementieren-, Vergleichs- und einfache Boolesche Operationen umfassen. Für eine Codeeffizienz kann ein Einebenen-Stapelregister24 enthalten sein, um Eintiefen-Teilroutinen zu erlauben. Wie auf dem Erfindungsdiagramm gezeigt ist, besteht eine darstellende Mikrosteuerung12 aus einem Programmzähler (PC)20 , der den Ort in dem Codespeicher14 anzeigt, der gerade ausgeführt wird, einer Ausführungseinheit22 , die die mikrocodierte Instruktion aus dem Codespeicher decodiert, einem Stapelregister24 , 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 Registerdatei18 , und einem Flag28 , 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 Mikrosteuerung12 ausgeführt werden. Der Codespeicher-SRAM14 wird bei Lauf - zeit durch den Hauptsystem-Mikroprozessor
30 geladen. Aus der Perspektive der Mikrosteuerung12 ist dies Nur-Lese-Speicher. Nachdem der Hauptprozessor30 den Code geladen hat, signalisiert derselbe der Mikrosteuerung12 über das Laufsteuerregister16 , 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 Registerdatei18 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 Mikrosteuerung12 zu ermöglichen, Lesen-Modifizieren-Schreiben-Operationen für Codegrößeneffizienz und -leistung durchzuführen. Die Registerdatei18 kann eine Bank von Universalmikrosteuerungsregistern18A , Zeitgeberregistern18B , externen I/O-Schnittstellenregistern18D , internen I/O-Registern18E , gemeinschaftlich verwendeten Registern18C , Unterbrechungsregister18F und optionalem DMA-FIFO18G , die durch den Mikroprozessor30 zur Datenspeicherung verwendet werden, umfassen. - Die Universalmikrosteuerungsregister
18A werden für lokale Variablen und zur Speicherung verwendet. - Die Zeitgeberregister
18B ähneln den Universalregistern18A . 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 werden 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 Hauptsystemprozessor30 als auch die I/O-Mikrosteuerung12 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 Register18C durch den Hauptprozessor30 und die Mikrosteuerung12 unterschiedlich zugegriffen werden. Der Hauptprozessor30 könnte z. B. vier Byte breite Register auf einmal als ein einzelnes 32-Bit-Wort lesen, wohingegen die Mikrosteuerung12 auf dieselben unter Umständen als vier separate 8-Bit-Entitäten zugreift. Um ein Status/Protokoll-Element in diesen Registern18C effizient und sicher zu implementieren, wird eine Zugriffspriorität spezifiziert, die Schreibzugriff für ein bestimmtes Register entweder dem Hauptprozessor30 oder der Mikrosteuerung12 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 Mikrosteuerung12 , die tatsächlichen externen elektrischen Signale zu beobachten und zu steuern, die das Protokoll der zu implementierenden Kommunikationen aufweist. Diese Register18D umfassen eine zusätzliche Funktionalität, um eine effiziente Implementierung der Steuerzustandsmaschine in der Mikrosteuerung12 zu erlauben. Die Register18D 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 Register18D gesteuert. - Die internen I/O-Schnittstellenregister
18E liefern eine ähnliche Funktion wie die externen I/O-Schnittstellenregister18D , 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 Hauptprozessor30 zu liefern, wie dies ein herkömmliches Peripheriegerät tun würde. Bei der tatsächlichen Implementierung kann das Unterbrechungsregister18F in den gemeinschaftlich verwendeten Registern18C enthalten sein, mit zusätzlichen zweckgebundenen Unterbrechungssignalen an den Hauptsystemprozessor30 . - Das FIFO
18G ermöglicht es, dass eine Volumendatenübertragung zwischen dem I/O-Teilsystem und dem Systemspeicher mit minimaler durch den Hauptsystemprozessor30 benötigter Unterstützung fertig gestellt werden kann. Daten, die durch die Mikrosteuerung12 an das FIFO18G geschrieben werden, werden über einen DMA34 an den Hauptsystemspeicher (nicht gezeigt) übertragen. Ähnlich können eingehende DMA-Daten durch die Mikrosteuerung12 gelesen werden. Das Laufsteuerregister16 kann ein Merkmal zum Löschen des Inhalts des FIFO18G 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 Steuerung12 verwendet, um sowohl den seriellen Befehl/Status-Kanal zwischen der Lasermodulationssteuerung36 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 (5)
- Programmierbare Schnittstelle (
10 ) zwischen einem Systemprozessor (30 ) und einem Peripheriegerät (38 ), wobei die Schnittstelle folgende Merkmale aufweist: eine Registerdatei (18 ) mit Registern (18A ,18B ,18C ,18D ,18E ,18F ,18G ), wobei jedes Register einen Typ aufweist; ein Laufsteuerregister (16 ); eine Mikrosteuerung (12 ), die mit der Registerdatei für eine bidirektionale Kommunikation und mit dem Laufsteuerregister (16 ) verbunden ist; ein Codespeicher-SRAM (14 ), der mit der Mikrosteuerung verbunden ist; und einen ausführbaren Code, der auf den Codespeicher-RAM geladen ist, wobei der Codespeicher-SRAM (14 ) und das Laufsteuerregister (16 ) für eine bidirektionale Kommunikation mit dem Systemprozessor (30 ) verbunden sind, wobei einer der Typen der Register ein Typ gemeinschaftlich verwendeter Register (18C ) ist, auf die durch sowohl den Systemprozessor (30 ) als auch die Mikrosteuerung (12 ) zugegriffen werden kann, wobei die gemeinschaftlich verwendeten Register (18C ) so angeordnet sind, dass auf sie durch den Systemprozessor (30 ) und die Mikrosteuerung (12 ) unterschiedlich zugegriffen wird, und wobei die gemeinschaftlich verwendeten Register (18C ) Hardwareperipherieregister emulieren, und wobei ein anderer der Typen der Register ein Typ externer I/O-Schnittstellenregister (18D ) ist, bei denen jedes Signal als Eingangs-, Ausgangs- oder als bidirektionales Signal definiert werden kann und die eine Flankenerfassungslogik enthalten, um anzuzeigen, ob eine ansteigende oder abfallende Flanke bei einem Eingangssignal aufgetreten ist, wobei die externen I/O-Schnittstellenregister weiterhin eingerichtet sind, um Ausgangspegel und Ausgangsfreigabe direkt zu steuern, wenn ein Signal ein Ausgangssignal ist. - 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. - Vorrichtung (
10 ) gemäß Anspruch 1 oder 2, bei der der Registertyp ferner FIFO-Register (18G ) umfasst, die wirksam sind, um mit einer Direktspeicherzugriffssteuerung zu kommunizieren. - Vorrichtung (
10 ) gemäß einem der Ansprüche 1 bis 3, bei der der ausführbare Code eine Laserdruckermechanismus-Kommunikationsschnittstelle und eine Vertikal-Seite-Oben-Synchronisierungsschnittstelle implementiert. - Vorrichtung (
10 ) gemäß einem der Ansprüche 1 bis 4, 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 (12C ), ein Steuerbereichsnetz (CAN), UART, IEEE 1284, eine LCD-Schnittstelle, eine Frontplattenschnittstelle und ein MODEM umfasst.
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 DE102005004420A1 (de) | 2005-11-10 |
DE102005004420B4 true 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)
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 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0023568B1 (de) * | 1979-07-30 | 1984-03-21 | International Business Machines Corporation | Daten-Schnittstellen-Mechanismus zum Verbinden Bit-paralleler Datensammelschienen verschiedener Bit-Breiten |
DE19654588A1 (de) * | 1995-12-30 | 1997-07-17 | Samsung Electronics Co Ltd | Programmierbare Ablaufsteuerung einer Plattensteuerung und ein Verfahren für eine zugehörige Kartenzuweisung |
DE10005977A1 (de) * | 2000-02-09 | 2001-08-30 | Thomas Lehmann | Kontaktierungsvorrichtung für ein tragbares Datenverarbeitungsger t |
EP1213653A2 (de) * | 2000-12-07 | 2002-06-12 | Texas Instruments Incorporated | Programmierbare Automatschnittstelle |
US6490638B1 (en) * | 1999-08-23 | 2002-12-03 | Advanced Micro Devices, Inc. | General purpose bus with programmable timing |
EP1282041A2 (de) * | 2001-07-30 | 2003-02-05 | Agilent Technologies, Inc. (a Delaware corporation) | Eingebauter Selbsttest mit eingebauten Speicher und Prozessor in einer ASIC Vorrichtung |
US20030131307A1 (en) * | 2002-01-10 | 2003-07-10 | Taylor Richard D. | System and method of recovering from soft memory errors |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6029239A (en) * | 1997-12-01 | 2000-02-22 | Advanced Micro Devices, Inc. | Configuring a communications system with a configurable data transfer architecture |
US6496971B1 (en) * | 2000-02-07 | 2002-12-17 | Xilinx, Inc. | Supporting multiple FPGA configuration modes using dedicated on-chip processor |
US7139743B2 (en) * | 2000-04-07 | 2006-11-21 | Washington University | Associative database scanning and information retrieval using FPGA devices |
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 |
JP3995037B2 (ja) | 2001-11-28 | 2007-10-24 | 富士フイルム株式会社 | 走査型印刷装置およびそれによる印刷方法 |
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 |
-
2004
- 2004-04-15 US US10/826,886 patent/US7975094B2/en not_active Expired - Fee Related
-
2005
- 2005-01-31 DE DE102005004420A patent/DE102005004420B4/de not_active Expired - Fee Related
- 2005-04-05 JP JP2005108430A patent/JP5366288B2/ja not_active Expired - Fee Related
-
2011
- 2011-07-01 US US13/175,481 patent/US8127070B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0023568B1 (de) * | 1979-07-30 | 1984-03-21 | International Business Machines Corporation | Daten-Schnittstellen-Mechanismus zum Verbinden Bit-paralleler Datensammelschienen verschiedener Bit-Breiten |
DE19654588A1 (de) * | 1995-12-30 | 1997-07-17 | Samsung Electronics Co Ltd | Programmierbare Ablaufsteuerung einer Plattensteuerung und ein Verfahren für eine zugehörige Kartenzuweisung |
US6490638B1 (en) * | 1999-08-23 | 2002-12-03 | Advanced Micro Devices, Inc. | General purpose bus with programmable timing |
DE10005977A1 (de) * | 2000-02-09 | 2001-08-30 | Thomas Lehmann | Kontaktierungsvorrichtung für ein tragbares Datenverarbeitungsger t |
EP1213653A2 (de) * | 2000-12-07 | 2002-06-12 | Texas Instruments Incorporated | Programmierbare Automatschnittstelle |
EP1282041A2 (de) * | 2001-07-30 | 2003-02-05 | Agilent Technologies, Inc. (a Delaware corporation) | Eingebauter Selbsttest mit eingebauten Speicher und Prozessor in einer ASIC Vorrichtung |
US20030131307A1 (en) * | 2002-01-10 | 2003-07-10 | Taylor Richard D. | System and method of recovering from soft memory errors |
Also Published As
Publication number | Publication date |
---|---|
DE102005004420A1 (de) | 2005-11-10 |
JP5366288B2 (ja) | 2013-12-11 |
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 | |
DE4329336C2 (de) | Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors | |
DE60217157T2 (de) | Verfahren und vorrichtung zum binden von shadow-registern an vektorisierte interrupts | |
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE60319125T2 (de) | Integrierte schaltung mit mehreren betriebsarten | |
DE60100848T2 (de) | Virtuelles rom für geräte-aufzählung | |
DE69828074T2 (de) | Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl | |
DE69817170T2 (de) | Emulation von unterbrechungsmechanismus in einem multiprozessorsystem | |
DE19735348A1 (de) | Einzelbefehl-Mehrdaten-Verarbeitung unter Verwendung von mehreren Bänken von Vektorregistern | |
DE10297597T5 (de) | Suspendieren der Ausführung eines Threads in einem Mehrfach-Thread-Prozessor | |
DE4018481C2 (de) | ||
DE19729618C2 (de) | Mikroprozessor und Mehrprozessorsystem | |
DE102013113262A1 (de) | Auslöser-Leitwegeinheit | |
DE102022107800A1 (de) | Booten und verwenden eines einzelnen cpu-sockels als partitionierte multi-cpu-plattform | |
DE112019000460T5 (de) | Adapter für direkten speicherzugriff | |
DE60010847T2 (de) | Verfahren zur Fehlerbeseitigung in einem Thread-Programm | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor | |
DE2717700C2 (de) | Speicherzugriffsanordnung | |
DE19580638B4 (de) | Computersystem und Verfahren zum Steuern eines Peripheriegeräts in einem Computersystem | |
DE19802868C2 (de) | Verfahren und Vorrichtung zur Datenakquisition | |
DE69737168T2 (de) | DMA-Sklavenemulationsgerät in einem Rechnersystembus | |
DE69938017T2 (de) | Datenprozessor mit robuster Unterbrechungsverzweigung und Betriebsverfahren dazu | |
DE102007015507A1 (de) | Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb | |
DE102014111305A1 (de) | Prozessor-Modell, das ein einziges großes, lineares Register verwendet, mit FIFO-basierten I/O-Ports unterstützenden neuen Interface-Signalen und unterbrechungsgesteuerten Bus-Transfers, die DMA, Brücken und einen externen I/O-Bus eliminieren | |
DE10140675A1 (de) | Echtzeit-Betriebsystem und Prozessorkarte mit einem solchen Echtzeit-Betriebsystem |
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 |