Minila Version MockUp

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Bilder der Platine

Gerenderte Platine

MockUpMiniLALayoutTop.jpg MockUpMiniLALayoutBottom.jpg

Platine der Sammelbestellung bestückt

MockUpMiniLALayoutTopPrototyp.jpg MockUpMiniLALayoutBottomPrototyp.jpg

Informationen über den MiniLA

CPLD

  • wird der XC95288XL bleiben, da dies nur eine Veränderung und keine Neuentwicklung wird
  • einige Signale werden an anderen Pins angeschlossen und verteilt
  • TQFP144

RAM-Speicher

512K*32:

1M*32:

  • 1M*32 Kanäle
  • TQFP100 0,65mm Pinabstand
  • CY7C1441AV33-133AXC/CY7C1441AV33-133AXI
  • 60eur/stk
  • dazu muss eine Brücke zwischen TP1 am CPLD und TP2 am SRAM eingelötet werden

MockUpMiniLALayout1MBitRAM.png

USB

Der FTDI FT2232D wird immer im Bus Powered Modus betrieben und über USB versorgt.

Spannungsversorgung

  • 3,3V, Versorgung über externe 5V bis 16V oder über den DCDC USB powered (Regler wird über den FTDI An/Aus geschaltet)
  • 5V über DCDC (galvanisch getrennt) mit Spannungsregler dahinter oder DCDC überbrückt direkt über USB

Dadurch kann der MiniLA mit einem Y-Kabel USB versorgt werden oder über ein externes Netzteil.

Galvanische Trennung

Als Zusatzoption über den ADUM4160, einem DCDC-Wandler und einem zusätzlichem Spannungsregler.

Steckverbinder

  • Steckerbelegung bleibt beim alten
  • X1-7 wird entfernt, da eh wenig Platz im CPLD ist
  • X8 bleibt erhalten
  • K8 wird dann auch komplett entfernt, da nicht mehr benötigt (alle Signale sind auch an K1 verfügbar)
  • Serienwiderstände in den Datenleitungen wie gehabt
  • Tastköpfe extern wie gehabt (siehe auch: Platinen)

JTAG

Parallel Port

  • nicht vorgesehen
  • Signale liegen an einem MicroMatch Steckverbinder an (entfernt bei der PCB V3.0)

LEDs

Je nach Wunsch in RGB SMD oder als 5mm LED

Gehäuse

Passende Gehäusen:

  • Hammond 1455L1602 (Mouser, RS, Conrad usw.)
  • Fischer AKG 105 30 160 (RS, DK, Conrad usw.)
  • Fischer AKG 105 34 160 (RS, DK, Conrad usw.)
  • RFS RF-1599 (rfsupplier.com)

Auch 3,5" USB/eSATA Festplatten-Geh​äuse sind bestens geeignet.

Schaltplan und Layout

Schaltplan

Seite 1 & 2
MockUpMiniLASchaltplanSheet1.png MockUpMiniLASchaltplanSheet2.png

Seite 3 & 4
MockUpMiniLASchaltplanSheet3.png MockUpMiniLASchaltplanSheet4.png

Seite 5 & 6
MockUpMiniLASchaltplanSheet5.png MockUpMiniLASchaltplanSheet6.png

Seite 7
MockUpMiniLASchaltplanSheet7.png

Layout

Platine Mini-LA
MockUpMiniLALayoutEagleTop.png.png MockUpMiniLALayoutEagleBottom.png

Platine Tastköpfe

  • Siehe Tastköpfe
  • Sind über Wigbert zu beziehen. Er hat noch Tastköpfe von der ersten Sammelbestellung.

Platine Trigger

Steckverbinder auf der Platine

Steckverbinder
nicht gesteckt gesteckt 1-2 gesteckt 2-3
JP2 - Normal Modus JTAG-Programmierung über FTDI
JP3 - Normal Modus JTAG-Programmierung über FTDI
JP4 - Normal Modus JTAG-Programmierung über FTDI
JP5 - Normal Modus JTAG-Programmierung über FTDI
JP6 - - -
JP7 Platine "AUS" Platine "AN" -
JP9 - externe Versorgung USB Versorgung
JP6 - Spannungsversorgung für einen Externen Programmieradapter (nicht Brücken!)

Erste Inbetriebnahme

  • 1. Platine liegt unangeschlossen (ohne USB und externe Versorgung) vor euch
  • 2. Jumper JP7 stecken (USB-Interface wird mit Strom versorgt)
  • 3. Jumper JP9 nicht stecken (CPLD wird erstmal nicht mit Strom versorgt, der Sicherheit halber)
  • 4. USB-Kabel anschließen, LED7 sollte AN und LED8 Aus sein, FTDI sollte sich am PC anmelden
  • 4.1 Wenn er nicht erkannt wird, Spannung über C45 ~9V, Spannung über C46 5V, Alles um IC4, IC5 und IC6 prüfen
  • 5. FTDI-Treiber installieren
  • 6. LibUSB installieren
  • 7. MiniLA vom PC trennen
  • 8. JP9 nach Wahl stecken
  • 9. JP2-JP5 auf 2-3 stecken (wenn der USB-Stecker links, dann sind das die unteren Kontakte
  • 10. schon mal alles vorbereiten, in den Ordner wechseln, alles eintippen
  • 11. eventuell externe Versorgung und USB-Kabel anstecken, LED8 sollte nun auch leuchten
  • 12. Enter drücken, CPLD sollte programmiert werden.

Hinweis: Der Spannungsregler für die 3,3V wird erst eingeschaltet wenn die USB-Verbindung steht und Windows den FTDI erkannt hat. LED8 leuchtet dann auch.

Programmierung

Programmierung des FTDIs, Bild1
Programmierung des FTDIs, Bild2

FTDI

Zum Programmieren werden die FTDI-Treiber für D2XX und das Programm FT_PROG benötigt.

  • 1. MiniLA über ein USB Kabel an den PC anschließen und die heruntergeladenen FTDI-Treiber Installieren
  • 2. Das Programm FT_PROG starten
  • 3. Im Programm auf "Scan and Parse" drücken (1)(Bild1)
  • 4. rechte Maustaste auf den erkannten FTDI, "Aply Template" und "From File" diese Datei auswählen (2)(Bild1)
  • 5. Im Programm auf "Program Devices" drücken (3)(Bild1), ein neues Fenster öffnet sich (Bild2)
  • 6. Haken setzen (4)(Bild2)
  • 7. Auf "Program" drücken (5)(Bild2)
  • 8. MiniLA abstecken und wieder anklemmen
  • 9. Fertig

Firmware

Programmierung des CPLDs

Zum Programmieren wird xc3sprog benötigt. Hier eine angepasste Version (Mit der anderen gab es Probleme beim CPLD löschen).

  • 1. Auf dem MiniLA die Jumper JP2-JP5 in die Stellung 2-3 umstecken und den MiniLA anschließen.
  • 2. Kommandozeile öffnen
  • 3. In den Ordner wechseln, in der xc3prog und die jed-Datei liegt. (Die jed-Datei aus dem Archiv "Timeanalysis" bzw. "Stateanalysis" - siehe weiter unten - extrahieren. Sie ist im Ordner xilinx zu finden.)
  • 4. "xc3sprog -c ftdi -v miniLA.jed" eingeben und Enter drücken.
  • 5. Der FTDI sollte programmiert werden, ähnlich dem nebenstehendem Bild.
    Falls das nicht klappt, wird eine Punktezeile anstelle der hochlaufenden Zahl für "Programming Sector"
    ausgegeben, dann den Parameter -J 1000000 hinzufügen: "xc3sprog -c ftdi -J 1000000 -v miniLA.jed"

Hilfreiche Befehle

  • "xc3sprog -c ftdi -v -j" - Erkennung des CPLDs
  • "xc3sprog -c ftdi -v -e" - Löschen des CPLDs


Die Firmware ist nur lauffähig mit der Version des MockUp MiniLAs und es sollte auch keine der originalen Firmwares verwendet werden, weil diese nicht kompatibel sind mit der neuen Hardware!!!

LED-Bedeutungen
LED1 LED3 LED5
nach dem Einschalten X
Idle X
Pre-Trigger X
Wait for Trigger X
Trigger X
Post-Trigger X
Transfer zum PC X X X

Software

Minila Windows EXE

Minila Windows EXE unter Linux mit Wine

  • verwendet wurde ein Debian 9 Stretch
  • root werden
  • aptitude install wine
  • dpkg --add-architecture i386 && apt-get update (eventuell nicht nötig)
  • aptitude install wine32 (i386/32bit-Version)
  • aptitude install libftdi1 (i386/32bit-Version)
  • Entpacken des libftd2xx Driver Paketes
  • Kopieren der Driverlib
    cp ./release/build/libftd2xx.so.1.4.8 /usr/local/lib
  • Verlinken in den Standardpfad für lib
    ln -s /usr/local/lib/libftd2xx.so.1.4.8 /usr/lib/libftd2xx.so.0
  • Entpacken des Ersatz libftd2xx Winelib Paketes
  • Kopieren der Ersatz Winelib
    cp ftd2xx.dll.so /usr/local/lib
  • Verlinken in den Standardpfad für Wine-Libs
    ln -s /usr/local/lib/ftd2xx.dll.so /usr/lib/i386-linux-gnu/wine/ftd2xx.dll.so
  • eine udev Regel erstellen, die den MiniLAMockup normalen Nutzern (Group plugdev) zugänglich macht.
    Dort hinein kommt auch gleich noch, dass das Interface mit der Seriennummer FTOJFA6S (die des MinilaMockup in MiniLA.xml) nicht von ftdi_sio verwaltet werden soll.
    nano /etc/udev/rules.d/97-ftdi_minila_mockup.rules
    Inhalt:
    ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", GROUP="plugdev", MODE="0664"
    SUBSYSTEM=="usb", DRIVER=="ftdi_sio", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", ATTRS{serial}=="FTOJFA6S", RUN+="/bin/sh -c 'echo $kernel > /sys/bus/usb/drivers/ftdi_sio/unbind'"
    (von SUBSYSTEM= bis /unbind'" kommt alles in eine Zeile)
  • miniLA anschliessen
  • Rootrechte aufgeben
    exit
  • die im Paket Minila Windows EXE Vers 0.6.6 für 256k / 512k /1024k Sample Speicher enthaltene FTD2XX.dll verstecken, so daß Wine gezwungen wird, die Ersatzlib zu benutzen
    cd ./minila_win/bin
    mv FTD2XX.dll FTD2XX.dll.bak
  • minila starten
    wine minila512k.exe
  • Das Messergebnis kann mit File-Export Data-VCD File exportiert werden und dann mit Open - Import ValueChangeDump in Pulseview (getestet mit: PulseView-NIGHTLY-x86_64.AppImage vom 24.10.2018) eingelesen werden.

Sigrok

Wird z.Zt. (Stand 12.2017) nicht unterstützt

Einer der Sigrok-Entwickler hat eine Platine des MiniLAs bekommen und möchte diesen mit in die Liste der Unterstützten LAs mit aufnehmen.

Sigrok ist eine freie, portable und für verschiedene Platformen, Open-Source Logic Analysator Software, welche viele LAs unterschiedlicher Hersteller unterstützt. Unteranderem demnächst auch den MiniLA. Es steht unter der GNU GPL Lizenz und ist laut Webseite am 15.3.2011 in das Debian Paketsystem mit aufgenommen worden (Ubuntu folgt). Zu seinen Eigenschaften gehört:

  • Unterstützt viele LAs von verschiedenen Herstellern.
  • Cross-Platform fähig. Unterstützung für Linux, Mac OS X, Windows, und FreeBSD (auf verschiedenen Platformen wie x86, ARM, Sparc, PowerPC, ...).
  • Protokoll decoding mit Skripten, welche in Python geschrieben und erweiterbar sind.
  • Unterstützt verschiedene Ein/Ausgabeformate (Binär, ASCII, Hex, CSV, gnuplot, VCD, ...).

Webseite:

Links