artikel:nav_common:omap5948:start

Dies ist eine alte Version des Dokuments!


OMAP5948

Der OMAP5948 wird in den Bosch/Blaupunkt Navigationssystemen als sog. HMI-Prozessor (HMI = Human-Machine-Interface) verwendet. „OMAP“ ist die englische Abkürzung für „Open Multimedia Application Platform“ und bezeichnet eine Mikrocontroller-Produktlinie von Texas Instruments (TI). Es handel sich um ein SOC-System (SOC = System-On-Chip), womit ein Chip bezeichnet wird, der für sich allein bereits lauffähig ist.

Er wurde speziell für Bosch entwickelt und produziert und ist somit nicht auf dem freien Markt verfügbar. Ebensowenig wie Dokumentationen dazu. Er entspricht jedoch dem OMAP5912, für den es zahlreiche Unterlagen und Infos im Netz gibt. Alle nachfolgenden Informationen basieren auf dieser These. Wer mehr darüber weiß, oder gar ein Datenblatt besitzt dem wäre ich sehr dankbar wenn er sich über das Kontaktformular bei mir meldet! :-)

Der Chip enthält neben einer ARM-CPU und einem DSP auch noch viele weitere Komponenten, wie diese Blockgrafik verdeutlicht:

Nicht alle davon kommen in den Navigationssystemen zum Einsatz. Die Betriebs- und Signal (IO) Spannung beträgt 1,6V und der Chip kann mit maximal 192 MHz getaktet werden. Da für die internen Komponenten nicht jeder Pin einzeln rausgeführt wird, sind etliche Pins im „Multiplex“ belegt. D.H. je nach Softwarekonfiguration des Chips kann der Pin eine andere Funktion haben. Erkennbar ist dies an Pinbezeichnungen die durch Schrägstrich getrennt sind, z.B. MPUIO1/RTCK/SPIF.SCK. Dieser Pin könnte also intern entweder mit einem generischen IO-Port der CPU (MPUIO1), einem Signal des JTAG-Controllers (RTCK) oder mit dem Taktsignal einer SPI-Schnittstelle (SPIF.SCK) verbunden sein.

Dieses Schaubild zeigt einen funktionalen Überblick des Chips:

Der CPU im OMAP entspricht dem Typ ARM926EJ-S und damit der ARM-Architektur ARMv5TEJ. Diese versteht zwei Befehlssätze (Mnemonics): ARM (32-Bit Instructions) und Thumb (16-Bit Instructions) und kann 8, 16 oder 32-Bit Daten verarbeiten und wird ausschließlich im Little Endian Modus betrieben.

Die CPU-Einheit besitzt eine Daten- und Programm-Speicherverwaltungseinheit (MMU), sowie einen Coprocessor 15 (CP15) and protection module. Dieser erkennt z.B. Programmabstürze oder unzulässige Speicherzugriffe.

Die JTAG-ID der CPU lautet 0x0692602F, die IRLEN beträgt 4 Bit. Der IRPre (Offset) im OMAP ist 38 Bit.

Die OMAP32_ID lautet 0x03320500, was die Typen „POMAP5912“ oder „OMAP5912B“ in Revision 2.2 identifiziert.

Der DSP ist ein TMS320C55x (C55x) und besitzt z.B. Video Hardware Accelerators für DCT, iDCT, Pixel Interpolation, sowie Motion Estimation für Video-Compression.

Über das EMIFS („External-Memory-Interface-Slow“) Interface wird der externe Spansion Flash-Speicher (S29GL*) angebunden. Diese Schnittstelle nutzt einen 16-Bit breiten Daten- sowie einen 25-Bit breiten Adress-Bus und ist somit in der Lage bis zu 64 MBytes zu adressieren. Als Chip-Select Signal für das Flash wird EMIFS_CS3 verwendet.

CS0 and CS3 address decoding (address in the TC memory mapping) can be swapped through the BM bit field in the EMIFS global control register. When the BM bit field is set, CS3 is activated in the 0000:0000−03FF:FFFF range and CS0 is activated in the 0C00:0000−0FFF:FFFF range.

The BM bit is sampled at reset depending on two factors. If MPU_BOOT (ball J20) is 1 and the device type is emulation then BM resets to 1. Otherwise, BM resets to 0.

Thus, the boot is executed from CS0 or from CS3 attached memories. During normal execution, BM can be changed dynamically but obvious software precautions are required to prevent system crash.

Über das EMIFF („External-Memory-Interface-Fast“) werden die auf dem Board vorhandenen Micron SD-RAM Speicherbausteine mit einer Gesamtkapazität von 128 MByte genutzt. Der Datenbus ist hier ebenfalls 16-Bit und der Adressbus 25-Bit breit. Die beiden „Bank-Select“ Signale EMIFF_BA0 und EMIFF_BA1 adressieren den jeweiligen RAM-Chip und das EMIFF_CS die RAM-Bank als ganzes.

Der OMAP bietet ein IEEE 1149.1 konformes JTAG-Interface an.

JTAG_CHAIN = 8, 4, 38 ; list of IR lenghts of all TAP controller in JTAG chain

  • artikel/nav_common/omap5948/start.1563965625.txt.gz
  • Zuletzt geändert: Wed. 24.07.2019 10:53
  • von go4it