Seite 3
Dieses Handbuch ist für Hardwareentwickler gedacht, die den ERTEC 200 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 200 und gibt Hinweise, die beim Entwickeln der eigenen PROFINET IO Device-Hardware zu beachten sind.
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 oben angegebene E- Mail-Adresse der Hotline schicken.
Register MEM_SWAP Einleitung Der ERTEC 200 ist für die Realisierung von PROFINET Devices mit RT- und IRT-Funktionalität vorgesehen. Mit seinem integrierten ARM946-Prozessor, dem 2-Port-Ethernet-Switch mit integrierten PHYs und die Möglichkeit an ein Local- Bus-Interface ein externes Host-Prozessor-Systeme anzuschließen, bietet er alle Voraussetzungen für die Realisierung von PROFINET-Devices mit integrierter Switch-Funktionalität.
Gehäuse des ERTEC 200 Der ERTEC 200 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 200-Gehäusebeschreibung Verarbeitungshinweise zum Löten des ERTEC 200 sind in folgenden Dokumenten: /10/ Lötanweisung für bleihaltigen Baustein.
Signal-Funktions-Beschreibung Pinbeschreibung ERTEC 200 Der Ethernet-Kommunikations-Baustein ERTEC 200 ist in einem 304–Pin FBGA–Gehäuse verfügbar. In diesem Abschnitt werden die Signalnamen des ERTEC 200 beschrieben. 1.5.1 GPIO 0-31 und alternative Funktionen Verschiedene Signale sind gemultiplext am selben Pin. Diese gemultiplexten Signale können bis zu vier unterschiedliche Funktionen beinhalten.
ARM946E-S Prozessor Im ERTEC 200 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.
Der Prozessor kann entweder mit 50MHz, 100MHz oder 150 MHz betrieben werden. Die Arbeitsfrequenz wird über die Konfigurations-Pins CONFIG[4] und CONFIG[3] während der Reset-Phase eingestellt. Die Kommunikation mit den Komponenten des ERTEC 200 erfolgt über den AHB-Bus mit einer Frequenz von 50 MHz. Cache-Struktur des ARM946E-S...
Am ARM946E-S ist ein ETM9-Modul angeschlossen, das eine Debugunterstützung für Daten- und Instruction-Trace im ERTEC 200 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.
„Acknowledge-Funktion“ verknüpft. Dies ist vor allem für die Debugging-Funktionen nützlich um den Inhalt des Interrupt-Vector-Registers auszulesen ohne die Acknowledge-Funktion des Interrupt-Controllers zu starten. 2.9.7 IRQ-Interrupt-Quellen Dem IRQ-Interrupt-Controller stehen aus folgenden Funktionsgruppen des ERTEC 200 Interrupts zur Verfügung: IRQ-Interrupts Interrupt-Nr. Funktionsblock...
(1) Ein Zugriff auf nicht vorhandene Adressen wird von den einzelnen Funktionsgruppen des ERTEC 200 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.
Bussystem des ERTEC 200 Der ERTEC 200 besitzt intern zwei interne Busse. hochperformanten Kommunikationsbus (Multilayer AHB-Bus) Peripheriebus (APB-Bus) Folgende Funktionsblöcke sind direkt am Multi-Layer AHB-Bus angeschlossen: ARM946E-S (Master) IRT-Switch (Master/Slave) (Master) Interrupt-Controller (Slave) EMIF-Interface (Slave) DMA-Controller (Master/Slave) Über eine AHB/APB-Bridge können die Master auf die restliche Peripherie zugreifen, die am niederperformanten APB- Bus angeschlossen sind.
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 200 vier Eingänge BOOT[3:0] zur Verfügung. Während der aktiven Resetphase werden die Boot-Pins eingelesen und im Register BOOT_REG System-Control-Registerbereich abgespeichert.
Das Booten über LBU-Interface muß aktiv von dem externen Host-Prozessor ausgeführt werden. Der LBU-Host kann dann den Anwender-Code in die Speicher des ERTEC 200 übertragen. Die ARM-Boot-Software für das Booten von LBU liest keine Baugruppenkennung aus. Die Baugruppen-Kennung muß in einem Speichermedium (z.B.
General Purpose IO (GPIO) Es stehen maximal 45 General Purpose Inputs/Outputs im ERTEC 200 zur Verfügung. Diese sind aufgeteilt in zwei Gruppen: GPIO[31:0] 32 Bits am Peripherie-Bus APB • GPIO[44:32] 13 Bits als alternative Funktion am LBU-Interface • Die GPIO’s [31 : 0] können folgendermaßen genutzt werden Inputs •...
0: GPIO-Inputx = 0, 1: GPIO-Inputx = 1 Timer 0/1/2 Im ERTEC 200 sind drei voneinander unabhängige Timer integriert. Sie können zur internen Überwachung von diversen Softwareroutinen verwendet werden. Jeder Timer ist ein Interrupt zugeordnet, der am IRQ-Interrupt-Controller des ARM946 angeschlossen ist. Der Zugriff auf die 3 Timer erfolgt immer 32-Bit breit.
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 200 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.
Watchdog-Timer Im ERTEC 200 sind zwei Watchdog-Timer integriert. Die Watchdog-Timer sind für 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. Dieser Ausgang kann am Pin GPIO[15] als alternative Funktion verwendet werden (siehe GPIO- und Signalbeschreibung).
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 200 aktiv (0), der Interrupt des Watchdogs (WDINT) ist „0“ und das Status-Bit des Zählers 0 (Bit 3) ist „0“.
UART-Schnittstelle Im ERTEC 200 ist ein UART implementiert. Die Eingänge und Ausgänge der UART’s stehen als alternative Funktion am GPIO-Port [12 : 8] 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 ).
UARTCLK Der UART kann auch als BOOT-Medium verwendet werden, wenn z.B. Funktionen von einem externen PC in den ERTEC 200 geladen und ausgeführt werden sollen. Die Selektion des BOOT-Mediums erfolgt durch die Eingänge BOOT[3:0] während der aktiven Reset-Phase. Die Einstellung der UART-Signalpins und das Laden des Programm-Codes wird dann vom BOOT-Lader übernommen.
Synchrones Interface SPI Im ERTEC 200 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.
Zusätzlich kann das SPI-Interface auch als BOOT-Medium verwendet werden, wenn z.B. Funktionen von einem seriellen EEPROM in den ERTEC 200 geladen und ausgeführt werden sollen. Die Selektion des BOOT-Medium erfolgt durch die Eingänge BOOT[3:0] während der aktiven Reset-Phase. (Siehe Beschreibung BOOT-ROM).
Write: Receive-Overrun-Interrupt wird gelöscht ohne Rücksicht darauf ob Daten gerade geschrieben werden. System-Control-Register Die System-Control-Register sind ERTEC 200 spezifische Control-Register, die von den einzelnen AHB-Mastern vom APB-Bus gelesen und beschrieben werden können. Aufstellung und Adressbelegung aller System-Control-Register und die genaue Beschreibung siehe folgende Kapiteln.
Seite 59
1: Letzter Reset war PowerOn- oder Hardware – Reset SW_RESET 1: Letzter Reset war Software-Reset WD_RESET 1: Letzter Reset war Watchdog-Reset PLL_STAT_REG Addr.: 0x4000_2614 Default: 0x0007_0005 Beschreibung Statusregister für PLL des ERTEC 200 und InterruptControl für FIQ3. Bit-Nr Name Beschreibung 31..18 Reserviert Reserviert INT_MASK_LOSS: Interrupt-Maskierung für INT_LOSS_STATE...
CLKP_A 25MHz Tabelle 17: Übersicht Takte des ERTEC 200 Zur Generierung der internen Takte im ERTEC 200 ist eine PLL integriert. Die Taktversorgung der PLL erfolgt über folgende Eingangspins: 25 MHz Quarz an den Eingängen CLKP_A und CLKP_B oder 25 MHz Taktgenerator am Eingang CLKP_A Der Eingangstakt wird durch einen Teiler auf 12, 5 MHz heruntergeteilt und in die PLL eingespeist.
PHYs erfolgt über den internen 25MHz Takt CLKP_A. Die PHYs generieren daraus die für die Ethernet-MACs notwendigen Taktsignale RX_CLK und TX_CLK. Statt der internen PHYs können auch externe PHYs am ERTEC 200 angeschlossen werden. In diesem Fall müssen die Anschlüsse des MII-Interfaces der MACs an der LBU-Schnittstelle zur Verfügung gestellt werden.
Die externe Hardware-Reset-Beschaltung wird am Pin RESET_N des ERTEC 200 angeschlossen. Durch Aktivieren des Hardware-Reset wird intern die gesamte Schaltung inklusive Taktsystem des ERTEC 200 zurückgesetzt und die BOOT- und CONFIG-Pins in den internen Registern gespeichert. Der Hardware-Reset muß mindestens 35µs stabil anliegen (siehe folgende Abbildung).
Ablauf des Timers der Watchdog-Reset aktiviert, wenn die Watchdog-Funktion mit dem Bit WD_RES_FREI aktiv ist. Der Watchdog-Reset wird im ERTEC 200 über eine parametrierbare Pulsverlängerung (PV) geführt. Der Watchdog-Reset setzt den kompletten Schaltungsteil des ERTEC 200 zurück.
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 200 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.
External Memory Interface (EMIF) Um auf externen Speicherbereich zugreifen zu können, ist im ERTEC 200 ein Externes Memory InterFace realisiert. Das Interface beinhaltet je einen SDRAM-Memory-Controller und einen SRAM-Memory-Controller für asynchrone Speicher und Peripherie. Beide Interfaces sind getrennt als aktive Interfaces parametrierbar. Das heißt, dass am Ende eines Zugriffs der Datenbus aktiv auf High getrieben wird.
LOW-Aktiv HIGH-Aktiv LBU_RDY_N ist ein Tristate-Ausgang. Erfolgt über das LBU-Interface ein Zugriff auf den ERTEC 200 (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.
Der Adressbereichszugriff muß in diesem Fall als „Little-Endian-Zugriff“ parametriert werden. Host-Zugriffe auf den ERTEC 200 Beim Zugriff eines Host auf den ERTEC 200 verhält sich dieser wie ein „16-Bit Little Endian“ Baustein mit 8-Bit und 16- Bit Zugriffsmöglichkeiten. Folgende Zugriffe werden unterstützt:...
25 ns Tabelle 28: Timing für LBU-Schreibzugriffe mit gemeinsamer Read-/Writeleitung Die Setup-Zeit des Schreib-Signals muss eingehalten werden, sonst treibt die LBU den ERTEC 200 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).
DMA-Controller Der ERTEC 200 besitzt einen 1-kanaligen DMA-Controller. Damit können Daten ohne zusätzliche Belastung des ARM946E-S transferiert werden. Folgende Datentransfers sind möglich: SOURCE TARGET SYNCHRONISATION Peripheral Memory Source Memory Peripheral Target Peripheral Peripheral Source and Target Memory Memory None Tabelle 30: DMA-Transfermodi Note (1) Aufgrund der 1 kanaligen Struktur kann der DMA Controller bei den seriellen Schnittstellen nur eine Richtung (Transmit oder Receive) bedienen.
Multiport Ethernet PHY Im ERTEC 200 ist ein 2-fach Multiport-PHY (Physicyl Layer Transceiver) integriert, der folgende Übertragungsmodi unterstützt: 100BASE-TX • 100BASE-FX • Die Übertragungsmodi stehen pro Port getrennt zur Verfügung und können unterschiedlich eingestellt werden. Der PHY ist kompatibel zu den Standards: IEEE802.3...
Seite 88
Im PHY_CONFIG Register können oben genannte Parameter für das interne Config-Port verändert werden. Zusätzlich werden auch die Bits P1_PHY_ENB /P2_PHY_ENB in diesem Register aktiviert. Die Parameter und das Freigabe-Bit können mit einem Schreibzugriff übergeben werden, da die benötigte Setup-Time von 200ns durch die ERTEC 200- Hardware sichergestellt wird.
11 Test und Debugging 11.1 Embedded Trace Macrocell ETM9 Im ARM946E-S des ERTEC 200 ist ein ETM9-Modul integriert welches ein Tracen von Befehlscode 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...
11.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 200 zur Verfügung gestellt: PIPESTA [2:0] • TRACESYNC •...