www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8 Kanal 50Ms/s AVR Logic-Analyzer


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

keine Ahnung, wo es reinpasst oder ob es jemand wissen will... ;-))

Ich habe meinen Logic-Analyzer incl. Software zumindest soweit fertig, 
daß es vielleicht jemanden interessieren könnte.

Der ganz Kram liegt auf meiner Homepage:
http://www.avr.roehres-home.de/logikanalyzer/index.html

Typischer Restbau von mir: Kosten wohl 30 Euro, wenn man alles kauft,
Lochrasteraufbau, noch nicht ganz fertig.

Würde mich freuen, wenn es jemanden interessiert.

Gruß aus Berlin
Michael

Autor: Sven L. (svenl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ja ein geiles Projekt! :)

Werde ich sicher demnächst mal nachbauen! In was ist denn die 
Desktop-Software geschrieben? Vielleicht kann ich da ein wenig 
entwicklerisch unterstützen.

Gruß!

Sven

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gutes altes VisualBasic v6...
Unter konsequenter Nutzung aller ptogrammiertechnischen Nachteile, die 
man da einbauen kann. ;-))
Ich brauchte einfach schnell was funktionsfähiges, bei dem ich vollen 
Zugriff auf AVR- und PC-Teil habe.
Es liegt auch schon ein erweiterter Schaltplan hier, der 32k Speicher 
unterstützt, externen Trigger- und Sampletakteingang hat und einen 
Mega48 benutzt.

Mal schauen, wann ich den zusammenlöte...

Gruß aus Berlin
Michael

Autor: Wolfgang M. (womai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prima Projekt, sehr schoen ausgefuehrt! Freut mich auch zu sehen, dass 
es sehr anfaengerfreundlich aufgebaut ist (alles in DIP). Ich selber 
habe schon einen netten 8-Kanal-LA (das Saleae-Geraet) aber ich bin mir 
sicher, Du findest genug Nachbauer. Ausreichend Sampletiefe ist sehr 
wuenschenswert (immerhin moechte man ja einige Samples pro Datenbit), 
eventuell kannst Du ja Hardware und vor allem auch Software so flexibel 
auslegen, dass sich jeder nach Bedarf den Speicher erweitern kann. 
Engstelle wird allerdings irgendwann die serielle Schnittstelle, mit 115 
kbaud dauern 32 KB schon ein paar Sekunden, ist aber noch vertretbar.

Was ausserdem nett waere - die Moeglichkeit auf eine Flanke zu triggern. 
Z.B. fuer SPI ist es besser, auf die fallende Flanke der /CS-Leitung zu 
triggern, als auf "/CS Low".

Wolfgang

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Übertragung werde ich noch auf 230400 setzen, der Fehler bleibt da bei 
20MHz AVR-Takt der gleiche. Prinzipiell gehen natürlich auch höhere 
Raten, 500kBaud unterstützt aber die virtuelle COM des FTDI wohl nicht.
Die Grenze liegt hier ja bei FTDI/PC und dem AVR-Takt.

Echte Flanke ist ein Problem. Bei SPI dürfte aber z.B. die Kombination 
/CS Low und SCK High (oder Low, je nach SPI-Mode) erstmal helfen.

Das Bild auf der Homepage ist vom RFM12 meiner Sensorgeschichte, 
getriggert auf /CS Low und SCK H. Da ich weiß, das je nur ein Takt 
kommt, wenn der Master sendet, geht das auch gut.

Ich versuche mich jetzt mal an ein paar Analyse-Geschichten.
SPI, UART und I2C erstmal, weil ich das in Benutzung habe, LIN wohl, 
weil mein Bekannter damit rumbastelt.

Zumindest läuft im Moment Hard- und Software erstmal stabil, er triggert 
hier im Automode auf die Signale meiner Sensoren (6 Stück, ca. 1x pro 
Minute). Auch nach über 700 Ereignisse läuft noch alles. :-)

Gruß aus Berlin
Michael

Autor: Wolfgang M. (womai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So eine einfache Protokollanalyse in der Software fuer RS-232, SPI und 
I2C, also Anzeige der gesendeten oder empfangenen Datenbytes im 
Klartext, waere tatseaechlich eine grosse Hilfe. Das ist fuer mich einer 
der Hauptunterschiede zwischen Oszilloskop und Logikanalysator, und 
spart unheimlich Zeit bei der praktischen Arbeit mit dem Geraet!

Wenn die Harware endgueltig fertig ist, planst Du eigentlichn eine 
"richtige" Leiterplatte? Ich bin mir sicher es gibt etliche 
Interessenten an sowas, besonders als Kit zum Selberbau, und in 
Kleinserie (ab ca. 50 Stueck) ist die Leiterplattenfertigung extrem 
billig (so ca. 5 Euro/Stueck bei PCBCart).

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich melde auch schon mal Interesse an einer Platine an, wenn ich Zeit 
finde, kann ich evtl. auch eine erstellen.
Was noch schön wäre, wenn man mindestens zwei analog Kanäle hätte, so 
wie hier: Beitrag "Oszi- & Logikanalyser mit LCD"

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich fange mal hinten an...

Analoge Kanäle wären 2 Probleme:
schnelle A/D-Wandler (Flash-Wandler aus der Video-Ecke mit 2MS/s als 
Beispiel).
Problem 1: kaum noch in DIL zu beschaffen
Problem 2: bei 2 (oder mehr Kanälen) müßte im Zeitmultiplex jeweils ein 
Datenbyte von jedem Wandler in den Ram geschrieben werden.
Also vor dem ADC schneller Analog-Mux und dahinter schnelle 
Tri-State-Buffer und ein MAX, der vom Adresszähler mitgesteuert wird.
Da ein paar Gatter für die Umschaltlogik.
Machbar, in TTL auch kostengünstig als Drahtverhau.
Würde dann heißen: bei einem Kanal max. 50MS/s in maximaler Sampletiefe 
(wenn es der ADC kann),
bei 2 Kanäle halbe Sampletiefe und halbe Samplerate usw.

In der Software wäre die Anpassung gering.

Von meiner Seite: im Moment keine Aktion. Wenn jemand da löten will, uch 
helfe gern. Kann man an eine spielende Version ja sozusagen 
"dranknoten".

Randbedingung: ich muß den Umbau auf Mega48 erledigen, sonst sind keine 
Portpins frei. Das passiert aber ohnehin im Laufe der kommenden Woche.

SPI-Decode bin ich gerade dran, bin über die Darstellung noch etwas im 
unklaren. Bei ausreichendem Zoom will ich es direkt in das Sample 
reinschreiben, alternativ nur Byte-Marken setzen und eine Textliste.
Mal schauen...

Leiterplatten: von mir direkt mit Sicherheit nicht.
Wenn jemand routen will gern.
Kritisch dürften die Datenleitungen zwischen Eingangsbuffer, AVR, Ram 
und den OR-Gattern der Triggerlogik sein.
Danach evtl. die Adressen des Ram.
Alles dahinter ist AVR-typisch lahm und unkritisch.
Meine Größe ist im Moment vom vorhandenen Gehäuse gegeben, dieses 
Exemplar bleibt auch so.

Ein Umbau bei mir bekommt entweder ein etwa größeres Gehäuse oder 2 
Leiterplatten im Huckpack.

AVR, Triggerlogik, Takt mit MUX könnten auf eine, Ram, Zähler, 
Eingangsbuffer und was uns noch einfällt, auf die andere.
Kritische Verbindung zwischen beiden wären dann die 8 Datenleitungen und 
der Zählertakt sowie das /WE-Signal.
Ist mir zumindest eine Überlegung wert.

Es gibt eine Anfrage zum Thema Leiterplatten und Bausatz, darüber denke 
ich zumindest nach.

Gruß aus Berlin
Michael

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
> Analoge Kanäle wären 2 Probleme:
> schnelle A/D-Wandler (Flash-Wandler aus der Video-Ecke mit 2MS/s als
> Beispiel).
> Problem 1: kaum noch in DIL zu beschaffen
Finde ich eher positiv, da ich meistens geätzte Platinen verwende und 
das ohne Löcher bohren unproblematischer geht. Für Schaltungsentwicklung 
á la Lochraster natürlich eher hinderlich.

> Problem 2: bei 2 (oder mehr Kanälen) müßte im Zeitmultiplex jeweils ein
> Datenbyte von jedem Wandler in den Ram geschrieben werden.
> Also vor dem ADC schneller Analog-Mux und dahinter schnelle
> Tri-State-Buffer und ein MAX, der vom Adresszähler mitgesteuert wird.
> Da ein paar Gatter für die Umschaltlogik.
> Machbar, in TTL auch kostengünstig als Drahtverhau.
Stimmt, das macht die Sache schon recht aufwendig. Mit 50MHz hatte ich 
bis jetzt auch noch nichts am Hut. Kann sein, dass da unvorhergesehene 
Probleme auftauchen.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was ich gerade vermisse oder nicht gefunden habe ist die AVR-Software.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gast schrieb:
> was ich gerade vermisse oder nicht gefunden habe ist die AVR-Software.

was daran liebt, daß die noch nicht daliegt... ;-)
Falls Du so schnell im Löten bist, daß Du sie brauchst, schick mir eine 
Mail.
Ich will eigentlich erst noch auf den Mega48 umbauen, der Mega644 war 
letztlich nur eine Notlösung und ist Verschwendung an dieser Stelle.
Passiert in den nächsten Tagen...

Ich habe das jetzt mal auf versuchsweise 2 Huckepack-Leiterplatten 
aufgeteilt, das sieht soweit gut aus und sollte dann noch in das gleiche 
Gehäuse passen.

Gruß aus Berlin
Michael

Autor: Wolfgang M. (womai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich persoenlich denke, lieber keine Analogkanaele dazubauen. Das 
macht das Ding bloss komplexer, und das heisst fuer viele 
uninteressanter. Ein Drittel der Leute will es dann mit Analogteil, ein 
Drittel ohne, und ein Drittel mit Analogteil aber mit hoeherer 
Bandbreite :-)

Was aber nett waere: Einfach das Triggersignal extern zugaenglich 
machen, dann kann sich jeder Sein Oszi dazubauen oder ein existierende 
Oszi damit triggern. Das sollte im wesentlich ein 2-pin-Jumper sein.

Wenn jemand ein einfaches (1 MS/sec Samplerate, 400 kHz Bandbreite) 
Zweikanal-Oszi dazubauen will, ich habe ein Design im Internet, das 
aehnlich anfaengerfreundlich ist - kannst Du gerne als Basis verwenden:

http://www.pdamusician.com/lcscope/

Den Picaxe-Mikrocontroller kann man dann bei Bedarf mit dem schon 
existierenden AVR ersetzen, oder man verwendet ihn einfach als "Slave", 
der seine Daten zum AVR schickt (das waere viel weniger extra 
Softwareaufwand). Ich arbeite auch gerade an einem dsPIC-basierten 
Zweikanal-Oszi, das 1 MS/sec single-shot und 10 MS/sec in 
Equivalent-Time-Sampling schafft und bloss aus etwa 5 Chips und 
zugehoerigen diskreten Elementen besteht. Das koennte auch gut 
dazupassen - Harware is billig und einfach. Der Digitalteil arbeitet 
schon prima, den Analogteil werde ich wohl vom obigen Oszi uebernehmen 
(eventuell mit etwas verbesserter Bandbreite).

Wolfgang

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

von meiner Seite gibt es absehbar sowieso nichts analoges eingebaut.
Speichertakt in beiden Phasenlagen estern ist kein Problem, gibt ja 
schließlich noch kein Layout.
Beim Umbau auf den Mega48 werden die Triggerdaten seriell in 2 
kaskadierte 74xx164 geschoben. Da ist ein Ausgang von Clk und Q8 des 
zweiten auch angedacht. Damit kann man Einstellwerte dann zu externen 
Erweiterungen durchschieben.
Ist erstmal für den Schwellwert einer externen aktiven Probe gedacht, da 
ist mein Bekannter am sondieren.

Mit dem Takt zusammen kann man dann natürlich auch einen Flash-ADC sammt 
Bereichsumschaltung erledigen.
Allerdings sollte der ADC selbst da nicht programmierbar sein, sonst 
müsste man noch eine I2C/SPI rausführen und dann werden wieder die Pins 
am Mega48 knapp. ;-)

Hier liegt noch ein ADC1175 rum der kann 20MHz...

Gruß aus Berlin
Michael

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die TTL Logik wäre ja schon was für unsere VHDL Gemeinde

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mit VHDL habe ich erstmal nichts am Hut, werde aber bestimmt keinen 
hindern. ;)

Ein Bekannter nimmt das gerade als Einarbeitungsobjekt für das 
Pollin-CPLD-Board. Als Übungsaufgabe, weniger als Anwendung.

Ich habe gestern erstmal angefangen, einen Adapter für den 
Mega644-Sockel zu löten, der einen Mega88 (war gerade da ;-) und 2x 
74LS164 trägt.

Werde ich hoffentlich heute noch fertig machen und dann die Firmware 
erstmal darauf umstellen. Der Mega644 mit 1,5% Flash-Nutzung stören mich 
eben...

Gruß aus berlin
Michael

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo schönes Projekt wann wird der Sourcecode Veröffentlicht?
Und wie machst du die > 10MHz (100ns) der Timebase, per PWM ?

Wenn ich jetzt einen 16MHz Quarz nehme kann ich doch max. 8MHz als 
Timebase nehmen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Avr Nix schrieb:
> Hallo schönes Projekt wann wird der Sourcecode Veröffentlicht?
Vielleicht noch heute, dann für meine (vorerst) endgültige Version mit 
Mega48/88.

> Und wie machst du die > 10MHz (100ns) der Timebase, per PWM ?

Siehe Schaltbild, mit getrennten Quarz-Oszillatoren.
Der AVR wird mittlerweile dann vom 20MHz Oszillator getaktet.

> Wenn ich jetzt einen 16MHz Quarz nehme kann ich doch max. 8MHz als
> Timebase nehmen.

Solange Du den Takt nur intern erzeugst ja.

Für 16MHz müssen dann die Tabellen angepasst werden und eine Abstufung 
1:2:5 ist dann natürlich auch nicht möglich.
Müßte dann eben auf 8, 4, 2, 1 oder ähnlich gestuft werden.
Da müßte dann natürlich auch die VB-Software angepasst werden.
Werde ich nicht machen, VB6-Sourcen kann ich aber gern rausgeben.

Das Problem mit den Sampleraten ist folgendes: mehr als ca. 1/10 der 
Samplerate ist als Signal nicht mehr sinnvoll auswertbar.
Wenn ich Timing-Differenzen zwischen 2 Signalen erkennen will, muß auch 
oft genug abgetastet werden. 8MHz lassen eben nur 125ns Zeutraster zu.
Ein mit 16MHz getakteter AVR kann da aber schon 2x ein Portpin ändern 
und der LA bekommt davon nichts mit.

Ich halte die 50MHz als Minimum, wenn ich damit in üblichen 
AVR-Basteleien noch was erkennen will.
Für UART/I2C usw. reichen aber durchaus auch 8MHz noch aus.

Gruß aus Berlin
Michael

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre auch gut wenn du die VB Source veröffentlichen würdest.
Dann warte ich mal bis heute Abend auf die Veröffentlichung der Quellen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so, nachdem der Neubau soweit erstmal läuft, habe ich die Webseite noch 
schnell erweitert.

Es läuft soweit alles, 16k Samplespeicher zur Zeit, für 32k muß ich das 
VB-Programm erstmal etwas auf- und umräumen.
Der Buffer von MSComm ist nicht der Meinung mit 32k klarzukommen...
Übertragungsrate ist jetzt 500kBaud, sollte eigentlich stabil gehen, im 
Auto-Mode gab es allerdings sporadisch Übertragungsfehler, das muß ich 
mir wohl noch genauer ansehen.

http://www.avr.roehres-home.de/logikanalyzer/index.html

Gruß aus Berlin
Michael

Autor: Fuzzy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cooles Projekt.
Endlich mal ein Projekt, bei dem Der AVR sinvoll zum Auslesen des RAMs 
und nicht zum samplen eingesetzt wird.
Kommt man mit einer schön gerouteten Platine sogar auf 80-100MHz, oder 
sond die TTLs zu langsam?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

80MHz sind im Test schonmal gelaufen.

Der Drahtverhau ist (seltsamerweise?) recht unkritisch.
100 an allen ICs, Spannungsversorgung mit 0,5er Draht als eine Art 
Maschennetz, der Rest frei mit Wrapdraht.
Sowas verdrahte ich eigentlich immer hmmm... nach HF-Gefühl... ;-)

Problem ist einmal der Cache-Ram und einmal das Tastverhältnis des 
Quarzoszillators. Das sollte nahe an 50% sein, ist es aber wohl 
praktisch nicht immer. Jedenfalls laufen nicht alle, die ich habe da 
richtig.
Der Adresszähler kommt eigentlich weit über 100MHz, der Rest der Logik 
ist recht unkritisch. Ich werde irgendwann mir das reale Timing mal mit 
passender Meßtechnik anschauen, muß mal schauen, was meinem Bekannten 
dazu einfällt.

Gruß aus Berlin
Michael

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also falls einer vor hat, eine Leiterplatte für die neue Version zu 
entwickeln, würde ich mich auch schon mal anmelden dafür. Würde mich ja 
auch selbst hinsetzen, allerdings dauert so etwas bei mir im allgemeinen 
mehrere Wochen und dann nur mit sprint-Layout (mit eagle komme ich nicht 
klar). Auch hätte ich bei diesen Frequenzen bei meinen Entwürfen 
Bedenken, da ich leider kein "HF-Gefühl" besitze ;-).

Gruß
Sven

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Gratulation! Ausgezeichnetes Projekt, das auch der Anfänger leicht 
nachbauen kann.
Mich bringt es auf eine Idee, was ich mit den Stangen von Cache-SRAMs 
anfangen könnte, die aus den Tagen der 386..586er noch bei mir herum 
fliegen. Da sind etliche 12ns bis 8ns RAMs in einer Kiste.
Wenn man jetzt noch über ein CPLD die Sachen auf mehrere SRAMs verteilt, 
dann sollten auch ein paar 100 Megasamples möglich sein. Nein, ist nur 
Spaß, das Layout wäre deutlich komplizierter und das Synchronisieren von 
Sampler und CPU wäre ein Horror für ein Bastelprojekt. Aber ich habe 
auch noch ein paar AT90USB1286/7er herum fliegen, was den USB-Adapter 
überflüssig macht.

Also weiter so, Deine Ideen sind gut. Aber mach kein Scope draus, das 
ist wieder am Thema vorbei und Eierlegendewollmilchsäue werde nie 
fertig.
Wenn man noch was verbessern will, dann könnte man über eine 
Verlängerung des Eingangs nachdenken. Also eine kleine Dose mit Wandlern 
um die Eingänge auf Differentiell umzusetzen und am anderen Ende des 
60..120cm langen Kabels dann eine Rückwandlung von Differentiell auf 
Unipolar.

Gruß, Ulrich

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ulrich P. schrieb:
> Hi!
>
> Gratulation! Ausgezeichnetes Projekt, das auch der Anfänger leicht
> nachbauen kann.
Danke. :-)

> Mich bringt es auf eine Idee, was ich mit den Stangen von Cache-SRAMs
> anfangen könnte, die aus den Tagen der 386..586er noch bei mir herum
> fliegen. Da sind etliche 12ns bis 8ns RAMs in einer Kiste.

Rate mal, wo meine her sind...
Mein schnellster ist leider nur ein 8kx8 in 12ns, ein 32kx8 in 15ns (der 
steckt auf dem aktuellen), der Rest ist nur 20ns.
Die Cache-Rams sind da günstig, weil in DIL und weil deren 
Cyclus-Verhalten diese Art der Steuerung zuläßt.

> Wenn man jetzt noch über ein CPLD die Sachen auf mehrere SRAMs verteilt,
> dann sollten auch ein paar 100 Megasamples möglich sein. Nein, ist nur
> Spaß, das Layout wäre deutlich komplizierter und das Synchronisieren von
> Sampler und CPU wäre ein Horror für ein Bastelprojekt. Aber ich habe
> auch noch ein paar AT90USB1286/7er herum fliegen, was den USB-Adapter
> überflüssig macht.

> Also weiter so, Deine Ideen sind gut. Aber mach kein Scope draus, das
> ist wieder am Thema vorbei und Eierlegendewollmilchsäue werde nie
> fertig.
Hatte ich doch schonmal angefangen. ;-)
Alle Signale für einen extern ansteckbaren Flash-Wandler stehen 
allerdings zur Verfügung...
Ich werde das sicher irgendwann auch mal probieren.

> Wenn man noch was verbessern will, dann könnte man über eine
> Verlängerung des Eingangs nachdenken. Also eine kleine Dose mit Wandlern
> um die Eingänge auf Differentiell umzusetzen und am anderen Ende des
> 60..120cm langen Kabels dann eine Rückwandlung von Differentiell auf
> Unipolar.
Hatte mein Bekannter auch überlegt, erstmal aber ganz nach hinten 
geschoben. Einfach, weil man die relativ kleine Schachtel dicht genug an 
den Kram ran befördern kann.

Gruß aus Berlin
Michael

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo bekommt man denn die SRAMs her, wenn man keine mehr herumfliegen hat? 
Leider habe ich solch alte PC-Technik inzwischen entsorgt. Bei Angelika 
gibt es auch nur welche mit 70ns und beim C kosten die Dinger ca. 6,- €.

Autor: Bishop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn man jetzt noch über ein CPLD die Sachen auf mehrere SRAMs verteilt,
>dann sollten auch ein paar 100 Megasamples möglich sein. Nein, ist nur
>Spaß, das Layout wäre deutlich komplizierter und das Synchronisieren von
>Sampler und CPU wäre ein Horror für ein Bastelprojekt. Aber ich habe
Das soll wohl ein Scherz sein? Mit einem €20,- Fpga kann man mit wenig 
Aufwand locker ein 50 kanaliges 500Ms/s Oszi nach diesem Prinzip bauen. 
Zusätzlich könnte man noch 4 unterschiedliche Spannungshübe definieren. 
Damit wären auch ADC's überflüssig.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Bishop (Gast):
kann man, machen ja auch einige, teilweise schon seit Jahren und nur 
wenig teurer als ein fertig gekaufter und einige Projekte haben sogar 
schon etwas Software...

Sorry, das mußte jetzt mal sein. Sowohl mein Bekannter als auch ich 
haben ein wenig im Web gegrast und das war das Resultat dabei.

Scheint also zwischen "kann man" und "mit wenig Aufwand" eine gewisse 
Diskrepanz zu bestehen. :-)

Meine Absichten (und Grenzen) sind da relativ einfach: Zeug für ein paar 
Cent aus der Kramkiste, Spaß am entwickeln und bauen der Logik, Freude, 
weil es auch noch funktionert.

Entwicklungszeit bis heute waren wohl so 6 Wochen.

Einige Zeit wird wohl noch am Aufräumen der Software vergehen, einiges 
werde ich wohl auch noch reinbauen (Hard- als auch Software).
Die Änderungen werden nur kleine Erweiterungen sein, die man ranlöten 
kann, aber nicht muß.

@Sven Stefan (stepp64): einige Rams habe ich noch da, muß ich erstmal 
testen.
Mein Bekannter sprach auch noch von einer Stange 32k 15ns.
Da wir alle eher schon "alte Herren Club" tendieren, werfen wir wohl 
nicht so schnell weg. ;-))

Es müssen (ziemlich sicher) Cache-Rams sein, das Zugriffstiming normaler 
Rams ist teilweise merklich anders (Vorhaltezeiten usw.).

Gruß aus berlin
Michael

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
>
> @Sven Stefan (stepp64): einige Rams habe ich noch da, muß ich erstmal
> testen.
> Mein Bekannter sprach auch noch von einer Stange 32k 15ns.
> Da wir alle eher schon "alte Herren Club" tendieren, werfen wir wohl
> nicht so schnell weg. ;-))
>
> Es müssen (ziemlich sicher) Cache-Rams sein, das Zugriffstiming normaler
> Rams ist teilweise merklich anders (Vorhaltezeiten usw.).
>
> Gruß aus berlin
> Michael
Naja, zu den jüngsten zähle ich mich mit 45 ja nun auch nicht mehr...
Neu hatte ich solche Chips leider nie. Irgendwann habe ich mal den Boden 
aufgeräumt und alles was älter Pentium3 war weggehauen. Na egal. Würden 
denn diese hier gehen http://www.conrad.de/goto.php?artikel=167193 ?

Gruß
Sven

Autor: Bishop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>kann man, machen ja auch einige, teilweise schon seit Jahren und nur
>wenig teurer als ein fertig gekaufter und einige Projekte haben sogar
>schon etwas Software...

>Sorry, das mußte jetzt mal sein. Sowohl mein Bekannter als auch ich
>haben ein wenig im Web gegrast und das war das Resultat dabei.
Ich weiss jetzt nicht auf was du hinaus willst? Was soll fertig gekauft 
heissen? Welcher Preis?

>Scheint also zwischen "kann man" und "mit wenig Aufwand" eine gewisse
>Diskrepanz zu bestehen. :-)
Ich bin verblüfft! Ich arbeite schon seit 15 Jahren mit FPGA's und weiss 
sehr gut, wie hoch der Zeitaufwand in der Entwicklung ist. Für einen 
Fortgeschrittenen kaum grösser als eine Schaltung aufgebaut mit 
diskreter Logik (und mehr wie den Fpga brauchst du nicht). Schick doch 
bitte mal die Links, die du "abgegrast" haben willst.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Bishop schrieb:
> Ich weiss jetzt nicht auf was du hinaus willst? Was soll fertig gekauft
> heissen? Welcher Preis?
Die billigsten USB-LA bekommst ab der 80 Euro-Grenze. Ist hier ja schon 
oft diskutiert worden. Wenn ich sowas unbedingt brauchen würde, hötte 
ich da vermutlich was gekauft.

>>Scheint also zwischen "kann man" und "mit wenig Aufwand" eine gewisse
>>Diskrepanz zu bestehen. :-)
> Ich bin verblüfft! Ich arbeite schon seit 15 Jahren mit FPGA's und weiss
> sehr gut, wie hoch der Zeitaufwand in der Entwicklung ist. Für einen
> Fortgeschrittenen kaum grösser als eine Schaltung aufgebaut mit
> diskreter Logik (und mehr wie den Fpga brauchst du nicht). Schick doch
> bitte mal die Links, die du "abgegrast" haben willst.

Fang doch hier im Forum an:
http://www.mikrocontroller.net/articles/Logic_Analyzer
Schau, was da geworden oder auch nicht gworden ist und wie da die Kosten 
sind.
Beitrag "[S] Leute die einen Logic Analyzer (MiniLA) bauen wollen"
überzeugt auch nur teilweise.

Ich bin durchaus auch der Meinung, daß es mit einem FPGA prinzipiell 
kein Problem ist. Ich habe mich selbst aber damit noch nicht befastt und 
werde es zur Zeit auch nicht machen.

Das nächste Problem dabei ist zwangsläufig die Software. Meine 
Vorstellungen müssen nicht die der Allgemeinheit sein, ich kann sie aber 
so verwirklichen. Es ist kein irgendwie professionelles Umfeld, ich will 
damit für meine Zwecke zurechtkommen.
Wenn es anderen auch gefällt oder nutzt, umso besser.

Ich zitiere hier noch aus Deinem ersten Posting:
>Das soll wohl ein Scherz sein? Mit einem €20,- Fpga kann man mit wenig
>Aufwand locker ein 50 kanaliges 500Ms/s Oszi nach diesem Prinzip bauen.
>Zusätzlich könnte man noch 4 unterschiedliche Spannungshübe definieren.
>Damit wären auch ADC's überflüssig.

Sollte ich den im Netz übersehen haben, würde mich ein Hinweis freuen.
Löte ich dann sicher zusammen, selbst, wenn ich da noch eine 
Leiterplatte fertigen lassen muß.

Gruß aus Berlin
Michael

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Sven Stefan schrieb:
> Neu hatte ich solche Chips leider nie. Irgendwann habe ich mal den Boden
> aufgeräumt und alles was älter Pentium3 war weggehauen. Na egal. Würden
> denn diese hier gehen http://www.conrad.de/goto.php?artikel=167193 ?

Sieht brauchbar aus, müßte ich mal das Datenblatt suchen.
Schreib mir mal eine Mail.
Eine Briefmarke finde ich sicher auch noch und schicke Dir dann mal 2-3 
Stück.

Gruß aus Berlin
Michael

Autor: Bishop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich zitiere hier noch aus Deinem ersten Posting:
>>Das soll wohl ein Scherz sein? Mit einem €20,- Fpga kann man mit wenig
>>Aufwand locker ein 50 kanaliges 500Ms/s Oszi nach diesem Prinzip bauen.
>>Zusätzlich könnte man noch 4 unterschiedliche Spannungshübe definieren.
>>Damit wären auch ADC's überflüssig.

>Sollte ich den im Netz übersehen haben, würde mich ein Hinweis freuen.
>Löte ich dann sicher zusammen, selbst, wenn ich da noch eine
Ich kenne den Preis für das (als Beispiel) MiniLa nicht aber geschätzte 
€100 für 10 Stück als Selbstlöter sind doch wohl sehr akzeptabel. Wenn 
du den verschmähst, dann kann ich mir kaum vorstellen, dass du €100 in 
eine 500 MS/s Version investiert hättest.

>Leiterplatte fertigen lassen muß.
Das teuerste ist imho die Platine und um die selbst zu ätzen oder 
anfertigen zu lassen wirst auch du nicht drumherum kommen. Eine 
aktzeptable Groundplane ist bei hohen Frequenzen (>20Mhz) unabdingbar. 
Sonst hast du ganz schnell mit Effekten zu tun (z.B. Doppelechos oder 
Zustandsverluste) die dich viel, sehr, sehr viel Analysezeit im 
Nachhinein kosten werden.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Bishop schrieb:
> Ich kenne den Preis für das (als Beispiel) MiniLa nicht aber geschätzte
> €100 für 10 Stück als Selbstlöter sind doch wohl sehr akzeptabel. Wenn
> du den verschmähst, dann kann ich mir kaum vorstellen, dass du €100 in
> eine 500 MS/s Version investiert hättest.

Die 100 Euro bei 10 Stück sind wohl beim MinLA auch der letzte Stand.
Das sind beim MiniLA 100MS/sm warum sollte ich also nicht für gleiches 
Geld 500MS/s nehmen, nur wo? ;-)

MiniLA kenne ich den letzten Stand /habe einfach nicht mehr alles 
gelesen.
Probleme mit USB, Rams schwer beschaffbar (sind alte Cache-Rams aber 
auch),
Stand der Software unklar, der ursprüngliche Programmierer hat wohl die 
Lust verloren, den Stand der anderen weiß ich jetzt nicht genau.

32 Kanäle und 128MB Samplespeicher sind sicher ok, brauche ich aber 
nicht zwingend.

Ist doch eigentlich auch garkein Problem.
Ich würde mir eher zutrauen, mit den nächsten TTL-ICs im interleaved 
Mode auf 2 Rams die 100MS/s auf Lochraster in Gang zu bekommen, als mich 
mit einem FPGA und fremden Sourcen rumzuplagen, wenn das Ding nicht 
macht, was es soll.

Einfach, weil ich es nicht wirklich brauche.
Nichtmal den selbstgebauten hier brauche ich wirklich.
Ist einfach ein reizvolles Projekt, für RGB-LED-Fading und 32 PWM-Kanäle 
fehlt mir wohl einfach ein Nerv. ;-))

Gruß aus Berlin
Michael

Autor: ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach phantastisch. Genau sowas brauche ich und 8 Kanäle sind denke 
ich mal ausreichend. Damit kann man die gebräuchlichsten Schnittstellen 
erfassen (i2c, SPI, RS232) und für ein LCD reichts auch noch.
Super. Mach weiter so.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. wrote:
>Ich würde mir eher zutrauen, mit den nächsten TTL-ICs im interleaved
>Mode auf 2 Rams die 100MS/s auf Lochraster in Gang zu bekommen,

Hast Du dir eigentlich schon mal meine digitale Eingangsstufe angesehen?
Die Idee einen Line-Receiver zu nehmen kam von Bernd G., aber der hat 
hier ja auch schon lange nichts mehr geschrieben...

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Salewski schrieb:
> Hast Du dir eigentlich schon mal meine digitale Eingangsstufe angesehen?
Wo findet man die?

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halloe.

Also ich finde die hier gezeigte Idee supi. Auch ich habe noch ein paar 
ungenutzte 486er's und ein paar Atmegas im Keller liegen und hier wird 
eine einfache Methode gezeigt sich einen durchaus für's Hobby geeigneten 
Analyzer daraus noch selbst zu bauen. Also vielen Dank, das Du deine 
Ideen mit uns teilst.

Was mich wohl interesieren würde, wäre ein passendes PCB- Layout. 
Möglichst eines das einseitig bleibt und sich damit leicht im 
Hobbykeller noch selbst ätzen lassen würde. Ob sowas hier wohl überhaupt 
noch machbar wäre, oder geht das wegen der hochen Frequenzen einfach 
nicht mehr ?

Ich würde für so ein Bastelprojekt ungern auf einen Platinenhersteller 
ausweichen müssen, weil der dann gleich richtig viel Geld von mir haben 
möchte. Einzelstücke machen zu lassen wird immer sehr teuer. Auch habe 
Ich noch nie mit der Fädeltechnik gearbeitet und glaube kaum, das ich 
den Drahtverhau so einfach hinbekommen würde.

Freundliche Grüße
Frank

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Stefan Salewski (Gast):
Gut möglich, wenn sie irgendwo im Netz liegt.
Line-Receiver war bei mir auf schon mal auf dem Plan, liegt auch noch 
einges rum, was in Frage käme.

@Frank (Gast):
Einfach gesagt: von mir wird es mit 99% Wahrscheinlichkeit kein Layout 
geben, ich werde aber bestimmt keinen dran hindern und, wenn möglich, 
auch gern helfen.

Ich habe die Teile mal im Eagle-Layout etwas rumgeschoben in Anlehnung 
meiner Anordnung. Ziemliche Probleme, die Leitungen zu sortieren...

Wirklich kritisch dürfte der Datenbus des Rams wegen möglicher Störungen 
sein, die Adressen könnten bestenfalls etwas problematisch sein, die 
Zeitreserve ist da recht hoch. Ich rechne alelrdings auch bei den Daten 
nicht mit wirklichen Problemen, der 541 treibt da ja recht kräftig und 
wenn ein Pegelwechsel auf einer Datenleitung wirklich später als auf 
einer anderen am Ram ankommt, dann ist das 1 Zyklus Ungenauigkeit, das 
ist ohnehin unter der nutzbaren Auflösung der ganzen Geschichte (der 
Jitter durch den asyncronen Takt gegenüber den Eingangssignalen ist ja 
prinzipiell auch da).

Man müßte jetzt erstmal den Kram entflechten, Daten und Adressen am Ram 
können ja beliebig angeschlossen werden, die Verteilung des Gatter bei 
der Triggerlogik kann in Grenzen auch umsortiert werden, prinzipiell 
sogar fast beliebig, wenn man notfalls im AVR eine LockUp-Table über die 
Bitzuordnungen von Maske und Wert ablegt. Der wird sowieso nie voll.

Ich werde das aber nicht machen, das kostet mich einfach zuviel Zeit.

Da müßte mindestens 1 Prototyp geätzt, bestückt und getestet werden, 
vielleicht auch mehr als einer, wenn es Probleme gibt...

Da habe ich einfach schneller sowas auf Lochraster verdrahtet. ;-)

Gruß aus Berlin
Michael

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für deine Antwort.

Die Idee, die Adress- und Datenleitungen bei bedarf umzulegen könnte 
wirklich helfen das geflecht zu entwirren. Daran hätte ich sicher beim 
Layouten nicht gedacht.

Ich werde mich da mal ran machen und versuchen eine Platine zu Layouten. 
Wenn ich das ganze ans laufen bekomme, meld ich mich mal. Das kann aber 
etwas dauern, habe im moment ne menge anderer Sachen noch erstmal zu 
erledigen. Ich hab hier ein paar 64KB Cache Chips rumfliegen, die werde 
ich mal versuchen mit in das PCB Layout zu intregieren.

Grüße
Frank

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Also beim Layouten kann ich ggf. auch mal helfen. Man müsste vielleicht 
zuerst abwarten, welche RAM Typen sich da durchsetzen. Andererseits war 
damals schon die JEDEC aktiv. Man konnte ja auch schon 8/16/32k große 
RAMs in ein und den selben Sockel stecken, musste halt immer Linksbündig 
sein. Hin und wieder kamen noch ein paar Jumper dazu.

Für das Layout ist es bei den Datenleitungen absolut egal, welcher Kanal 
auf welchem Bit liegt, das muss nur nachher in der Anzeige-Software 
wieder aufgedröselt werden. Aber, es ist auch egal, an welcher Adresse 
ein Byte liegt. So lange sich entweder die Adressvertauschungen durch 
simple Mechanismen wieder korrigieren lassen oder der AVR mit den 
gleichen vertauschten Adressen die Daten ausliest, ist das egal.

Gruß, Ulrich

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der AVR erzeugt zum Auslesen ja nur den Takt, die Adressfolge ist damit 
identisch.

Günstig wäre es, wenn die Zuordnung der Datenbits zwischen AVR, Eingang 
und der Triggerlogik übereinstimmend ist, der Ram selbst ist egal, weil 
ja da die Daten so ruaskommen, wie sie reinkamen.

Prinzipiell kann man auch die Bits beim Vergleicher usw. untereinander 
variieren. Da AVR ist si leer, daß man dort ohne Probleme jeweils eine 
256 Byte LockUp-Table für Triggerbyte und Triggermaske hinterlegen kann.

Bei den Daten am AVR könnte man es prinzipiell auch machen.
Die 3 Tabellen wären ein 3/4 kB des Flash, zur Zeit ist 1k Flash 
belegt...

Gruß aus Berlin
Michael

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe meine erste Version mal gering modifiziert:
jetzt mit Mega16 bestückt und 80MS/s stabil.

Änderungen liegen auf meiner Webseite:
http://www.avr.roehres-home.de/logikanalyzer/index.html

An dieser Variante wird sich außer kleinen Software-Korrekturen nichts 
mehr ändern.
Die PC-Software wird noch zusammengeführt, so daß automatisch erkannt 
wird, welche Version dransteckt.

Gruß aus Berlin
Michael

Autor: André Roth (andrer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
respeckt!

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man denn A12 vom RAM mit an einen µC Pin hängen? In der 
Windowssoftware könnte man dann zwei Seiten einbauen um z.Bsp. zwei 
getrennte Messungen miteinander zu vergleichen. Wäre das ohne größere 
Aufwände denkbar oder überschau ich da was noch nicht? Ansonsten müsste 
A12 doch sicher an GND, oder?

Gruß
Sven

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie ich sehe hast du 74ACT161 von fairchild genommen. Die gehen so 100 
bis 160 mhz, nimm die von ST, die gehen bis knapp 300 mhz, sollte helfen 
bei der 80mhz version.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Sven Stefan schrieb:
> Könnte man denn A12 vom RAM mit an einen µC Pin hängen? In der
> Windowssoftware könnte man dann zwei Seiten einbauen um z.Bsp. zwei
> getrennte Messungen miteinander zu vergleichen. Wäre das ohne größere
> Aufwände denkbar oder überschau ich da was noch nicht? Ansonsten müsste
> A12 doch sicher an GND, oder?

Könnte man machen. Werde ich nicht machen, weil kein Pin in der Mega16 
Version mehr frei und in der Mega48 Version sind sowieso 4 Zähler und 
damit max. 64k Ram nutzbar.
Eine solche Vergleichsfunktion könnte man aber in die Windows-Software 
einbauen, merk ich mir mal, der Gedanke gefällt mir.

GND oder Vcc ist egal, wird eben die andere Ramhälfte benutzt.

Thomas R schrieb:
> wie ich sehe hast du 74ACT161 von fairchild genommen. Die gehen so 100
> bis 160 mhz, nimm die von ST, die gehen bis knapp 300 mhz, sollte helfen
> bei der 80mhz version.

Danke für den Hinweis, werde ich mal vermerken für evtl. Nachbauer.
Ich vermute mal, daß ich an dieser Version erstmal nicht weiter an der 
Hardware ändern werde.

Es kann aber sein, daß ich die Mega48 Version auch mit 80MHz laufen 
lasse, wenn die das mitmacht.

Gruß aus Berlin
Michael

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das Limit dürfte nicht alleine bei den Zählern liegen. Bei 80MHz hat man 
12,5ns Zykluszeit, wenn der Takt schön symmetrisch aus dem Oszillator 
kommt sind das 6,25ns für das WE-Signal zum RAM. Laut Datenblatt 
brauchen die 12ns Cache-RAMs aber 8ns. Man braucht also ein gutes RAM 
oder einen Oszillator mit passendem (leicht unsymmetrischen) 
Tastverhältnis.

Durch die unterschiedlichen Versionen ist das ganze ein schön flexibel 
nachbaubares Projekt:
- kleiner ATMega mit Schieberegistern
- großer ATMega
- 16 und 20MHz CPU-Takt
- 4 bis 16k RAM

Da sollte die Software ebenso flexibel sein ;-)
Es wäre doch schade, wenn man auf einer alten Version bleiben muss, weil 
man die V2 mit 20MHz CPU gebaut hat und die neueste Software eben die 
Zeiten für die 16MHz CPU drin hat.

Falls ich mal eine Art Wunschliste schreiben darf:
- Einstellung der Taktfrequenzen/Zykluszeiten in einer 
ini-Datei/Registry
Das erlaubt den Einsatz verschieden getakteter CPUs und auch 
verschiedener Quarze. Wenn jemand nur bis 50MHz gehen will, weil nur ein 
langsames Cache-RAM rumliegt und ihm das ausreicht - kein Problem.
- Einstellung der seriellen Schnittstelle incl. Baudrate statt fester 
Einstellung auf 500000. Es gibt doch diese netten USB-Implementationen 
in einem AVR, die hab ich bisher nur mit max. 384000 gefunden. Da könnte 
man einen Tiny2313 mit auf die Platine setzen und bekommt so die 
USB-Schnittstelle auch aus der Restekiste.
- Einstellung der verwendeten RAM-Größe

Ansonsten: weiter so!

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Harri schrieb:
> das Limit dürfte nicht alleine bei den Zählern liegen. Bei 80MHz hat man
> 12,5ns Zykluszeit, wenn der Takt schön symmetrisch aus dem Oszillator
> kommt sind das 6,25ns für das WE-Signal zum RAM. Laut Datenblatt
> brauchen die 12ns Cache-RAMs aber 8ns. Man braucht also ein gutes RAM
> oder einen Oszillator mit passendem (leicht unsymmetrischen)
> Tastverhältnis.
Alles richtig, die beiden 8Kx8, die ich gerade zur Hand hatte, sind -12 
und -15. Interessanterweise spielen beide bei den 80MHz ohne Probleme,
Aussetzer oder falsche Bits wären gerade bei den Samples mit den 
Zählerausgängen an unsymmetrischen Signalen gut zu sehen.

> Durch die unterschiedlichen Versionen ist das ganze ein schön flexibel
> nachbaubares Projekt:
> - kleiner ATMega mit Schieberegistern
> - großer ATMega
> - 16 und 20MHz CPU-Takt
> - 4 bis 16k RAM
4-32k Ram, eigentlich bis 64k, übliche Cache-Rams waren aber ohnehin 
meist 8kx8 oder 8kx32.
>
> Da sollte die Software ebenso flexibel sein ;-)
Soll sie. Es wird auf PC-Seite nur eine Version geben, zum Test war es 
nur einfacher, eine Kopie unter eigenem Namen zu benutzen.
> Es wäre doch schade, wenn man auf einer alten Version bleiben muss, weil
> man die V2 mit 20MHz CPU gebaut hat und die neueste Software eben die
> Zeiten für die 16MHz CPU drin hat.
Der Hardwaretyp wird ohnehin beim Softreset der Hardware abgefragt, auch 
Ramgröße, Firmware-Version und Hardware-Version werden mitgeteilt.
Muß die Abfragen nur noch in die eigentlich Version einbauen und die 
internen Tabellen anpassen.

>
> Falls ich mal eine Art Wunschliste schreiben darf:
> - Einstellung der Taktfrequenzen/Zykluszeiten in einer
> ini-Datei/Registry
Gibt es, alle Systemparameter werden abgelegt, bis jetzt eben nur die 
Com... ;-)

> Das erlaubt den Einsatz verschieden getakteter CPUs und auch
> verschiedener Quarze. Wenn jemand nur bis 50MHz gehen will, weil nur ein
> langsames Cache-RAM rumliegt und ihm das ausreicht - kein Problem.
So soll es sein.

> - Einstellung der seriellen Schnittstelle incl. Baudrate statt fester
> Einstellung auf 500000. Es gibt doch diese netten USB-Implementationen
> in einem AVR, die hab ich bisher nur mit max. 384000 gefunden. Da könnte
> man einen Tiny2313 mit auf die Platine setzen und bekommt so die
> USB-Schnittstelle auch aus der Restekiste.
Baudrate kommt noch, ich werde später mit 38400 initialisieren und dann 
zwischen AVR und PC-Software klären, wie schnell es gehen kann.
Bleibt natürlich das Risiko, daß man den Kram vom USB trennen muß (bzw. 
AVR zurücksetzen), wenn man die beiden verheddert hat. ;)
Auto-Baud im AVR wäre kein Problem, Platz ist genug, keine Lust dazu im 
Moment. ;)

> - Einstellung der verwendeten RAM-Größe
Wird wie gesagt von der Hardware mitgeteilt.

Beim AVR wird es auch nur eine Software-Source geben, Unterschiede sind 
nut per defines bei assemblieren festzulegen.
Geplant: Ram-Größe, Init seriell, Shift-Register oder nicht usw.

Das mache ich so nach und nach.
Da beide HW-Versionen so erstmal laufen, kann ja einer , der Lust zum 
Löten hat, entsprechend seinen Beständen schon anfangen. :)

> Ansonsten: weiter so!
Danke!

Gruß aus Berlin
Michael

Autor: [Frank] (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael U.

wäre es nicht sinnvoll, anstatt des 541 Buffers ein Latch zu benutzen 
(flanken- oder pegelgetriggert), dann wären die Daten für die gesamte 
Sampleperiode zum Ram als auch zur Triggerlogik stabil ?

Gruss

Frank

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

möglich, müßte man aber das komplette Timing das Drahtverhaus in diesem 
Bereich erstmal genau analysieren oder einfach ein passendes suchen und 
raufstecken und das Signal passend vom /WE abgreifen oder so.

Ganz praktisch sehe ich es nicht als wirkliches Problem an.
Es tritt bisher ja nur im Grenzbereich auf, wo die Auflösung und der 
Jitter eine sinnvolle Auswertung schon fragwürdig sein lassen.

Ich werde mich dafür vermutlich erst interessieren, wenn es mir im 
praktischen Betrieb mal auf die Nerven gehen sollte. ;-)

Es fällt auch sofort auf, es werden ja keine falschen Signale angezeigt, 
nur die Triggerbedingung ist an der Markierung nicht erfüllt.
Ich könnte das auch einfach in der PC-Software abfangen, und einen 
Fehler melden.

Gruß aus Berlin
Michael

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

> wäre es nicht sinnvoll, anstatt des 541 Buffers ein Latch zu benutzen
> (flanken- oder pegelgetriggert), dann wären die Daten für die gesamte
> Sampleperiode zum Ram als auch zur Triggerlogik stabil ?

Ich löte schon an der Version 2 rum und hab dort ein 74ac574 Latch an 
Stelle des 74ac541 eingeplant.

Die Durchlaufzeit des Latch liegt mit 5-8,5ns nur geringfügig über der 
des Buffers. Es latcht mit der steigenden Flanke vom RAM_WE. Diese 
Lösung müsste eigentlich bis knapp über 50MHz mitmachen. Für 80Mhz wären 
die 8,5ns im Worst Case schon zu lang, dann sind die Daten nicht am RAM 
wenn der WE-Puls kommt.

Im Gegensatz dazu ist das Timing bei einem reinem Buffer absolut 
unkritisch, es werden ja einfach alle Signale gleich verzögert.
Vermutlich sollte ich meinen Plan nochmal überdenken...

So ein Cache RAM latcht laut Datenblatt ja auch: steigende Flanke WE, 
mit 9ns setup-Time und 0ns hold-Time. Das Latch würde nur diese 
Zeitspanne auf 2-3ns verkürzen.

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

fein, daß Du schon lötest. :-)

Das ist ja ds schöne an den Cache-Rams. Sonst würde das wohl garnicht so 
klappen.

Falls Du das Latch drauf lötest denke dran, daß Du es irgendwie in 
TriState bekommen mußt, wenn der AVR-Reset auf L ist.
Sonst kannst Du den nicht in der Schaltung programmieren, MISO und SCk 
hängen an D0/D1. Die könnte man allerdings inzwischen mit PB2/PB3 
tauschen, nach dem letzten aufräumen in der AVR-Software wäre es ja nur 
statt des swap 2x lsr.

Mache ich vielleicht sogar, dann kann Ram /CS fest auf L und /OE des 
Eingangsbuffers bekommt wieder einen PullUp.
Was der Ram beim Programmieren macht ist egal, der AVR und der Buffer 
sind dann im TriState.

Gruß aus Berlin
Michael

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

als ich das eben getippt habe fiel meine Entscheidung gegen das Latch 
:-)

Die Tristate-Sache hatte ich beachtet. Nur deswegen musste ich neben 
einem CPLD für die ganze Logik noch zwei TTLs ('00 und '32) einplanen. 
Mir hatten am vorhandenen Lattice M4A5 ein paar Pins dazu gefehlt.

Wird PB3 (MOSI) nicht auch zum flashen benötigt? Wenn das durch einen 
einfachen Pin-Tausch so funzt wie du schreibt, dann entfallen beide oben 
erwähnten TTL-Käfer. Das wäre echt super.

Kannst du für die beiden Datenbits nicht auch PB0/PB1 oder PC0/PC1 
nehmen? Dann muss gar nichts geshiftet werden, einfach die gelesenen 
Portbits zusammenführen. Wo die Schieberegister dran kommen düfte doch 
ziemlich Wurscht sein, oder?

Meine Lötfortschritte wären noch weit genug am Anfang für eine derartige 
Änderung, hab erstmal nur die Chips platziert und die 
Versorgungsspannungen dran geführt.

mfg
Harri

Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

PB1 wird für den Taktausgang des Timers gebraucht, da bringt Umsortieren 
eigentlich auch nicht viel. Am einfachsten ist ein Tausch mit PC0/PC1 
aus.

Hab das hier mal scshnell reingezeichnet.

Gruß aus berlin
Michael

Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die 2. Hälfte...

Das Gatter IC9A könnte auch noch ersatzlos raus, müßte ich nur das 
IN_SELECT immer passend setzen, wäre auch kein Problem.

Kannst ja mal rüberschauen...

Gruß aus Berlin
Michael

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit,

sieht prima aus. Wenn der AVR sicherstellt, dass nie RAM_Read und 
IN_Select gleichzeitig aktiv sind, dann kann IC9A durchaus entfallen.

Bei flashen bzw. wenn Reset low ist schaltet der AVR alle Ausgänge auf 
Tristate, richtig? Dann müsste ich nur ein paar Pullups an die 
Ouput-Enables verteilen und kann einen weiteren TTL-Käfer rauswerfen. 
Der oben erwähnte '00 hätte dann nämlich nur noch diese Aufgabe.

Gleichzeitig wird es durch entfernen von IC9A nachbaufreundlicher, man 
kann auch Input-Buffer mit nur einem Enable aus der Grabbelkiste nutzen.
Ich hab noch einen ganzen Stapel '245er rumliegen :-)

mfg
Harri

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

Bewertung
0 lesenswert
nicht lesenswert
Harri schrieb:
> Bei flashen bzw. wenn Reset low ist schaltet der AVR alle Ausgänge auf
> Tristate, richtig? Dann müsste ich nur ein paar Pullups an die
So behauptet es zumindest das Datenblatt ;)

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ok. Ich ändere das mal heute Abend auf meinem Board und passe die 
Software an.
Ansonsten auch richtig, PullUps wo nötig und ok.
Genaugenommen auch nur dort, wo es stören könnte weil ein Ausgang gegen 
einen anderen kämpfen könnte.
Ansonsten kann ja die Logik eigentlich machen, was sie will, wenn 
programmiert wird.

Ist zwar etwas unfair gegen die ICs mit dann offenen Eingängen, aber was 
sind sie auch Logikgatter geworden.... ;-)

@ Läubi .. (laeubi): meine AVr scheinen bisher auch ihr Datenblatt 
gelesen zu haben. ;-)))

Gruß aus Berlin
Michael

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den Logiktester jetzt verdrahtet und durchgetestet.

<< Vielen Dank nocheinmal an Michael U. (amiga) für dieses geniale und 
gleichzeitig einfach aufzubauende Konzept >>

Der FTDI wird vom System erkannt - in der Software kommt aber nur 
"Hardware nicht erkannt". Liegt das an den Fuses? Speziell der
Resetfuse. Muss ich diese verändern -.
weil ja RAM_CS auch darauf läuft?

Dass der Mega8 sich wegen der geteilten ISP nur extern programmieren 
läßt, wurde ja heute schon angesprochen und behoben.

Hat sonst schon jemand den Logiktester am Laufen?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hardware nicht erkannt sagt erstmal nur, daß die gewünschte COM geöffnet 
werden konnte, vom AVR aber keine (sinnvolle) Antwort kam.

Fuses auf externen Crystal, Rest bleibt unverändert, ich schau nachher 
nochmal genau rein und schreib sie dazu.

Der AVR sollte sich in jedem Fall in der Scahltung von der Webseite auf 
dem Board programmieren lassen. Der Ram wird per Resetsignal des AVR 
beim Programmieren über IC9C TriState gesetzt, der Eingangsbuffer über 
IC9A/G2.

Hast Du einen Mega48 oder Mega88 drauf? Das .hex ist vom Mega88, hatte 
keinen Mega48 zur Hand.

Ich mache sonst nachher mal ein paar Debug-Ausgaben in die PC-Software 
rein.

Die Meldung kann beides heißen: es kam garkeine Antwort oder es kam 
Unsinn (falsche Daten, falsche Baudrate).

Fällt mir gerade nochwas ein: wenn Du die COM im Systemmenü auf Deine 
geändert hast, da speichern, PC-Programm beenden und wieder aufmachen.
Da ist in der Fehlerbehandlng nochwas unklar.

Gruß aus Berlin
Michael

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aha! Ich habe ein mega8 drauf- also muss ich mal meinen 
assembler-compiler anschmeissen.
Gibt es eine Möglichkeit die VB-Sources auf Linux laufen zu lassen bzw. 
machst Du diese öffentlich? Würde versuchen sie unter Mono laufen zu 
lassen.
Mein Windows will ich eigentlich gar nicht mehr anschmeissen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Mega8 läuft offizell nicht mit 20MHz und außerdem sind die Timer und 
UART-Register beim Mega8 im normalen I/O-Bereich, also mit in und out 
statt lsd/sts anzusprechen.

Schnellst Version:
mega8 statt mega88 in Lola.asm eintragen und Build.
Namen der USART-Register anpassen und gleich die sts/lds-Zugriffe in 
in/out ändern.
Dann in der m8def.inc vorübergehend alle Timer1-Registernamen 
auskommentieren
(die stimmen wohl mit dem Mega88 überein) und Build.
Alle Fehlerstellen wieder lds/sts durch in/out ersetzen.
Kommentare der Namen wieder raus und Build sollte durchlaufen.

Zum Testen könnte man ihn mit 16MHz (8MHz gehen zur Not auch) takten 
(F_CPU in definition,inc anpassen).

Dann sollte er sich zumindest melden.
Die Timings und die Darstellung stimmt dann aber nicht.

Einfacher ist es vermutlich, einen Mega48 oder Mega88 zu nehmen...

Die VB-Sourcen rücke ich erst raus, wenn halbwegs Ordnung drin ist...
Das kann noch ein paar Tage dauern.
Das Protokoll ist simple:
dem AVR der Reihe nach
Mode (in den Tabellen der AVR-Source ist die Bedeutung gut zu erkennen)
Triggerbyte (zu ignorierende Bits auf H)
Triggermaske ((zu ignorierende Bits auf H)
Timerintervall (0...14, Belegung siehe AVR-Source Tabelle)
Pre-Trigger (1...8, 8 Trigger sofort, 1 87,5&, 7 12,5%)

Dann startet die Suche nach dem Triggerbyte.
Wenn die Daten komplett sind, schickt der AVR kommentarlos den 
kompletten Raminhalt.

Jedes beliebige Zeichen, daß während der Warte-/Samplephase zum AVR 
heschickt wird, bricht den Vorgang ab, der AVR schickt trotzdem den 
Raminhalt.

Man kann also sicher auch eine andere Software basteln oder nutzen.

Gruß aus berlin
Michael

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Frage in die Runde: wer lötet oder routet denn schon alles an der 
Mega48/88-Version?
Wäre es ein Problem, die Änderungen, die sich ab Posting von
07.07.2009 12:19 ergeben haben, einzubauen und die bisherige Version von 
meiner Webseite zu nehmen?

Es betrifft wie angegeben den Tausch von D0/D1 gegen 
SHIFT_CLOCK/SHIFT_DATA,
dem damit zusammenhängenden Wegfall von IC9A und IC9C sowie der Leitung 
zum AVR-Reset.
G1 vom 74AC541 kann dann entweder an G2 oder fest an Vcc.
G1 bekommt noch einen PullUp (10k).
CS vom Ram geht fast an GND.
/OE vom Ram braucht dann auch noch einen 10k PullUp.

Ich teste die Änderungen mal an meinem Muster und kontrolliere, ob die 
AVR-Firmware da passt. Eigentlich müßte da auch jetzt schon der 74AC541 
nur freigegeben werden, wenn gesampelt werden soll.

Es ist auch günstiger (wie bei der 80MHz-Version) ENP der 74ACT161 fest 
auf Vcc stann an ENT zu legen, falls man auch hier sein Glück mit 80MHz 
versuchen will.

Zu den Zählern gab es noch einen Hinweis von Thomas R. (tinman):
wenn möglich 74ACT161 von ST zu benutzen, sollen merklich schneller als 
die Fairchild sein.

Gruß aus Berlin
Michael

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Harri
> Die Tristate-Sache hatte ich beachtet. Nur deswegen musste ich neben
> einem CPLD für die ganze Logik noch zwei TTLs ('00 und '32) einplanen.
> Mir hatten am vorhandenen Lattice M4A5 ein paar Pins dazu gefehlt.

Du hast mit nem CPLD angefangen ?? Das habe ich auch vor.
Bzw. ich habe schon angefangen. siehe Tread im FPGA Forum....
Beitrag "wie groß muß das CPLD ungefähr sein ?"
Bin allerdings noch nicht wesentlich weiter. Nach groben Schätzungen 
sollte ein 9574 ausreichen.(Xillinx). Allerdings hatte ich in meiner 
Idee schon einen Oszillator mit X Mhz drin. (80 angepeilt) mit 
unterschiedlichen Abstufungen. Jetzt hat Micha das auch schon drin. Ein 
Design mit Abel gibt es ja schon. Ist jetzt aber schon wieder 
"veraltet". Vielleicht können wir zusammen etwas tun...(habe momentan 
wenig "Freizeit" )

Gruß

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Micha,

ich versuche mich ja noch immer am CPLD.  Aber ich denke die meißten 
machen einen "Single Shot", ähnlich wie Du. Nur ist Deiner flexibel 
(Lochraster).
Ich denke alles was das Design besser macht ist erlaubt.
Ist doch Dein Projekt. Ergo Deine Entscheidung....
Die Cache RAMS gabs aber auch mit 8ns. Ich habe noch welche. 256 KBit
486er...Kleinstmengen !!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe die Flexibilität meines Lochrasters mal genutzt und die oben 
erwähnten Änderungen eingebaut.
Läuft ohne Probleme.
Pläne und Software lege ich morgen auf die Homepage.
2 der freien Gatter werden wohl bei mir als Takttreiber herhalten und 
die beiden gegenphasigen Takte nach außen legen.
Für evtl. Erweiterungen zum Anstecken.
Flash-Wandler z.B. ;-)
Ich habe ja auch noch einen 14-pin-Sockel frei drauf für den externen 
Triggereingang.
Außerdem sind noch 2 AVR-Pins frei...

Wenn uns nicht noch kurzfristig geniale Verbesserungen einfallen, bleibt 
der Zustand auch dieser Hardware damit erstmal als endgültig und ich 
mache die Software weiter.

Stephan Henning (stephan-): ich habe Tread im FPGA Forum mal überflogen.
Hmmmm, ich halte mich da mal vornehm zurück..... ;-)))

Gruß aus Berlin
Michael

Autor: Harald S. (harri)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Stephan Henning schrieb:
> Du hast mit nem CPLD angefangen ?? Das habe ich auch vor.

Ja, ich hab mal meine Planungen angehängt.

Den CPLD fülle ich per Abel Quellcode, damit (sowie mit Lattice-PLDs) 
hatte ich vor langer Zeit schonmal was gemacht. Ob das so wie im Anhang 
dargestellt überhaupt funzt kann ich allerdings noch nicht sagen ;-)
Vermutlich gibt es auch viel elegantere Lösungen.

Das Bild zeigt meine Platine, bisher sind nur die Versorgungsspannungen 
gelegt und nachgemessen. Der Rest fehlt noch.
Kurze Beschrebung wegen unscharf:
Links oben 80MHz Oszillator und ein Teiler mit 74F74 Flipflop, ich gehe 
dann mit schön symmetrischen 40MHz zum CPLD. Darunter ein 74F245 
Input-Puffer, kein Latch mehr. Mitte oben CPLD Lattice M4A5-64/32, dann 
das RAM 32k mit 15ns, unten ein ATMega 8/16.
Die beiden Sockel rechts bleiben nach der heutigen Änderung frei, die 
löte ich wieder runter. Rechts ist derzeit noch ein 16MHz Oszillator für 
den AVR-Clock. Der wird später auch im CPLD von den 80MHz abgeleitet, 
das Pin dazu ist reserviert (und gleichzeitig das letzte freie ;-)
Externen Takt sehe ich vor, externen Trigger nicht - war mal drin als 
die beiden TTL-Chips rechts noch benötigt wurden.
Schaltplan ist im Anhang.
Die 40Mhz Maximaltakt hatte ich gewählt weil der 80er Oszillator 
rumliegt (hoffentlich funzt er auch) und ich nur Cache-RAMS mit 15ns 
habe. Ob 50 oder 66 auch funktionieren kann ich dann ja mal mittels 
externem Takt probieren.

Wo gab es denn das PLD-Design in Abel?

@Micha: schön, dass du heute auch gleich die Änderungen für den ATMega8 
beschrieben hast. In diese Falle wäre ich nämlich am nächsten Wochenende 
reingetappt :-)

mfg
Harri

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Harri,
Berichtigung von mir. Das eine Design wurde mit Quartus gemacht.
siehe FPGA Abteilung.

Autor: Michael K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>MiniLA kenne ich den letzten Stand /habe einfach nicht mehr alles
>gelesen.

>Probleme mit USB,
Nicht mehr. Das lag am Multiplexer.

>Rams schwer beschaffbar (sind alte Cache-Rams aber auch),
Leider nach wie vor problematisch.

>Stand der Software unklar, der ursprüngliche Programmierer hat wohl die
>Lust verloren,
Es tut sich nicht mehr viel, das ist richtig. Sie funktioniert aber ganz 
gut, so dass man auf jeden Fall damit arbeiten kann.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Michael K.:
Danke für die Info.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erst mal finde ich dein Project super, habe schon vor einem halben Jahr 
mal nach LA Schaltungen auf AVR Basis gesucht, welche alle nicht der 
Brüller waren.
Als ich gestern hier in Forum über dein Project gestolpert bin habe ich 
mich direkt verliebt...

Hier nun meine Frage: ich habe noch ein paar alte 2,3,486 Boards im 
Keller rumfliegen... Du verwendest die Chips von den RAM-Riegeln? Wenn 
ja woran erkenne ich ob die Teile die passenden Timings haben?

Gruß
Patrick

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nö, die Cache IC´s. Nich die IC´s von den Dimm Modulen.
Gesucht sind die einzelnen "langen" IC´s.
zB. W24257. Aber Vorsicht, auf 2 und 386érn sind die "normalen" DRAM 
auch manchmal noch einzelne IC´s ! Aber die sind kürzer.
Die "richtigen" haben 28 Pins bei 7,25 mm Abstand zwischen den Pinreihen 
!!

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt immer noch schnelle SRAMs, guck mal bei CSD, der hat welche mit 
12ns.

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stephan

Danke, werde gleich mal im Keller suchen gehen...

@Michael U.

Habe deine LAs mal im Wiki eingepflegt und würde dich bitten mal auf 
Korrektheit drüber zu schauen oder zu löschen wenn's dir nicht passt

http://www.mikrocontroller.net/articles/Logic_Analyzer

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für die Blumen. :-)

Nein, nicht die von den Ram-Riegeln.
Externer Cache in passender Version war auf den letzten 486er 
(486DX2..DX4) und den AMD K5/K6 usw. drauf.
Sind DIL28 üblicherweise zu 8 Stück + 1x TAG-Ram der nicht immer 
bestückt war. Ist eben auch bei mir schon ziemlich lange her mit diesen 
Boards...

Bezeichnungen enden oft mit xx64-yy oder xx65-yy oder xx256-yy und 
xx257-yy

xx Hersteller eigene Bezeichnung, 64/65 sind 8kx8, 256/257 32kx8.
Hinter dem Strich dann die Zugriffszeit. Üblich -12/-15/-20/-25.
Sind jeweils Nanosekunden. 25ns ist vermutlich zu langsam bei 50MHz, für 
die 80Mhz sollten es 12ns sein, 15ns läuft hier aber auch noch.

Ich sortiere demnächt mal meine Vorräte, ein Bekannter hat auch noch was 
aufgehoben. Falls dann jemand keine findet, läßt sich da auch was 
machen.

Irgendwo oben hatte jemand einen Link zum großen C gepostet, die sollten 
gehen. Allerdings stört mich da, dsß laut Typenbezeichnung -20 gelich 
-12 sein sollen und in den Daten an der Seite dann 15ns steht.....

Gruß aus Berlin
Michael

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei CSD-electronics gibt es das IS61C256AL-12JLI für 2.15 EUR.

Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann ich auch sram wie 62256 nehmen? ( z.b. K6R1008C1D-JC10 ist 128Kx8 
10ns ) oder muss es asynchrones cache sram sein ?

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grundsätzlich würde der 62256 "funktionieren".... ABER
Der ist viiiiiiel zu lahm. 70 ns oder langsamer.
Außerdem hat der 15 mm Pinreihenabstand.

> K6R1008C1D-JC10

Ich denke der sollte gehen.

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Mercateo gibt es auch noch 32kx8 12ns von Lyontek 
http://www.mercateo.com/p/live~s.0*115-648331/LY61...

Die sollten doch auch gehen, oder?

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab jetzt auf ner alten Soundblaster nen KM416C256BJ-7 gefunden
Laut Datasheetsuche: KM416C256D=256K x 16Bit CMOS Dynamic RAM with Fast 
Page Mode
Würde der gehen?
Alternativ habe ich 8Stk Alliance AS7C256-20PC gefunden?!

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick

Patrick Weggler schrieb:
> Alternativ habe ich 8Stk Alliance AS7C256-20PC gefunden?!

Die würden gehen, vermutlich bis 40Mhz, mit Glück bis 50MHz

Kleiner Tip: unbekannte Bauteile bei www.alldatasheet.com eingeben
Dort finde ich meistens ein Datenblatt oder einen Hinweis auf das Teil. 
Für diesen LA wird "High Performance SRAM" benötigt. DRAM oder normales 
SRAM mit 70ns ist ungeeignet.

mfg
Harri

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die speicher geschwindigkeit beschreibung ist etwas 'unglücklich'.

Bei normallen srams ist die bezeichnung -10, -12, -15 , -20 eher ein 
100, 120, 150 oder sogar 200ns - vor allem beim älteren modellen.

Bei "cache" sram jedoch bedeutet -12 genau 12ns.

Ich habe hier aber auch "normalles" srams die mit 10ns gehen, also immer 
datenblatt suchen und gucken was da drin steht.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so, ich habe jetzt mal meine Kiste mit Rams durchgekramt.
Dabei ergab sich noch eine Erkenntnis:
Kritisch ist das Timing der Adresszähler im Zusammenhang mit der 
Betriebsspannung. An meinem alten Thinkpad mit passiven USB-Hub 
dazwischen gibt es Aussetzer bei 80MHz. Es zählen manchmal nicht alle 
ACT161 mit.
Am USB des großen Rechners gibt es das Problem nicht, Betriebsspannung 
vom USB ist da auch nahe 4,8V, am Laptop nur rund 4,6V.
Ich werde mir wohl doch mal ACT161 von ST besorgen und testen.

Grundsätzlich: 12ns bei 80MHz sind mehr oder weniger Pflicht, 15ns geht 
wohl nur Exemplarabhängig, 20ns geht mit 50MHZ, 25ns mit 40MHz.

Das Verhältnis zu den Zyklszeiten der Rams passt also sehr genau und 
quer durch alle Hersteller, die ich hier habe.

Bei anderen statischen Rams wird wohl nur ein Versuch entscheiden, das 
Zyklus-Timing der Cache-Rams ist anders als das üblicher statischer 
Rams.

Ich habe bei der 80MHz-Version noch so umgelötet, daß beide Versionen 
sich nur noch im Prozessor und den 74LS164 und dem Takt unterscheiden.

Es spricht nichts dagegen, die Version mit dem 40-Pin AVR mit 50 und 
20MHz Oszillatoren ohne den 74ACT74 zu bestücken oder umgekehrt.

Wenn man 80MHz und Teiler draufhat und der Ram oder der Aufbau ungünstig 
ist un nicht mit 80MHz will, kann man das eben einfach ignorieren und 
hat max. 40MHz oder man ersetzt den Takt durcuh die andere Version und 
hat max. 50MHz.

Die AVR-Quellen führe ich als nächtes zusammen, die jeweilige Version 
ist dann leicht einzustellen und neu zu assemblieren, von den Versionen, 
die ich hier selbst zumindest getestet habe, lege auch die Hex-Files ins 
Archiv.

Ich kann auch noch ein paar Rams, allerdings im Moment nur 20ns, 
abgeben, falls jemand nichts auftreibt.
Ob ich noch schnellere bekomme entscheidet sich erst am Wochenende.

Schaltpläne kommen noch heute auf die Webseite, AVR-Files vermutlich 
morgen.

PC-Programm ist noch getrennt und nur für meine beiden Versionen, das 
wird aber auch noch zusammengeklebt. ;-)

Gruß aus Berlin
Michael

Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

lustiger Nebeneffekt: Samplerate 80MHz, Signale von einem mit einem 
anderen 80MHz Quarzoszillator mit einem 74HCT4040 runtergeteilt.

Kanal 0 ist der 40MHz Takt, links sieht man die Interferenz zwischen 
Sampletakt und Daten, wenn sie fast phasengleich sind.

Die Durchgänge erfolgen etwa alle 15s, wer Lust hat, kann jetzt die 
relative Frequenzdifferenz zwischen den beiden Oszillatoren ausrechnen. 
;-)

Die Unregelmäßigkeiten in Kanal 3 und 5 sind nur Skalierungsfehler, dort 
sind die Signale vollig ok, ich habe aber extra nicht gezoomt.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab jetzt mal bei Farnell 2 Gefunden (leider TSOP-2)
http://de.farnell.com/gsi-technology/gs71108agp-12...

http://de.farnell.com/gsi-technology/gs71108agp-10...

Der 2te wäre sogar 10ns Version

Gruß
Patrick

Autor: [Frank] (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wer ein Ram im SDIP sucht, kann auch den CY7C199C-15 (32kx8) nehmen, den 
U. Radig http://www.ulrichradig.de/ in seinem AVR-DSO eingesetzt hat. 
(Kostet in seinem Shop ~5€)

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls wer den oben genannten RAM benötigt. Ich habe noch 5 unbenutzte 
Exemplare. 3.3€ + Versand. Bei Interesse: PM

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halloe.

Bei der 2. Schaltung von Dir ist mir noch eine Ungereimtheit im 2. 
Schemabild aufgefallen. Dort wird die Adressleitung A14 zusammen mit OE 
am SRAM über das Signal "RAM_READ" gesteuert. Das würde je bedeuten, das 
man beim wechsel von Schreiben auf Lesen auf die jeweils andere Hälfte 
des Rams umschalten würde. Ich denke mal, du wolltest die Addressleitung 
nicht an RAM_READ anschließen, sonden auf einen definierten Pegel 
(GND/VCC?) bringen ?

Grüße
Frank

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für den Hinweis, da legen doch falsche Pläne oben......
Der fehler ist reingekommen, weil cih z.Z. ja noch mit 16k arbeite, zum 
Wochenende werde ich aber die PC-Software da auch angepasst haben, dann 
gehen auch die vollen 32k und der jetzige Plan stimmt dann auch.

PS: warum muß ich bei Firefox erst den cache löschen, damit er mir den 
richtigen Inhalt der Seite anzeigt???

Ein erzwungener Reload sollte doch eigentlich reichen?

Gruß aus Berlin
Michael

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

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal alle Hardware versucht in ein CPLD Design zu stopfen:
Beitrag "Re: wie groß muß das CPLD ungefähr sein ?"

Dabei habe ich mir allerdings eine Frage gestellt:
Wie syncronisierst du das ganze?
Die Zähler werden ja nirgends zurückgesezt, und ne Art Feedback 
'TimerOverflow' oder so konnte ich auch nirgends entdecken. Machst du 
das in SW?

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich mich auch schon gefragt. Irgendwie muss das ganze doch 
zumindest auf einen gemeinsamen Start synchronisiert werden?

Sven

Autor: Stephan Henning (stephan-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich nehme an das die Zähler sich alleine nullen beim Einschalten, 
und dann läuft alles genau 1 Mal durch und steht dann bei 0.
Mal sehen was Micha dazu sagt..

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

Bewertung
0 lesenswert
nicht lesenswert
Naja das Problem ist bei 80Mhz "Haupttakt" muß der AVR auch rechtzeitig 
wieder stoppen um nicht die ersten Ergebnisse wieder zu überschreiben...
Ansonsten ist der StartWert des zählers (relativ) egal.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

genau, der Startwert ist eagl und auch nicht bekannt.
Takt freigeben und sampeln bis in alle Ewigkeit als Ringbuffer.
Der AVR weiß, wieviel % als Pretrigger gewünscht sind und damit, wieviel 
Ram vor dem Triggerpunkt und wieviel dahinter liegen sollen.

Im AVR wird dieser Anteil als Teil der Speichergröße und abhängig vom 
Sampletakt und der konstanten Laufzeit der Warteschleife im AVR in ein 
Register geladen.
Dann wird nur abgefragt, ob der Trigger aktiv wurde.
Ab da wartet der Atmel in besagter Schleife die nötige Taktanzahl ab, 
bis das relative Ende im Ram erreicht sein müßte und stoppt den 
Sampletakt.

Bei Raten, die langsamer als die Laufzeit im AVR sind, zeigt der Zähler 
dann auf den relativen Ramanfang.

Der Raminhalt wird ab da in voller Länge zum PC gschickt, der weiß ja 
auch, wo er den Triggermarker hinmalen muß.

Problematisch sind alle schnelleren Sampleraten. Hier ist eine 
Ungenauigkeit in Länge eines Schleifendurchlaufs * Samplerate/AVR-Takt 
drin.

Die PC-Software sucht jetzt einfach im Bereich -xxx bis +xxx so die 
Triggerbedingung genau aufgetreten ist und setzt da den Marker.

Bei vollem Bereich wird wird etwas anders verfahren, damit er nicht in 
eine mögliche Überlappung mit dem Ende reingerät.

Es werden deshalb auch nur 4000 bzw. 16000 Sample dargestellt, der Rest 
zu 4096 bzw. 16384 ist meine stille Reserve für solche Fälle.

Die grundsätzliche Idee dazu stammt aus den LoLa-Sourcen, allerdings 
hatte er das Problem nicht, weil er die Triggerbedingung per Software 
auswertete und die Steuerung komplett der AVR machte (nur recht geringe 
Sampleraten).

Gruß aus Berlin
Michael

Autor: B.Urner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael U.:

weil du mal über den virtuellen COM-Port Treiber spekuliert hast,
ich hab hier nen ATMega128L @ 8MHz mit nem FTDI232RL mit 500.000 Baud 
verbunden. Geht absolut ohne Probleme, zumindestens mit "Terminal v1.9b" 
als Kommunikator ;-)

Wollte auch eigentlich 1M Baud einstellen, hab ich bis jetzt aber leider 
noch nicht zum laufen bekommen. Ich denke aber das das FTDI und AVR@8MHz 
eigentlich können sollten...

@ All:
Hat irgendjemand schonmal mehr als 500.000 Baud über die serielle 
gefeuert?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, 3MBaud mit dem XMega128-A1 und dem FT232RL. Mit einem auf 24MHz 
übertakteten Mega644 oder ähnlichen Typen sollte das im 
DoubleSpeed-UART-Modus auch gehen. Der PC ging dabei allerdings leicht 
in die Knie und ich mußte Hardware-Handshaking benutzen, damit nichts 
verloren geht.

Autor: B.Urner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Travel Rec.:

Hast du zur Kommunikation auf die 'virtual'-COM-Port Treiber zugegriffen 
oder direkt Routinen aus der FTD2XX.DLL verwendet?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VCP. Geht wunderbar.

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe den Logicanalyzer soweit fertiggestellt- nun mit einem mega88 
(jetzt kenne ich endlich den Unterschied zum Mega8). Nur die minilog 
Installation unter Windoof bringt mich zur Verzweiflung. Die 
VB_bootsstrap setup.exe meckert zu alte *.dlls an (obwohl ich zuvor die 
VB6.0 runtime installiert habe). Während der minilog-Installation können 
die dlls nicht aktualisiert werden, weil diese in Benutzung sind (klar). 
Also die dlls aus der MiniLog extrahiert und (unter Linux) in 
\w\system32 kopiert, was mich aber auch nicht weiterbringt. Jetzt wird 
eine "invalid line" in der setup.lst angemeckert, nämlich diese: 
"@UART.mlp,$(AppPath),,,6.20.09 10:51:41 AM,97,0.0.0.0".
Ist wahrscheinlich die Schnittstelle zur UART?
Die extrahierte miniLog_application alleine kann ich zwar aufrufen, sie 
kann aber nicht mit der Hardware kommunizieren -> "keine hardware 
gefunden".

Wie gehe ich weiter vor? Wer hat Minilog schon unter XP installiert.
Wie kann man es nach Linux portieren? z.B. unter Mono?

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
min schrieb:
> Habe den Logicanalyzer soweit fertiggestellt- nun mit einem mega88
> (jetzt kenne ich endlich den Unterschied zum Mega8). Nur die minilog
> Installation unter Windoof bringt mich zur Verzweiflung.

nicht win sonder meistens userdoof ...

>Die
> VB_bootsstrap setup.exe meckert zu alte *.dlls an (obwohl ich zuvor die
> VB6.0 runtime installiert habe). Während der minilog-Installation können
> die dlls nicht aktualisiert werden, weil diese in Benutzung sind (klar).
> Also die dlls aus der MiniLog extrahiert und (unter Linux) in
> \w\system32 kopiert, was mich aber auch nicht weiterbringt. Jetzt wird
> eine "invalid line" in der setup.lst angemeckert, nämlich diese:
> "@UART.mlp,$(AppPath),,,6.20.09 10:51:41 AM,97,0.0.0.0".
> Ist wahrscheinlich die Schnittstelle zur UART?

lol ... falls du vb6 runtimes schon drauf hast, dann brauchst nix ausser 
der minilog.exe - einfach aus der cab entpacken und benutzen

> Die extrahierte miniLog_application alleine kann ich zwar aufrufen, sie
> kann aber nicht mit der Hardware kommunizieren -> "keine hardware
> gefunden".

com ist richtig ? hardware richtig ? app richtig ? Daws hat nix mit dem 
setup zu tun.

>
> Wie gehe ich weiter vor? Wer hat Minilog schon unter XP installiert.
> Wie kann man es nach Linux portieren? z.B. unter Mono?

war mono nicht .net ? VB6 hat mit .net nix zu tun.

Und zu deiner frage, portieren ?

Zum portieren brauchst du sources - die es noch nicht gibt - also du 
mienst 'starten' unter linux ? Ich würde sagen frag google,andereseits 
linux ist linux, windows ist windows - wenn etwas nciht geht wirst du 
halben tag suchen nach den fehlern. Da du anscheinend XP da hast starte 
doch da - und warte bis die sources verfügbar sind - dann kannst du es 
portieren für alle die ohne umwege unter linux benutzen möchten.

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu ist die UART.mlp, RFM12 (funkmodul??) und stdole2 gut, die müssen 
doch mitinstalliert werden?
[Setup1 Files]
File1=@UART.mlp,$(AppPath),,,6.20.09 10:51:41 AM,97,0.0.0.0
File2=@RFM12.mlp,$(AppPath),,,6.20.09 10:50:50 AM,108,0.0.0.0
File3=@MiniLog.ini,$(AppPath),,,6.20.09 11:08:03 AM,3,0.0.0.0
File4=@comdlg32.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),12.1.08 
1:00:00 AM,152848,6.1.97.82
File5=@MSCOMM32.OCX,$(WinSysPath),$(DLLSelfRegister),$(Shared),3.17.05 
2:12:46 PM,103744,6.0.81.69
File6=@MiniLog.exe,$(AppPath),,,6.20.09 7:47:04 PM,114688,1.0.0.0 ?


Nachwievor - die SETUP routine hängt: "setup cannot install system files 
or update shared files if they are in use".


Com5 ist mein FTDI232 USB Port und der ist eingestellt auf 115200 baud.
Der loop test funktioniert. Die fuses Osc. ist auf extern gestellt und 
den Teiler /8 habe ich rausgenommen. Das Programm ist natürlich im 
mega88. Die Hardware habe ich zweimal mit dem Durchgangsprüfer geprüft. 
Wähle ich nun in der minilog.exe den COM5 aus, wird keine HW erkannt.

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ehm, woher hast du die setup ?

Also auf der site

http://www.avr.roehres-home.de/logikanalyzer/index.html

unter software gibts nur zwei "PC Software" versionen.

Die beinhalten:
- vb bootstrap - notwengid falls nicht vorhanden
- mscomm32.ocx - com port api
- comdlg32.ocx - common dialogs api
- und die app selber

MiniLog80.exe oder MiniLog.exe je nach dem welche verison du nimmst.

So sag mir jetzt welche software du nimmst, und woher, das du da auch 
'andere' sachen drin hast.

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja - die Software habe ich auch von dieser Seite. Vielleicht habe ich 
eine ältere Version erwischt.
Die UART.mlp  und RFM12.mlp scheinen Steuer-Daten von einer Messungen zu 
sein.
Habe mir nocheinmal die neuen Programme gezogen und probiers nochmal.
 Die mscomm32.ocx und comdlg32.ocx Module fehlen mir. Müssen die nach 
\windows\system32\ ?

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
min schrieb:
> Naja - die Software habe ich auch von dieser Seite. Vielleicht habe ich
> eine ältere Version erwischt.
> Die UART.mlp  und RFM12.mlp scheinen Steuer-Daten von einer Messungen zu
> sein.
> Habe mir nocheinmal die neuen Programme gezogen und probiers nochmal.
>  Die mscomm32.ocx und comdlg32.ocx Module fehlen mir. Müssen die nach
> \windows\system32\ ?

so grob erklärt , aus der setup.lst :

[Setup1 Files]
File1=@comdlg32.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),12/1/08 
1:00:00 AM,152848,6.1.97.82

"WinSysPath" ist %system32%, sprich die system32 der windows 
installation.
"DLLSelfRegister" ist anweisung um die ocx zu registrieren, das macht 
der setup, du kannst unter windows es auch machen mit regsvr32
"Shared" ist anweisung zum shared dll's registrierung, die version/datum 
die danach kommen sind für versionskontrolle.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn er die Hardware nicht erkennt ist die Installation erstmal ok, 
sonst kommt er nicht soweit.
Fuses vom Mega88 auch richtig gesetzt, so daß er mit dem Quarz-Takt 
läuft?
Richtige COM ausgewählt?
An dieser Stelle habe ich eigentlich nichts geändert, allerdings sollten 
die Files von AVR und das VB-Programm am gleichen Tag von der Wegseite 
gezogen worden sein sonst kann es Probleme geben.

Heute ist es zu spät, ichte teste mirgen hier nochmal gegen und lege den 
aktuellen Stand von allem auf die Homepage.

Die VB-Software gibt es dann nur noch in einer Version, sie erkennt die 
Hardware alleine.
An der Hardware-Version mit dem Mega48/88 mit 50/20MHz Oszillatoren hat 
sich zwar was verändert, allerdings nichts, was die aktuekken Funktionen 
betrifft.
Für eventuelle Erweiterungen wäre es aber sinnvoll, das 
nachzuvollziehen, wenn es nicht auf einer Leiterplatte wohnt.
Ich fass dann auch die Änderungen nochmal als Text zusammen.

Ich mache auch mal eine Debug-Version der Software zurecht mit ein paar 
mehr Meldungen, das wird aber erst Sonntag was.

Zusatzmodule vom VB kommen im Moment nicht rein, wenn das Programm sich 
meldet ist die MSComm installiert und registriert, dann braucht nur die 
.exe ersetzt werden.
Ich werde auch die noch einzeln dazulegen.

Das Problem mit den angeblich falschen DLLs hatte ich auf einem Rechner 
auch, habe nicht ergründet, woran es lag, das Programm selbst lief.
Muß ich mal nachschauen, woran das liegt.

Gruß aus Berlin
Michael

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

mit der aktuellen Softwareversion muss ich auch die Änderungen bezüglich 
PB2 PB3 umlöten. Werden diese Pins dann frei bzw. bleiben nur noch mit 
der ISP verbunden?

Kann ich  mit der Geschwindigkeit der Abtastrate zum Testen einfach mal 
auf etwa 30 MHz heruntergehen, indem ich nur die Definitionen.inc ändere 
und einen entsprechenden Quarz oder Teilerbaustein einbaue. Gibt es 
Interferenzeffekte, wenn ich den AVR auf 20MHz und den Rest auf 40Mhz 
laufen lasse. Ich habe nämlich nicht alle Bausteine in der 74AC Version 
und habe sie deswegen mit 74HCxx gemischt. Auch ein 74F wurde verbaut. 
HC32 habe ich bei Dir auch gesehen. Wie kritsch ist das in der 50 
MHz-Version? 74HC kann soweit ich weiss nur bis 40 MHz. Wo bekommt man 
74ACTxxx?

Warum ist die UART auf 500000 und nicht auf 460800 baud? Ich nehme an 
die PC-Software regelt sich da automatisch ein. Brauche ich dafür noch 
einen speziellen Treiber von FTDI. Bei mir in der Systemsteuerung steht 
nämlich COM5 auf 115200 baud.

kleiner Fehler : die .equ  CPU_TYP  =   28 muss in der aktuellen m88 
software-version fürs assemblieren auf 88 geändert werden. Aber da kommt 
man zwangsläufig selber drauf. Zwingt einen nämlich sich mit der Materie 
auseinander zusetzen.

An diesem Project lerne ich endlich, wie assembler funktioniert, bisher 
habe ich mich nur mit C beschäftigt.
Vielen Dank.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe jetzt mal angefangen, auf der Webseite etwas zu sortieren.
Es liegen nur noch die aktuellen Versionen der Pläne und Software da, 
außerdem habe ich einen Button News reingebaut, da liegen ein paar 
Hinweise und Erklärungen um das von mir verursachten Chaos wieder etwas 
in den Griff zu bekommen...

Sorry deshalb, wenn man die Freizeit vorrangig nutzt, um an 2 Versionen 
rumzubauen, leidet die Dokumentation und der Überblick.

Es wäre gut, auf den aktuellen Stand der Schaltpläne umzubauen, wenn das 
nicht geht (Leiterplatte z.B.), bitte den Schaltplan, nachdem aufgebaut 
wurde, per Mail an mich schicken, ich sende dann ein passendes Hex-File, 
das zur aktuellen PC-Software paßt.

min (Gast): PB2 und PB3 sind nur noch vom SPI genutzt und für ebtl. 
Erweiterungen frei.

Der AVR muß wegen des UART mit seinem Solltakt laufen, ob sonst da ein 
anderer Quarzoszillator drauf ist, ist erstmal egal.
Dann geht nur dieser Bereich falsch oder garnicht, es muß aber sonst 
alles spielen.

Es muß prinzipiell erstmal alles überhaupt spielen.
Adresszähler und Ram würden nur dafür sorgen, daß man keine sinnvollen 
Signale zu sehen bekommt, zu langsame Triggerlogik würde nur den 
Triggerpunkt nicht erkennen, ohne Triggerbedingung (alles auf X) muß es 
trotzdem laufen.

Die virtuelle COM des FTDI kann 500kBaud, wird in der PC-Einstellung 
aber nicht angezeigt. Die Parameter werden sowieso vom Programm gesetzt.
460kBaud haben einen merklichen Fehler bei 20 oder 16MHz AVR-Takt, 
Baudratenquarz würde die Timing-Berechnungen auf dem AVR für die 
Samplezeiten fast unmöglich machen.

CPU_TYP... da ist offenbar eine Testversion von mir raufgeraten, sollte 
sonst aber laufen.

ASM und C: bei eigentlich nur ASM, inzwischen auch C ohne wirklich 
unlösbare Probleme.
Ich hätte das auch in C schreiben können, allerdings sind eben ein paar 
Sachen Zyklusgenau nötig (bzw. viel einfacher) und die Experimente mit 
inline-asm oder ständigem blättern im .lss File wollte ich mir sparen.

Auch in ASM sind 80% der Source recycling aus vorhandenen Projekten. ;-)

Ich bin heute noch bis zum Nachmittag greifbar, sonst eben morgen oder 
so.

Mal schauen, ich werde mal Debug in die PC-Software einbauen, muß ich 
nur mal ein paar Fehlerzustände erzeugen, um den Sinn zu testen.

Gruß aus Berlin
Michael

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So schlimm ist das Chaos doch gar nicht ;-) So ist man halt noch nah 
dran am entwickeln und lernt zudem noch viel.

Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

:-))

im Anhang oben mal ein Zwischenstand:
im Menü Syten Debug anhaken und dann Test -> Reset Hartware.

Jetzt sollten ein paar Messageboxen auftauchen, in der letzten steht ein 
Teil des Kennungstextes der vermutlich falsch gesendet wurde.

Bei den aktuellen Firmware-Versionen muß der mit "MiniLog 50MHz 
Hardware" anfangen, Rest steht auf der Webseite.

Gruß aus Berlin
Michael

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe immer noch Probleme: bekomme die Fehlermeldung "time out - keine 
gültige Antwort von Hardware" oder "Übertragungsfehler 6" beim 
Hardwarereset.  Muss die Adressleitung 14 des RAMs (pin1) nun auf GND 
oder an den Zähler?
Mein mega88 läßt sich nur Programmieren, wenn ich die 74HC164 rausnehme 
oder den Takt auf 1/8 stelle?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Die Timeout-Meldung gibt kommt vom Controltimer der VB-Software, dann 
wurde innerhalb von 500ms garnichts (oder genauer weniger als 30 
Zeichen, weil die alte Firmware weniger Zeichen als die aktuelle mit 54 
Zeichen sendete) empfangen.

Ram-Adresse 14 an GND, ich werte nur 16kB zur Zeit aus. Hat aber auf die 
Funktion selbst keinerlei Auswirkung, die weiß davon nichts.

Ich weiß jetzt nicht, womit Du prgrammierst, aber weniger als 1/4 muß es 
ohnehin sein und bei hohem Taktfrequenzen kann die Last der 164er schon 
stören, ist ja zusätzliche Last.
Ich programmiere hier meist nur mit 1MHz, auch bei den hohen Takten.

Wenn Du gesocklet hast: Du kannst alles, was am AVR hängt, rausziehen.
Der AVR mit dem FTDI dran muß sich in jedem Fall in der PC-Software 
melden.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mich mal durch die komplette Seite gearbeitet:
Ist es richtig das die Version ATmega88/48 eine 50MHz Version ist?
Was bedeuten würde die 80MHz gibt es nur mit 4kb RAM an statt wie bei 
der 50er Version mit 16?

Gruß
Patrick

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das ist z.Z. der Stand der Dinge.
Es ist kein prinzipeilles Problem, die Mega88-Version mit 80MHz zu 
bauen, in der AVR-Software müssen nur 2 Tabellen angepasst werden.
Mein 32k-Ram mit 15ns oder die Adresszähler oder der Aufbau waren aber 
nicht bereit, mit 80MHz zu laufen.

Betriebsspannung spielt da auch chon eine große Rolle, vom USB kommen 
eben keine 5V sondern je nach Rechner weniger.

Zum Testen genügt es eigentlich, den 50MHz Oszillator durch einen 80MHz 
zu ersetzen und ohne Änderungen zu testen.

Dann wird zwar der Ram teilweise wieder überschrieben und Trigger usw. 
sind falsch, es muß aber gesampelt werden und die Daten den 
Eingangssignalen entsprechen. Ich nehme da immer einen 74HC4040 mit 
Quarzoszillator dran und die Ausgänge dann gesamplet. Da sieht man dann 
schnell, ob es überhaupt geht.

Das Ganze ist mehr Anregung zum Experimentieren als fertige 
Bauanleitung,
50MHz gingen mit 20ns Rams bisher immer zuverlässig.

In der AVR-Software für den Mega88 sind demnächst die Tabellen für 50 
und 80MHz drin, per .def auswählbar.

Da sind aber nicht immer alle Kombinationen wirklich von mir getestet!

Ich hoffe, die aktuellen Versionen noch am Wochenende auf die Homepage 
zu legen.

Gruß aus Berlin
Michael

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich wollte mir das Gerät nachbauen und scheitere warscheinlich am 
SRam. Ich habe noch welche des Typs W2464AK-20 und AS7C256-20PC 
gefunden. Könnten die evtl. auch laufen ?

Danke !!!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der W dürfte ein Winbond sein, sollte gehen, den AS7C256 kenne ich zwar 
nicht, nach Datenblatt sollte der auch passen.
Wenn der Ram zu langsam ist, passiert auch nichts, es wird dann eben in 
den zu schnellen Bereichen nichts (sinnvolles) mehr gesampelt.

Anderen Ram kann man immernoch raufstecken, die in Frage kommenden 8kx8, 
16kx8 (selten) und 32kx8 sind pinkompatibel, die Änderungen der 
AVR-Software minimal, die PC-Software erkennt es dann alleine.

Ich bekomme vermutlich morgen noch einige (etliche???) Winbond 32kx8 
15ns,
die sind sicher bis 50MHz, 80MHz habe ich nur mit dem einzigen 8kx8 12ns 
zum Laufen bekommen.

Neue PC-Software gibt es erst demnächst, ist voriges Wochenende nichts 
geworden. Ich habe da intern noch etwas umgebaut und schreibe im Moment 
noch ein paar Hardwaretest-Sachen rein, die Nachbauern (und mir...) das 
Leben leichter machen.

Gruß aus Berlin
Michael

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein paar fragen habe ich noch. Ich wollte die 80Mhz  variannte mit dem 
Mega16 aufbauen, als Speicher habe ich doch noch ein W24129AK-12 (16KX8 
12ns) aufgetrieben. Kann ich das Hex-File aus der Minilog40.rar direkt 
brennen ? Ist das PC-Programm damit kompatiebel ?

Danke !!!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, kannst Du direkt brennen. Es werden dann aber nur 4k Ram genutzt, 
die verbleibenden Ram-Adressen dann eben fest auf L oder H legen.

Prinzipiell kann auch die andere Version mit 80MHz (Takterzeugung dann 
eben wie bei der Mega16 Version).
Man kann auch einen Adresszähler mehr auf die Mega16 Version bauen und 
16k nutzen, die Änderungen an der AVR-Software sind minimal.

Wenn ich es schaffe, gibt an diesem Wochenende die aufgeräumten 
Versionen der Software. Da kann per define festgelegt werden, wieviel 
Ram genutzt werden und welcher Takt genutzt wird.

Ich habe natürlich nicht alle Varianten selbst getestet, etwas 
Experimentierspaß muß also schon da sein. ;-)

Gruß aus Berlin
Michael

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also sollte mann schon besser die Mega88 version nehmen, passt auch 
besser zu meinem Ram.

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

jetzt mal eine ganz banale Frage:
Die Messklammern auf deinen Bildern -  wie heißen die und woher bekomme 
ich selbig zu vernünftigen Preisen?

Gruß
Patrick

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht nach Hirschmann aus...

z.B. bei Bürklin (http://www.buerklin.com):

"Miniatur-Klemmprüfspitzen Typ Hirschmann T & M KLEPS 3 ST"
Bestellnummer 35F2243

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Mi Mo (mike123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

glaube die waren von Pollin, meine mal was gelesen zu haben!

http://www.pollin.de/shop/shop.php?cf=produkt.php&...


Gruß,
Michel

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich denn statt des Mega16 auch einen Mega32 benutzen? Habe hier 
nämlich noch den alten von meinem AVR-NET-IO herum kullern (der hat 
einen 644 bekommen) und bräuchte mir dann keinen neuen kaufen.

Nach den Strippen wollte ich dich auch noch fragen. Haben die von Pollin 
eigentlich nur einen Haken vorne oder ist da so eine 3fingrige Klemme 
vorne dran?

Gruß Sven

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, Du kannst auch einen Mega32 oder Mega644 nehmen, CPU-Definition 
solltest Du aber anpassen und neu assemblieren.

@Gast (Gast): ich werde zwar Änderungen in der Software auch in der 
Mega16-Verion anpassen, für nögliche Erweiterungen ist aber die Mega88 
(Mega48 reicht auch) Version.

Man kann natürlich auch bei der Mega16 Version einen 74ACT161 mehr 
reinlöten und 32k Ram nutzen, die Anpassungen in der AVR-Software sind 
minimal, der PC-Software ist es egal. Die will nur den maximalen Takt 
und die Speichergröße vom AVR mitgeteilt bekommen.

Es ist keine vollständige Nachbauanleitung und wird auch es auch nie 
werden, die gezeigten Varianten laufen hier, Taktversionen und 
Speichergrößen sind aber prinzipiell austauschabr, nur eben nicht von 
mir getestet.
Man sollte dann aber ein wenig AVR-Assembler können, um da anzupassen zu 
können.

Ich helfe da gern, werde aber sicher nicht diverse Kombinationen aus 
AVR-Typ/Speichertakt/Speichergröße assemblieren und kann die auch nicht 
hier testen.

AVR-Takt ist 16MHz oder 20MHz nötig, bis zur halben Taktfrequnz (also 
8MHz oder 10MHzerzeugt der AVR den Speichertakt, die häheren sind 
prinzipiell egal, allerdings müssen dann die Tabellen angepasst werden.

Die Messklemmen habe ich mal geschenkt bekommen, die sind sicher schon 
20 Jahre alt......

In die Leitungen ist nahe am Klemmenende jeweils ein 68 Ohm in die 
Leitungen gelötet, eigentlich, weil ich einen Fehler durch Reflexionen 
vermutet hatte, der sich nicht bestätigt hat, sie sind aber 
dringeblieben.

Der 74ACT541, den ich im Eingang habe, kommt auch mit 3,3V-Logik bei 
meinen Sensormodulen ohne Probleme klar.

Gruß aus Berlin
Michael

Gruß aus Berlin
Michael

Autor: Jan68 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

finde das Projekt auch klasse! Super Arbeit Michael.

Da ich das ganze nachbauen will, aber gerne in SMD, hab ich mir mal die 
80MHz-Version mit Mega16 vorgenommen und das ganze ein wenig geändert 
und versucht es zu optimieren.
Dabei konnte ich die Anzahl der IC's um 3 verringern bei gleicher 
Funktionalität. Der FT232RL ist auch gleich mit drauf.
Der Adresszähler kann jetzt maximal 32kB RAM adressieren. Per Lötjumper 
können die 3 höchstwertigen Adressleitungen auf GND gelegt werden.

Der neue Schaltplan ist im Anhang. Wäre nett wenn Ihr euch (auch du 
Michael?) das mal anschauen könntet.

Geplant ist eine Leiterplatte, einseitig bestückt 100x50mm.

Wenn alles fertig ist, werde ich auch den Schaltplan + Board als 
Eagle-Dateien veröffentlichen.

So, bin gespannt auf eure Meinung.

Herzliche Grüsse, Jan68

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jan

Jan68 schrieb:
> Da ich das ganze nachbauen will, aber gerne in SMD, hab ich mir mal die
> 80MHz-Version mit Mega16 vorgenommen und das ganze ein wenig geändert
> und versucht es zu optimieren.
> Dabei konnte ich die Anzahl der IC's um 3 verringern bei gleicher
> Funktionalität. Der FT232RL ist auch gleich mit drauf.

Hmm, die Funktionalität ist leider nicht gleich geblieben. Du hast 
keinen sychronen Zähler genommen wie im Original, sondern asynchrone 
Zähler. Die haben eine Verzögerung von einem zum nächsten Pin (der 
vhc4040 liegt bei 1,6ns, der hc393 bei 5ns)
Das bedeutet dein A0 zählt los und das A14, was zur gleichen Zeit zählen 
sollte, zählt erst ca. 40ns später. Bei 80MHz ist A0 dann schon einige 
Adressen weiter. Vermutlich wird deine Version bis 20 oder 25MHz 
mitmachen und dann falsche Daten speichern.

An den synchronen Zählern geht dummerweise kein Weg vorbei - es sein 
denn du packst das ganze (ebenfalls syncron) in programmierbare Logik.
Meine Version hat noch den AVR, das RAM, den Bustreiber und ein 7474 
Flipflop drauf. Ach ja, da sitzt noch einen CPLD Lattice M4A5.

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das Entscheidende hat Harald schon genannt, kann ich nur noch zustimmen.

Die Adresszähler sind aus genannten Günden kritisch, dann kommt die 
Zykluszeit des Rams.
Genaugenommen spielt auch noch die Laufzeiten der Triggerlogik eine 
Rolle, aber das ist relativ. Wenn der Karm dort zu langsam ist, wird ein 
kurzer Spike nicht mehr erkannt. Aber das ist praktisch egal, weil er 
vom Ram mit gro0er Wahrscheinlichkeit auch nicht gelesen wird...

Bei 80MHz Sampletakt ist es ohnehin nicht sehr sinnvoll, Impulsfolge 
auswerten zu wollen, die 10-15MHz sind. Das dargestellt Bild kann dann 
zwangsweise schon stark vom Samplezeitpunkt abhängen, der ja asyncron 
zur Änderung der Eingangspegel abtastet.

Es gibt inzwischen noch einen Nachbau der 80MHz Version, die auch schon 
ziemlich komplett spielt.

Gruß aus Berlin
Michael

Autor: Jan68 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zunächst mal Danke an Harry und Michael.

Tja, da hab ich mir ja ein schönes Eigentor geschossen, egal, da muss 
ich jetzt durch! ;-)

Zum Zähler, da habt Ihr Recht, hab ich leider nicht bedacht.

Die 80MHz sind für mich nicht zwingend, hab dieses Layout als Basis 
gewählt, da hier durch den Mega16 schon mal 2 IC's weniger waren.
10-20 MHz würden mir auch reichen. Ggf. könnte man einen 100MHz 
Oszillator verwenden und dann erst nach dem 1. oder 2. Teiler 
(50MHz/25MHz) abgreifen.

Zum hc393 als Teiler für den Takt:
hier sollte ja das Delay keine rolle spielen, da ja immer nur ein 
Ausgang des Teilers verwendet wird. Ab 40MHz müsste dann auch das 
Taktsignal absolut symmetrisch sein (50/50%)

Zum vhc4040:
Ich hab noch mal gesucht, aber keinen syncronen Zähler mit >4Bit und 
>50MHz gefunden :-(
Gibt es da wirklich nichts anderes mit wenigstens 8Bit ?


@Harry, gibt es deine Implementierung irgendwo zu sehen ?

Gruß Jan68

Autor: Jan68 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich noch mal,

wie sieht es mit dem 74F549 aus ?

Viele Grüße
 Jan68

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Jan68 schrieb:
> Die 80MHz sind für mich nicht zwingend, hab dieses Layout als Basis
> gewählt, da hier durch den Mega16 schon mal 2 IC's weniger waren.
> 10-20 MHz würden mir auch reichen. Ggf. könnte man einen 100MHz
> Oszillator verwenden und dann erst nach dem 1. oder 2. Teiler
> (50MHz/25MHz) abgreifen.
10MHz bekommst Du mit der Takterzeugung durch den AVR wenn er mit 20MHz 
getaktet ist (F_CPU/2 ist das Maximum, was mit einem Timer geht).
Mein Mega16 wollte in der Schaltung keine 20MHz mit Quarz, ein Mega644 
macht es auch offiziell, war bei mir dann erstmal drauf.
100MHz TT:Oszillatoren sind selten, teuer und schwer beschaffbar, 80MHz 
lag in meiner Kiste...

> Zum hc393 als Teiler für den Takt:
> hier sollte ja das Delay keine rolle spielen, da ja immer nur ein
> Ausgang des Teilers verwendet wird. Ab 40MHz müsste dann auch das
> Taktsignal absolut symmetrisch sein (50/50%)
Delay ist da egal, er muß nur teilen. Die Oszillatoren lagen bisher alle 
so nahe an 50/50, daü der Ram keine Probleme hatte.

> Zum vhc4040:
> Ich hab noch mal gesucht, aber keinen syncronen Zähler mit >4Bit und
>>50MHz gefunden :-(
> Gibt es da wirklich nichts anderes mit wenigstens 8Bit ?
Ich habe zumindest nichts gefunden. Allerdings war mir bei der ganzen 
Geschichte auch wichtiger, irgendwas billiges und vorhandenes/leicht 
beschaffbares zu nehmen.
Da war dann der 74ACT161 die ganze Auswahl... ;-)

PS: ich habe für mich der Version mit Mega48/88 und den Schieberegistern 
den Vorzug gegeben. Einfach, weil man außen noch Schieberegister 
ranhängen kann, falls man doch z.B. einen ADC ranhängen will.
Ich habe neu keine Lust zu längeren Tests gehabt, sonst hätte ich den 
12ns 8k ja mal auf das Board stecken können und schauen, was bei 80MHz 
passiert.
Der 32k -15 war jedenfalls einfach lustlos.

Da ja prinzipiell nichts anders ist, spricht eigentlich auch da nichts 
gegen 80MHz.

Es gibt in der Hardware der Mega48/88-Version allerdings noch eine 
Änderung: PB2 ist nicht mehr frei, er steuert jetzt Pin 1 (/G) vom 
74HC688.
Sonst gibt es Probleme mit der Triggerauswertung bei H-Pegel.

Ich schaue, daß ich diese Woche endlich diese Änderungen noch auf die 
Webseite lege incl. intern etwas veränderter Software für PC und AVR...

Gruß aus Berlin
Michael

Autor: Harald S. (harri)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Jan68 schrieb:
> @Harry, gibt es deine Implementierung irgendwo zu sehen ?

Im Anhang.

Enthalten ist der Schaltplan, noch mit ATMega8-16 statt ATMega88-20.
Die letzte Änderung am PLD (der letzte Abschnitt mit dem Signal 
t_enable) habe ich aber noch nicht getestet. Bildchen ist auch dabei, 
der Oszillator und die beiden Sockel rechts entfallen wenn der Mega88 
drauf ist.

Und ohne Gehäuse und Messleitungen sieht er sowieso nackt aus :-)

mfg
Harri

Autor: Jan68 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Harri,

herzlichen Dank.

Geiles Teil! Da kann ich meinen Ansatz je in die Tonne kloppen.

Minimalistischer geht es wohl nicht mehr, eigentlich genau das was ich 
gesucht habe.
Wie wäre es denn das als Leiterplatte in SMD zu routen, würde ich mich 
gerne dran versuchen.

Grun Jan68

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

na mal schauen, wann Harald seine Teile hat und er die Grenzen auslotet.
Ich hoffe ja, er bekommt den 74F74 noch eingespart... ;-))

Gruß aus Berlin
Michael

Autor: Michael U. (amiga)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@ Harald S.: ich habe gerade mal in das CPLD-File geschaut, ohne Ahnung 
zu haben. Hätte schlimmeres erwartet. ;-)

Bin mal Deinen Kommentaren gefolgt und behaupte mal ganz kühn, daß da 
noch Reserven sind.
Beispiel:
" die RAM-Adresse darf sich erst ändern wenn ram_we wieder inaktiv ist!
" Daher muss ram_we mit clk_del etwas verzögert werden

Die Datenblätter der Winbond-Cacherams geben nur eine Haltezeit für die 
Adressen vor der steigenden Flanke von /WE an.
Die Adressen dürfen sich also zeitgleich mit /WE inaktiv ämdern, 
genaugenommen sogar schon davor.
Die Adresse darf auch zeitgleich mit der fallenden Flanke gesetzt 
werden, TAS ist 0ns.
Die Teile sind mir ja deshalb so sympatisch für die Geschichte.

Gruß aus Berlin
Michael

Autor: Jan68 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,


der folgende RAM AS7C256A-12JIN (12ns) sollte hoffentlich genau so 
funktionieren, wenn ich das Datenblatt richtig deute :

http://www.farnell.com/datasheets/32792.pdf

Vorteil : aktuell bei Farnell für < 3 Euro beschaffbar
Nachteil : SMD

PS: Oszillatoren 80/100MHz gibt es leider bei Angelika nicht, bei 
Farnell kosten die 80 und 100MHz-Typen gleich viel.

Gruß Jan68

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jan68 schrieb:
> Nachteil : SMD

Dafür gibts Adapterplatinen.

Autor: Jan68 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>> Nachteil : SMD
> Dafür gibts Adapterplatinen.

war ja auch kein Nachteil für mich ;-)
Eher für die "Lochrasterfraktion" (ist nicht böse gemeint!)

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit!

Michael U. schrieb:
> " die RAM-Adresse darf sich erst ändern wenn ram_we wieder inaktiv ist!
> " Daher muss ram_we mit clk_del etwas verzögert werden

Die Timing Reports von ispLever sagen folgendes:
- clk -> adresse 13ns
- clk -> we ohne verzögerung 10ns
- clk -> we mit verzögerung 18ns

Bei maximaler Taktfreuenz liegt die Länge des WE-Impulses nahe am 
Minimum des RAMs (10ns/50MHz). Die Adresse würde sich ohne die 
Verzögerung also ändern während WE aktiv ist, ca. 7ns vor der steigenden 
Flanke. Das dürfte einem 12/15ns RAM zu kurz sein: Taw = 10/13ns
Mit der Verzögerung liegt die Adressänderung im High-Bereich des 
WE-Signales. Zumindest denke ich mal, dass das so ist. Ich bin definitiv 
nicht der CPLD-Profi und nutze das Teil ja eigentlich nur als großes 
ispGAL.

Zum Thema "74F74 einsparen": das ginge vielleicht sogar.
Der Synchrone 14 Bit Zähler im CPLD begrenzt die Taktfrequenz auf 76MHz, 
daher hab ich gar nciht erst versucht die 80MHz direkt rein zu geben. 
Bei einem 8 Bit Zähler könnte das Teil bis zu 125MHz!
Man könnte den Taktteiler aber vielleicht doch mit ins CPLD legen, er 
wird zwar nicht mit 80MHz zählen aber um ein schön symmetrisches 40MHz 
Signal zu bauen reicht es wohl.
Das Triggerflipflop müsste auch irgendwie passen. Muss ich nochmal 
gucken.

Ach ja, etws Offtopic: ich wollte mir einen ansteckbaren AD-Wandler vor 
dem LA klemmen. Da fehlt mir noch eine gute Idee für einen möglichst 
einfach gebauten Vorverstärker. Hat einer ne Idee? Ansonsten muss ich 
mal ein Topic in der analog-Sektion aufmachen.

mfg
Harri

Autor: min (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jan68: 80 Mhz gibt es bei Reichelt:
+OSZI 80,000000   Quarzoszillator, 80,00 MHz   0,95 Euro
gerade gekauft...

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

danke dass du so schön auf die steigende WE-Flanke hingewiesen hast. Mit 
der Verzögerung hab ich einen schönen Bock geschossen :-)

> Die Timing Reports von ispLever sagen folgendes:
> - steigender clk -> Adresse 13ns
> - fallender clk -> /WE ohne Verzögerung 10ns
> - fallender clk -> /WE mit Verzögerung 18ns

Ich zeichne mal das Timing auf, dabei steht ein Zeichen für 2ns.
clk -> adr = 14ns, nach der steigende Flanke
clk -> we (ohne delay) 10ns
clk -> we (mit delay) 18ns

50MHz / 20ns = 10 Zeichen
__-----_____-----_____-----_____-----_____-- clk
--------XX--------XX--------XX--------XX---- adr
------------_____-----_____-----_____-----__ we
----------------_____-----_____-----_____--- we-delay

Gerade durch die Verzögerung ändert sich die Adresse also immer kurz vor 
der steigenden WE-Flanke. Ohne Delay passt es besser, das bau ich also 
wieder aus.

mfg
Harri

Autor: Jan68 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ich die Leiterplatte eh schon angefangen hatte, anbei eine 
abgespeckte Version. Diese kann jetzt nur noch den internen Takt des AVR 
verwenden und geht somit mit Mega644 bis max. 10MHz Samplerate.
Dafür sollte der 74VHC4040 reichen.
Im Zip ist der Schaltplan als PDF und die Eagle-Dateien der fertig 
gerouteten Leiterplatte.

Gruß Jan68

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mal angefangen die 50MHz ATMega88 Version zu routen. Anbei mein 
Ergebnis der ersten Platine.
Habe am Schaltplan noch ein paar Sachen geändert und ergänzt:
- Quarz an FT232
- EEPROM an FT232
- Spannungsregler integriert
- Umschaltung BUS <-> Self Powered an JP5
- leider musste ich ein paar Portpins umlegen

Ist alles so gemacht das nicht benötigte Teile einfach weggelassen 
werden können.
Da ich leider folgende Pins umlegen musste:
MUX_A -> PD3
MUX_B -> PD4
AVR_PB2 + PB3 weggelassen da ich keine Funktion finden konnte
RAM_READ -> PD6
IN_SELECT -> PD7
DATEN
0 -> PC0
1 -> PC1
2 -> ADC7
3 -> ADC6
4 -> PC2
5 -> PC3
6 -> PC4
7 -> PC5

würde ich jemanden bitten mir das Programm anzupassen, da ich kein 
Assembler beherrsche.
Die zweite Platine folgt die Tage...

Sollten sich irgendwelche Fehler ergeben haben bitte meldet euch!
Die Teile sind so ausgewählt, dass man alle bei Reichelt bekommen kann.

Gruß
Patrick

PS.: IC4 der 74HC688N ist auf der TOP Seite bestückt!!!!!!

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Patrick Weggler (pw-sys):
sicher gut gemeint, aber:

gibt es einen Grund, den FTDI232BL statt eines RL zu benutzen?

Welchen Zweck hat bei einem USB-Gerat ein zusätzliches Netzteil, wenn 
der USB es kann?
Hinter einen 7805 legt man keinen 470µ Elko, wenn schon Elko, dann 
höchstens
10-22µ.

ADC6+7 sind meines Wissens keine I/O, sondern nur ADC, geht dann so 
nicht.

Ansonsten geht die Zuordnung der Daten vermutlich nicht, weil die 
Taktzyklen zum Umsortieren fehlen dürften. Die Routine hat nur noch 
einen zusätzlichen  Takt übrig...

AVCC und AGND sind nicht angeschlossen,

Es gibt noch eine notwendige Korrektur meinerseits:
Pin1 (/G) des HC688 muß an PB2 des ATMega.

Die geänderte Schaltung liegt noch nicht auf meiner Homepage!

Gruß aus Berlin
Michael

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler schrieb:
> - Quarz an FT232
> - EEPROM an FT232
Damit man diese nicht mehr extern dranhängen muß, hat der FT232R 
beides bereits integriert. Es macht also keinen wirklichen Sinn, die 
Bauteile doch wieder extern dranzuhängen.

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

werde versuchen die Ports doch original zu verwenden
Das Netzteil hat den mehrere Gründe:
1) Der USB Port hat nicht immer volle 5V was zur folge hat das die ICs 
nicht mit maximaler Frequenz arbeiten können
2) Da ich nur einen non-Host powered USB Hub am Messplatz hab aber im 
Gehäuse, in welches der Minilog soll, bereits 9V habe diese Lösung

Beim FTDI232 habe ich noch einen BL in der Kiste.
Zudem ist er 15ct günstiger ;-)


Christian H. schrieb:
> Patrick Weggler schrieb:
>> - Quarz an FT232
>> - EEPROM an FT232
> Damit man diese nicht mehr extern dranhängen muß, hat der FT232R
> beides bereits integriert. Es macht also keinen wirklichen Sinn, die
> Bauteile doch wieder extern dranzuhängen.


Der externe EEPROM ist für die Seriennummer, wenn man mehr wie einen 
FT232 an einem Rechner hat laut Datenblatt immer noch vorgesehen nur 
kann man nun auch nun auch die 56 und 66 Typen verwenden.
Der Quarz ist optional bietet aber eine geringere Störanfälligkeit wie 
der interne RC-Oszilator.
Beides ist jedoch optional und kann einfach samt der passiven Bauteile 
außen herum weggelassen werden.


Gruß
Patrick

PS.: Änderungen kommen hoffentlich nachher

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe gerade mal die Webseite auf den aktuellen Stand gebracht.
PC-Software liegt die neue Minilog.exe im Install-Archiv, falls man 
schon installiert hat oder die Komponenten von VB schon da sind, diese 
nur ersetzen und starten.
Die alte MiniLog.ini löschen, es wird eine neue angelegt.
In der 2. Zeile der .ini steht jetzt die Baudrate, die kann dort per 
Editor geändert werden (für die, die mit MAX232 an einer COM 
experimetieren).
Da die AVR-Baudrate dann auch angepasst werden muß (steht weiter auf 
500kBaud), macht eine Einstellung innerhalb der PC-Software wenig Sinn.
Ram wird jetzt mit vollen 32k genutzt.

Kennung und Kommandostruktur haben sich etwas verändert, es muß also neu 
geflasht werden...

Wer sich für den AVR eine veränderte Version gebastelt haben sollte, 
wird wissen, was er verändert hat, sonst eben erstmal bei der alten 
PC-Software bleiben.

PS: wer sich bei den Ram-Anschlüssen verwirrt fühlt:
die Datenleitungen des Ram können beliebig vertauscht sein, die Adressen 
untereinander auch. Es gibt keinen wahlfreien Zugriff, nur serielle 
Lesen/Schreiben als Ringbuffer. Da spielt es keine Rolle, wo die Bits im 
Ram landen.

Gruß aus Berlin
Michael

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler schrieb:
> Der externe EEPROM ist für die Seriennummer, wenn man mehr wie einen
> FT232 an einem Rechner hat laut Datenblatt immer noch vorgesehen nur
> kann man nun auch nun auch die 56 und 66 Typen verwenden.
Ist aber nur notwendig, wenn Du hier eigenen Daten speichern möchtest.
Die Seriennummer kann man auch im internen EEProm ändern (habe ich 
selber schon gemacht).

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler schrieb:
> 1) Der USB Port hat nicht immer volle 5V was zur folge hat das die ICs
> nicht mit maximaler Frequenz arbeiten können

interessant, was sind deine erfahrungen, 4,8V ? oder 4.9V ?
Wie viel Mhz langsammer arbeiten die ICs dann ?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

meine ganz praktische Erfahrung auf meinem Drahtverhau:
74ACT161 Fairchild mit ca. 4,7V (altes Thinkpad USB) bei 80MHz nur noch 
willkürliches Zählen, keine Zählfehler sonder bei jedem 2. oder 3. 
Sampeln zählten einfach nur die ersten 2-3 Zähler oder garkeiner.

Bei 4,9V keine Probleme mit 80MHz Takt.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

anbei eine Tabelle aus dem Datenblatt.
Natürlich sind die Unterschiede nicht so gewaltig...
Das schlechteste Ergebnis an einem USB Port waren 4,3Volt an einem 
Laptop (führte dazu dass nicht jeder USB-Stick lesbar war). Keine Ahnung 
was passiert wenn so ein ungünstiger POrt noch mit einem billig nicht 
gepowerten HUB zusammenkommt.

Gruß
Patrick

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

anbei die geänderte Version.

Signale liegen jetzt alle so wie beim Original PB2 liegt jetzt an Pin1 
(G) des 688

Gruß
Patrick

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich sitze grad am zweiten Teil des Layouts und frage mich ob ich S1 noch 
benötige und wenn ja wozu?

Gruß
Patrick

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

noch eine Frage;

So weit ich die Schaltung verstanden habe kann ich die Adressleitungen 
zwischen den 161ern und dem RAM lustig vertauschen?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler schrieb:
> Hallo,
>
> ich sitze grad am zweiten Teil des Layouts und frage mich ob ich S1 noch
> benötige und wenn ja wozu?

Wenn kein 8kx8 bestückt werden soll, kann er ganz weg.
Beim 8kx8 ist auf dem Pin ein zusätzlicher H-aktiver Chipselect.
Kann man natürlich auch eine Lötbrücke oder 0-Ohm Widerstand nehmen.

>So weit ich die Schaltung verstanden habe kann ich die Adressleitungen
>zwischen den 161ern und dem RAM lustig vertauschen?

Ja, kannst Du.
Die Daten vom Ram selbst kannst Du auch anschließen, wie Du willst.
Die Zuordnung ist nur zwischen Eingang und AVR wichtig, damit die 
Kanalzuordnung stimmt und die Triggerdaten/Triggermaske und AVR müssen 
natürlich bitweise auch stimmen. Welche Gatterpins da landen und an 
welchem Eingangspärchen des 688 die landen, ist ja auch egal.

Gruß aus Berlin
Michael

Autor: Mathias R. (prinz77) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da muß ich mal meinen laienhaften Respekt bezollen.

Sehr schönes Projekt, sehr gut beschrieben. Das wird wohl eins meiner 
nächsten Projekte sein. Oder eher eines der ersten. Sowas kann man ja 
immer gut gebrauchen.

Also 10 Daumen für dieses schöne Projekt. Könnte man das nicht als 
Artikel hier einstellen, oder gibt es das schon und ich hab's überlesen?

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erst einmal danke für die Antworten...
ich würde gerne 32kx8 verwenden.

Wozu dient der nicht angeschlossene PB3?

Gruß
Patrick

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Shift_Data Shift_Clock von der SPI werden eigentlich auch nicht 
benötigt?
Oder habe ich die 3 Signale irgendwo verlohren?

Gruß
Patrick

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

"habe fertisch"

Anbei das Ergebnis; alle Sachen diesmal der besseren Lesbarkeit wegen 
als PDFs.

Wie auch beim letzten mal würde ich euch bitten mal drüber zu sehen ob 
sich Fehler eingeschlichen haben (gerade die fehlenden 3 Signale)

Am Part 1 habe ich nichts mehr geändert.

Ist jetzt auf 16kx8 bzw. 32kx8 ausgelegt, wie auch beim Part 1 sind alle 
Teile bei Angelika zu bekommen.

Part 1: 160x100mm
Part 2: 100x100mm, so das beim Stecken der Eingang nach vorne schaut.
geplant habe ich das beides zusammen + Netzteil in das TEKO KL12 passt.

@Michael U. (amiga):
Wenn du willst kannst du das Ding auf deine Homepage draufpacken, um 
anderen u.U. die Arbeit zu ersparen.

Gruß
Patrick

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo sind den die PDF s?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Patrick Weggler schrieb:

> Shift_Data Shift_Clock von der SPI werden eigentlich auch nicht
> benötigt?
> Oder habe ich die 3 Signale irgendwo verlohren?

Nein, hast Du nicht verloren.
Data und Clock von den Schieberregistern sind nur rausgeführt für evtl. 
Erweiterungen, genauso der freie PB3.
Bei mir (Lochraster) sind sie bis jetzt nur auf dem Steckverbinder zum 
Teil 2.

Dort ist ja der Anscshluß nach draußen (Eingänge) und da sind eben noch 
ein paar Stifte mehr angedacht, um z.B. extern einen ADC oder aktive 
Probes oder was-auch-immer anzustecken.

Da gibt es schlicht noch nichts und da ich ja auf Lochraster den noch 
verbliebenen Platz auch einfach noch nutzen kann, ist auch noch unklar, 
ob oder was da passiert.

Externer Trigger und externer Takt ist auch angedacht usw.

Sicher ist nur, daß ich für mich am Teil mit dem AVR nichts mehr 
verändern werde.
Naja, fast nichts???
Wenn ich noch einen 32kx8 in 12 oder 10ns finde, werde ich vermutlich 
den 50MHz Quarzoszillator durch einen 80MHz ersetzen und den 20MHz durch 
einen 74ACT74 wie bei der Version mit dem Mega16 und schauen, ob 80MHz 
auch da stabil gehen.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

war wohl doch zu spät...

Anbei die Dateien

Gruß
Patrick

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen!

Michael U. schrieb:
> Wenn ich noch einen 32kx8 in 12 oder 10ns finde, werde ich vermutlich
> den 50MHz Quarzoszillator durch einen 80MHz ersetzen und den 20MHz durch
> einen 74ACT74 wie bei der Version mit dem Mega16 und schauen, ob 80MHz
> auch da stabil gehen.

Nur mal so zur Info:
Ich hab hier ein altes Acer-Mainboard aus dem Schrott gezogen (Chipsatz 
Ali 1531, für Pentium MMX, hat noch 'normale' Spannungsregler mit fetten 
Kühlkörpern drauf). Das sitzt doch tatsächlich ein Tag-RAM mit 10ns und 
5V Betriebsspannung drauf. Hab gar nicht gewusst, dass es diese 
Kombination gibt/gab.

Vielleicht brauchten die Chipsätze von Ali und evtl. auch Via etwas 
flottere Tag-RAMs als die Intel Chipsätze und diese Mainboards sind 
damit eine gute Quelle für socleh Bauteile.
Mein Asus T2P4 mit Intel Chipsatz (passend für die gleichen CPUs) hat 
nur ein 15ns Tag-RAM.

Man muss allerdings den SMD-Chip vom Board ablöten :-)

mfg
Harri

Autor: Thomas V. (thomasv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick Weggler schrieb:
> Hallo,
>
> war wohl doch zu spät...
>
> Anbei die Dateien
>
> Gruß
> Patrick

Hallo Patrick,

super Arbeit!
Würdest Du auch die Eagle Files zur Verfügung stellen?
Für die Leute (wie ich) die eventuell noch etwas verfeinern oder 
ergänzen möchten.

1000 Dank Patrick!
1000 Dank auch dem Threadstarter Michael für dieses einmalige Projekt!! 
Hut ab!

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

anbei die Files

Gruß
Patrick

Autor: Thomas V. (thomasv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genial!
Vielen Dank

Gruß
Thomas

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn wir genügend Leute zusammenbekommen würden könnte man die Platinen 
anfertigen lassen...
Bei Interesse bitte melden!
Habe noch nie eine Platine anfertigen lassen, daher: wo gut und günstig?

Gruß
Patrick

Autor: Guten Morgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

@Patrick Weggler

Hast du schon einen funktionsfähigen Prototypen von deinem Layout 
erstellt?

Gruß

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Guten Morgen schrieb:
> Hallo
>
> @Patrick Weggler
>
> Hast du schon einen funktionsfähigen Prototypen von deinem Layout
> erstellt?

Es kann mir zwar relativ egal sein, aber das würde ich auch dringend 
vorschlagen.

Mir sind zur Zeit bekannt:
meine Version mit Mega16 und 80Mhz, die spielt.
ein Nachbaau mit Mega16 und 80MHz, der noch ein Probleme hat.

meine Version mit Mega88 und 50MHz, die spielt.
die Version mit dem CPLD von Haral S., die prinzipiell spielt, aber noch 
nicht ganz fertig ist.

Mit 50MHz erwarte ich eigentlich keine Probleme, weil die Timings gerade 
noch so in den Grenzen liegen.
Bei 80MHz dürfte wohl generell etwas Glück bzw. Bauteilauswahl nötig 
sein.

Gruß aus Berlin
Michael

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahnsinns Projekt, BRAVO!

Eine Frage, welcher Lattice wird zum Einsparen der Logik-Steine 
verwendet?

Gruss
Kay

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

> Eine Frage, welcher Lattice wird zum Einsparen der Logik-Steine
> verwendet?

Ich habe einen M4A5 64/32-10 im PLCC-Gehäuse genommen weil man den so 
schön in einen Sockel stecken kann. Für SMD-Löten bin ich zu zittrig ;-)
Steht auch etwas weiter oben im Thread, zusamen mit der PLD-Logik.

mfg
Harri

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Harry,

der Tread ist halt schon etwas länger, da fehlte mir die Übersicht,
zumal ich nur die alten Lattice_isp's kenne.

Autor: Harald S. (harri)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Michael U. schrieb:
> die Version mit dem CPLD von Haral S., die prinzipiell spielt, aber noch
> nicht ganz fertig ist.

Ich bin mittlerweile einen Schritt weiter gekommen. Es sitzt jetzt ein 
Mega88-20 statt eines Mega8-16 drauf, womit ich die orginal-Firmware 
minilog28 ohne große Anpassungen nutzen kann. Dann hab ich jetzt auch 
Grabberchen dran und von 40 auf 50MHz getunt. Ach ja, der 74F74 ist auch 
weggefallen. Damit sitzen jetzt nur noch 4 ICs und 2 Oszillatoren auf 
meiner Platine :-)

Der FTDI232 liegt noch rum und wartet dass ich eine Platine ätze. 
Deshalb hab ich erstmal nur einen MAX232 dran und lasse das ganze mit 
115200bps laufen. Funzt mit der aktuellen Software prima.

Falls es interessiert - Schaltplan, aktuelle CPLD-Sourcen und Bildchen 
anbei. Der Screenshot zeigt einen mit 25MHz getakteten HCT4040, Kanal0 
zeigt die 25MHz vom Eingang des Zählers.

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

fein. :-))

Ich habe gerade mal meine 74ACT161 nach dem Datenblatt auf Lookahead 
Carry umverdrahtet. Irgendwie fehlte diese Passage in meinem 
ursprünglichen Datenblatt.
Der Hinweis stammt aus
Beitrag "Bitte einmal über DSO Schaltplan schauen"

Bis jetzt nur kurzer Test (mit 50MHz 74HC4040 :-)), war wohl das 
Tüpfelchen auf dem I. Sowohl mit Winbond als auch mit UMC 32kx8 15ns 
stabil!

Ich werde das noch etwas testen und dann die Änderung auf die Webseute 
stellen. Nun ist allerdings in meiner Version der 4. Mux-Eingang belegt, 
der sollte eigentlich extern Clock werden...
Naja, ein Pin hat mein Mega88 ja noch frei.

Gruß aus Berlin
Michael

Autor: Patrick Weggler (pw-sys) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sobald Michael den Schaltplan mit den Änderungen online stellt werde ich 
das Layout anpassen.
Ich werde sobald die Änderung eingepflegt ist bei Reichelt die noch 
fehlenden Teil bestellen und das Layout mal zu Kupfer bringen...

Gruß
Patrick

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kurze Zwischenfrage: Sehe ich das richtig, dass man durch Verwenden 
eines 74245 (bidirektionaler Bustreiber) statt des 74541 - plus 
zusätzliche Steuerleitung für Richtungsauswahl - die Hardware auch als 
Pattern-Generator verwenden könnte?

Gruß
Andreas

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

niemand hindert Dich, das ao zu machen...
Im AVR-Source wäre nur eine neue Funktion einzubinden.
Wenn die Pattern frei vom PC kommen sollen, kann man da ein ein 
einfaches Transferprogramm schreiben.

Gruß aus Berlin
Michael

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab' mir nun auch einen gebaut :-)

Variation:

- 16 Kanäle a 32k Samples
- Software-USB von obdev.at, da ein FTDI-Chip das mit Abstand teuerste
  Bauteil gewesen wäre
- ausschließlich externer Trigger
- atmega8515, da im PLCC-44-Sockel sehr platzsparend auf Lochraster

Ein paar Erkenntnisse:

- Software-USB schafft bei mir 8kB/s;  Bei 64kB Samplespeicher sehr
  grenzwertig... Komprimierte Übertragung steht also als nächstes auf
  meiner TODO-Liste
- Mit 74HC aufgebaut schafft mein Analyzer nur 33 MHz :-/ Bei 40 MHz
  kommen nur noch Zufallsdaten aus den Adresszählern. Einzige
  Möglichkeit, mit den HC-chips Michaels ursprüngliche 50MS/s zu
  schaffen,  wäre wohl Interleaving einzusetzen.
- Bin ursprünglich auch in die Falle mit 'nem Asynchronzähler getappt.
  Das Ergebnis waren maximal 4 MHz. Hab' dann improvisiert, und die
  4040-Sockel als Buchse für die einkliche 161-Zählerplatine verwendet.

Die rechnerseitige Software besteht im Moment nur aus Shell-Skripten: 
Mit dem "usbtool" von obdev.at werden "Register" (z.B. Clock-Source) im 
Analyzer gesetzt, und der Speicher dann als Binärdumps ausgelesen. Ein 
Perl-Skript macht daraus  .vcd-Dateien, die man z.B. mit gtkwave 
betrachten kann.

Gruß
Andreas

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi nochmal,

ein kleines Update: Ich hab' nun in AC-Zaehler investiert; der Rest
meines Nachbaus ist immernoch in HC.  Nun laufen 66 MHz stabil.  Bei
80 springen die Zaehler nicht mehr an... Vermutlich ist nun das MUX am
Ende, da - wenn meine Rechnung stimmt - bei 66MHz bereits nur noch ein
Saegezahn mit 2,5 Vpp rauskommt :-)

Anbei als Appetitanreger fuer eventuelle Nachbauer noch ein
Bildschirmfoto von gtkwave beim Untersuchen aller 12 Ausgaenge eines
mit 66.667 MHz betriebenen 74HC4040. Das asynchrone Verhalten sieht
man bei den 66MS/s sehr schoen...

Danke an der Stelle an Michael fuer die Grundlagenforschung und gute
Dokumentierung. Ich hab' leider nicht so vorbildlich
dokumentiert... Einzige Innovation ist ja auch nur das Software-USB,
welches ich in der Variante mit Zener-Dioden an den Datenleitungen
verbaut habe (Details siehe <http://vusb.wikidot.com/hardware>).

Gruß
Andreas

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Hersteller verwendet ihr?
Philips spricht im Datenblatt 79MHz für HCT und 90 MHz für HC
Fairchild hingegen von garantierten 30 MHz und max 50 MHz

Es noch einen einen 74HC4060 ist ein 14 Bit Zähler dann könnte man noch 
mehr Speicher verwenden und wenn man die Bausteine mit etwas höherer 
Spannung laufen läßt bringt das auch noch einige nSek extra bei den 
Verzögerungen

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas O. (kosmos) writes:

> Welchen Hersteller verwendet ihr?
> Philips spricht im Datenblatt 79MHz für HCT und 90 MHz für HC
> Fairchild hingegen von garantierten 30 MHz und max 50 MHz

Reichelt lieferte mir fast alle Chips von SGS-Thompson, welche zwischen
50 und 63 MHz spezifiziert waren. Die Zähler kamen leider von TI, die
nur 35 MHz garantieren, und bei 40 MHz nicht mehr korrekt zählten. Ich
hab' dann meinen ganzen Mut zusammengenommen, und bei Farnell 74AC161
von Fairchild bestellt (125MHz typ.).

> Es noch einen einen 74HC4060 ist ein 14 Bit Zähler dann könnte man
> noch mehr Speicher verwenden

Vorsicht: Es sind hier aber nur die höchstwertigsten 12 Bit auf Pins
ausgeführt. Des weiteren ist es ein Asynchronzähler: Mit HC4040 von
Philips als Adresszähler für die SRAMs bin ich nur auf 4MHz
gekommen. Darüber wurden unschuldige Adressen überschrieben, weil das
asynchrone Weiterzählen länger dauerte, als die Periodendauer des
Sampletaktes...

> und wenn man die Bausteine mit etwas höherer Spannung laufen läßt
> bringt das auch noch einige nSek extra bei den Verzögerungen

Stimmt, jedoch bräuchte man dann eine externe Stromversorgung, und
gerade die Versorung über USB macht das Projekt IMHO so elegant.  Ich
hab' auch mit dem Gedanken gespielt, 24 statt 16 Kanäle zu verbauen, da
am atmega8515 noch ein Port frei war, aber da jeder Cache-Chip ein
ganzes Watt schluckt, und USB nur 2,5W hergibt, hab' ich die Idee
verworfen.

Michaels Idee, die Samplerate durch Interleaving zu verdoppeln, hört
sich da schon interessanter an, als 5% durch Betrieb mit 6V
herauszuschlagen.

Gruß
Andreas

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ansel schrieb:
> ein kleines Update: Ich hab' nun in AC-Zaehler investiert; der Rest
> meines Nachbaus ist immernoch in HC.  Nun laufen 66 MHz stabil.  Bei
> 80 springen die Zaehler nicht mehr an... Vermutlich ist nun das MUX am
> Ende, da - wenn meine Rechnung stimmt - bei 66MHz bereits nur noch ein
> Saegezahn mit 2,5 Vpp rauskommt :-)

Hast Du die AC161 mit lookahead carry beschaltet?
Das Beispiel ist nicht in allen Datenblättern angegeben...
http://www.fairchildsemi.com/ds/74%2F74AC161.pdf

> Anbei als Appetitanreger fuer eventuelle Nachbauer noch ein
> Bildschirmfoto von gtkwave beim Untersuchen aller 12 Ausgaenge eines
> mit 66.667 MHz betriebenen 74HC4040. Das asynchrone Verhalten sieht
> man bei den 66MS/s sehr schoen...


> Danke an der Stelle an Michael fuer die Grundlagenforschung und gute
> Dokumentierung. Ich hab' leider nicht so vorbildlich
> dokumentiert... Einzige Innovation ist ja auch nur das Software-USB,
> welches ich in der Variante mit Zener-Dioden an den Datenleitungen
> verbaut habe (Details siehe <http://vusb.wikidot.com/hardware>).

Naja, ein FTDI-Adapter liegt bei mir eigentlich immer rum und die 
500kBaud sind ja ganz brauchbar. ;)

Freut mich jedenfalls, daß das Konzept doch relativ beherrschbar ist.
Sieht man eben wieder, was man so alles als "Drahtverhau" machen kann.

Ich habe es leider noch nicht geschafft, die geänderte Schaltung auf die 
Webseite zu stellen...

Gruß aus Berlin
Michael

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hast Du die AC161 mit lookahead carry beschaltet?
> Das Beispiel ist nicht in allen Datenblättern angegeben...
> http://www.fairchildsemi.com/ds/74%2F74AC161.pdf

Ja, die Adapterplatine von 2*4040 auf 4*161 hab' ich gleich mit 
lookahead carry verdrahtet.

Gruß
Andreas

Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
versuche grad die Triggerlogik des Logicanalyzer zu verstehen, aber 
irgendwie kapier ich den effektiven Nutzen dieser Schaltung noch nicht 
ganz, kann mir da jemand helfen.


durch das Maskenbyte und die ODER-Verknüpfungen kann ich also quasi 
einzelne Bits der Daten ignorieren, ok
das ganze wird dann mit  dem Triggerbyte verglichen und wenns passt 
dann----->   <<<zeichne auf>>>>>......

kann es sein, dass das Masken und Triggerbyte invers angegeben werden 
müssen und  dann auch nur ein wechsel von "0" auf "1" eines bestimmten 
Bits erkannt wird.

ich möchte jetzt z.b. durch meine Triggerlogik erreichen das die 
Aufzeichnung startet, sobald Bit 1 "0" wird, egal was die anderen 7 Bits 
grad treiben.
Wie müsste ich dann Triggerbyte und Maskenbyte konfigurieren?

An sonsten echt tolles Projekt muss ich sagen! Wenn ich das mit der 
Triggerung kapiert hab, werd ich mich wohl auch mal an den Nachbau wagen 
:)

Gruß

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan,

die Triggerlogik funktioniert mit High oder Low-Pegeln. Eine Erkennung 
nach Flanken high ->low oder low->high findet gar nicht statt.

In deinem Beispiel stellst du also Bits 2-8 auf X. Diese Bits werden 
dann vom AVR in Maske und Triggerbyte auf high gesetzt, sind am HC688 
also immer passend.
Das Bit 1 setzt du in der Software auf low. Der AVR setzt dann Maskenbit 
1 auf low, also kommt beim oder-Gattter das hinten raus was am Datenbus 
anliegt.
Das Triggerbit 1 wird auch low, wenn jetzt das Datenbit 1 ebenfalls low 
ist, dann startet die Aufzechnung.

Was hier nicht geht ist z.B. folgendes: gemessen wird an einem 
Computersystem, Triggersignal soll die steigende Reset-Flanke sein. Also 
alles anderen ignorieren und beim Reset-Bit eine 1 rein.
Ergebnis: die Messung startet sofort, ich hab gar nicht genug Zeit noch 
fix auf Reset zu drücken.
Neuer Versuch: Reset-Bit auf 0 triggern.
Ergebnis: Messung schon startet beim Beginn des Resets und zeichnet eine 
inaktive CPU auf.
Mit einer Erkennung der steigenden Flanke wäre diese Aufgabe gelöst.

Wenn du alleine die Pegel betrachtest und die Flanken (sobald Bit 1 "0" 
wird) ignorierst, dann verstehst du die Triggerlogik besser.

mfg
Harri

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit!

Hat schonmal jemand versucht die minilog.exe unter dem Windows 7 RC1 64 
Bit zum laufen zu bringen?
Das Setup läuft nicht durch und die minilog.exe beschwert sich über eine 
fehlende comdlg32.ocx.

Irgendeine Idee wie ich die fehlenden Dateien auf mein Win7 bringe?

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

keine Ahnung, was Windows 7 davon hält, ich kann mal einen Bekannten 
fragen.

Ansonsten: die CAB-Datei entpacken (oder das .ocx im Netz suchen), kann 
prinzipiell auch im Minilog-Ordner bleiben, Dann zu Fuß registrieren.

unter XP waäre das
regsvr32 <Pfad\>comdlg32.ocx

Hab hier gerade was im Netz gefunden:
http://gbatemp.net/lofiversion/index.php/t147412.html

Gruß aus Berlin
Michael

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael

Michael U. schrieb:
> Ansonsten: die CAB-Datei entpacken (oder das .ocx im Netz suchen), kann
> prinzipiell auch im Minilog-Ordner bleiben, Dann zu Fuß registrieren.

Das hat nach der Anleitung in deinem Link geklappt. Zusätzlich musste 
ich auch die mscomm32.ocx aus deinem cabfile registrieren.

Ich hatte es zuvor schon so probiert, dabei aber die Dos-Box nicht als 
Admin geöffnet. Der explorer fragt in so einem Fall nach Erlaubnis, die 
Dos-Box nicht :-)

mfg
Harri

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollte noch mal DANKE an Harald S. sagen für die ausführliche Erklären 
der Triggerlogik, habs jetzt verstanden...:)

Autor: Karl-alfred Römer (karl-alfred_roemer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>50Ms/s AVR Logic-Analyzer ....  bei 20MHz AVR-Takt

Irgendwie kapiere ich nicht, wie die Samplerate höher sein kann, als der 
Prozessor- oder Mikrocontrollertakt. Werden da mehrere Samples parallel
übertragen und verarbeitet?

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> 50Ms/s AVR Logic-Analyzer ....  bei 20MHz AVR-Takt

> Irgendwie kapiere ich nicht, wie die Samplerate höher sein kann, als der
> Prozessor- oder Mikrocontrollertakt. Werden da mehrere Samples parallel
> übertragen und verarbeitet?

Das Aufnehmen der Samples besteht aus dem Hochzählen der Adresse für die 
SRAMs und dem Erzeugen des "write enable" Signals. Beides wird komplett 
in Hardware von den diskreten Logikbausteinen erledigt. Im Gegensatz zum 
AVR machen 74ACxxxx z.B. bis über 100MHz. Zum Auslesen wird der 
Adresszähler vom AVR dann im Schneckentempo getaktet. Details siehe 
Schaltplan :-)

Gruß
Andreas

Autor: Karl-alfred Römer (karl-alfred_roemer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch mal in eigenen Worten:_
Es werden externe AD-Wandler verwendet, die rasendschnell selbstständig
wandeln und die Sampleergebnisse ebenso schnelll intern speichern, um
sie dann irgendwann mal gemütlich dem Controller zu übergeben?

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es werden keine AD-Wandler benutzt da es sich um einen Logic-Analyzer 
handelt und nicht um eine Oszilloskop.

Autor: Andreas G. (andy1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ansel schrieb:
> Ein
> Perl-Skript macht daraus  .vcd-Dateien, die man z.B. mit gtkwave
> betrachten kann.

Hi,
sag mal, ist es möglich, dass ich dieses Perl Script bekommen könnte?
Ich versuche grade aus nem großen Logic Analyzer, den wir beim CCC 
stehen haben Daten rauszubekommen. Sobald ich das geschafft habe, wollte 
ich die ein wenig verwursten, um mir sie in GTKWave anschauen zu können.
Da könnte ich mir ein bischen was bei dem Teil abgucken.

Grüße,
Andreas

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei das gewünschte Perlscript...

usage: perl ./memdump2vcd.pl < foo.bin > foo.vcd

Die Zeitbasis kann mit der Umgebungsvariablen XDIV in Nanosekunden 
angegeben werden.

Nebenbei: Das VCD-Format ist in IEEE Std 1364-2001 standardisiert.

Gruß
Andreas

Autor: Cubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man vor dem Logik-Analysator so ein RS485-Chip setzen würde,

könnte man dann nicht USB-Signale bis 12Mbit/s mitloggen ?

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Cubi writes:
> Wenn man vor dem Logik-Analysator so ein RS485-Chip setzen würde,
> könnte man dann nicht USB-Signale bis 12Mbit/s mitloggen ?

Hmm, die Paketenden werden bei USB mit einer single-ended Null markiert. 
Was tut in dem Fall der RS485?

Also wenn ich meinen Analyzer mit dem 74HC541 direkt an seinen eigenen 
USB-Port (low-speed/1,5MHz) klemme, sieht der Mitschnitt einwandfrei aus 
(Anhang). Ich könnte mir aber vorstellen, daß das bei höheren Frequenzen 
problematisch wird. Aber vielleicht genügt es ja, die Bustreiber in der 
Version mit TTL-kompatiblen Logikleveln zu bestücken (HCT/ACT). Die 
sollten für 3,3V besser geeignet sein, oder?

Gruß
Andreas

Autor: Rainer Spam (cubi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das war von mir nur ein Schuß ins Blaue.
Mit RS485 habe ich noch nie etwas gemacht.
Die single-ended Null von USB kann man in dem Screetshot ja sehr schön 
sehen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ansel schrieb:
> Also wenn ich meinen Analyzer mit dem 74HC541 direkt an seinen eigenen
> USB-Port (low-speed/1,5MHz) klemme, sieht der Mitschnitt einwandfrei aus
> (Anhang). Ich könnte mir aber vorstellen, daß das bei höheren Frequenzen
> problematisch wird. Aber vielleicht genügt es ja, die Bustreiber in der
> Version mit TTL-kompatiblen Logikleveln zu bestücken (HCT/ACT). Die
> sollten für 3,3V besser geeignet sein, oder?

Mein 74ACT541 hat zumindest mit 3,3V Logiksugnalen keinerlei Probleme.
Die TTL-kompatiblen erkennen H ab ca. 1,6V, damit ist da eigentlich 
genug Reserve.

PS: würdest Du mir Deinen Schaltplan schicken oder hier reinstellen?
Mein Bekannter will auch 16 Kanäle aufbauen, allerdings mit meiner 
Triggerlogik für die unteren 8 Kanäle.
Hast Du die AVR-Firmware neu geschrieben oder nur meine umgebaut?

Müßte ich dann sowieso entweder meine VB-Software anpassen oder er 
benutzt Deine Scripte, das muß er selber wissen.

Noch ist er beim Löten...

Ich hoffe, demnächst endlich wieder etwas mehr Zeit zu finden, die 
VB-Software will ich ja sowieso noch erweitern.

Gruß aus Berlin
Michael

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
amiga writes:

> PS: würdest Du mir Deinen Schaltplan schicken oder hier reinstellen?
> Mein Bekannter will auch 16 Kanäle aufbauen, allerdings mit meiner
> Triggerlogik für die unteren 8 Kanäle.

Mein Schaltplan besteht leider nur aus 'ner Verdrahtungstabelle für den
AVR:
| atmega3515 | dir   |               |
|------------+-------+---------------|
| A0..7      | inout | bus#0 D0..7   |
| B0 (oc0)   | out   | MUX softclock |
| B1         | out   | WE-NAND       |
| B2         | out   | MUX addr      |
| B3         | out   | MUX addr      |
| B4         | out   | MUX addr      |
| B5 (mosi)  | in    | ISP-1         |
| B6 (miso)  | out   | ISP-9         |
| B7 (sck)   | in    | ISP-7         |
| C0..7      | inout | bus#1 D0..7   |
| D0 (RxD)   | in    | ISP-3         |
| D1 (TxD)   | out   | ISP-4         |
| D2 (int0)  | inout | USB D+        |
| D3 (int1)  | in    | ext. trigger  |
| D4         | inout | USB D-        |
| D5         | out   | SRAM OE       |
| D6         | out   | GATE OE       |
| D7         | out   | LED red       |
| E0 (int2)  | in    | XO/1024       |
| E1         | out   | LED yellow    |
| E2         | out   | LED green     |
| RESET      | in    | ISP-5         |

Die SRAMs wurden - bis auf den Datenbus natürlich - parallel
geschaltet. Der Rest wurde naheliegend nach Datenblättern bzw. Deinen
Plänen verdrahtet.

> Hast Du die AVR-Firmware neu geschrieben oder nur meine umgebaut?

Die Firmware hab' ich in C geschrieben. Ähnlichkeiten mit dem
USB-Besipielprojekt von obdev.at zum Schalten von LEDs[1] sind natürlich
rein zufällig :-). Ich hänge sie mal an...

Hier ein paar Beispiel-Shellbefehle. Die verwendeten magischen Zahlen
finden sich im Code in den enum{}s.
# clockmux einstellen:
usbtool -P "Logic Analyzer*" control out vendor endpoint 0 7 0

# "Aufnahmetaste" drücken:
usbtool -P "Logic Analyzer*" control out vendor endpoint 6 0 0

# Daten in 4kB-Häppchen abholen, da usbtool nicht mehr macht
for ((i=0; i<16; i++)); do
    usbtool -b -n 4096 -P "Logic Analyzer*" control in vendor endpoint 4 0 0;
done > data.bin

# "Live capture" in Terminal ausgeben
while : ; do echo -ne '\r' $(usbtool -P "Logic Analyzer*" control in vendor endpoint 9 0 0) ; done

HTH
Andreas

Footnotes:
[1]  http://www.obdev.at/products/vusb/prjdetail.php?pid=0

Autor: Bernd Geyer (bege)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

ich habe den LA auch nachgebaut, allerdings mit etwas geänderter HW:

- ATmega48 @20MHz
- RAM Takt 50MHz
- 32Kb Cache RAM, 17ns (ja so was gibt's auch !)
- alle Logik in einem Xilinx XC9572 PC44 CPLD
- MAX232 mit 38400 Baud (bei mehr ist die Kommunikation nicht stabil)

Läuft auch soweit schon, nur wird bei 50MHz nur etwa das letzte Viertel 
des RAMs beschrieben, der Reset ist 0xFF. Die angezeigten Daten in 
besagtem letzen Viertel sind plausibel und das RAM ist ja auch schnell 
genug. Bei 20MHz funktioniert alles ohne Probleme.
Es scheint mir, als ob der Atmega das Sampling zu früh beendet.

1.) Kann ich für oben genannte Kombination die vorhandenen Tabellen in 
avrstudio_minilog28.zip (akutelle Version auf Deiner Website) verwenden 
oder sind Anpassungen notwendig ?

2.) Wie sind die Tabellen aufgebaut ?
- Timer-Reload-Wert zur Erzeugung von Frequenzen kleiner 20MHz
- Rest-RAM Größe ?
- Wartezeit ?

Was haben die beiden letzten Werte für eine Bedeutung ?
Wie hängen diese Werte mit der Frequenz und der Speichergröße zusammen?

Gruß Bernd

Autor: Alex H. (hoal) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Geyer schrieb:
> Hallo Michael,
>
> ich habe den LA auch nachgebaut, allerdings mit etwas geänderter HW:
>
> - ATmega48 @20MHz
> - RAM Takt 50MHz
> - 32Kb Cache RAM, 17ns (ja so was gibt's auch !)
> - alle Logik in einem Xilinx XC9572 PC44 CPLD

Kannst du evtl. das CPLD-Design zur Verfügung stellen?

Viele Grüße,
Alex

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Bernd Geyer schrieb:
> ich habe den LA auch nachgebaut, allerdings mit etwas geänderter HW:
>
> - ATmega48 @20MHz
> - RAM Takt 50MHz
> - 32Kb Cache RAM, 17ns (ja so was gibt's auch !)
> - alle Logik in einem Xilinx XC9572 PC44 CPLD
> - MAX232 mit 38400 Baud (bei mehr ist die Kommunikation nicht stabil)
ok, da sollte es keine unlösbaren Probleme geben.
Ein MAX, der keine 115200 stabil macht? Ist zumindest mir noch nicht 
passiert...

> Läuft auch soweit schon, nur wird bei 50MHz nur etwa das letzte Viertel
> des RAMs beschrieben, der Reset ist 0xFF. Die angezeigten Daten in
> besagtem letzen Viertel sind plausibel und das RAM ist ja auch schnell
> genug. Bei 20MHz funktioniert alles ohne Probleme.
Deute darauf hin das, der Adresszähler irgendwelche Probleme hat und die 
oberen Stufen nicht mitzählern. War zumindest bei den 74ACT161 dann das 
gleiche Fehlerbild.
> Es scheint mir, als ob der Atmega das Sampling zu früh beendet.
Glaube ich weniger, das wäre schon aufgefallen.
Der AVR macht die schnellen Raten nur mit einer (taktgenauen) 
Warteschleife, nachdem Trigger erkannt wurde bzw. ab sofort, wenn kein 
Trigger gesetzt ist.
Der Pre-Samplewert legt ja nur fest, wie lange nach Start bzw. 
Triggerbedingung gewartet wird.
Bei kein Trigger und 0% Pretrigger dauert die Zeit also immer solange, 
wie zum samplen bei 50MHz gebraucht wird, maximal kann es ein paar 
Sample Fehler geben, weil die Auflösung des AVr ja kleiner ist ist als 
die 20 oder 50MHz Sampletakt.
>
> 1.) Kann ich für oben genannte Kombination die vorhandenen Tabellen in
> avrstudio_minilog28.zip (akutelle Version auf Deiner Website) verwenden
> oder sind Anpassungen notwendig ?

50MHz bei 20MHz AVR-Takt ist meine ursprüngliche Version und die stimmte 
(mit an Sicherheit grenzender Wahrscheinlichkeit ;-)), das hätte sonst 
schon bemerkt.

> 2.) Wie sind die Tabellen aufgebaut ?
> - Timer-Reload-Wert zur Erzeugung von Frequenzen kleiner 20MHz
> - Rest-RAM Größe ?
> - Wartezeit ?
Die Tabelle in definitionen mit den Taktwerten
.equ  CLK_20M      = 0    ; -> 100ns
.equ  CLK_10M      = 0    ; -> 100ns
.equ  CLK_5M      = 1    ; -> 200ns
sind direkt die Werte für den Counter des AVR, um im CTC-Mode den Takt 
zu erzeugen.
Bei 20 und 50MHz werden die ignoriert.

In der Tabelle werden gesetzt:
 .dw CLK_20M          ; 1    20MHz ->   50ns
 .dw BUF_LEN_MAX / 10 ; Rest-Zähler für vollen Bereich
 .dw 1                ; Warteschleife, 20 Takte, -> 1MHz

1. Der Takt für den CTC-Mode

> Was haben die beiden letzten Werte für eine Bedeutung ?
> Wie hängen diese Werte mit der Frequenz und der Speichergröße zusammen?

2. Die "virtuelle" Anzahl Bytes, die in den Speicher passen.
Virtuell deshalb, weil ein Durchlauf der AVR-Schleife für die Zählung 10 
Takte benötigt, das sind 2MHz für die Zählroutine im AVR. Bei 20MHz 
externem Clock und 32768 Byte Ram ist der also nach 32768/10 
(20MHz(ext)/2MHz(AVR) komplett voll.
Ab da, wo der AVR es schafft, schnell genug mitzuzählen (also 2MHz und 
langsamer) gibt es keine Korrektur mehr.

Der 3. Wert ist die Warteschleife zwischen 2 Samples bei kleineren vom 
AVR erzeugten Sampleraten.
Ich zähle nicht die CTC-Takte, sondern warte einfach Taktgenau, ist ja 
syncron zueinander und ich brauchte nicht 2 Varianten für schnelle und 
langsame Sampleraten.

Kontrolliere mal vorsichtshalber, ob die MUX_Tabelle
.equ  MUX_INT      = 0b00000000
.equ  MUX_20MHZ    = 0b00000100
.equ  MUX_50MHZ    = 0b00001000
.equ  MUX_EXT      = 0b00001100
zu Deiner Beschaltung passt, ich hatte da so oft bei mir umgebaut, das 
ich da immer im Zweifel bin.....

Wenn Du was da hast, kannst Du auch messen, wie lange die Samplefreigabe 
bzw. das Enable des Eingangsbuffers aktiv sind. Das muß zeitlich zu 
50MHz und Ramgröße passen.

Eigentlich sollte ja längst noch ein Update der Homepage passieren, 
allerdings ist meine Zeit etwas knapp und außerdem hat mein Bekannter 
seine Version inzwischen zusammengelötet (Mega88, 32k Ram, bis 80MHz 
Takt) und prompt noch ein paar Fehler gefunden, die ich in die Software 
beim Ändern eingebaut habe...

Das muß ich erstmal korrigieren un dmit ihm testen.

Das betrifft aber NICHT die Version von der Webseite, die läuft bei mir 
ohne bekannte Fehler mit diesen Tabellen bei 50MHz und 20MHz AVR-Takt.

Gruß aus Berlin
Michael

Autor: Bernd Geyer (bege)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

danke für die Erläuterung der Tabellenwerte und den Tipp mit dem 
Multiplexer!
Das war's natürlich, die Select-Eingänge paßten nicht zu der vom ATmega 
gewünschten Sample-Frequenz! Da hätte ich auch selbst draufkommen können 
:-(

Ein Timingproblem der Adressleitungen kann ich ausschließen, das CPLD 
ist schnell genug. Jetzt muß ich mir nur noch ein entsprechendes 
Cache-RAM besorgen und die 80MHz sind geknackt ;-)

Zum Thema MAX232:
Der hängt über einen RS232-USB Wandler am USB1.1 meines Notebooks.
Ich habe zwei unterschiedliche Varianten von verschiedenen Herstellern, 
der eine rennt noch nicht mal mit 38400 Baud sauber, der andere macht 
nur bei höheren Baudraten Probleme und 'verschluckt' gerne die ersten 
oder letzten Zeichen der Übertragung.

Wie dem auch sei, mein Nachbau funktioniert nun soweit und das reicht 
mir (erst einmal).

Gruß und Danke
Bernd

Autor: Robert B. (robertb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Würde auch gerne eine "aktuelle Version" des LA nachbauen. Dabei 
interessiert mich vor allem die Version mit CPLD. Kann evtl. jemand mal 
eine kurze Stückliste nennen?

Welchen CPLD sollte man idealerweise kaufen wenn man ihn eh nicht in der 
Grabbelkiste hat? Wie bekommt man den CPLD programmiert?

Welche Latches? HCT, ACT?

Hat jemand mal überlegt anstelle der 486/586 Cache-RAMs RAMs aus einem 
Pentium II Slot1-Modul zu nehmen? Die sind mit 4,4ns - 7ns nochmal 
schneller (und evtl. größer).

Vielen Dank!

Gruß
Robert

Autor: Bernd Geyer (bege)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Robert,

meine Stückliste sieht z.Zt. so aus:

- 80MHz Oszi
- ATMega48 @ 20MHz (eigenes Quarz)
- Cache-RAM 32k*8  (leider z.Zt. nur 17ns)
- 74HC245          als Eingansbuffer
- z.Zt. noch MAX232 als RS232 Treiber

XC9572XL-10 CPLD (ja ich weiß, ist nur ein 3,3V Typ aber mit 5V 
tolleranten I/Os)
Kostet z.B. beim großen R im plcc44 Gehäuse 3,40EUR.
Die 3,3V sind unkritisch und man kann sie von den 5V mit 2 in Reihe 
geschalteten 1N4148 'erzeugen'. (Für die Kritiker: Nicht die feine 
englische Art, funktioniert aber! Ich hatte halt keinen 3,3V LDO Regler 
da. Und laut Datenblatt verkraftet das CPLD bis zu 4V absolutes max)

Das CPLD ist zu ca. 60% belegt. Ich bin gerade dabei, die Trigger-Logik 
zu erweitern (Externer Trigger konfigurierbar auf High/Low Pegel, ect.)
Außerdem spiele ich mit dem Gedanken, das Ganze auf 16 Kanäle zu 
erweitern (was 2 weitere 74hc245 + Cache-Ram bedeuten würde). Leider 
gehen mir die freien Pins am CPLD aus.

Zum Programmieren des CPLDs bietet sich die freie Webpack-SW von Xilinx 
an. Ein Programmieradapter ist auch nicht aufwendig zu bauen (such' mal 
nach xilinx jtag cable)

Natürlich kann man auch CPLDs von anderen Herstellern nehmen, man sollte 
aber vorher ausprobieren (mit der Entwicklungssoftware des Herstellers) 
ob alles reingeht.

Cache RAMs aus 'neueren' Rechnern sind meistens SMD bzw. 16 oder 32 Bit 
breit. Aber prinzipiell kann man die schon nehmen. Das bedeutet 
natürlich auch einen breiteren Daten/Adressbus, wofür man wieder mehr 
Pins am CPLD benötigt.

Wenn meine Umbauten und Erweiterungen fertig sind, kann ich hier ja mal 
Schaltplan/VHDL/µC-Software posten.

Gruß Bernd

Autor: Robert B. (robertb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Um mal die Idee des Pentium 2 Cache zu beleben: Habe heute einen Slot1 
Pentium geopfert und ihm beide Cache-Chips per Heißluft entrissen. Die 
Bezeichnung lautet TC55V2377AFF-250.

Leider finde ich nur das Datenblatt für den TC55V2325FF-100. Dieser hat 
64k words x 32 bits und scheint auch Pinout-mäßig mit dem im Slot1-Modul 
verbauten Chip zu 99% identisch zu sein. Die Kapazität passt auch, der 
Pentium II ist mit 2 Cache-Chips mit 512 KB angegeben.

Wenn das Bezeichnungsschema stimmt sollte der Speicher mit bis zu 250 
MHz laufen. Zudem ist ein interner Burstmode verfügbar der die letzten 2 
Bits inkrementieren kann.

Gruß
Robert

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Geyer schrieb:

> Wenn meine Umbauten und Erweiterungen fertig sind, kann ich hier ja mal
> Schaltplan/VHDL/µC-Software posten.
>

das wäre nett :) Habe noch paar XC9572XL-5 die "benutzt werden möchten".

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael U, sind die Verbesserungen jetzt Online auf deiner HP 
verfügbar?

Autor: Bernd Geyer (bege)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie angekündigt stelle ich hier meine Modifikationen bzw. den Umbau der 
Schaltung (80MHz Variante) auf ein XILINX XC9572 CPLD zur Verfügung.

Die Zip-Datei enthält die (geänderten) Sorucen für's CPLD und den µC, 
Schaltplan und ein Readme.

Die Original-PC-Software von Michael unterstützt die neuen Featrues 
leider (noch) nicht. Trotzdem kann man die PC-Soft mit der modifizierten 
HW benutzen (eben halt nicht alle Features).

Der Schaltplan und die µC-Software sind schon auf 16 Kanäle vorbereitet, 
ich werde in den nächsten Tagen den Schaltplan für das Aufsteckboard 
(Erweiterung auf 16 Kanäle) hier bereitstellen.

@Michael:
Könntest Du mir Deine PC-Sourcen per PM schicken. Ich würde dann die 
notwendigen Erweiterungen einbauen.

Gruß Bernd

Autor: Thomas V. (thomasv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd, würdest Du ggf. die original Eagle Daten zur Verfügung stellen?

Vielen Dank!
Gruß
Thomas

Autor: Bernd Geyer (bege)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

anbei die Eagle-Dateien und der Schaltplan für die 16-Kanal-Erweiterung.

Bisher gibt's noch keine SW-Unterstützung für die 16 Kanäle.

Gruß Bernd

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd,

vielleicht könntest du anstatt minila z.b. microla, superla, was auch 
immer, "minila" ist ein bekanntes LA, so ist namenswahl vielleicht etwas 
verwirrend.


gruss

Thomas

Autor: Theo Sieber (tefi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich interessiere mich auch für einen Nachbau. Hat jemand schon ein Print 
in Auftrag gegeben und könnte ich mich da anschliessen?

Gruss, Tefi

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hat jemand die 50MHz-Version mit 28-poligem AVR aufgebaut und den 
externem Takteingang zum laufen bekommen?

Ich kann den externen Clock in der PC-Software gar nicht auswählen,
obwohl er ja in der AVR-Firmware und im Schaltplan vorgesehen ist.
Und Michael ist per Mail dummerweise nicht erreichbar :-(

mfg
Harri

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sorry das ich so schweigsam war, bin zur Zeit ein wenig mit Krankheit 
gestraft (nein, keine Schwein... ;-)).

Ich schicke morgen die VB-Sourcen rau7s an die, die angefragt hatten.
Außerdem baue ich den Extern-Clock schnell mal ein, der ist z.Z. einfach 
nicht da...

Gruß aus Berlin
Michael

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

danke für's einbauen und gute Besserung.


mfg
Harri

Autor: Henk Stegeman (snhstq)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,

Hi Michael,

(Sorry in English)

I have built your Minilog40 design.

I made the following change to your design to save space:
- I implemented the 7474 and 74161's in an FPGA (EPM7064)
- added an extra 74161 (in the FPGA), to extent the RAM
  addressing range to 15 bits. (32kb)
- change the SRAM to an 32kx8 type.
- some changes in the firmware to make it all work.

The USB-RS232 pcb at the right side of the PCB
and the 20Mhz Xtal is underneath it.

I would like to receive a copy of the VB source.
I want to make a full english version and maybe add some enhancements 
which I will share with you.

Many thanks !

Henk
Netherlands

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
To Henk:

Yay, another protoboard artist.  I'm really curious about the
wiring... May we see a picture of the dark side as well?

To everyone (translation below):

I spend some thoughts on interleaving: The only way I see so far is
using a second address counter running with the inverted clock.  Does
anyone see a more elegant way to achieve the phase shifted recording?

Btw, I've really enjoyed using my analyzer since I built it half a year
ago.  Super convenient for reverse engineering USB devices to use them
with free software.  I've yet to come across a signal it doesn't digest
nicely.  E.g., attached is an ethernet frame on a 10Base2 wire
(-2.5Vpeak), hooked up using nothing but a 100nF capacitor in front of
the 74HCT541.  I highly recomment building one if you haven't already.

In german:

Ich hab' mir ein paar Gedanken zum Interleaving gemacht: Die einzige
Möglichkeit, die ich derzeit sehe, ist, einen zweiten Adresszähler mit
invertiertem Takt zu betreiben.  Sieht jemand vielleicht einen
eleganteren Weg, die phasenverschobene Aufnahme zu erreichen?

Nebenbei: Mein Analyzer hat sich im letzten halben Jahr als sehr
nützlich erwiesen.  Sehr praktisch zum reverse-engineeren von
USB-Geräten zur Verwendung mit freier Software.  Ich hab' bisher noch
kein Signal gefunden, dass er nicht korrekt verarbeiten konnte.  Im
Anhang ist z.B. ein Ethernet-Frame von einer 10Base2-Leitung
(-2.5Vspitze), einzig durch einen 100nF-Kondensator vom 74HCT541
getrennt.  Ich kann den Nachbau nur empfehlen.

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Auf eine elegantere Lösung zum Interleaving bin ich noch gekommen: Man 
speichert die Adresse in zwei Latches zwischen (Anhang).

Vielleicht lohnt es hier auch, die Datenbusse passend zu entkoppeln, um 
z.B. flexibel 8 Kanale @ 160MS/s und 16 Kanäle @ 80MS/s mit der gleichen 
Hardware zu unterstützen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ansel schrieb:

> Ich hab' mir ein paar Gedanken zum Interleaving gemacht: Die einzige
> Möglichkeit, die ich derzeit sehe, ist, einen zweiten Adresszähler mit
> invertiertem Takt zu betreiben.  Sieht jemand vielleicht einen
> eleganteren Weg, die phasenverschobene Aufnahme zu erreichen?

Da zumindest mit den von mir benutzten Rams die Laufzeiten der Zähler 
schon an der Grenze sind und die Zykluszeit der Rams schon etwas 
außerhalb des Datenblattes, dürfte es die einzige Mglöichkeit sein.
Die Idee ist reizvoll, der Mehraufwand von 1x Ram + 4x 74ACR161 würde 
das Teil auf 160 MHz Samplerate bringen... Hmmmm...

Gruß aus Berlin
Michael

Autor: snhstq (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ansel,

See attached jpg.
I use a sort of transformer wire.
The isolation melts away at 300+ C while soldering.

I works perfect and the result is nice.

Regards Henk

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
snhstq writes:

> I use a sort of transformer wire.
> The isolation melts away at 300+ C while soldering.

Elm-Chan is my idol as well[1], although I have to admit that your
soldering job looks much better than mine[2].  Luckily, I can blame
it on the lead-free solder :-).

Michael U. writes:

> Die Idee ist reizvoll, der Mehraufwand von 1x Ram + 4x 74ACR161
> würde das Teil auf 160 MHz Samplerate bringen... Hmmmm...

Weitere Vorteile:
- Selbst mit den "langsamen" 20ns-SRAMs sind 100 MS/s drin.
- Verdopplung der Sampleanzahl pro Kanal.

Probleme:

- 16-Kanal ist über USB-Stromversorgung (2,5 Watt) nicht mehr
  machbar (1 Watt pro chip)[3]

Noch eine Idee zur Implementierung: Die SRAMs sollte man über CS
statt WE takten.  Laut allen mir vorliegenden Datenblättern wird das
unterstützt.  Das hat dann folgende Vorteile:

- Man benötigt keine externe NANDs mehr; es werden quasi die
  internen zwischen CS und WE/OE verwendet.  Bei ausschließlich
  externem Trigger ist somit kein 7400 mehr erforderlich.

- Für's Auslesen ist keine zusätzliche Steuerung nötig.

Ich hätte leider frühestens ab April Zeit, mich an einem Prototypen
zu versuchen.  Würde ja zu gerne jetzt schon die Performancekrone an
mich reissen :-).

Gruß
Andreas

Footnotes:
[1]  http://elm-chan.org/docs/wire/wiring_e.html

[2]  http://www.mikrocontroller.net/attachment/56584/hc...

[3]  Ich muss zugeben, dass ich die 16 Kanaele meines Analyzers bisher
nur zweimal benutzt habe: An einer HP-IB-Schnittstelle, und an
meinem HM-205-3 (beidemale 8 Datenleitungen + Steuerleitungen).
Aber auch bei seriellen Bussen sind die beiden Kanaele nuetzlich:
Man kann sie mit unterschiedlichen Eingangstreibern bestücken
(z.B. ACT und AC).  Bei 8 Kanälen werde ich wohl einen der
Pollin-Textool-Sockel dafür verbauen.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ansel schrieb:
> Probleme:
>
> - 16-Kanal ist über USB-Stromversorgung (2,5 Watt) nicht mehr
>   machbar (1 Watt pro chip)[3]
Muß ich mal messen, ich habe 140mA in Erinnerung bei den 32kx8.

> Noch eine Idee zur Implementierung: Die SRAMs sollte man über CS
> statt WE takten.  Laut allen mir vorliegenden Datenblättern wird das
> unterstützt.  Das hat dann folgende Vorteile:
Nach meinen Datenblättern ist die Zugriffszeit über /CE fast doppelt so 
hoch wie über /WE, auch da muß ich genauer schauen.

> - Man benötigt keine externe NANDs mehr; es werden quasi die
>   internen zwischen CS und WE/OE verwendet.  Bei ausschließlich
>   externem Trigger ist somit kein 7400 mehr erforderlich.

> - Für's Auslesen ist keine zusätzliche Steuerung nötig.
Die würde mich am wenigsten stören. Das ist außer etwas höherer Last 
durch zusätzliche Bustreiber vom Timing her unkritisch. Der AVR kann da 
so langsam lesen, wie nötig.

> Ich hätte leider frühestens ab April Zeit, mich an einem Prototypen
> zu versuchen.  Würde ja zu gerne jetzt schon die Performancekrone an
> mich reissen :-).

Naja, ich muß mir das mal ganz langsam auf der Zunge zergehen lassen und 
meine Bestände prüfen und passend ergänzen....

Gruß aus Berlin
Michael

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
> Nach meinen Datenblättern ist die Zugriffszeit über /CE fast doppelt so
> hoch wie über /WE, auch da muß ich genauer schauen.

Hmm, das wäre natürlich tödlich... Ich hab' meine Datenblätter nochmal 
durchforstet, und da gibt es tatsächlich teilweise unterschiedliche 
Zeiten, die mir nicht aufgefallen sind. Interessanterweise ist auch ein 
Chip dabei, bei dem der CE-Puls kürzer als der WE-Puls sein darf.  (hab' 
auch mal den Stromverbrauch abgetippt):

|                 | CE pw [ns] | WE pw [ns] | I [mA] |
|-----------------+------------+------------+--------|
| mos 62256-20    |         15 |         12 |    200 |
| mos 62256-15    |         10 |         12 |    200 |
| asi mt5c2568-12 |         10 |         10 |    190 |
| asi mt5c2568-15 |         12 |         12 |    180 |
| asi mt5c2568-20 |         15 |         15 |    170 |
| et 51256c-10    |         10 |         10 |    195 |
| et 51256c-12    |          9 |          8 |    195 |
| et 51256c-15    |         10 |         10 |    150 |
Stromverbrauch jeweils bei f=MAX und "Outputs Open"

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo euch allen,
ich finde das Projekt total klasse.
Könnt Ihr mir sagen wo ich die neusten Unterlagen,
wie Source, Software und Schaltplan finde?

Kann ich mit dem Logic-Analyzer auch die Daten erkenn die auf einer 
Leitung versendet wurden? Natürlich muss ich das Signalformat 
Kennzeichnen.

Danke Martin

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:
> Könnt Ihr mir sagen wo ich die neusten Unterlagen,
> wie Source, Software und Schaltplan finde?

Das hängt davon ab, wie du "neusten" definierst: Wenn du ohne CPLD 
auskommen willst, ist wohl auf Michaels Homepage die umfangreichste 
Dokumentation.  Andererseits wurden im Thread einige zip-Dateien 
gepostet, die komplette Lösungen mit CPLD enthalten.

> Kann ich mit dem Logic-Analyzer auch die Daten erkenn die auf einer
> Leitung versendet wurden? Natürlich muss ich das Signalformat
> Kennzeichnen.

Meinst du damit die Analyse von Protokollen durch die Software?  Ist 
meines Wissens noch nicht implementiert, aber mit grundlegenden 
Programmierkenntnissen solle man das bei Bedarf leicht nachrüsten 
können...

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei noch eine Idee zur Erzeugung der Adressen für Interleaving.  Man
verwendet linear rückgekoppelte Schieberegister[1], um eine Folge mit
2^{15}-1
 Adressen zu erzeugen.

Vorteil: Nur fünf dil-14 ICs.  Nachteil: Man ist mit der Hardware auf
32k-SRAMs angewiesen.  Zur Verwendung mit z.B. 8kB-SRAMs wäre eine
andere Rückkopplung nötig.

Footnotes:
[1]  http://en.wikipedia.org/wiki/LFSR

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nach der ganzen Interleaving-Designarbeit konnte ich dem Fädelstift in
der Schreibzeugtasse nicht länger widerstehen :-).

Leistungsdaten:
- stabile 160 MS/s bei 4.4V aus dem USB
- 64k Samples pro Kanal
- 8 Kanäle
- ausschließlich externe Triggerung
- Software-USB

Anbei der obligatorische 74hc4040-Test.  Diesmal sind Dank der
Sampledauer im einstelligen Nanosekundenbereich sogar alle propagation
delays zu sehen.

Die Schaltung entspricht fast exakt meinen letzten Posts. Das zweite XOR
zum Initialisieren des Adressgenerators hab' ich verschoben, um
propagation delays zu minimieren. Damit sollte man dann Adressen mit der
Maximalfrequenz der Schieberegister erzeugen können, und auch mit einem
reinrassigen 74HC-Aufbau und "lahmen" 20ns SRAMs ansehnliche 100MS/s
hinbekommen.

Die Steuerung der SRAMs via Chip-Select funktioniert hier einwandfrei.
Vor eventuellem Nachbauen der CS-Steuerung bitte auf alle Fälle in's
Datenblatt der vorhandenen SRAM-Chips schauen; es scheint da bei manchen
Chips Performanceunterschiede gegenüber der Steuerung via WE zu geben...

Ich hab' diesmal etwas disziplinierter dokumentiert.  Einige
offensichtliche Details fehlen jedoch noch im angehängten Plan
(Spannungsversorgung, USB-Beschaltung).

Ich hab' wieder Software-USB verwendet, womit die Hardware wieder
inkompatibel mit Michaels Software ist. Falls jemand einzelne Aspekte
des Designs übernehmen will, hier noch ein paar firmwaretechnische
Hinweise:

- Das Interleaving ist einfach zu erschlagen: Man liest einfach nach
  jeder Flanke den Bus, statt nach jeder zweiten.

- Der Schieberegister-Adressgenerator muss aus dem Nullzustand gebracht
  werden.  Dazu klingelt der AVR einmalig über das zweite XOR eine eins
  rein.  Danach erzeugen die Schieberegister durch die Rückkopplung
  zyklisch eine Folge von 32767 Adressen (alle ausser der Null).

Autor: AVRnix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ansel : Könntest du den Schaltplan grösser einstellen man sieht kaum 
was.
Klasse Arbeit!!

Autor: tipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVRnix schrieb:
> Könntest du den Schaltplan grösser einstellen man sieht kaum
> was.

PDF abspeichern und reinzoomen. Das geht beim PNG natuerlich schief.

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich hab mir auch mal ein paar Gedanken zu einer Lösung mit Interleave 
gemacht. Das ganze setzt einen CPLD mit 40-50 IOs und genug Makrozellen 
voraus. Der 44-polige M4A5 auf meinem jetzigen LA reicht schonmal nicht 
aus. Separat aufgebaut dürften es recht viele ICs werden.

Das ganze ist noch nicht in Hardware gegossen und als Anregung zu sehen.

Ziel wäre die beiden RAMs für Interleave mit 8 Kanälen und doppelter 
Abtastrate zunutzen und alternativ (per Software wählbar) auch 16 Kanäle 
bei einfacher Rate zu haben. Wenn man schon zwei RAMs verbaut hat, dann 
sollte man sie auch beliebig nutzen können.
Datenbus 0 mit Bit 0-7 hängt am AVR, am RAM0 und dem CPLD.
Datenbus 1 mit Bit 8-15 hängt am RAM1 und CPLD.
Es gibt nur einen gemeinsamen Adressbus für beide RAMs.

Die Cache-RAMs speichern mit der steigenden WE-Fanke, weder für Adressen
noch für Daten ist eine hold-Time nötig, nur die setup-Times sind
einzuhalten.

Speicherbetrieb mit 16 Kanälen, einfacher Takt:
- CPLD gibt das gleiche WE-Signal an beide RAMs
- Trigger kann für alle 16Bit genutzt werden, es liegen eh alle Signale 
am CPLD an und ob der 8 oder 16 Bit vergleicht ist wurscht

Speicherbetrieb mit 8 Kanälen, doppeltem Takt:
- nur Datenbus 0 ist aktiv, der Eingangspuffer von Bus 1 ist 
abgeschaltet. Dazu wird das Signal IN_SELECT durch den CPLD geführt, 
statt direkt vom AVR zum Eingangspuffer.
- Trigger ist nur für Bus0 aktiv
- CPLD gibt das wieder gleiche WE-Signal an beide RAMs
- CPLD latcht die Daten vom Bus0 mit der fallenden Flanke und gibt sie
auf Bus1 aus. Das Timing sollte kontrollierbar sein, da alles innerhalb 
des CPLD abläuft.

Auf diese Weise liegt das Signal, welches während der fallenden 
Taktflanke am Eingang lag während der steigenden Flanke immer noch am 
RAM1 an und wird darin gespeichert.

Das Auslesen kann auf verschiedenen Wegen ablaufen:
- Option 1: CPLD zählt die Adresse nur bei jedem zweiten Impuls hoch, 
erst wird D0-7 vom AVR direkt gelesen, danach verbindet der CPLD als 
Puffer die beiden Datenbusse und der AVR liest RAM1 aus.
- Option 2: CPLD zählt die Adresse bei jedem Impuls hoch, nachdem RAM0
komplett gelesen wurde, verbindet er die Datenbusse und das RAM1
wird auch in einem Rutsch ausgelesen.

Die Umschaltung zwischen den beiden Modi erfolgt über ein config-Byte, 
welches als drittes Schieberegister im CPLD sitzt. Auf diese Weise sind 
am AVR nur zwei Pins nötig um die 16 Bit Triggermaske und das 
Config-Byte in den CPLD zu laden.

Der Grundgedanke ist also gar keinen zweiten Adressbus zu haben, sondern 
nur die 8 Bit Daten so lange zu speichern, bis sie von beiden RAMs 
gemeinsam gespeichert werden können.

So, und jetzt sagt mir bitte wo ich den Denkfehler drin habe. Das ganze 
hört sich irgendwie zu einfach an ;-)


mfg
Harri

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harri schrieb:
> Der Grundgedanke ist also gar keinen zweiten Adressbus zu haben, sondern
> nur die 8 Bit Daten so lange zu speichern, bis sie von beiden RAMs
> gemeinsam gespeichert werden können.
>
> So, und jetzt sagt mir bitte wo ich den Denkfehler drin habe. Das ganze
> hört sich irgendwie zu einfach an ;-)

Ich hatte da bei der 74xx-Lösung Angst, daß ich mir durch Samplen nur
einer Periodenhälfte per Latch Asymmetrien einfange.  Bei symmetrischem
Aufbau durch mehrere Latches braucht man dann wieder mehr Platz als die
2*14 Pins, die der zweite Adressbus bei Verwendung von LFSRs kostet.

Im CPLD sieht die Welt vielleicht anders aus, und das Problem stellt
sich nicht (konfigurierbare timings), oder man kann es mit vertretbarem
Aufwand lösen (Extralatches passen noch rein).

Autor: Andreas I. (haeppchen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal...

ich habe mir den Logik Analyzer schon eine Weile angesehen aber nie 
nachgebaut, weil ich irgendwie um das Routing rumkommen wollte und auf 
einen Lochrasteraufbau .. naja.. keine Lust hatte. Das sieht immer so 
"bastelmässig" aus.

Nachdem ich jetzt aber den wohl (für mich) am schwersten zu 
beschaffenden Baustein, den SRAM, von einer Platine gekratzt (nein ... 
ausgelötet) habe und in den Schaltplan integriert, habe ich für den 
Minilog mal ein Routing erstellt.

Die Platine habe ich passend gemacht für ein altes 
4-Kanal-Video-Telemetrie-Gehäuse (5x BNC und diverse andere Anschlüsse). 
Die Bauteile habe ich so ausgemessen, dass es exakt in das Gehäuse passt 
und ich keine Frontplatten ausschneiden muss :))

Achja: Als SRAM habe ich "nur" eine SMD Variante gefunden, einen 
Alliance AS7C256-15C. Ich hoffe, dass der Baustein auch geht.

Leider bin ich noch nicht dazu gekommen, die Platine 2-seitig zu 
erstellen, da beim Versuch eine doppelschichtige Pollin-Schrott-Platine 
durch den Laminator zu quetschen dieser sein Silikon verlieren wollte :( 
Nunja, als erstes bastel ich einen verstellbaren "Laminatorumbau".

Wer sich aber das Routing schon ansehen möchte und ggf. korrigieren, 
kann dies gern tun.

Der ISP-Connector ist gleichzeitig mit auf den DB15-Stecker geführt, 
weil das Gehäuse den passenden Ausschnitt dafür hat. Auch eine 3er-LED 
habe ich von der Originalplatine ausgelötet und auf +5V gelegt (mit 
Widerstand), muss aber nicht sein. Die SMD-Komponenten sind gespiegelt, 
so dass man sie auf die Platinenunterseite löten kann ohne 
Adapterplatine für DIP zu basteln.

Hmm... achja.. VIAs gibts keine, dafür müssen manche der IC's teilweise 
auf beiden Platinenseiten verlötet werden.

Hoffe, das Projekt ist noch einigermaßen aktuell. Wenn das Ganze so 
funktioniert wie ich möchte, würde ich es ggf. mal für eine kleinere 
Platine routen, so dass man auch ein "gängiges" Gehäuse benutzen kann.


Grüße,

Andreas

Autor: Dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Ansel

würdest Du deine AVR Firmware hier einstellen?
Wie muss ich mir die visualisierung am PC vorstellen? Geht das 
automatisch oder konvertierst du jedesmal die Binärdatei durch manuellen 
programmaufruf in vcd und lädst diese dann wieder manuell ins GTKwave?

Gruss
Dave

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> würdest Du deine AVR Firmware hier einstellen?

Ich hab' den aktuellen Stand mal angehängt.  Zum Übersetzen ist noch die
V-USB-Library erforderlich[1].

> Wie muss ich mir die visualisierung am PC vorstellen? Geht das
> automatisch oder konvertierst du jedesmal die Binärdatei durch manuellen
> programmaufruf in vcd und lädst diese dann wieder manuell ins GTKwave?

Im Makefile gibt es ein paar Targets, die Steuerung, Download,
Konvertierung und GTKwave-Start automatisieren.

Ich tippe z.B.

    make XO=1 DELAY=1 OCR=16 arm

ein, um mit voller Oszillatorfrequenz zu samplen, und die Aufnahme 1 µs
nach Triggerung zu stoppen.  Die Variablen in der Kommandozeile
entsprechen größtenteils irnkwelchen Bits in AVR-Registern. DELAY setzt
den Vorteiler in TCCR und OCR ist das Register für den Delay-Timer.

Nach Auslösen des Triggers - erkennbar an einer LED, die ich an die
WE-Leitung geklemmt habe - wird durch "make foo.vcd" der Inhalt der
Cache-Chips übertragen, und eine VCD-Datei erstellt. Tippt man
stattdessen "make foo.v", wird gtkwave nach dem Download automatisch
gestartet.

Gruß
Andreas

Footnotes:
[1]  http://www.obdev.at/products/vusb/index.html

Autor: Dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ansel

besten Dank für die daten.
Was verwendest du? winXP, MAc, ...
Ist "anal.sch" ein eagle file? Mein Eagle 5.9.0 kann damit nicht 
umgehen.

Gruss Dave

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dave schrieb:
> Was verwendest du? winXP, MAc, ...

Debian GNU/Linux 5.0.

> Ist "anal.sch" ein eagle file? Mein Eagle 5.9.0 kann damit nicht
> umgehen.

Den Schaltplan hab' ich mit gschem gezeichnet.  Siehe www.gpleda.org. 
Ein paar Beiträge weiter oben hab' ich ihn auch in PDF exportiert 
angehängt.

Gruß
Andreas

Autor: Tommy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey Ho, ich hoffe das der Thread noch existiert ;) und hier mal jemand 
vorbei schaut. Leider antwortet Michael auf keine E-mails, deshalb 
versuche ich hier mal mein glück.

Ich hab die Minilog 28 Varianten nachgebaut und hab da ein paar start 
schwierigkeiten.

beim erstellen der Platine ist mir was im Schaltplan aufgefallen, ist 
das richtig das der 20Mhz Quarz mit VCC und GND an +5V hängt ?

und Ext. clock sowie AVR PB3 und Ext. trigger haben keine Verbindung auf 
dem Board.

Wenn ich das Modul an den PC anstecke, sagt er mir unter Info das kein 
Minilog modul erkannt wurde, der rechner selbst erkennt aber den ft232 
Der AVR ist ein Mega8/Mega48 auf ext. clock gestellt, hab beide 
ausprobiert aber nichts geht.

hx ist die von seiner seite. hab ich nen denkfehler oder muss ich noch 
was besonderes beachten ?

schaltplan im anhang

Autor: tüüt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein Quarzoszillator.
Hast du den AVR programmiert?

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tommy,

Ext. Clock, Ext Trigger und AVR PB3 waren mal für Erweiterungen 
reserviert und können erstmal unbelegt bleiben.
Einen extern zugeführten Clock einzubauen ist nebenbei nicht so trivial 
wie es anfangs mal ausgesehen hat, das wird wohl nie umgesetzt werden.

Aber den 20MHz Oszillator solltest du schon mit den richtigen 
Versorgungsspannungen beliefern, das ist noch ein Fehlerchen im 
Schaltplan.
Falls du es so wie im Plan gebaut hast, erklärt das warum er nicht 
gefunden wird.

Hast du jetzt einen Mega8 oder einen Mega48 genommen? Die beiden sind 
nicht ganz code-kompatibel! Die Firmware auf der Webseite und hier im 
Thread funzt nur mit Mega48/88 aber nicht mit einem Mega8.

Ich würde dir auch empfehlen erstmal eine kleine Testfirmware mit Bascom 
oder so zu bauen (z.B. nur das empfangene Byte seriell wieder zurück 
senden) und mit einem Terminalprogramm den korrekten Aufbau zu prüfen. 
Meistens ist irgendwo RXD/TXD verwechselt und man bekommt deshalb keine 
Antwort.

mfg
Harri

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist ja doch noch leben drin ;) das ist gut das sich jemand meinem 
Problem annimmt.

Ich hab meine Platine mit dem geänderten Schaltplan konstruiert, also 
hab den Oszillator an VCC und GND gehangen. Ich habs wie gesagt mit 
beidem probiert. Zur zeit sitzt der Mega48 wieder drin -> Doch keine 
Regung.

Ich kann nur C-Programmieren und brauchte den Minilog nur für ein 
anderes Projekt und dachte mir wenn die Firmware schon existiert dann 
brauch man ja kein großes Ding draus machen, aber anscheinend war des 
etwas voreilig:(

Der Mega48 ist mit dem Mega88 kompatibel ? Ich denke doch das meine 
Schaltung stimmt hab ja nur den Oszillator anders angeklemmt, der rest 
ist original Schaltplan.

kann es evtl. am RAM liegen ? Das Minilog funktioniert ohne RAM nicht 
also kann ichs so nicht testen.

Mich mach ja stuzig das das Programm sagt das kein Modul gefunden wurde, 
obwohl der FT232 erkannt wurde am PC und die Software auch "grünes Licht 
gibt"

Weiß einer was das grüne Licht bedeutet ? Sagt das nur "Richtiger 
COM-PORT" oder "es werden daten ausgetauscht".

Vielen Dank
Tommy ;)

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry Doppelpost :(

Ich hab die Firmware von seiner Seite drauf gebraten. Die sollte ja 
funktionieren :) Aber trotzdem Danke für den Tipp, ich probier einfach 
mal eine alte aus dem Thread hier aus.

Tommy

Autor: Harri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tommy,

wenn du C programmieren kannst, dann bau dir doch erstmal damit eine 
Testfirmware und probier die erfolgreiche Kommunikation mit einem 
Teminalprogramm aus. Vielleicht auch mal mit geringerer Baudrate und 
einem MAX232 als Pegelwandler dran.
Du kannst auch mal eine LED (mit Vorwiderstand ;-) an einen Port des AVR 
hängen und per Testfirmware blinken lassen. Damit prüfst du vorab ob die 
Taktversorgung stimmt, die richtigen Fuses gesetzt sind, das flashen an 
sich geklappt hat und der AVR nicht kaputt ist.

Dieses schrittweise Vorgehen hat mir damals sehr geholfen.

Bitte beachten: ältere Minilog-Firmwares hier aus dem Thread brauchen 
auch eine dazu passende minilog.exe auf dem PC. Das fehlende RAM ist 
kein Problem, der Minilog muss sich auch ohne RAM am PC melden.

Der Mega48 kann statt des Mega88 genutzt werden.
Hast du schon passendes RAM im Zulauf oder suchst du noch was?

mfg
Harri

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, dann werde ich mich doch erstmal dem Minilog zuwenden bevor 
ich mein anderes Projekt weiter verfolge.

Als RAM werde ich mir eins von Reichelt bestellen, aber die 
unterschiedlichen Zeiten, die Michael verwendet und welches das von 
Reichelt hat machen mich stutzig. Er spricht von 12 ns und Reichelt 
bietet 70ns.

http://www.reichelt.de/?ACTION=3;GROUP=A34;GROUPID...

Kurze Frage für die Verwendung des 20MHz Oszillators muss ich denn 
Mega48 auf Ext. Clock, also die CKSEL Fuse Bits im Pony Prog müssen alle 
"gesetzt" sein? ( PonyProg invertiert ja) Das wäre noch eine mögliche 
Fehlerquelle, denke aber das ich das richtig gemacht hab.

Danke fü eure Hilfe
Tommy

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit!

Die RAMs von Reichelt kannst du nicht nehmen, die sind viel zu langsam! 
Besorg dir ein 32kB Cache RAM von alten 486 Mainboards mit 15ns, die 
gehen gut.

Die Fuses müssten so passen, mit einer kleinen Testfirmware und einer 
LED dran kannst du das recht einfach prüfen :-)

mfg
Harri

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo hab grad nen externen Oszillator drangehangen also Fusebits sind ok. 
Puh wo bekomm ich denn jetz noch so ein Board her ?! ich frag mal google 
;)

Danke bis später ;)
Tommy

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tommy schrieb:
> Puh wo bekomm ich denn jetz noch so ein Board her

Falls anderer Computerschrott rumliegt: Schnelle, asynchrone SRAMs 
(12-15ns) hab' ich auch schon auf 10MBit-Netzwerkkarten und in 
V.34-Modems gefunden.

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ;)

Ich hab mal ne anfrage bei Reichelt gestellt, mal sehen was die für so 
ein Teil haben wollen. gibts leider nichtmehr in THT nurnoch SMD :)

Bei Ebay gibts noch alte Boards, mal sehen für wie viel die Dinger weg 
gehen. Hab auch schon altes Zeugs durchsucht :D SEGA, Videorecoder von 
Anno 1602 aber nix zu finden, zumindest nix mit der Geschwindigkeit. 
Morgen muss mal das große "Lager dran glauben. Ich meld mich wenns was 
neues gibt.

@ ansel
Hab gesehen das du den Minilog etwas modifiziert hast, sowohl Soft- als 
auch Hardware gibts dafür auch ne Doku ? Sonst kämpf ich mich durch 
deine Beiträge durch, wenn der Minilog dann endlich mal funktioniert :D

Gruß
Tommy

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hätte mich auch gewundert wenn du in einem analogen Videorekorder 
überhaupt RAMs findest.

Autor: Sebastian ... (zahlenfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Müsste nicht dieser hier 313859 von 
http://www.csd-electronics.de/de/index.htm funktionieren? Kann leider 
nicht direkt linken, einfach nach der Artikelnummer suchen.
Ist zwar leider SMD, aber dafür weiß man, wo man ihn herbekommt.

Sebastian

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Moin :D

Die Platinen lagen nunmal rum, also hab ich sie mit aufgezählt :). Ich 
hab hier -> http://www.darisus.de/Preise/Speicher.php? auch einige 
gefunden, werd mich mal dahinter klemmen.

Irgendwo wird schon was zufinden sein :D so schnell geben wir doch nicht 
auf. Bis denne

Gruß
Tommy

Autor: Harald S. (harri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tommy,

wenn du mir deine Adresse zukommen lässt, stopf ich dir ein paar 
32kB-RAMs mit 15 oder 20ns in einen Briefumschlag.

mfg
Harri

Autor: LAbastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ansel,

ich versuche gerade deine LA Version nach zu bauen.
Dazu habe ich den atmega8 mit 12mhz aufgebaut (im Makefile angepasst) 
und angeschlossen. Leider wird kein usb device erkannt. Die Leitungen d- 
d+ schweigen. Merkwürdig... fuses sind: C9/EF
Irgendwie habe ich den verwendeten compiler/linker im Verdacht.
Könntest du dein .hex file mal zur Verfügung stellen?

Gruß
Christian

Autor: ansel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
LAbastler schrieb:
> ich versuche gerade deine LA Version nach zu bauen.
> Dazu habe ich den atmega8 mit 12mhz aufgebaut (im Makefile angepasst)
> und angeschlossen. Leider wird kein usb device erkannt. Die Leitungen d-
> d+ schweigen. Merkwürdig...

Durch den Pullup an D- sollte das System unabhängig vom AVR ein Gerät
erkennen.  Falls die Firmware nicht anläuft, sollte in den Kernel-Logs
die Meldung auftauchen, dass dem neuen Gerät keine Adresse zugeteilt
werden konnte ("could not enumerate..."). Taucht beim Einstecken jedoch
gar keine Meldung auf, vermute ich den Fehler in der USB-Verdrahtung.

Wie bereits erwähnt fehlt diese in meinem Schaltplan.  Ich hab'
"Solution B" von http://vusb.wikidot.com/hardware verwendet.

> Irgendwie habe ich den verwendeten compiler/linker im Verdacht.
> Könntest du dein .hex file mal zur Verfügung stellen?

Das Image von damals hab' ich leider nicht mehr, kann auf die Schnelle
also nur ein neu übersetztes anbieten, völlig ungetestet und mit neuerem
avr-gcc übersetzt (4.4.5).  F_CPU hab' ich vor dem Übersetzen auf 12 MHz
gesetzt.

Gruß
Andreas

Autor: LAbastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frohe Ostern Andreas!

Danke für die Blitzantwort!
Ich hab offensichtlich den 1.5k Pullup vergessen... wie blöd!
Aber jetzt meldet sich ein "logic analyzer and Pattern Generator Thingy" 
:-)
Sehr schön! jetzt muss ich nur noch den 4040 auftreiben und viele Drähte 
ziehen ... ächz.
Hast du das Ding eigentlich ad acta gelegt, oder bastelst du noch daran 
herum?

Gruß
Christian

Autor: ansel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hast du das Ding eigentlich ad acta gelegt, oder bastelst du noch daran
> herum?

Also irgendeine Form von Datenkompression werde ich bei Gelegenheit noch
reinbasteln.  Vor allem, wenn man mehrere Anläufe braucht, um an
gesuchte Bits zu kommen, sind die 8 kByte/s des Software-USB etwas
grenzwertig.

Dann war auch mal angedacht, einen bidirektionalen Bustreiber statt des
74541 zu verwenden, um die Hardware als Pattern-Generator verwenden zu
können, aber irnkwie fehlte bis jetzt der Bedarf...

Gruß
Andreas

Autor: Chris R. (chrismid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an euch,

ich wollte gerade den MiniLog 80 MHz nachbauen. Tolles Projekt. Hat 
jemand vieleicht ein fertiges Layout bzw. die Eagledateien ?

Gibts noch jemanden der mir einen passenden Ram schicken kann ??

Vielen Dank

Autor: Sebastian ... (zahlenfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht erinner passt Artikelnummer 313859 von 
http://www.csd-electronics.de
Der Shop erlaubt leider keine Deep-links, aber über die Artikelnummer 
sollte man ihn finden.

Viele Grüße,
Sebastian

Autor: Denis Köllner (denis_tbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich werde mir wohl auch den LA nachbauen. Da ich die meisten Teile eh 
bestellen muss, stelle ich mal ganz salopp die Frage, welche Version ist 
die Stabilere und aktuelle?
Sollten die Eagle Files der Homepage aktuell sein, werde ich mir wohl 
die Arbeit mache eine Platine zu routen. (Vll. baue ich aber auch auf 
Lochraster... hab ich auch schon ewig nicht mehr).

Schöne Grüße aus Saarbrücken
Denis

Autor: Sebastian ... (zahlenfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es dir darauf ankommt, einen LA zu haben und weniger das Basteln 
wichtig ist, würde ich vielleicht meinen verkaufen. Müsste aber noch 
nachschauen, welche Version ich genau habe.

Wenn du interesse hast schreib mir mal ne PM.

Ansonsten: Bei mir läuft die Hardware einwandfrei, nur die Software 
stürzt ab. Version schau ich bei gelegenheit nach.


Grüße, Sebastian

Autor: Sebastian ... (zahlenfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerade noch nachgeschaut: Ich hab hier die 50MHz version mit 32kB RAM. 
Laut PC-Software Hardware v1.1. Denke, das bezieht sich auf die 
Firmware.

Die Hardware läuft wie gesagt stabil bei mir. Ist alles auf Lochraster 
aufgebaut.

Mit den anderen Hardware-versionen habe ich keine Erfahrung, aber soweit 
ich mich an den Thread erinnere machten die anderen Versionen auch keine 
Probleme.


Lass dir aber gesagt sein, dass das Gerät hier ehr eine Spielerei ist 
als ernstzunehmendes Messwerkzeug. Das soll Michaels Leistung jetzt 
nicht schmälern, aber wer wirklich einen LA für seine Entwicklungen 
braucht sollte trotzdem über andere Geräte nachdenken.

Viele Grüße,

Sebastian

Autor: Denis Köllner (denis_tbg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,
ich habe bereits ein Layout und eine Platine. Momentan warte ich auf die 
Quarze.
Soweit bin ich mal gespannt, ob das alles so Funktioniert.

Falls jemand Interesse haben sollte an den Eagle Files, die gebe ich 
gern weiter. Die Schaltung ist soweit unverändert, jedoch das Layout ist 
Eigenleistung.

Gruß

Autor: Jürgen S. (avus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
> Hallo,
>
> keine Ahnung, wo es reinpasst oder ob es jemand wissen will... ;-))

...

> Würde mich freuen, wenn es jemanden interessiert.
>
> Gruß aus Berlin
> Michael

Bis 2013 bestand auf jeden Fall Interesse.
Vielleicht freut es Dich auch heute noch, ich habe Deinen LA im Großen 
und Ganzen dank Deiner guten Dokumentation nachgebaut.

Anstatt '161 sind '590 drin, die beiden Bytes für Maske und Trigger habe 
ich per '4094 an die '32 angelegt (man will ja keine 8-Bit Ports vom AVR 
vorzeitig verschwenden ;)), und das RAM ist ein BSI BS62LV4006 mit 512kB 
Speichertiefe.
Am Eingang werkelt momentan noch ein '574, um die Signale zu latchen 
(mehr oder weniger gut, ok), ich möchte aber die Kiste sowieso als 
Patterngenerator verwenden und deshalb durch einen '245 ersetzen. 
Irgendwann ;(
Den AVR habe ich mit einem Bootloader ausgestattet, er kann also 
jederzeit auf den "neuesten" Stand gebracht werden. Der sich natürlich 
auch an meiner Veteranen-Bastelkiste orientiert, aber nicht nur.
Denn Dein Logikanalysator war damals und ist auch heute zwar "alte 
Technik", aber das Ding funktioniert im furchtbaren 
Lötraster-Kabelverhau-Zustand schon jetzt bis 50 MHz sehr ordentlich. 
Und nicht jeder Hobbybastler mag sich mit Spartan3 beschäftigen.

Ich hatte kurze Zeit darauf verschwendet, einen STM32F429 per FMC zu 
ähnlichem zu animieren, mit 8 MB Speichertiefe, aber hatte die BSI und 
die anderen Sachen halt rumliegen. Und würde außerdem an dem 
Linkerscript zum STM verzweifeln. Vorerst g
Die PC-Seite programmiere ich übrigens auch und noch immer in VB6, kann 
aber bisher nur das Mustersignal darstellen und die Trigger und 
Maskensignale übertragen. Aber das wird schon noch - das Schlimmste war, 
keine Fehler bei der Hardware zu machen (beim '590 RCO, CLKenable und 19 
Adressleitungen war einiges Potential diesbezüglich vorhanden).

Grüße vom ExBerliner

Autor: Denis Köllner (denis_tbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das sieht ja interessant aus. Wird daraus eventuell ein Projekt mit 
Doku? Ich habe mir auch einen LA gebaut, jedoch läuft die Software alles 
andere als Stabil unter dem von der IT vernagelten Windows 7. Ich habe 
auch kurz versucht mir mit VB.net was zu bauen, jedoch mangels 
Zeit/Kenntnissen aufgegeben.

Grüße aus Saarbrücken
Denis

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




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.

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