mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suche einfachen PCIe/PCI Express IC


Autor: Georg Schilling (tschotschl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kennt jemand einen einfachen PCIe Baustein (möglichst wenig Pins, billig 
und einfach zu bedienen), mit dem ich über mindestens einen Pin über die 
PCIe Schnittstelle kommunizieren kann ? Vielleicht soetwas wie ein 
RS232/PCIe Translator. Habe ich bislang noch nicht gefunden.
Mein Wissen über PCI und PCIe ist sehr begrenzt und ich versuche es zu 
vermeiden, mich damit näher beschäftigen zu müssen, wenn das überhaupt 
möglich ist. Ich möchte auch vermeiden, einen FPGA oder eine PCI/PCIe 
Bridge zu nutzen.
Soweit ich informiert bin, hat jedes PCI Device eine Vendor und Device 
ID, die bei jedem Systemstart eines PCs ausgelesen wird und dann eine 
neue Adresse zugewiesen bekommt. Der Baustein, nach dem ich suche, 
sollte demzufolge auch diese IDs haben und somit vom System als PCI 
Device erkannt werden.

Prinzipiell würde es schon reichen, wenn dieses Device vom PCIe Bus nur 
Daten empfängt und keine senden braucht.


Grüße und Danke schonmal im Vorraus.
Shorsh

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mein Wissen über PCI und PCIe ist sehr begrenzt...
Grundwissen musst Du dir trotzdem zulegen. Ein IC wird Dir nicht den 
kompletten PCIe verbergen. Die Konfiguration musst Du auf jeden Fall dem 
IC mitteilen. D.h. Du musst wissen wie die abläuft...

Autor: Der freundliche Bastler von Nebenan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was genial währe, währe ein Chip der aus einem PCIe Slot quasi 16-bit 
ISA zaubert.

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Der freundliche Bastler von Nebenan:
Hmmm... Obs sowas gibt? Im Zweifelsfall ein FPGA nehmen und basteln ;) 
Nur ist da irgendwie der Sinn eines Datenbusses mit extrem hoher 
Bandbreite nicht mehr gegeben ;)
Übrigens bietet Pericom PCIe nach UART Chips an.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das lässt sich inkrementell lösen:

Mit einer PCIe-zu-PCI-Bridge wird erstmal ein "normaler" PCI-Bus aus 
PCIe erzeugt, und aus diesem wird mit einer PCI-zu-ISA-Bridge ein 
einfacher zu handhabender ISA-Bus gebastelt.

Ein grundlegendes Problem hierbei ist, daß sämtliche verfügbaren 
PCIe-zu-PCI-Bridges nur im BGA-Gehäuse verfügbar sind, was die 
Platinenherstellung erheblich verkompliziert.

Was ist die Zielanwendung "vonn't janze"?

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mit einer PCIe-zu-PCI-Bridge wird erstmal ein "normaler" PCI-Bus aus
> PCIe erzeugt, und aus diesem wird mit einer PCI-zu-ISA-Bridge ein
> einfacher zu handhabender ISA-Bus gebastelt.

Wer sich das antut ist selber schuld :-P Klassisch macht man das so... 
Stichwort Southbridge. Aber für ein einfaches Design ist das garnix. Die 
Bausteine haben ihre Tücken und die mit vernünftigen Aufwand alle 
miteinander sprechen lassen, ist als Hobby nicht machbar. FPGA, PCI/e- 
und ISA-Core...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unbestritten. Interessant ist dennoch, was der Threadstarter so vorhaben 
mag.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachdem du die PCIe Datenrate scheinbar garnicht brauchst, Vorschlag:

Mach an die Platine nen blinden PCIe Stecker dran (OHNE Kontakte) und 
leg ein kleines Kabel bei mit dem man die Platine an einen USB-Port am 
Motherboard anschliessen kann...

Autor: jojansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
in der aktuellen c't oder in der davor wurde ein USB zu ISA 'Adapter' 
vorgestellt. Ist zwar nicht PCIe, macht aber vielleicht bei dem Projekt 
etwas weniger Kopfschmerzen.
:-) Johannes

Autor: Georg Schilling (tschotschl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Beiträge !

Der Tip von Mathi mit dem Pericom Chip ist genau das, was ich brauche. 
Die Sales Kontakte von Pericom konnte ich leider noch nicht erreichen 
und sonst hab ich den IC noch bei keiner anderen Distribution gefunden. 
Bei Oxford Semiconductor wird auch noch so ein Chip angeboten, 
allerdings hab ich da das gleiche Problem...ich kann ihn nirgends 
kaufen. Hab jetzt mal eine email geschickt und hoffe auf Antwort.

Der Vorschlag von Ernst Bachmann klingt auch recht frei und genau solche 
Vorschläge finde ich interessant, auch wenns bei mir mit Problemen 
verbunden ist.

Genaueres zum Projekt: Ich muß unter DOS auf einen Mikrocontroller 
zugreifen können und die Schnittstelle muß auf den neuesten Motherboards 
verfügbar sein.

Eine Idee von vielen war, dass ich den SMBUS des PCIe verwende, 
allerdings ist nach ein paar Tests klar geworden, dass viele Motherboard 
Hersteller den SMBUS nicht zum pcie verdrahten :-(

USB wäre möglich, aber das ist meines Wissens unter DOS etwas 
problematisch und wird anscheinend auch nicht auf allen Motherboards 
unterstützt. Wenn jemand besser Bescheid weiß, bitte melden.

Eine andere Idee war noch über den Port80h (PostCodes) zu kommunizieren, 
aber das ist etwas riskant, weil man vrmtl. nie genau weiß, wie das 
System auf bestimmte Postcodes reagiert.  Die Postcodes könnte man über 
einen kleinen CPLD abfangen. Hab ich schon probiert und funktioniert 
wunderbar, zumindest auf PCI. Könnte man dann über eine PCI/PCIe Bridge 
verbinden.

Bin trotz guter Beiträge noch offen für weitere Vorschläge, falls jemand 
nen Geistesblitz hat.

Grüße,
shorsh

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Georg Schilling:

Also die Idee mit Port80h-Kodes hinter einer PCIe-PCI-Bridge halte
ich für gewagt. Da sollte man die Dokumentation der Bridge schon
sehr genau lesen ob sie diese Zugriffe auch durchreicht. Da wäre
ich mir derzeit nicht mal bei allen Chipsätzen sicher ob da auf den
PCIe-Slots die Port80h-Zugriffe sichtbar sind.
Generell halte ich die Zielsetzung 'Zugriff unter DOS' und das auf
neuesten Boards für sportlich. PCI wäre noch halbwegs tauglich und
bis jetzt habe ich auch noch kein Board gesehen wo kein PCI drauf war.
Ansonsten fällt mir jetzt auf Anhieb keine geeignete Schnittstelle
auf neuen Boards ein, die über Standardports angesprochen wird.
Evtl. gibt es im VGA-Bios einige Calls zum Ansprechen der DDC-Signale?
Oder man verwendet einen USB nach PS/2 Adapter und verläßt sich auf
die Keyboard-Emulation von Chipsatz und BIOS. Aber ob das immer
wie gewünscht funktioniert?

Jens

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Genaueres zum Projekt: Ich muß unter DOS auf einen Mikrocontroller
> zugreifen können und die Schnittstelle muß auf den neuesten
> Motherboards verfügbar sein.

Das klingt etwas merkwürdig; warum muss ein steinzeitliches 
"Betriebssystem" auf neuester Hardware verwendet werden?

Alternativvorschlag: Nutze das Netzwerkinterface. Das hat jedes auch 
nur mäßig neue Motherboard (alles, was so in den letzten 10 Jahren 
hergestellt wurde) und es gibt/sollte geben dafür fertige DOS-Treiber in 
Form von sogenannten "packet drivers". Das ist ein TCP/IP-Stack für DOS, 
und darüber könntest Du Deine Kommunikation mit Deinem µC abwickeln.
Vorteil: Keine Hardwareabhängigkeiten, kein aufwendiges 
PCIe/PCI-Hardwaredesign.

Was soll denn das DOS-Programm mit dem µC anstellen? Was für Datenmengen 
sollen mit welcher Geschwindigkeit übertragen werden?
Warum DOS? (ja, die Frage habe ich schon mal gestellt)

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PCI ist doch auf den aktuellen Mainboards auch immer noch mindestens 1 
mal drauf. Das einfachste wäre eine PCI-UART Karte, für die es 
DOS-Treiber gibt, oder die ihre Adressen so mapped, dass es wie ein 
normaler I/O angesprochen werden kann.

Selbst eine PCI(e) Karte zu entwickeln ist...naja, extrem aufwerndig, 
vor allem bei Deinem Kenntnisstand. Unter DOS wird´s eventuell mit 
aktuellen PCI(e) Bridges auch schwer.

Mir fallen da spontan die Bridges von PLX ein. Da gibts auch eine PCIe 
auf local-Bus, also quasi ein universeller paralleler Bus, wo du halt 
FPGAs, DSPs usw anschließen kannst.

Allerdings ist das selbst für Hardware-Entwickler mit mehrjähriger 
Erfahrung viel Arbeit. Dazu kommt die Treiberentwicklung.

Uiuiui....aufwendiges Projekt.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dazu kommt die Treiberentwicklung.

Die übrigens auch bei DOS erforderlich ist; warum sollte die PCIe-Karte 
so nett sein und ihre I/O-Adressen in einen von einem DOS-Programm 
ansprechbaren Adressraum mappen?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es zB. die Parallel Karte von Exsys EX-41011 zu nehmen.
(PCI <-> parallel Port)

Und dann freundlich bei oxsemi fragen, ob sie ein paar Details
zu der Ansteuerung rausrücken,
eventuell haben sie sogar Treiber für Dos im Keller.
(von alten Chips, aber die ähnlich angesteuert wurden)

Auf der Webseite haben sie Treiber von W95 bis Wxp oder Vista.
Und das es nicht ganz trivial ist, ist deutlich. Aber
die (chiphersteller) kochen auch nur mit Wasser.


Gruß Sven

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:

www.mmui.com. cn/Product.aspx?id=31

Unter dem Download ist sogar ein Treiber für Dos dabei.

Yeah!

Gruß Sven

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum nicht einfach COM1 oder LPT1 sollte doch auf fast jedem Board 
vorhanden sein, ist unter DOS erreichbar und von der µC Seite ist das 
denke ich auich der beste Weg.

Gibt es nicht sogar unter FreeDOS Treiber für USB? Ich meine mal etwas 
darüber gelesen zu haben. Bin mir allerdings nicht sicher

Gruß,
Tubie

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß ja nicht welches Einsatzgebiet die Hardware haben soll. Wir 
haben z.B. in der Firma einen ziemlich aktuellen Rechner stehen, der ein 
Board eingebaut hat, welches über ISA Slots verfügt. Soll sündhaft Teuer 
sein, allerdings günstiger als die ISA-Karten für die Meßmaschine neu zu 
entwickeln.

Von einer PCI - Centronics Karte kann ich berichten, das diese nicht 
unter DOS erkannt wird. Der Port wird auch nicht im BIOS angezeigt.


Gruß,
Tubie

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Von einer PCI - Centronics Karte kann ich berichten, das diese nicht
> unter DOS erkannt wird. Der Port wird auch nicht im BIOS angezeigt.

Aus genau diesme Grund habe ich ja diesen Link gepostet.
Man muss den Treiber in der Autoexec.bat oder config.sys
halt laden.....

Beitrag "Re: Suche einfachen PCIe/PCI Express IC"

Gruß Sven

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens gibts das Teil auch als serielle Version (www.mmui.com.cn 
/Product.aspx?id=26) und z.B. von Conrad auch als PCIe (974958 - 62 bzw 
974956 - 62) mit den selben Netmos Chips (anscheinend via PCIe-PCI 
Bridge)

CU

Autor: Georg Schilling (tschotschl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, danke nochmals für die zahlreichen Beiträge.

@Jens + Christian R.: PCI fehlt auf vielen neuen Motherboards und wird 
komplett durch PCIe ersetzt.

@Chrisitan R: PLX benötigt aber auch wieder einen FPGA oder 
vergleichbares, da es ja mit 66MHz arbeitet. Ist zu schnell und zu 
aufwendig.

@Rufus: Die Datenmenge ist wirklich sehr gering. Eigentlich muß ich nur 
ein Bit übertragen. Eine True/Falls Abfrage sozusagen. Ich will sehen, 
ob das System mit dem Boot Vorgang abgeschlossen hat und es bis DOS 
geschafft hat. Dann möchte ich mit dem Mikrocontroller weitermachen.
Die Idee mit dem Netzwerk Interface könnte auch passen. Muß ich mal 
genauer recherchieren.
Das mit dem von DOS ansprrechbaren Adressraum ist auch ein guter Input. 
Muß ich auch mal überprüfen. Danke !

@Sven: Danke. Exsys werd ich mir nochmals genauer anschauen. Habe aber 
bislang noch keine PCIe Karten mit DOS Treiber gefunden. Entweder 
PCI/ISA + DOS oder PCIe, aber ohne DOS Treiber. Werd dort mal anrufen.

@Tubie: COM und LPT sind auch nicht mehr vorhanden auf den neuesten 
Boards.
Von den USB DOS Treibern hatte ich auch schon gehört. Allerdings auch 
schon, dass es nicht immer 100%ig funktioniert. Wäre aber vielleicht mal 
ein Versuch wert.

Momentan sind meine Favoriten PCIe/232 Bridge und USB Treiber unter DOS.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich weiß ja nicht, was du für Mainboards gesehen hast, aber auf 
aktuellen ernst zu nehmenden Mainboards seh ich immer noch überall 
mindestens einen PCI-Steckplatz. Naja, auf reinen Gamer-Boards 
vielleicht nicht. COM Port ist fast überall per Pfostenleiste mit drauf, 
rausgeführt nur noch selten.
Auf Industrie-Mainbaords sind die noch nicht mal überall bei PCIe 
angekommen. Eine industrielle Anwendung kann sich also noch über jahre 
auf PCI verlassen.

PCIe Serialkarte, die dann noch Treiber für DOS hat, wird schwierig. Als 
PCIe kam, war DOS schon sehr sehr lange tot.
DOS Treiber für USB genauso schwierig, soll sehr instabil sein. Dazu 
musst du ja auch die passende Gegen-Hardware haben.
Netzwerk wäre noch das sinnvollste, vielleicht so ein Lantronics Teil. 
ich hab unter DOS 6.22 mal einen TCP/IP Server und Samba-Server 
eingerichtet, das ging zwar, war aber krank, wegen himem usw. Nie 
wieder!

Was genau ist denn überhaupt die Anwendung? Wozu DOS? Ganz alte sehr 
sehr spezielle Software?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenns nur ein paar Bit für "Boot OK / nicht OK" sind:
Greif die Tastatur-LEDs dafür ab, z.B. die sonst eh selten genutzte 
Scroll-Lock LED.

Die unter DOS zu setzten ist fast trivial, und mit der entsprechenden 
BIOS-Simulation auch bei USB-Keyboards möglich.

Beim Hochfahren schaltet das BIOS die zwar mal kurz an und ab, aber wenn 
du eh nen µC danach hast, ist das ja einfach zu filtern.

z.B. System läuft => Blinkt im Sekunden-Takt...

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jepp.. Tastaturleds sind ganz praktisch.
Mann könnte damit sogar ne kleine Datenübertragung machen :D

Autor: Georg Schilling (tschotschl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das hört sich ja auch mal wieder interessant an. Ich würde dann 
zwischen Tastatur und Motherboard eine Platine dazwischenklemmen und das 
Pattern für die Scroll-Lock LED abfangen. Wenn es trivial ist, kannst Du 
mir sagen, wie genau ? Sprich, wie sende ich von DOS ein Kommando und 
wie sieht es dann am PS2 aus ?

Autor: Carsten Kappenberger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls die Verwendung einer PCI-Karte immer noch eine Option darstellt, 
gibt es unter http://www.fpga4fun.com/PCI.html eine sehr ausfuehrliche 
und verstaendliche Anleitung, wie man mittels eines FPGAs eine PCI-Karte 
realisiert und die ggf. erforderlichen Treiber erstellt.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die Tastur mit CON Ansprechen
http://www.tu-chemnitz.de/informatik/RA/news/stack...

Du kannst das device "CON:" z.B. als Datei öffnen, ich weiß aber nicht 
ob man damit Befehle zur Tastatur senden kann, oder ob die nur auf den 
Bildschirm ausgegeben werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.