 | 
|
 |  Chip-to-Chip-Bussysteme (I2C, SPI, I2S, AC97)

-> emlix Leistungen 
Unter Chip-to-Chip Bussystemen versteht man Bussysteme, welche verschiedene Chips auf einer oder mehreren Platinen miteinander verbinden. Diese Bussysteme unterscheiden sich durch die Anzahl der genutzten Leitungen, der Geschwindigkeit und dem Busprotokoll.
Eines der am haufigsten eingesetzten Bussysteme ist der I²C (sprich I square C) Bus. Dieser Bus wurde von Phillips entwickelt, um möglichst einfach verschiedene Chips innerhalb eines Fernsehgeräts zu verbinden. Dieser Bus ist als MultiMaster Bus ausgelegt, erlaubt es also, durch eine Busarbitrierung festzustellen, ob ein anderer Master gerade auf den Bus zugreift. In diesem Falle wird der eigene Zugriff verschoben. Der Bus wird auch als Two Wire Interface (TWI) bezeichnet, da er neben der Masse zwei weitere Leitungen benötigt. Diese Leitungen sind SDA und SCL, welche die Daten und die Clocksignale zu den Geräten führen. Die Adressierung der Geräte (auch Slaves genannt) am Bus erfolgt über eine 7 bzw. 10 Bit lange Adresse, welche der Übertragung vorran gestellt wird. Die maximale Busfrequenz definiert der Standard zu 400 kHz. Die Mehrzahl der erhältlichen Bausteine erlaubt eine Ansteuerung mit ungefähr 100 kHz. 
SMBus
In PCs findet man häufig einen I²C Bus als Ausprägung mit den Namen SMBus. Die beiden Bussysteme sind vom grundlegenden Busaufbau und der Kommunikation her identisch. Der System Management Bus erweitert das I²C Protokoll um die Möglichkeit, Alarmzustände abzufragen, und implementiert einige RPC-artige Funktionen. SMBus kompatible Geräte garantieren gewisse Reaktionszeiten und ein einheitliches Verhalten als Reaktion auf ihre eigene Geräte-Adresse. Der SMBus Standard schreibt optional eine weitere Leitung vor, welche die Geräte als Interrupt in Richtung des Masters nutzen können. 
SPI Bus
Das nächste populäre Beispiel für einen Chip-to-Chip Bus ist der SPI Bus, welcher im Gegensatz zum I²C mindestens drei Leitungen benötigt. Diese drei Basisleitungen sind SCK (Serial Clock), MOSI (Master-out-Slave-In) und MISO (Master-in-Slave-Out). Im Gegensatz zum I²C Bus definiert der SPI Standard weder ein einheitliches Busprotokoll, noch ein Adressierungsschema. Die Adressierung geschieht über zusätzliche, vom Bus unabhängige Leitungen, die sogenannten ChipSelect Leitungen. Die Kommunikation auf diesem Bus ist grundsätzliche bidirektional, die Abtastung geschieht für Senden und Empfangen gleichzeitig. Auf Grund des Aufbaus ist der SPI Bus in der Lage, sehr hohe Datenraten zu nutzen und lesenden und schreibenden Zugriff gleichzeitig zu verarbeiten. Die maximale Transferrate auf den Bus liegt bei rund 40 MHz.
Der SPI Bus ist für Embedded Systeme sehr interessant, da der MMC und SD Kartenstandard diesen Bus als Fallback vorschreibt. Es ist also möglich, an einem SPI Bus eine MMC oder SD Karte direkt anzuschließen, ohne einen weiteren Kontroller dazwischen schalten zu müssen. 
Bussysteme für spezielle Anwendungsfälle
Es gibt neben diesen eigentlich sehr generellen Bussystemen noch weitere, welche für spezielle Anwendungsfälle konzipiert wurden. Ein Beispiel hierfür ist der AC97 Bus, auch als I²S bekannt. Dieses Bussystem wurde speziell für die Anforderungen moderner Soundkarten entworfen und eignet sich hervorragend zur Anbindung so genannter AudioCodecs an einen SoC.
Ein weiterer, sehr spezialisierter Bus ist der LPC Bus. Dieses Bussystem wurde im Zuge der Aufgabe des ISA Bussystems in modernen PCs eingeführt. Der Low Pin Count Bus wird aktuell genutzt, um langsame Chips anzubinden, ohne ein komplexes Protokoll in den Chips implementieren zu müssen. Beim LPC Bus werden die ISA Signale auf ein differenzielles Busprotokoll umgesetzt. Dieser Bus hat sich auch als Standard für die Anbindung der Trusted Platform Modules durchgesetzt. Für die Entwicklung von Chips, welche jenseits der x86-Welt Verbreitung finden sollen, ist dieser Bus nicht geeignet.
Wer höhere Geschwindigkeiten benötigt, dem bleibt außerdem noch die Möglichkeiten, seine Chips entsprechend am Speicherbus der CPU anzubinden. Hierbei sind allerdings weitere Randbedingungen durch den zeitlichen Ablauf und die Verdrahtung auf der Platine zu beachten. Prinzipiell eignet sich diese Version nur für ambitionierte Entwickler, welche schon viel Zeit mit der Hardwareentwicklung verbracht haben. 
-> emlix Leistungen 
|
 | 
|
 |