Schneller 8bit Treiber gesucht

#7825462
Lesenswert?

Hi, Ich bin gerade dabei ein Projekt mit einem esp32 zu machen und mir gehen die pins aus. Als Lösung wäre ein 8bit io ic mit open collector und gleichzeitigen einlesen.

Das Problem ist nicht so was zu finden, sonder die Geschwindigkeit.

I2c ist zulangsam und spi finde ich kein ic.

Ich muss senden und empfangen in unter 0,2us. Also 5MHz rein und raus.

Kennt jemand was passendes?

#7825645
Lesenswert?

Wastl schrieb:

Alle die ernsthaft auf die Problemstellung des TO eingehen sollten mal ihre Scheuklappen abnehmen.

Wer in einer Zykluszeit von unter 0.2µs senden und empfangen möchte und im gleichen Zusammenhang von "open collector" spricht, sollte erstmal das Problem auf der Analogseite erkennen, bevor er sich darüber wundert, dass er da keine ICs mit passender Geschwindigkeit findet. Da geht es um Lastkapazität und Treiberleistung für den Off-Zustand. Was für ein Signal soll erfasst werden und was hängt am Ausgang alles dran.

Ein bisschen mehr Hintergrundinformationen wären zur Lösung hilfreich, wahrscheinlich mehr als die direkte Frage nach einem IC für den vermeintlichen Lösungsweg.

#7825680
Lesenswert?

Na gut. Also ich will einen sagen wir mal speziellen emulator bauen. Denn brauche ich relativ dringend, jetzt! Realistisch mit Software und Hardware in 4-6 Wochen.

Die normalen Zugriffszeiten auf die pins sind 0.75us. Also etwas unter 1,5MHz. Würde nur gerne mindestens die doppelte Anzahl von Zugriffen schaffen. Der esp32 schafft das alles bisher nur ich habe nun 4 pins zu wenig (war erst etwas kleiner geplant). Ob das ganze was ich nun vor habe funktioniert wird sich dann zeigen weil ich auf die pins vom esp32 nun deutlich schneller zugreifen muß. Das ist aber erst der übernächste Schritt. Jetzt brauche ich erstmal die langsamen neuen Pins, weil ohne geht es gar nicht.

Ein weiterer Prozessor oder fpga würde gehen, aber ist halt nicht so bequem wie ein spi schieberegister. Ausserdem kann ich dann nicht mehr so einfach die Firmware tauschen.

Die Lösung mit 2 ICs könnte gehen. Also lesen und setzten getrennt. Auch wenn das ein Spaß wäre das zu Layouten. An was hast du denn gedacht?

Wenn ich kein passendes ic finde dann kommt halt ein dicker ARM stm32h7 drauf. Da habe ich hier genug herum liegen. Aber ich wollte gern die ganzen netten Kommunikations Sachen vom esp32s3 nutzen. Gut denn kann ich auch an den Arm dran hängen aber dann wird es langsam ein herum gebastel mit dem selben Firmware Problem. Ist sowieso mit der pin Erweiterung schon eine Notlösung.

#7825712
Lesenswert?

Das man mit oc nicht gut hi speed machen kann ist mir klar. Du fragst ja auch nicht bei einem avr Prozessor der mit 24MHz läuft ob die pins die Signale sauber übertragen können. Du gehst da auch davon aus das man das alles berücksichtigen sollte.

Ich muss die pins halt schalten können und wenn der pullup das nicht packt, nun dann war es halt zu schnell. Aber wenn man die pins nacheinander an wirft muß das halt in der richtigen Zeit passieren. Egal wie die Signale aussehen.

#7825808
Lesenswert?

Tristate geht perfekt, wenn man das für jeden pin einzelnen machen kann. Beim 74F299 habe ich das im ersten Datenblatt noch nicht gesehen. Da muss ich mir noch ein besseres besorgen mit mehr Infos und was man besser lesen kann.

Solange der esp32 mir die Daten per spi senden kann mache ich auch 70MHz. Das einzige was jetzt Spaß macht ist die 5v und 3v3 Anpassung. Am besten wäre wenn wirklich alle Pins 5v tolerant wären. Aber ich suche mal weiter.

#7825978
Lesenswert?

Dirk E. schrieb:

Tristate geht perfekt, wenn man das für jeden pin einzelnen machen kann.

Was soll jetzt der Unterschied zwischen Tri-State-Ausgang und Open-Drain-Ausgang sein, wenn man von ersterem nur den Low-Side-Treiber benutzt? Open-Kollektor musst du wahrscheinlich schon ziemlich suchen.

Beim 74F299 habe ich das im ersten Datenblatt noch nicht gesehen.

Der besitzt genau ein gemeinsames Output Enable Signal für alle Bits. Da hast du im Datenblatt nichts übersehen.

#7826013
Lesenswert?

Dirk E. schrieb:

Ich muss die pins halt schalten können und wenn der pullup das nicht packt, nun dann war es halt zu schnell. Aber wenn man die pins nacheinander an wirft muß das halt in der richtigen Zeit passieren. Egal wie die Signale aussehen.

OC ist nicht für schnelles Schalten gedacht, egal ob das IC für 100MHz spezifiziert ist. Darum ist es auch relativ selten und Du musst u.U. noch 8 Transistoren oder ein drittes IC hinten dranhängen.

Die 3.3/5V-Pegel sind für viele Logicfamilien kein Problem, z.B. 74HCT. Da brauchst Du dann nur für Din (bzw. Dout) eine Anpassung.

#7826314
Lesenswert?

Also nach geschätzten 30 Datenblätter bin ich jetzt am Layouten mit einem stm32h7. Da habe ich die volle Kontrolle über die Pins und muß mir keine Sorgen machen wie ich alles zum Laufen bekomme. Der Code ist zum Glück recht schnell auf dem stm Porttiert.

Es gibt hübsche io Treiber die eigentlich alles perfekt machen, also gnd oder open für jeden pin einzelnen, incl input. Aber die sind alle nur bis 10MHz angegeben.

Klar wäre es schöner gewesen ich hätte WLAN und Bluetooth gehabt, aber vielleicht mache ich so eine kleine esp Platinen am Rand drauf und hänge die per serial dran. Bzw kommt jetzt noch ein ftdi oder ähnliches drauf um usb zu machen.

Ja der stm32 kann das selber, aber das wirft mir mein Timing durcheinander. Wobei Layouten kann ich es ja. Wenn ich das ganze soweit fertig und veröffentlicht habe, kann gern jemand das erweitern.

Danke an alle die mir beim Suchen geholfen haben.

#7826337
Lesenswert?

Im Grunde geht es bei kleinen Prozessor. Mach mal ein Programm das nur aus Port an/aus besteht. Je nachdem wie schnell der das macht kommt halt was gut messbares oder etwas was man noch gerade als Signal erkennen kann raus. Am Ende ist es immer der Umgang mit dem pin was entscheiden ist. Nur hier geht es halt um das Problem das ich die Pins untereinander in der richtigen Zeit schalten können muß. Ein Hi-speed an/aus ist bei oc, wie gesagt, quatsch.

#7826501
Lesenswert?

Ich muß es einfach machen können, ob es sinnvoll ist ist eine andere Sache.

Es ist aber wiederum sinnvoll die Pins einzeln nach einander setzen zu können um irgend ein spezielles Signal zu erzeugen.

Wenn ich soweit bin dann wird das hier schon gezeigt. Denke aber das ich bis dahin noch ein paar andere Fragen haben werde und dann rücke ich auch mit allen Infos raus, weil ohne wird mir bei einem mir schon bekannten Software Problem niemand helfen können. Geht aber nur um die Frage was für ein Protokoll das Gerät zur Verfügung stellen muß und wo man das am besten einbinden kann. Ohne Infos keine Antwort!

#7826711
Lesenswert?

Dirk E. schrieb:

Erstaunlich wie man hier wieder behandelt wird. Wenn man nichts passendes bieten kann, dann wird halt mal das Konzept infrage gestellt. Ich brauche das genau so Punkt!

Das ist genau der richtige Tonfall um Hilfe zu bekommen👍🤔

Natürlich wird ein Projekt hinterfragt, was daran ist verwerflich? Und bei deiner fadenscheinigen Beschreibung kommen nunmal Vorschläge die aus unserer Sicht logisch erscheinen.

Die schlechte Beschreibung beginnt schon mit der Titelzeile. Du schreibst „Treiber“, dabei geht es um eine bidirektionale Kommunikation. Im Eröffnungsthread gibst Du nicht an ob die beiden Wege durch getrennte Bausteine umgesetzt werden können. Nur um 2 Punkte zu nennen..

Wie gesagt ich brauche das Teil dringend und lasse mich von niemandem abhalten.

Dann sind hier sicherlich einige User auf deine schnelle Lösung gespannt.

#7826730
Lesenswert?

Jörg R. schrieb:

Dann sind hier sicherlich einige User auf deine schnelle Lösung gespannt.

Siehe:

Dirk E. schrieb:

Wenn ich kein passendes ic finde dann kommt halt ein dicker ARM stm32h7 drauf. Da habe ich hier genug herum liegen.

Dirk E. schrieb:

Also nach geschätzten 30 Datenblätter bin ich jetzt am Layouten mit einem stm32h7.

Dirk E. schrieb:

Der h7 ist Kinderspielzeug. Gut man muß den halt kennen. Beim Layout sind eigentlich nur 2 Kondensatoren extrem wichtig

Ich: ROFL

#7826733
Lesenswert?

Wastl schrieb:

Jörg R. schrieb:

Dann sind hier sicherlich einige User auf deine schnelle Lösung gespannt.

Siehe:

Ich sehe was der TO geschrieben hat. Funktionierend umgesetzt habe ich noch nichts.

Wastl schrieb:

Ich: ROFL

Mach dich nicht schmutzig.

Es ging mir auch generell darum wie der TO hier auftritt, was Du vor lauter lachen nicht verstanden hast.

Und hier noch ein Kommentar von Dir Betreff TO:

Wastl schrieb:

Merkt es denn immer noch keiner welches unverbindliches und teils widersprüchliches Geschwafel vom TO daherkommt?

Kopfschüttel

Macht aber nix, deine Kommentare stechen im allgemeinen nicht besonders hervor, wie man auch in diesem Thread erkennen kann.

#7827066
Lesenswert?

Dirk E. schrieb:

Erstaunlich wie man hier wieder behandelt wird. Wenn man nichts passendes bieten kann, dann wird halt mal das Konzept infrage gestellt. Ich brauche das genau so Punkt!

Es geht nicht ums in Frage stellen, sondern deine Beratungsresistenz. oder kurz. Sturheit. Ich muss jetzt mit dem Kopf durch die Wand...

Wie gesagt ich brauche das Teil dringend und lasse mich von niemandem abhalten.

Viel Vergnügen. Zieh' dir schon mal die Erratas. Du wirst in 4..6 Wochen nicht fertig sein. Wetten? (Dafür ist das HAL Framework und der STM selber viel zu buggy.)

#7827079
Lesenswert?

Deine Anforderungen klingen extrem, gleichzeitig stellst du nur unzureichend Informationen bereit. Wie soll man da sinnvoll mit überlegen? In unter 0,2us senden/empfangen ist sehr schwammig. Was genau soll innerhalb von 0,2us passieren? Was passiert an deinem Pin? Soll die Portrichtung auch innerhalb von 0,2us umkonfiguriert werden? Und wie viele Pins betrifft das gleichzeitig?

Und warum tust du mit deinem Projekt überhaupt so geheimniskrämerisch? Zu erzählen was du vorhast, kann dir unter Umständen viel Arbeit ersparen weil irgendjemand etwas ähnliches vielleicht schon gelöst oder gesehen hat. Kann auch Widerspruch produzieren, das musst du aushalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren