Hallo zusammen, es gibt hier im Forum schon ein paar Ansätze einen Logic Analyzer selbst zu bauen. Leider sind die meisten schon recht alt und nicht auf dem neuesten Stand der Technik. Ich würde gerne das Cypress CYUSB3KIT-003 (Explorer kit) mit USB 3 als Basis verwenden. Das Board kostet bei Mouser knapp 50,- Euro (inkl. USt.). Dafür gibt es bereits mindestens 2 Adaptierungen an Sigrok (PulseView), d.h. sowohl die Firmware auch auch den Sigrok Treiber: 1. https://github.com/cnlohr/fx3fun 2. https://github.com/zeldin/fx3lafw Beide sind ggf. noch nicht fertig aber zumindest eine Basis. Die interne DMA RAM Bandbreite des Boards liegt bei 800 Megabyte pro Sekunde. Der tatsächliche erreichbare USB Durchsatz scheint zwischen 200 und 400 Megabyte pro Sekunde zu liegen. Solange die PC-Seite mitmacht (keine Unterbrechung, genügend RAM) sollte man damit "beliebig" lange aufzeichnen können. Ich würde ca. 32 bis 48 Kanäle und eine Samplerate von 50 MHz benötigen und über mindestens 30 Sekunden aufzeichnen. Was noch fehlt ist eine Eingangsstufe für die Spannungswandlung (z.B. 5V=>3.3V) welche auch die Empfindlichkeit gegen elektrostatische Aufladungen und Überspannungen reduzieren soll als Platine zum Aufstecken. Wie sollte solch eine Eingangsstufe am besten aussehen? Spricht was dagegegen für die 5V nach 3,3V Anpassung mit einem Spannungsteiler und einer Schutz-Diode zu beginnen oder benötigt man da gleich aktive Elektronik? Auf dem Board sind 22 Ohm Widerstände in Reihe zu den GPIOs eingebaut. Notfalls könnte man für unterschiedliche Eingangsspannungen einfach unterschiedliche Adapterplatinen machen. Was für Kabel und welchen Connector sollte man für den Anschluss des DUT verwenden? Michael
:
Bearbeitet durch User
Michael D. schrieb: > Wie sollte solch eine Eingangsstufe am besten aussehen? > Spricht was dagegegen für die 5V nach 3,3V Anpassung mit einem > Spannungsteiler und einer Schutz-Diode zu beginnen oder benötigt man da > gleich aktive Elektronik? > Auf dem Board sind 22 Ohm Widerstände in Reihe zu den GPIOs eingebaut. Was spricht dagegen sich die Service Manuals älterer Logikanalysatoren anzusehen? https://www.eevblog.com/forum/testgear/mso6000a-logic-analyzer-pinout/ https://www.eevblog.com/forum/microcontrollers/cross-talk-on-logic-analyzer-leads/ http://literature.cdn.keysight.com/litweb/pdf/16760-97016.pdf mfg
> ca. 32 bis 48 Kanäle und eine Samplerate von 50 MHz Das kann ja schon diverse Jahre jede Implementation die ein FPGA Evalboard verwendet. Und 50 MHz ist viel zu wenig. Das merkt man schon, wenn man mal einigermassen schnelle Signale mit so einem Chinadingens beguckt. Einigermassen nuetzlich sind >= 200 MHz. Die Profis nahmen frueher, keine Ahnung was heute so los ist, einfach einen FPGA als Pegelwandler. Z.B. Altera ACEX. Mir reichen prinzipiell die 3.3 V die meine (FPGA-Board)-LAs nativ koennen. An 5 V verschwende ich keine Gedanken mehr. Und weniger z.B. 1.8 V geht mit den FPGA-Boards ja zur Not auch. > Solange die PC-Seite mitmacht (keine Unterbrechung, genügend RAM) sollte > man damit "beliebig" lange aufzeichnen können. Ja und wer soll die vielen dabei anfallenden Gigabyte dann ansehen? Das die 8 Kanal-China-Billig-LAs triggermaessig fast nichts koennen und man dann SELBER den Punkt finden muss? Nee, danke. Mit einem vernuneftigen mehrstufigem Trigger braucht man selten besonders viel Speichertiefe. Guenstig ist auch ein Triggerausgang zum Kaskadieren oder fuers Oszi.
A. K. schrieb: > Was spricht dagegen sich die Service Manuals älterer Logikanalysatoren > anzusehen? Das ist sicher eine gute Idee und qualitätsmäßig bestimmt das Optimum. Möglicherweise sind diese Lösungen zu preisintensiv für den von mir angepeilten Zweck. Ehrlich gesagt auch erstmal schwer für mich zu durchdringen um sie an meine Zwecke anzupassen. Die Leitungslängen will ich unter 25cm halten. Das sollte gehen, da der LA ein sehr kleines Kunststoffgehäuse bekommt und quasi direkt am oder sogar im DUT plaziert werden kann. Als ESD Schutz hätte ich diese Dioden verwendet: Microdiode Electronics ESD0524P (https://lcsc.com/product-detail/Diodes-ESD_MDD-Microdiode-Electronics-ESD0524P_C840786.html) Michael
Das PIO peripheral vom Raspberry Pi Pico müsste sich eigentlich sehr gut für einen Logicanalyzer nutzen lassen. Das Bottleneck wird wohl USB sein.
bork schrieb: > Das PIO peripheral vom Raspberry Pi Pico müsste sich eigentlich sehr gut > für einen Logicanalyzer nutzen lassen. Das Bottleneck wird wohl USB > sein. Ja, sowohl USB als auch der uC. Wie ist das beim FX3, kann man die 512 kByte intern als Speicher für die Daten verwenden oder sind die Arbeistspeicher für den ARM9 Kern und exklusiv für die Software die auf dem läuft?
Gustl B. schrieb: > Wie ist das beim FX3, kann man die 512 kByte intern als Speicher für die > Daten verwenden Ja, der ist universell. Dient als ARM Arbeitsspeicher, DMA Zugriff für die I/O Daten und USB Zwischenpuffer. Michael
Da sind 512 kByte tatsächlich ziemlich viel. Der FT60x hat nur 16 kByte. Dem habe ich dann im FPGA noch 64 kByte BRAM spendiert um hohe USB3 Datenraten zu bekommen.
Noch ein weiteres github Projekt, welches sich dem Thema widmet: https://github.com/schnommus/libsigrok-cypress-fx3-test Und hier ein anderer LA, der auf dem FX3 aufbaut: https://sigrok.org/wiki/DreamSourceLab_DSLogic_U3Pro16
:
Bearbeitet durch User
Interessant fände ich da Komparatoren und eine einstellbare Referenzspannung.
Gustl B. schrieb: > Interessant fände ich da Komparatoren und eine einstellbare > Referenzspannung. Gibt es da welche die schnell genug sind? Was kosten die für 16 bzw. 32 Kanäle? Michael
Schnell genug ja. Aber ich kenne da keinen Baustein mit 16 Stück drinnen. Es gibt welche mit 4 Komparatoren. Rigol verwendet Komparatoren im Logic Pod für deren Oszilloskope. Hier ist der Thread dazu inklusive Nachbau: https://www.eevblog.com/forum/testgear/rpl1116-active-logic-probe-pod-for-1000z-series-teardown/ Das Oszi liefert die Referenzspannung und die Versorgungsspannungen, die Komparatoren liefern ein LVPECL Signal zurück. Ja, das kann man nicht direkt an den FX3 anschließen, an FPGAs aber schon.
Gustl B. schrieb: > Schnell genug ja. Aber ich kenne da keinen Baustein mit 16 Stück > drinnen. Es gibt welche mit 4 Komparatoren. Bei Digikey habe ich mal gesucht nach Komperatoren, die einen FX3 kompatiblen Ausgang haben und 4 Kanäle. Da kommt z.B. der MAX964EEE+-ND in Frage. Der hat eine Verzögerungszeit von etwa 4.5ns und eine Rise Time von 2.3ns. Der von dir genannte LMH7322 hat nur eine Verzögerungszeit von 0,783ns, aber wie du schreibst benötigt der zusätzlich einen FPGA. Das ist dann schon High End. Die Verzögerungszeit selbst wäre ja egal, aber je höher diese ist, desto höher wird natürlich auch der Jitter für den Erfassungszeitpunkt eines Signalwechsels. Preislich liegen alle Bausteine bei mindestens 1,50 Euro pro Kanal, der LMH7322 sogar bei 2,50 Euro (+FPGA). Daher macht ein modulares System mit Aufsteckplatinen Sinn, wo man sich entscheiden kann, ob man nur 3,3V benötigt oder auch andere Spannungen welche das ganze wesentlich aufwändiger machen. Michael
Michael D. schrieb: > Gustl B. schrieb: >> Interessant fände ich da Komparatoren und eine einstellbare >> Referenzspannung. > > Gibt es da welche die schnell genug sind? Diskret mit GHz Transistoren aufbauen wäre auch ne Option: Beitrag "komparator diskret"
Michael D. schrieb: > aher macht ein modulares System mit Aufsteckplatinen Sinn, Diese Überlegung hatte ich bei einem meiner FPGA Boards und habe dem einen USB-C spendiert der direkt am FPGA hängt. Nicht für USB, aber eben um 4 Diff-Paare anschließen zu können und dann sind da noch weitere Pins drinnen die man für Versorgungsspannung und Regerenzspannung verwenden könnte oder man nutzt die für SPI/I2C und setzt den DAC für die Referenzspannung direkt auf die kleine Tastkopfplatine. Ich habe das aber bisher nicht für einen LA verwendet, 4 schnelle IOs fand ich etwas wenig und habe die bisher nur als Ausgang für HDMI über USB-C verwendet. Aber das wäre mal was, eine FPGA Platine mit schnellem USB zum PC, optional etwas RAM und dann noch ein paar USB-C Buchsen um etwas mit schnellen IOs anschließen zu können. Warum USB-C und nicht HSMC oder FMC? Weil die Buchsen günstig sind, man das einfach geroutet bekommt und weil man normale günstige Kabel verwenden kann.
Nachdem ich mich mal nach einem Rigol DS1074Z Plus (Oszi+LA, 520,- Euro) umgesehen habe und die originalen LA Probes dort 350,- Euro extra kosten bin ich unter der Beschreibung "Rigol MSO5000 Digital Logic Probe CMOS/TTL" bei ebay auf ein board von Sergey Petrukhin gestoßen. Er selbst schreibt, dass er das Board bis 16 MHz getestet hat. Das wäre deutlich zu langsam. In einer anderen ebay Akution steht, dass der Line Driver SN65LVDS1DBVRG4 verwendet wurde (LVDS Transmitter) und es sind auch Bilder von 100, 200 und 475 MHz Oszi Aufnahmen drin. Wenn ich das richtig deute, dann sind die 100 MHz gerade noch ok. Auktion aus USA mit guter Beschreibung und guten Bildern https://www.ebay.de/itm/Rigol-MSO5000-Custom-16-Channel-Logic-Probe-Bare-PCB-w-Tray/224366736056?hash=item343d4cb2b8:g:T~gAAOSwpSlgOVtO Auktion aus Deutschland: https://www.ebay.de/itm/Rigol-MSO5000-Digital-Logic-Probe-Logic-Analyzer-PCB/324521286127?hash=item4b8ef9d9ef:g:dxsAAOSw5KBgTjD0 Michael
:
Bearbeitet durch User
> dann sind die 100 MHz gerade noch ok
Spielkram.
Ich hatte oben doch den Tread aus dem EEV-Forum verlinkt. Rigol verbaut 8x den https://www.ti.com/lit/ds/symlink/lmh7322.pdf für insgesamt 16 Kanäle. Abtastung machen dann vermutlich SerDes bei 1 GSample/s. Und das könnte man auch im FPGA machen, selbst recht günstige Spartan7 haben SerDes die >1 GHz können, auch genug davon. Meine Idee wäre also Folgende: Ein "Mainbaord" mit FPGA, USB3 Baustein, optional RAM und eben ein paar Anschlüssen für LVDS Signale. Ich würde da USB-C verwendet weil die Kabel günstig sind und eine Buchse/Stecker 4 LVDS Leitungen kann. Ausserdem sind da dann noch weitere Leitungen drinnen für z. B. SPI. Mehrere Komparatorplatinen. Möglichst kleine Platinen, mit je zwei lmh7322 (4 Komparatoren) und einer USB-C Buchse. Versorgung von der Hauptplatine auch über USB-C. Auch dabei ein SPI DAC für die Triggerschwelle, SPI kommt vom Mainboard über USB-C. Weitere Vorteile: Man kann die Platinen getrennt entwickeln, und man könnte auch andere Sachen mit den USB-C machen. Man könnte eine Tochterplatine mit ADC bauen (den HMCAD1511 mit 1 GSample/s könnte man über 3 USB-C Buchsen anbinden, gibt auch ADCs die weniger Leitungen haben) und dann also entweder Komparatorplatine oder ADC Platine über USB-C anschließen - oder auch beides gemixt, ADC und Logikkanäle. Als Bastelboard wäre das auch was, denn man könnte sehr einfach passive Adapterplatinen von USB-C <-> PMOD oder was man eben haben will. Das sind auch einfach 12 FPGA IOs. Also wenn da Interesse besteht für ein Projekt, dann bin ich da gerne dabei.
Gustl B. schrieb: > Ich hatte oben doch den Tread aus dem EEV-Forum verlinkt. Rigol verbaut > 8x den https://www.ti.com/lit/ds/symlink/lmh7322.pdf für insgesamt 16 > Kanäle. Ich habe eigentlich nur nach einem günstigen DIY LogicAnalyzer gesucht und wollte mich gleichzeitig mit USB3 beschäftigen. Die 4 Euro LogicAnalyzer für 24 MHz 8 Kanal (bzw. 12 MHz 16 Kanal) auf Basis des EZ-USB FX2LP CY7C68013A finde ich beeindruckend. Allerdings sind mir diese etwas zu langsam, mit USB2 ist ohne Pufferung nicht mehr drin. 100 MHz Samplingrate bei 16 Kanälen wäre mein bescheidenes erstes Ziel. Für ein Hobby-Projekt finde ich den lmh7322 mit 10,- Euro zu teuer. Einem Rigol LA mit 1 GHz Samplingrate will ich nicht Konkurrenz machen, das würde ich sowieso nicht hinbekommen. Da braucht man auch ganz andere Tools als KiCad und vor allem spezielles Fachwissen, was das Platinenlayout und Schaltungsdesign angeht um die Impedanzen der Leiterbahnen zu berücksichtigen und ggf. ein Längen matching zu machen. > Ein "Mainbaord" mit FPGA, USB3 Baustein, optional RAM und eben ein paar > Anschlüssen für LVDS Signale. Ich würde da USB-C verwendet weil die > Kabel günstig sind und eine Buchse/Stecker 4 LVDS Leitungen kann. Mir wäre wichtig erstmal den FX3 zu verstehen, was der überhaupt kann und wie der funktioniert. Als Basis Board würde ich erstmal das FX3 Eval Board nehmen. Alleine ein BoardLayout für USB3 zu machen ist nicht ohne. Das zweite wäre dann, wie man die letzten 20cm von Board zum DUT überbrückt, d.h. wie weit man mit normalen Dupont Kabeln kommt. > Mehrere Komparatorplatinen. Möglichst kleine Platinen, mit je zwei > lmh7322 (4 Komparatoren) und einer USB-C Buchse. Versorgung von der > Hauptplatine auch über USB-C. Auch dabei ein SPI DAC für die > Triggerschwelle, SPI kommt vom Mainboard über USB-C. Das hört sich schon cool an, aber auch ambitioniert. Das fängt schon bei den Lötkünsten an. Die USB3 Buchsen haben einen 0.5mm pitch. Ich habe noch nie SMD gelötet. Ich würde nur ganz klein anfangen :-) Michael
Michael D. schrieb: > Für ein Hobby-Projekt finde ich den lmh7322 mit 10,- Euro zu teuer. Ja gut, den Punkt lasse ich gelten. Michael D. schrieb: > Da braucht man auch ganz andere Tools als KiCad und vor allem spezielles > Fachwissen, was das Platinenlayout und Schaltungsdesign angeht um die > Impedanzen der Leiterbahnen zu berücksichtigen und ggf. ein Längen > matching zu machen. Das geht schon mit KiCAD und du könntest eine Menge lernen. Und wenn man den Längenausgleich weglässt, ein paar 100 MHz bekommt man trotzdem hin. Michael D. schrieb: > Mir wäre wichtig erstmal den FX3 zu verstehen, was der überhaupt kann > und wie der funktioniert. Als Basis Board würde ich erstmal das FX3 Eval > Board nehmen. OK, ja das klingt vernünftig wenn du diesen Baustein verwenden möchtest. Michael D. schrieb: > Alleine ein BoardLayout für USB3 zu machen ist nicht ohne. Aber auch nicht dramatisch. Michael D. schrieb: > Das zweite wäre dann, wie man die letzten 20cm von Board zum DUT > überbrückt, d.h. wie weit man mit normalen Dupont Kabeln kommt. Für 100 MHz geht das schon. Michael D. schrieb: > Das hört sich schon cool an, aber auch ambitioniert. Das fängt schon > bei den Lötkünsten an. Die USB3 Buchsen haben einen 0.5mm pitch. > Ich habe noch nie SMD gelötet. Ja, aber Michael D. schrieb: > Ich würde nur ganz klein anfangen :-) wenn du das machst und deine Fähigkeiten langsam erweiterst, dann kannst du in wenigen Jahren auch das was du jetzt für unmöglich hältst.
Das oben bereits erwähnte Design von Sergey Petrukhin findet man hier: https://easyeda.com/f33net/digital-probe-rigol-mso5000 Allerdings hat das einen differentiellen Output für die Rigol Scopes.
Hi, ich habe jetzt mal den ersten Entwurf eines Boards mit einem SN74LXC8T245-Q als Eingangsstufe gemacht. Der hat 8 Kanäle pro Chip und kostet etwa 1,20 Euro. Infos siehe hier: https://www.mouser.de/ProductDetail/595-74LXC8T245QPWRQ1 Für jeden Chip will ich die Eingangsspannung einzeln per Jumper wählbar machen zwischen 3 Möglichkeiten: 1. 5V 2. 3.3V 3. eine Spannung die man per Poti einstellen kann zwischen 1,25V bis 5V (dafür ist der Spannungsregler) Einen Serienwiderstand (ca. 33 Ohm) vor jedem Eingang habe ich noch nicht vorgesehen, ich muss erstmal sehen wie das Routing klappt. Die beiden Pfostenstecker haben jeweils 16xInput + 16xGND und noch 8 unbelegte Pins. Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.