FAQ 


 
Oft gestellte Fragen - hier die Antworten
FAQ steht für "frequently asked questions"

  Zurück zur Übersicht



PCI-Dekoder für 32-Bit Standard PCI-Bus
Target-Bridge für Peripheral Component Interconnect Bus
 

Was ist PCI? 

Siehe hier: http://de.wikipedia.org/wiki/Peripheral_Component_Interconnect

Kann der PCI-Dekoder über eine PCIe-zu-PCI-Bridge (PCIe-Adapter) betrieben werden?

Ja. Unsere neuen low-profile PCI-Karten basieren bereits auf diesem Konzept. Siehe: http://www.kolter.de/PCI-PCIe-Relaiskarte.jpg

Sind die Signale auch bei Bus-Verlängerungen noch stabil?

Ja. Testweise wurden sogar mehrere PCI-Adapter in Serie geschaltet, um die Signal-Stabilität (Integrität) zu überprüfen. Dies sollte jedoch in der wirklichen Praxis so niemals vorkommen, oder nachgestellt werden. Siehe: PCI-Extrem-002.JPG

Welche Funktion hat der PCI-Dekoder?

Unsere PCI-Dekoder-Programmierung (PCI-Core) wurde zur Umsetzung des 32-bit PCI-Busses gem. PCI-spec.2.1 (2.3/3.0) auf einen 16-bit breiten I/O-User-Bus entwickelt, damit die Anbindung von einfachen Folgeschaltungen unter PCI generell ermöglicht wird. Der Chip basiert auf einem 5 Volt PLCC84-Chip der Marke Lattice® (ispLSI1032E) und verarbeitet Bus-Geschwindigkeiten bis zu 33 (max. 38) MHz. Er unterstützt ausschließlich den 8- und 16-bit Zugriff auf I/O-Ebene mittels Port-Access.

Gibt es noch einen schnelleren oder anderen PCI-Dekoder?

Der PCI-Dekoder wurde in mehreren Versionen für unterschiedliche Einsatzzwecke entwickelt. Die Versionen Rev. 1.x und Rev. 2.x sind veraltet und nicht mehr freigegeben/erhältlich. Die neue Rev. 7 soll später einmal alle Versionen vereinen. Aktuell ist Rev. 3.0 mit 100 MHz CPLD. Nach der Umstellung werden dennoch die alten Versionen weiterhin lieferbar sein.

- PCI Rev. 3 bietet mit 70 MHz CPLD eine stabile Basis für alle älteren Mainboards < 1 GHz CPU
- PCI Rev. 3 bietet mit 100 MHz CPLD eine stabile Basis für alle gängigen Standard-Mainboards
- PCI Rev. 5 bietet mit 125 MHz CPLD eine schnellere Variante für overclocking und kürzere Chip-Selects
- PCI Rev. 7 bietet mit 100 MHz CPLD und neuem TCB-/PCI-Kern die höchste Sicherheit und ist ebenso für CPUs > 3 GHz geeignet

Worin unterscheidet sich die Rev. 3.0 zu 5.0?

Der Unterschied besteht in der um 25% erhöhten (internen) Verarbeitungsgeschwindigkeit und einer breiteren Bus-Fehlertoleranz (TCB-Block) hinsichtlich des PCI- und User-Bus-Timings. Manche Hersteller halten sich nicht immer an die PCI-Spezifikation der PCI-SIG, um beispielsweise schnellere Motherboards zu vermarkten, oder verwenden ein schlechtes bzw. ungeeignetes Bus-Design, was (sehr selten) dazu führt, dass diverse Bus-Level und/oder Signal- und Bussynchronitäten nicht korrekt eingehalten werden. Die Bus-Fehlertoleranz im TCB-Block wurde bei dieser speziellen Version um gut 50% erweitert. Normale Standard-Mainboards benötigen die Version 5.0 nicht.

Wie hoch sind die max. Löt-Temperaturen?

Eigentlich ist diese Frage unerheblich, da das IC gesockelt wird. Lt. Hersteller sind die ICs in zwei "max. peak"-Stufen für MSL1 wie folgt eingestuft:
Bei RoHS-konformen Bauteilen mit grüner Etikette max. 245 +0/-5°C Grad Celsius. (-70LJN)
Bei RoHS-konformen Bauteilen mit gelber Etikette max. 225 +0/-5°C Grad Celsius. (-100 LJ)
Bei bleihaltigen Bauteilen ohne Etikette max. 225 +0/-5°C Grad Celsius. (-70 LJ, -100LJ)

Gibt es eine allumfassende Webseite zu PCI?

Ja, hier: http://www.pcisig.com

Unterstützt der PCI-Dekoder auch die PCI 3.0 Spezifikation ?

Ja und Nein. PCI 3.0 ist hauptsächlich eine Erweiterung und Änderung auf 66 MHz Bus-Clock, bei gleichzeitiger Abkündigung der 5 Volt Versorgung auf 3,3 Volt. Da unser PCI-Dekoder Chip mit 33 MHz und 5 Volt betrieben wird, ist für dessen Einsatz die PCI 2.1 Spezifikation weiterhin elektrisch maßgebend. Fest steht, dass PCI 3.0 auf EMV-Störungen empfindlicher reagiert, da der Störabstand von 5 zu 3,3 oder gar 1,5 Volt Signalen entsprechend klein ausfällt. Das dürfte für viele industielle Anwendungen bei 10 V/m beaufschlagter Störfeldstärke und ESD-Prüfungen ein zusätzliches k.o. Kriterium darstellen. Bei schnellen Transienten wie Bursts dürften bei diesen niedrigen Buspegeln noch weitere Probleme bei der EMV-Abnahme aufkommen. Aus diesem Grund haben wir auf eine Entwicklung mit 3,3 Volt Bus bei 66 MHz verzichtet. 

Unterstützt der PCI-Dekoder die BIOS-Einstellung: "SERR# bzw. NMI PCI-Bus Parity-Checking"?

Ja, ab Rev. 7 sogar mit 32-Bit Paritätsprüfung. Das neue HWT-Testprogram ist in der Lage, gezielt eine schnelle R/W-I/O-Folge mit Parity-Check zu prüfen. Siehe: HWT32.ZIP (neuer Hardwaretester ab PCI-Dekoder 7.x, nur für Kolter PCI-Karten, I/O-Prüfprogramm mit erweiterter Device-Anzeige).
Oft nennt sich das NMI Parity-Check-Flag im BIOS auch PCI SERR# Generation. Das Flag ist nach Möglichkeit dennoch zu disablen.


Bild: HWT32.EXE Prüf- und Testsoftware für Kolter PCI-Karten und PCI-Decoder

Kann der PCI-Dekoder-Chip auf einen anderen CPLD umgestellt werden?

So einfach ist es leider nicht: Das Timing des 1032 PCI-Core ist produktspezifisch angelegt, sodass eine Umstellung auf einen anderen Chip noch nachhaltige Designänderungen verlangen. Wieviel Zeit und Geld für eine Umstellung benötigt wird, ist im Vorhinein nicht seriös kalkulierbar. Beispielsweise hat Lattice einmal den Herstellungsprozess geändert - der Chip wurde teilweise um ca. 7% schneller. Das Resultat mündete in einen sehr grossen Aufwand von ca. 180 Arbeitsstunden, um das Design wieder an das alte Timing anzupassen.

Können weitere Funktionen in den PCI-Decoder integriert werden?

Der jetzige Chip ist zu 98,6% ausgelastet. Natürlich kann man in einem anderen, komplexerern CPLD-Chip (bsp. ispLSI1048) noch eine Reihe zusätzlicher Erweiterungen implementieren. Das setzt jedoch voraus, dass Sie eine Lizenz zum PCI-Core kaufen und diese Änderungen selbst vornehmen. Die neue Core-Version ist zu 100% mit 32 GLBs ausgelastet.

Ist die Core-Programmierung des PCI-Dekoders öffentlich?

Nein. Wir unterbreiten Ihnen aber gerne ein Angebot zur Unterlizensierung. Alle Desing-, Markt- und Markenrechte verbleiben jedoch weitherin bei KOLTER ELECTRONIC. Sie können mit dem Erwerb einer Lizensierung des PCI-Designs (für Lattice-Synario 7.01) anschließend die Quellen auf Ihre Wünsche hin abändern, um sie auf Ihre eigene Hardware zu portieren. Ein Weiterverkauf von Core oder Teilinhalten, oder Dekoder-Chips (einzeln, oder auf Pseudoplatinen) wird jedoch aus verständlichen, markttechnischen Gründen nicht erlaubt und mit einer hohen Vertragsstrafe belegt.

Wie kann ich eine Erweiterung am PCI-Decoder selber vornehmen? Welche Lizenzen sind dazu nötig?

Der PCI-Core umfasst die Synario-Lattice-Dateien (Vers. 7.01) für den ispLSI1032E, so wie wir ihn auf der Proto3-PCI Karte einsetzen. Wenn Sie unseren klibdrv-Treiber nutzen möchten, müssen Sie sich beim Hersteller Entech Taiwan zusätzlich registrieren lassen. Wenn Sie den Core kaufen, erhalten Sie alle Core-Schaltpläne, die im PCI-Design zu unserem Decoder verwendet wurden. Insgesamt wurden 28 Unter-Schaltpläne entwickelt, die den gesamten PCI-Core ausmachen. Einen Support zum Design bieten wir jedoch aus Zeitgründen nicht an, würden Ihnen aber in unseren Räumen bei der Installation Ihres Rechners helfen, damit Sie den Core mit Synario bearbeiten und compilieren können. Alle Rechte am Core verbleiben auch nach einem Verkauf des Cores bei Kolter Electronic. Ein Wiederverkaufsrecht des Cores an Dritte wird nicht eingeräumt, Sie können aber den Core verwenden und/oder abändern sofern Sie ihn nur für eigene Produkte verwenden. Zusätzlich muss (aus verständlichen Gründen) eine vom Käufer rechtsgültige Geheimhaltungserklärung unterschrieben werden.

Wie kann ich den Hersteller von diesem IC erreichen?

In dringenden Fällen wenden Sie sich bitte direkt an die Firma Lattice: techsupport@latticesemi.com

Darf der ispLSI1032E PCI-Dekoder-Chip gesockelt werden?

Ja, der PCI-Dekoder muss sogar mit einem kapazitätsarmen AMP-PLCC84 Sockel (Bestellnummer der Fa. Tyco: 822473-7) gesockelt werden, da die Pinkapazitäten und Laufzeiten der Leiterbahnlängen mit in das PCI-Design eingeflossen sind. Würde man die IC-Fassung weg lassen, stimmt eventuell das Timing nicht mehr. Aus diesem Grund ist es auch ratsam, nur das von uns freigegebene PCI-Layout zu verwenden.

Was ist beim PCB-Design des PCI-Decoders zu beachten?

Bitte beachten Sie bei Ihrem Schaltungsdesign, dass laut PCI-Spezifikation pro Signal-Pin am PCI-Bus nur eine TTL-Last mit max. 10pF Leitungskapazität verwendet werden darf. Da bereits eine IC-Fassung Verwendung findet, was eigentlich nicht ganz der Spezifikation entspricht, ist es umso wichtiger, dass unser Schaltungs-Design zu 100% eingehalten wird, da es sich in dieser Form bestens bewährt hat und bisher keine nennenswerten Kompatibilitätsprobleme auf dem PCI-Bus verursacht. Ausser dem PCI-Dekoder dürfen keine weiteren Leitungen unmittelbar an den PCI-Bus angeschlossen werden. Auch unser PCI-Referenz-Layout (als PROTEL-Datei im Lieferumfang der PROTO-3 enthalten) ist nach Möglichkeit beizubehalten, da Änderungen in der Leiterbahnführung oder in der Leiterbahnlänge zu Fehlfunktionen im Timing führen können. Sie können Erweiterungen somit nur an den dafür vorgesehenen User-Bus aufschalten.

Was muss man generell bei einer Neuentwicklung beachten?

Die Entwicklung einer neuen PCI- oder PCIe-Schaltung ist i.d.R. immer mit folgenden Risiken und Bedigungen verknüpft: 
Siehe Grafik: pci-erratas-2.jpg

Wofür gibt es den DIP-Schalter Nr.4 neben dem PCI-Dekoder?

In den neueren PCI-Spezifikationen 2..1 bzw. 2.3 wurden lt. PCISIG diverse Ungereimtheiten geklärt, die bei Version 2.0 ein Hauptgrund für das häufige Versagen von Plug&Play waren. Die PCI-Version 2.1 bzw. 2.3 ist abwärtskompatibel zur Version 2.0, jedoch nicht umgekehrt. Mainboards nach PCI 2.0 oder 2.1 Standard können zum Teil neuere PCI-Karten nicht ordnungsgemäß zuordnen. Dies liegt u.a. daran, dass eine der PCI-Konfigurationstabellen (pci-class-codes) im BIOS ständig erweitert wird, um neue Karten-Familien mit in die automatische Erkennung aufzunehmen. Beispielsweise gibt die <Base-Class 11h> an, dass es sich um ein <Data acquisition and signal processing controller> handelt (wie beim Kolter Electronic PCI-Dekoder verwendet). Diesen Eintrag gab es unter PCI2.0 nicht und das BIOS bzw. Betriebssystem hat in diesem Fall eventuell Probleme, die PCI-Karte richtig zuzuweisen. Die Palette reicht hier von "funktioniert reibungslos" über "läuft instabil" bis "funktioniert überhaupt nicht". Mit dem DIP-Schalter 4 kann das Problem einfach und elegant umgangen werden: Steht er auf OFF, ist PCI2.0 - steht er auf ON, ist PCI2.1/2.3 angesagt.

Wofür sind die DIP-Schalter 1...3?

Diese Erweiterung habe ich mir zur einstellbaren Vergabe der Device-Identität (kurz DID) erlaubt, da ich der Überzeugung bin, dass es durchaus Sinn macht, einen PCI-Controller für bis zu 8 (oder mehr) Device-Nummern variabel einsetzen zu dürfen. Normalerweise werden diese DID-bits intern "hart-verdrahtet" und sind durch den Anwender nicht zugänig bzw. abänderbar. Die DID trägt zur besseren Unterscheidung von verschiedenen Geräten der Treiberinstallation bei. So kann ein PCI-Design für mehrere, unterschiedliche Projekte verwendet werden. 

Was sind Device-ID und Vendor-ID?

Diese spezifischen Register dienen in erster Linie der Unterscheidung von PCI-Einheiten. Die ID bildet eine eindeutige Kennung für ein PCI-Gerät, welche es z.B. dem Betriebssystem ermöglichen soll, ein Gerät mit einem passenden Treiber zu verknüpfen. Die gleichen Identitätsangaben finden sich auch im Installationsscript (INF-Dateien) für den Windows-Gerätetreiber wieder. Ausschliesslich die PCI-SIG®-Group (www.pcisig.com) ist für eine weltweite Eintragung einer Vendor-ID zuständig bzw. befugt. Die Eintragung ist kostenpflichtig und liegt zur Zeit bei 3000,- US$ pro Jahr. Nach der Erkennung werden alle PCI-Geräte und int. Bus-Einheiten i.d.R. während des bootens als Device auf der Start-Konsole im Listing des Rechners angezeigt. Wird das ESCD-Flag im BIOS gesetzt, werden die "Geräte" zusätzlich in die ESCD-Tabelle (Extended System Configuration Data) eingeschrieben bzw. aktualisiert. Manche Programme stützen sich auf diese TAG-Eintragungen, um auf entsprechende Hardware zuzugreifen. 

Warum werden die Adressleitungen A0 und A1 nicht verwendet?

Bei unserem PCI-Decoder wird nur ein 16-bit User-Bus zur Verfügung gestellt. A1 gibt es nicht, da von einem 32-bit Datenwort immer nur die unteren 16-bit adressiert werden können. A0 wird durch zwei PCI-Decoder-Signale nachgebildet: CSL und CSH. Das hat den Vorteil, das sowohl 8-bit als auch 16-bit Zugriffe mit einem I/O-Port-Befehl erzeugt werden können. ADR2 und ADR3 können quasi als A0 und A1 herangezogen werden, um Ihren Baustein zu adressieren, nur die Adressen sind dann nicht mehr kontinuierlich fortgeführt bzw. immer um 1 fortlaufend inkrementiert. Die 128 möglichen I/O-Adressen, die sich daraus ergeben, sind innerhalb des vergebenen Adressraums (xxxx0 - xxFF hex) indirekt ansteuerbar. Sie müssen die Adressen wie beim ISA-Bus über ein PAL noch ausdekodieren. Dazu ist in den PROTO-3 Unterlagen ein Beispiel mit einem GAL22V10 samt JEDEC-Quellcode (Lattice Synario-5.01 Projekt) aufgeführt. Die Adresslage der ausdekodierten CS-Signale betreffen ausschliesslich das zu programmierende GAL22V10 und nicht den PCI-Decoder. Bei der Bus-Dekodierung werden vorhande Adressbereiche unterteilt um mehrere Zusatzbausteine ansprechen zu können. Die hier verwendete GAL-Gleichung dient nur als Experiment-Beispiel und muss je nach Anforderung Ihrer Harware bzw. Adressvergabe noch selber angepasst werden.

Was heisst Daten/Adressen Multiplex-Prinzip?

Theoretisch besitzt der 32-bit PCI-Bus 2x 32 = 64 Leitungen. Er benötigt jeweils 32-bit für die Daten- und 32-bit für den Adressbus. Durch Multiplex-Betrieb (PCI-ALE Signal) werden 32 Leitungen eingespart. Die Datenpakete werden hintereinander übertragen: zuerst die Adresse und in einem zweiten Taktzyklus das Datenwort.

Ich möchte den PCI-Bus um weitere Steckplätze erweitern. Haben Sie einen Tip?

Ja, von INTEL®. Sehen Sie hier: http://www.intel.com/design/bridge

Wo finde ich eine einfache PCI-Beispielschaltung?

Einfacher geht es nicht. Sehen Sie hier: http://www.pci-card.com/proto3test.html

Kann man als Kolter-Kunde den PCI-Chip mit einer eigenen Vendor-ID programmieren lassen?

Eine neue Vendor-ID (VID) können und dürfen wir nicht vergeben. Das kann nur die PCI-SIG® in USA.

Ist die Umprogrammierung der VID im ispLSI1032 nur einmal für alle folgenden Bestellungen zu bezahlen, oder für jede Bestellung erneut zu zahlen?

Ist eine echte VID durch die PCI-SIG® vergeben, kommen (einmalig) 250,- EURO für die Änderung im Chip hinzu. Da der Chip fortan mit Ihrer eigenen VID programmiert wird, müssen Sie die xxx.INF Dateien für Ihre Anwendungen und Treiber selbst anpassen, da unsere Treiber und Installationsscripte auf die 0x1001h KOLTER ELECTRONIC VID fest ausgerichtet sind. KlibDrv-Treiberanpassungen zu Ihrer VID sind im Preis nicht enthalten und ausserdem durch uns nicht möglich. Hierzu müssen Sie dann direkten Kontakt mit dem Hersteller des Treiber aufnehmen. 
Siehe: http://www.entechtaiwan.com

Was empfehen Sie, wie man den Chip hinsichtlich Recycling einsetzen sollte?

Wir empfehlen den Chip zu sockeln, da die Pin-Kapazitäten ohnehin mit in das PCI-Design bzw. Bus-Timing eingeflossen sind. Somit kann bei einer späteren Entsorgung eine recyclingfähige Demontage und/oder Wiederverwendung des Bauteils stattfinden ohne die Umwelt zu belasten.

Unterstützt der PCI-Dekoder auch die neue PCI-Express (PCIe) Technologie?

Nur über einen PCIe -zu- PCI Adapter. Doch Achtung: Die PCI-Karte muss jedoch auch von der Spannungsversorgung her passen. Manche PCIe- Adapter haben hier so ihre Probleme mit der 5 Volt Leitung. Aus diesem Grund haben wir bei der neuen Serie einen PCIe-Jumper vorgesehen.

Was ist am PCIe-Bus denn anders?

PCIe ist kein herkömmlicher PCI-Bus Steckplatz. Beide Busse arbeiten elektrisch vollkommen unterschiedlich. Unser Dekoder unterstützt weder 64-bit breite 3,3 Volt Busse, noch serielle PCIe Busse, oder mit 4- bis 16-facher PCIe-Geschwindigkeit. Manche Mainboard-Hersteller haben dies erkannt und bieten neben den hochgetakteten PCIe-Bus (bsp. für neue Grafikkarten...) auch wieder normale PCI-Busse mit 32-bit in 5-Volt Technik an. Bei diesen Systemen sollte man sich jedoch zuvor vergewissern, ob und wie Einsteckkarten tatsächlich reagieren und ob diese Slots auch wirklich 100% abwätskompatibel sind. Sehr gute (und leider auch relativ teure) PCI Industrie-Mainboards gibt es z.B. von der Firma JETWAY.  Ebenso bieten die Firmen ITOX und ASROCK PCI-Mainbords mit 5 V, 32-Bit Standard-Steckplätzen an. Auch Rechner der Firma Siemens-Fujitsu® bieten neben PCIe noch 2..4 solide Standard PCI-Steckplätze an. Wer glaubt, das die neuen PCIe-Busse sicherer sind, oder weniger Probleme verursachen, unterliegt dem typischen Werbetrick, das alles was neu ist auch immer besser sein muss. Schon die Tatsache, das es zu PCI bereits 85 "Compliance Workshop"-Sitzungen gab (Stand 7.2013) und im regelmäßigen Abstand von 3-4 Monaten nachträgliche "Errats" in den Spezifikationen nachsich zieht, ist aus meiner Sicht ein Zeichen für Herumwurschtelei. Es gehört sich nunmal nicht, die Spielregeln, während das Spiel läuft, andauernd zu ändern. Spezifikationen müssen handlungssicher und vor allem abgeschlossen sein, sodass sich Hersteller daran orientieren können. Dies scheint man bei der PCI-SIG® jedoch nicht so genau zu nehmen.

Wo finde ich eine Übersicht zu den verschiedenen Kompatibilitätsstufen betreffend PCI-Express? 

Hier: http://de.wikipedia.org/wiki/PCI_Express
 
 



KOLTER ELECTRONIC ist nicht für die Inhalte fremder Seiten verantwortlich.
Es gelten ausschließlich die AGB der Firma KOLTER ELECTRONIC.
Für die Richtigkeit der Angaben wird keine Gewähr übernommen.
Alle Preisangaben sind gewerblich. Das Zahlungsmittel ist EURO.
Alle Rechte vorbehalten.(c) copyright H.Kolter

[ Zur KOLTER ELECTRONIC® Hauptseite ]