Hallo, bin vor einiger Zeit in einer Werbe-Mail auf den LA6 von ELV gestoßen. Nach etwas mühseliger Recherche der Features (u.a. nur max. 100 kHz Samplerate) dachte ich mir - da geht noch was. Mittlerweile läuft nun auf einem ATmega644PA (Ziel ist der ATmega1284) unter großzügiger Auslegung der Chip-Grenzwerte eine LA-Software mit max. 10 MHz Samplerate bei 8 Eingängen und 5 MHz bei 16 Eingängen. Die Darstellung erfolgt auf einem 128x128Pixel-LCD. RS232, SPI und I2C können direkt auf dem Gerät interpretiert werden. Je vier Eingänge zusammengefaßt können als Halbbyte/Nibble dargestellt werden. Screenshots und der Inhalt des Trace-Memorys lassen sich über eine serielle Schnittstelle exportieren. Damit man einen Eindruck bekommt, habe ich mal schnell mit einem Frontplattendesigner ein Design zusammengebastelt (nicht maßstäblich). Die Screenshots sind vom Analyzer gezogen und eingefügt. 8 Eingänge [[Bild:Analyzer1.gif]] 16 Eingänge [[Bild:Analyzer2.gif]] 8 Eingänge SPI Mosi/Miso, I2C, RS232 (von oben nach unten) [[Bild:Analyzer3.gif]] Mit dem Bild-Einfügen klappt's irgendwie nicht. Die Kosten für Bauelemente sind überschaubar, das LCD und die Inkrementalgeber sowie weiterer Kleinkram sind von Pollin, den ATmega gibt's auch dort. Nur den 30 MHz-Quarzoszillator muß man sich anderswo besorgen. Ist jemand interessiert dran (vielleicht als Bastelei über die Weihnachtstage)? Dann würde ich einen Schaltplan machen (Platine gibt's wie üblich nicht bei mir, Aufbau ist auf Lochraster). Gruß Horst
:
Bearbeitet durch User
Horst Meier schrieb: > Mittlerweile läuft nun auf einem ATmega644PA (Ziel ist der ATmega1284) > unter großzügiger Auslegung der Chip-Grenzwerte eine LA-Software mit > max. 10 MHz Samplerate bei 8 Eingängen und 5 MHz bei 16 Eingängen. Das glaube ich nicht. Die kürzestmögliche Read/Store-Sequenz für ein Sample ist: in reg,port ;1 st idxreg+,reg ;2 ;- ;3 D.h.: selbst mit vollständigem loop unrolling müßtest du den armen AVR mit 30MHz betreiben, um die 10MHz Samplefrequenz zu schaffen. Da ich aber aus eigenen praktischen Erfahrungen weiß, daß schon 24MHz nur wenig zuverlässig erreichbar sind, 30MHz aber niemals (jedenfalls nicht bei Zimmertemperatur), würde ich mal behaupten, daß du schlicht lügst. Oder allermindestens unzulässig verallgemeinerst. > Die Darstellung erfolgt auf einem 128x128Pixel-LCD. RS232, SPI und I2C > können direkt auf dem Gerät interpretiert werden. Je vier Eingänge > zusammengefaßt können als Halbbyte/Nibble dargestellt werden. > Screenshots und der Inhalt des Trace-Memorys lassen sich über eine > serielle Schnittstelle exportieren. Gähn... > Nur den 30 MHz-Quarzoszillator muß man sich anderswo > besorgen. Oops.Du hast also tatsächlich einen AVR mit 30MHz zum Laufen bekommen? Mit wievielen Exemplaren hat das funktioniert? Bei welcher Spannung und Temperatur? Meine Ausbeute ist schon bei 24,xMhz und 5.0..5.5V bei Zimmertemperatur ziemlich kläglich, >80% der Exemplare (Typen: 13A,2313A,4313,84,85,841,644P,1284P, jeweils mindestens 10 Exemplare) schaffen schon das nicht zuverlässig. Natürlich habe ich auch eine Testanwendung verwendet, die sich vor allem damit beschäftigt hat, sehr viel zu rechnen und die Ergebnisse ihrer Rechnerei auch gleich selbst zu überprüfen... Aber wie gesagt: Mit 30MHz hat bei mir kein einziges Exemplar des Testfeldes mehr funktioniert, nichtmal andeutungsweise, d.h.: sie haben es nichtmal geschafft, die Startmeldung für den Testbeginn per UART für den Peer lesbar loszuwerden, sind also wohl schon bei der Initialisierung der Hardware abgestürzt.
Avr 30 mhz Mit einem Xmega? Oder Taktest du die 30 Mhz extern in ein Ram?
Steffen schrieb: > Xmega bis 32MHz STM32F4 zum gleichen Preis 168 MHz, 1MB Flash 500kB RAM, ... STM32F4DISCOVERY zum Preis von 14€ gibt schon fertige Logic Analyzer Projekte die dringend weiterbearbeitet werden müssen ...
Mirco schrieb: > STM32F4 zum gleichen Preis 168 MHz Keine falschen Erwartungen schüren: die IO sind wesentlich langsamer...
Horst Meier schrieb: > Ist jemand interessiert dran (vielleicht als Bastelei über die > Weihnachtstage)? > Dann würde ich einen Schaltplan machen (Platine gibt's wie üblich nicht > bei mir, Aufbau ist auf Lochraster). > > Gruß > Horst Hallo, also ich würde mir das rein Interessehalber mal aufbauen. Schon um mir mal die Sache mit dem Übertakten mal genauer zu betrachten. Gruß Ronny
Was spricht dagegen, Schaltbild und Software hier zu posten? Niemand ist gezwungen, es sich anzusehen oder gar nach zu bauen. Aber der eine oder andere bekommt vielleicht eine Anregung für sein eigenes Projekt.
OK, hier kommt der Schaltplan. Habe heute mal einen ATmega1284 draufgesteckt - läuft. Das anliegende Hexfile ist für 14000 Bytes Tracebuffer assembliert. Serielles Interface ist auf 9k6 8n1 eingestellt. Fuses: Extended 0xFF High 0xD1 LOW 0x7F (BODLEVEL disabled, OCDEN off, JTAGEN off, WDTON off, EESAVE on, BOOTRST off, CKDIV8 on, CKOUT off, SUT_CKSEL Ext. Crystal 8- MHz/Start-up time 16K CK + 65ms) Sourcecode kommt noch - sind noch zwei, drei Sachen zu erledigen. Gruß Horst
Anton schrieb: > Mirco schrieb: >> STM32F4 zum gleichen Preis 168 MHz > Keine falschen Erwartungen schüren: die IO sind wesentlich langsamer... Ach herje der AHB geht ja nur mit 50 MHz. Also kann man den Pin nur jeden 4. Zyklus einlesen. Verdammt. Dann doch lieber einen 32 MHz Controller der hat sicher einen schnelleren Peripherie-Takt als ein 178 MHz-ler.
Es gibt doch die kombinierten AVRs+FPGA dort ein externes SRAM drauf und man könnte wesentlich schneller die Daten ins SRAM takten. Zum Auslesen, darstellen usw. Dann den AVR nehmen.
Ich arbeite mich ja nun gerade in den STM32F4 ein und würde gerne wissen, warum dessen GPIO wesentlich langsamer sind als der Bus, an dem sie hängen? Wenn ich per DMA übertrage (läuft auch auf AHB-Takt) und den SRAM- sowie AHB-Peripheralbus ansonsten freihalte, müsste das doch recht fix gehen? Bei der Ausgabe ist man natürlich an die Kräftigkeit der Ausgangstreiber gebunden, aber wie sieht es beim Lesen aus? Wenn man per Mikroprozessor liest ist man natürlich dadurch gebunden, dass man lesen, schreiben, inkrementieren und loopen muss, also ist man da natürlich sehr viel langsamer unterwegs. Würde mich freuen, wenn ihr da mehr Info habt!
OK, hier kommt der Quellkode (wird wahrscheinlich nicht allzuviele Interessenten finden...). Entry-File ist "Logic Analyzer.asm", ich arbeite mit AVR Studio 4.19. Hab hier und da noch ein paar Bytes im Flash gefunden, sodaß nun 15000 Abtastwerte (bzw. 7500 bei 16 Eingängen) gelesen und gespeichert werden können. Das Flash ist jetzt allerdings erstmal randvoll, ein weiterer Protokollinterpreter ist so nicht mehr unterzubringen. Die Full-Speed-Traceroutinen könnten aber auch gekürzt werden (die Software kann damit umgehen), das würde wieder Platz schaffen. Das Hex-File ist für 15000/7500 Abtastwerte und 57600 Bit/s serielle Geschwindigkeit assembliert. Eine kurze Beschreibung der Funktionen und ein paar Bilder vom Testaufbau hänge ich noch an. Ich habe mit einem ATmega644PA (abgespeckt assembliert, versteht sich) und zwei ATmega1284P erfolgreich getestet, läuft sogar noch mit etwas weniger als 5V Betriebsspannung.
Mirco schrieb: > STM32F4 zum gleichen Preis 168 MHz, 1MB Flash 500kB RAM, ... Hauptsache mal getrollt, oder? Aber ein Stm32f4 für 2€ mit 500KB Ram wäre nicht schlecht - wenn es ihn gäbe...
Hallo Horst, ich finde das Bedienkonzept und die PC-unabhängige Anzeige mit eigenem Display super, ich habe nach so etwas gesucht. Dieser Eintra ist zwar schon älter, aber ich würde es trotzdem gerne nachbauen. Wenn ich dein fertiges hex-file vom Download nehme, für welchen Controller genau ist das kompiliert? Danke und Gruß, Ralle
Ralle E. schrieb: > Wenn ich dein > fertiges hex-file vom Download nehme, für welchen Controller genau ist > das kompiliert? Danke und Gruß, Ralle Der folgende Spruch ist hier im Forum nicht unbedingt willkommen, aber er passt nun mal wieder wie die Faust aufs Auge: Wer lesen kann ist klar im Vorteil! Horst M. schrieb: > Habe heute mal einen ATmega1284 draufgesteckt - läuft. > Das anliegende Hexfile ist für 14000 Bytes Tracebuffer assembliert. > Serielles Interface ist auf 9k6 8n1 eingestellt. > Fuses: > Extended 0xFF > High 0xD1 > LOW 0x7F > (BODLEVEL disabled, OCDEN off, JTAGEN off, WDTON off, EESAVE on, BOOTRST > off, CKDIV8 on, CKOUT off, SUT_CKSEL Ext. Crystal 8- MHz/Start-up time > 16K CK + 65ms)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.