Seite 3
Vorwort Zielgruppe des Handbuchs Dieses Handbuch ist für Hardwareentwickler gedacht, die den ERTEC 400 für neue Produkte einsetzen wollen. Erfahrung auf dem Gebiet Prozessoren, Designen von „Embedded Systemen“ und Ethernetkenntnisse sind dazu notwendig. Es beschreibt ausführlich alle Funktionsgruppen des ERTEC 400 und gibt Hinweise, die beim Entwickeln der eigenen PROFINET IO Device-Hardware zu beachten sind.
Seite 4
Weitere Unterstützung Bei Fragen zur Nutzung des beschriebenen Bausteines, die Sie nicht in der Dokumentation beantwortet finden, wenden Sie sich bitte an Ihre Siemens Ansprechpartner in den für Sie zuständigen Vertretungen oder Geschäftsstellen. Fragen, Anmerkungen und Verbesserungen zum vorliegenden Handbuch bitte schriftlich an die angegebene E- Mail-Adresse schicken.
Seite 5
Inhaltsverzeichnis Einleitung ..........................9 1.1 Einsatzgebiete des ERTEC 400 ......................9 1.2 Features des ERTEC 400 ........................9 1.3 Aufbau des ERTEC 400 ......................... 10 1.4 Gehäuse des ERTEC 400........................11 1.5 Signal-Funktions-Beschreibung ......................12 1.5.1 GPIO 0-31 und alternative Funktionen................... 12 1.5.2...
Seite 8
Tabelle 19: Einstellung verschiedener Pagegrößen ....................75 Tabelle 20: Einstellung verschiedener Offsetbereiche................... 75 Tabelle 21: Übersicht der Zugriffe auf Adressbereiche von ERTEC 400............... 76 Tabelle 22: Timing für LBU-Lesezugriffe mit separater Read-/Writeleitung............77 Tabelle 23: Timing für LBU-Schreibzugriffe mit separater Read-/Writeleitung ............78 Tabelle 24: Timing für LBU-Readzugriffe mit gemeinsamer Read-/Writeleitung............
Seite 9
Register PLL_STAT_REG, RES_CTRL_REG, PCI Mischbetrieb, PCI Zugriff Einleitung Der ERTEC 400 ist für die Realisierung von PROFINET Devices mit RT- und IRT-Funktionalität vorgesehen. Mit seinem integrierten ARM946- Prozessor, dem integriertem 4-Port-Realtime-Ethernet-Switch und den verschiedenen Möglichkeiten an einem selektierbaren Bussystem (PCI oder LBU) externe Host-Prozessor- Systeme anzuschließen, bietet er alle Voraussetzungen für die Realisierung von PROFINET-Devices mit...
Seite 11
Gehäuse des ERTEC 400 Der ERTEC 400 wird in einem FBGA-Gehäuse mit 304 Pins geliefert. Der Abstand zwischen den Pins beträgt 0,8 mm. Die Gehäusegröße ist 19mm x 19mm. Abbildung 2: ERTEC 400-Gehäusebeschreibung Verarbeitungshinweise zum Löten des ERTEC 400 sind in folgenden Dokumenten beschrieben: /10/ Lötanweisung für bleihaltigen Baustein.
Seite 21
ARM946E-S Prozessor Im ERTEC 400 ist der Prozessor ARM946E-S implementiert. Grundlage für die Beschreibung sind die Dokumente /1/ und /2/. Aufbau des ARM946E-S Eingesetzt wird ein ARM946E-S Prozessorsystem. In der nachfolgenden Abbildung ist die Struktur des Prozessors dargestellt. Das System beinhaltet neben dem Prozessorkern je einen Daten- und Instruction-Cache, eine Memory Protection Unit (MPU), System Control Coprozessor und ein Tightly Coupled Memory.
Seite 22
Der Prozessor kann entweder mit 50MHz, 100MHz oder 150 MHz betrieben werden. Die Arbeitsfrequenz wird über die Konfigurations-Pins CONFIG[3] und CONFIG[4] während der Reset-Phase eingestellt. Die Kommunikation mit den Komponenten des ERTEC 400 erfolgt über den AHB-Bus mit einer Frequenz von 50 MHz.
Seite 23
Am ARM946E-S ist ein ETM9-Modul angeschlossen, das eine Debugunterstützung für Daten- und Instruction- Trace im ERTEC 400 zulässt. Das Modul enthält alle vom Prozessor für den Daten- und Instructiontrace notwendigen Signale. Bedient wird das ETM9-Modul über das JTAG-Interface. Die Traceinformationen werden über einen FIFO-Speicher an den Traceport nach außen gegeben.
Seite 26
(1) Ein Zugriff auf nicht vorhandene Adressen wird von den einzelnen Funktionsgruppen des ERTEC 400 erkannt und löst einen Puls mit der Dauer Tp = 2/50MHz aus. Bei Auswertung dieses Interrupts ist der angeschlossene FIQ-Eingang als flangengetriggerter Eingang zu parametrieren.
Seite 32
Bussystem des ERTEC 400 Der ERTEC 400 besitzt intern zwei unterschiedliche Busse. hochperformanten Kommunikationsbus (Multilayer AHB-Bus) Peripheriebus (APB-Bus) Folgende Funktionsblöcke sind direkt am Multi-Layer AHB-Bus angeschlossen: ARM946E-S (Master/Slave) IRT-Switch (Master) (Master) (Master/Slave) Interrupt-Controller (Slave) Lokales SRAM (Slave) EMIF-Interface (Slave) Über eine AHB/APB-Bridge können die Master auf die restliche Peripherie zugreifen, die am niederperformanten APB-Bus angeschlossen sind.
Seite 33
Speichermedium unterstützt.. Für die unterschiedlichen Boot- und Download-Modes stehen verschiedene Routinen zur Verfügung. Um die Quelle und den Mode auszuwählen stehen am ERTEC 400 drei Eingänge BOOT[2:0] zur Verfügung. Während der aktiven Resetphase werden die Boot-Pins eingelesen und im Register BOOT_REG im System-Control-Registerbereich abgespeichert.
Seite 34
Download des Second-Level-Loaders in das USER-RAM durch. Der USER-RAM wird auf die Adresse 0x00000000 gemapped und der Second-Level-Loader gestartet. Dieser führt den Download der Anwender-Firmware in die verschiedenen Speicherbereiche des ERTEC 400 durch und startet nach Beendigung des Downloads die Firmware.
Seite 35
Interrupt-Bit 4 "INT_QVZ_PCI_STATE" im Register "PLL_STAT_REG" zu löschen. General Purpose IO (GPIO) Es stehen maximal 32 General Purpose Input/Output im ERTEC 400 zur Verfügung. Nach Reset sind diese als GPIO-Eingänge eingestellt. Die GPIO’s [31, 7 : 0] stehen immer als IO zur Verfügung, da keine zusätzlichen Funktionen parametrierbar sind.
Seite 37
GPIO31_PORT_MODE Port GPIO(31); Timer 0 und 1 Im ERTEC 400 sind zwei voneinander unabhängige Timer integriert. Sie können zur internen Überwachung von diversen Softwareroutinen verwendet werden. Jeder Timer besitzt einen Interrupt-Ausgang, der am IRQ-Interrupt- Controller des ARM946 angeschlossen ist. Der Zugriff auf die Timer erfolgt immer 32-Bit breit.
Seite 41
Inkonsistenz der gelesenen Zählwerte führen kann. Hinweis zur Eingangsfrequenz: Die max. Eingangsfrequenz für den F-CLK beträgt ¼ des APB-Clocks. Bei Quarzausfall am ERTEC 400 stellt sich an der PLL eine minimale Ausgangsfrequenz zwischen 40 –90 MHz ein. Daraus ergibt sich eine minimale APB-CLK Frequenz von PLLOUT 40MHz / 6 = 6,6666 MHZ.
Seite 43
Watchdog-Timer Im ERTEC 400 sind zwei Watchdog-Timer integriert. Die Watchdog-Timer sind zur selbstständigen Überwachung von Prozessen vorgesehen. Der Arbeitstakt ist genauso wie der Prozessortakt von der PLL abgeleitet und beträgt 50 MHz. 4.5.1 Watchdog-Timer 0 Der Watchdog-Timer 0 ist ein 32-Bit breiter Abwärtszähler, dem der Ausgangs WDOUT0_N zugeordnet ist.
Seite 44
Watchdog-Zähler 0 freigeben/sperren: 0: Watchdog-Zähler 0 gesperrt 1: Watchdog-Zähler 0 freigegeben Anmerkung: Ist dieses Bit=0, ist der WDOUT0_N-Ausgang des ERTEC 400 aktiv (0), der Interrupt des Watchdogs (WDINT) ist „0“ und das Status-Bit des Zählers 0 (Bit 3) ist „0“.
Seite 46
UART1/ UART2 Im ERTEC 400 sind zwei UART’s implementiert. Die Eingänge und Ausgänge der UART’s stehen als alternative Funktion am GPIO-Port [13 : 9] (UART1) und GPIO-Port [18 : 14] (UART2) zur Verfügung. Dazu müssen die IO’s auf die entsprechenden Ein- bzw. Ausgänge und die alternative Funktion parametriert werden (siehe Registerbeschreibung GPIO).
Seite 47
UARTCLK Der UART1 kann auch als BOOT-Medium verwendet werden, wenn z.B. Funktionen von einem externen PC in den ERTEC 400 geladen und ausgeführt werden sollen. Die Selektion des BOOT-Mediums erfolgt durch die Eingänge BOOT[2:0] während der aktiven Reset-Phase. Die Einstellung der UART1-Signalpins und das Laden des Programm-Codes wird dann vom BOOT-Lader übernommen.
Seite 52
Synchrones Interface SPI Im ERTEC 400 ist ein SPI-Interface implementiert. Die Eingänge und Ausgänge des SPI-Interface stehen als alternative Funktion am GPIO-Port [23:16] zur Verfügung. Dazu müssen die IO’s auf die entsprechenden Ein- bzw. Ausgänge und die alternative Funktion parametriert werden (siehe Registerbeschreibung GPIO). Wenn das SPI Interface verwendet wird, stehen die Pins nicht mehr als normale GPIO’s zur Verfügung.
Seite 53
Zusätzlich kann das SPI-Interface auch als BOOT-Medium verwendet werden, wenn z.B. Funktionen von einem seriellen EEPROM in den ERTEC 400 geladen und ausgeführt werden sollen. Die Selektion des BOOT-Medium erfolgt durch die Eingänge BOOT[2:0] während der aktiven Reset-Phase. (Siehe Beschreibung BOOT-ROM).
Seite 56
Daten gerade geschrieben werden. System-Control-Register Die System-Control-Register sind ERTEC 400 spezifische Control-Register, die von PCI/LBU-Seite oder vom ARM946 gelesen und beschrieben werden können. Eine Aufstellung und Adressbelegung aller System-Control- Register und die genaue Beschreibung wird in den folgenden Kapiteln behandelt.
Seite 57
System-Control-Register Beschreibung ID_REG Addr.: 0x4000_2600 Default: 0x4026_0100 Beschreibung Identification ERTEC 400. Bit-Nr Name Beschreibung 31..16 ERTEC400-ID ERTEC 400-Kennung: 4026h (entspricht der Device ID der AHB-PCI-Bridge) 15..8 HW-RELEASE HW-Release: 01h 7..0 Reserviert Reserviert BOOT_REG Addr.: 0x4000_2604 Default: Bootpins[2:0] Beschreibung Boot-Mode-Pins BOOT(2:0) lesbar.
Seite 58
1: Letzter Reset war Reset über Software-Reset WD_RESET 1: Letzter Reset war Reset über Watchdog PLL_STAT_REG Addr.: 0x4000_2614 Default: 0x0007_0005 Beschreibung Statusregister für PLL des ERTEC 400 und InterruptControl für FIQ3. Bit-Nr Name Beschreibung 31..19 ---- Reserviert Interrupt-Maskierung für INT_QVZ_PCI_SLAVE_STATE...
Seite 63
• RMII/MII – Anschaltung der Ethernet MAC’s • 5.1.1 Taktversorgung im ERTEC 400 Die benötigten Takte werden im ERTEC 400 mittels interner PLL und/oder durch direkte Einspeisung erzeugt. Eine genaue Aufstellung der Takte zeigt die folgende Tabelle: MODUL TAKTQUELLE FREQUENZ...
Seite 64
Im MII-Betrieb werden die beiden PHYs mit einem PHY-Clock 25MHz versorgt. Der Takt für die Ethernetports des ERTEC 400 wird von den MII-PHYs über die Taktleitungen RX_CLK und TX_CLK eingespeist. Der Clock für die Ethernetports wird über das Clock-Control-Register im IRT-Switch aktiviert/gesperrt.
Seite 65
Abbildung 10: Taktversorgung der Ethernetanschaltung Resetlogik des ERTEC 400 Die Resetlogik setzt die gesamte Schaltung des ERTEC 400, bis auf den PCI-Teil der AHB-PCI-Bridge, zurück. Das Resetsystem des ERTEC 400 wird durch folgende Ereignisse aktiviert: Hardware-Reset über externen Pin RESET_N.
Seite 66
Timers der Watchdog-Reset aktiviert, wenn die Watchdog-Funktion mit dem Bit WD_RES_FREI aktiv ist. Der Watchdog-Reset wird im ERTEC 400 über eine parametrierbare Pulsverlängerung (PV) geführt. Der Watchdog- Reset setzt den kompletten Schaltungsteil des ERTEC 400 zurück. Das Watchdogereignis wird dann über einen GPIO-Pin an das Hostsystem signalisiert.
Seite 67
EMIF-Konfigurationsregistern Async_Bank_0_Config - Async_Bank_3_Config der „Extended_Wait_Mode“ einzuschalten. Wird einer der 4 Memorybereiche, die über die Chip-Select-Ausgänge CS_PER0_N - CS_PER3_N selektiert werden, angesprochen, so wartet der Memory-Controller des ERTEC 400 auf das Eingangssignal RDY_PER_N. Die Überwachungsdauer wird im EMIF-Register ASYNC_WAIT_CYCLE_CONFIG eingestellt und ist aktiv, wenn im EMIF-Rgeister EXTENDED_CONFIG die Quittungsverzugüberwachung (Bit7) gesetzt ist.
Seite 68
Interrupt-Bit 4 "INT_QVZ_PCI_STATE" im Register "PLL_STAT_REG" zu löschen. External Memory Interface (EMIF) Um auf externen Speicherbereich zugreifen zu können, ist im ERTEC 400 ein Externes Memory Interface realisiert. Das Interface beinhaltet je einen SDRAM-Memory-Controller und einen SRAM-Memory-Controller für asynchrone Speicher. Beide Interfaces sind getrennt als aktive Interfaces parametrierbar. Das heißt, dass am Ende eines Zugriffs der Datenbus aktiv auf High getrieben wird.
Seite 74
LOW-Aktiv HIGH-Aktiv LBU_RDY_N ist ein Tristate-Ausgang. Erfolgt über das LBU-Interface ein Zugriff auf den ERTEC 400 (CS mit RD oder WR aktiv) , dann wird LBU_RDY_N zuerst auf inaktiv (Wait) geschaltet. Sobald die Daten verfügbar sind (Read), bzw. übernommen werden können (Write), wird LBU_RDY_N für einen 50 MHz-Takt aktiv und danach wieder auf Tristate geschaltet.
Seite 76
Der Adressbereichszugriff muss in diesem Fall als „Little-Endian-Zugriff“ parametriert werden. Die Zugriffe des Host erfolgen asynchron zum AHB-Clock des ERTEC 400. Deshalb werden sie auf den AHB- Clock einsynchronisiert. Die folgenden Abbildungen zeigen verschiedene Read- und Write-Sequenzen mit den dazugehörigen Timingwerten:...
Seite 80
25 ns Tabelle 25: Timing für LBU-Schreibzugriffe mit gemeinsamer Read-/Writeleitung Die Setup-Zeit des Schreib-Signals muss eingehalten werden, sonst treibt die LBU den ERTEC 400 Datenbus. Die LBU besitzt getrennte Chip-Select-Leitungen für die Page Register (LBU_CS_R_N) und den Zugriff auf den AHB-Bus (LBU_CS_M_N).
Seite 83
PCI-Interface Als PCI-Interface wird die AHB-PCI-Bridge von Fujitsu-Siemens eingesetzt. Es hat am AHB-Bus ein 2 Giga-Byte großes Segment das ab der Adresse 0x80000000 (Offset = 2Gbyte) beginnt. Siehe dazu auch die „Detaillierte Speicherbeschreibung im Kapitel 9.2. Hier ist der Konfigurations-Bereich des PCI-Macros adressiert. Im Konfigurationsbereich kann das Mapping der Adressen des AHB auf den Adressbereich des PCI-Busses eingestellt werden.
Seite 87
„PM_Control_Status“ gesetzt sein.Der ERTEC 400 braucht zum Auslösen des Signals „PME_N“ den PCI-Takt. Ist der Powerzustand des ERTEC 400 nicht D0 dann müssen alle PCI-Interrupts im ERTEC 400 per Software gesperrt werden (lt. PCI-Spec dürfen PCI-Interrupts nur im Zustand D0 freigegeben werden) . Eine Hardwareunterstützung zum Sperren der Interrupts gibt es nicht.
Seite 89
8.2.1 ERTEC 400 in einem PC-System In PC-Systemen kann der ERTEC 400 als PC-Karte mit Host- und Masterfunktionalität ins System integriert werden. Die PC-Karte kann am 32-Bit-Bus mit maximal 66 MHz betrieben werden. Dabei ist der Interrupt INTB_N zu sperren, weil das PC-Interface des ERTEC 400 nur ein „Single-Function-Interface“ ist. Damit aber eine Unterbrechung des niederprioren Interrupts durch einen hochprioren Interrupt vom IRT-Switch möglich wird, kann...
Seite 95
10 Test und Debugging 10.1 Embedded Trace Macrocell ETM9 Im ARM946E-S des ERTEC 400 ist ein ETM9-Modul integriert welches ein Tracen von Instructions und Daten ermöglicht. Das ETM-Modul wird vom ARM946E-S mit den notwendigen Signalen versorgt um die Tracefunktionen durchführen zu können. Bedient wird das ETM9-Modul über das Trace- oder JTAG-Interface. Die Traceinformationen werden in einem internen FIFO abgelegt und über die Schnittstelle zum Debugger...
Seite 96
10.2 Trace – Interface Parametriert, freigegeben oder gesperrt wird das Trace-Interface durch einen angeschlossenen Debugger (z.B von Lauterbach) an der JTAG-Schnittstelle. Zum Tracen von internen Prozessorzuständen wird ein Traceport im ERTEC 400 zur Verfügung gestellt: PIPESTA [2:0] • TRACESYNC •...