Forum: Mikrocontroller und Digitale Elektronik Reparatur Picoscope 2203


von John P. (brushlesspower)


Lesenswert?

Hallo,

ich möchte mein Picoscope 22032 reparieren oder es zumindestens mal 
versuchen.
Zur Vorgeschichte:
Das Picoscope hat immer super funktioniert bis eines Tages nichts mehr 
ging. Das Scope wurde vom Rechner Windows nicht mehr erkannt.
Ok-> defekt, ich wollte sowieso ein 4 Kanal Oszi haben also weggepackt 
und ein neues Scope gekauft.
Jetzt sind ein paar Jahre rum und beim Aufräumen habe ich das 2203 
wiedergefunden und gedacht es wäre Schade drum das einfach in den Müll 
zu hauen.

Also mal einen Blick rein geworfen:
- CY7C68013A-56PVXC -> USB Chip
- SPI EEPROM -> für den CY7C68013A-56PVXC
- Xilinx Spartan
- ADC

Also wenn USB nicht erkannt wird, könnte es am CY7C68013A-56PVXC liegen.
Diesen also fix getauscht, in der Hoffung das die entscheidende Firmware 
im EEPROM liegt.

Leider ohne Erfolg. Der Fehler bleibt der selbe.

Eventuell liegts am Quarz?
EEPROM?
Spannungen sehen soweit gut aus -> zumindestens für den 
CY7C68013A-56PVXC

Vielleicht kennt sich jemand mit dem CHip aus und kann ein paar tipps 
geben?

Gruß
John

von John P. (brushlesspower)


Lesenswert?

- USB buchse nachgelötet -> ohne erfolg
- USB -D/M haben Verbindung zum CY7C68013A-56PVXC
- CLOCKOUT vom CY7C68013A-56PVXC -> Kein Signal
- Messung am Quarz -> Kein Signal (Dauerhaft 3v3 bzw 0V)
- Keine SPI Kommunikation am EEPROM sichtbar

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

John P. schrieb:
> Kein Signal
Wie sieht es da mit dem Reset# aus? Und mdit dem Wakeup#?

> Messung am Quarz -> Kein Signal (Dauerhaft 3v3 bzw 0V)
Das ist ja schon mal das Mindeste, was tun muss. Evtl. ist einfach nur 
der Quarz kaputt. Kann ja schon mal passieren, wenn man so ein Ding auf 
den Boden schmeißt.
Ich würde da mal 24MHz einspeisen und schauen, ob sich was tut.

: Bearbeitet durch Moderator
von John P. (brushlesspower)


Lesenswert?

Lothar M. schrieb:
> Wie sieht es da mit dem Reset# aus? Und mdit dem Wakeup#?

Wakeup# -> LOW
Reset# -> HIGH

Lothar M. schrieb:
> Das ist ja schon mal das Mindeste, was tun muss. Evtl. ist einfach nur
> der Quarz kaputt. Kann ja schon mal passieren, wenn man so ein Ding auf
> den Boden schmeißt.

XTALIN = LOW (dauerhaft)
XTALOUT = HIGH (dauerhaft)

jetzt bin ich mir nur nicht sicher ob ich falsch messe oder der Quarz 
defekt ist.
Aber die Schaltung ist interessant:

Zwischen den beiden Pins vom Quarz ist ein Spannungteiler 470R und 
10MOhm
Dieser Spannungsteiler geht auf XTALOUT

Lothar M. schrieb:
> Ich würde da mal 24MHz einspeisen und schauen, ob sich was tut.

ich gucke mal ob ich was hier habe

von John P. (brushlesspower)


Lesenswert?

Lothar M. schrieb:
> Ich würde da mal 24MHz einspeisen und schauen, ob sich was tut.

Leider macht mein R&S nur 24MHz mit Sinus (Rechteck nur 10MHz).

Jedenfalls
- ohne quarz -> Windows erkennt USB Fehler
- mit 24MHz Einspeisung -> selber Fehler wie mit Quarz -> unbekanntes 
Gerät

von Dieter (Gast)


Lesenswert?

John P. schrieb:
> Leider macht mein R&S nur 24MHz mit Sinus (Rechteck nur 10MHz).
>
> Jedenfalls
> - ohne quarz -> Windows erkennt USB Fehler
> - mit 24MHz Einspeisung -> selber Fehler wie mit Quarz -> unbekanntes
> Gerät

Wie genau sind die 24 MHz? USB ist bezüglich Timing kritisch, wenn
das nicht passt funktioniert es nicht.

von H. H. (Gast)


Lesenswert?

John P. schrieb:
> Leider macht mein R&S nur 24MHz mit Sinus

Der Quarz auch.


> - mit 24MHz Einspeisung -> selber Fehler wie mit Quarz

Du hast aber schon auf XtalIn eingespeist?

von John P. (brushlesspower)


Lesenswert?

H. H. schrieb:
> Du hast aber schon auf XtalIn eingespeist?

Ja
und XTALOUT floatend wie im DB gewünscht

von Dieter (Gast)


Lesenswert?

John P. schrieb:
> H. H. schrieb:
>> Du hast aber schon auf XtalIn eingespeist?
>
> Ja
> und XTALOUT floatend wie im DB gewünscht

Das beantwortet noch nicht ob die 24 MHz auch genau genug sind.

Das es hier ja leider keine Bilder gibt, ein wenig kann man hier sehen:

http://sigrok.org/wiki/Pico_Technology_PicoScope_2203

von John P. (brushlesspower)


Lesenswert?

Dieter schrieb:
> Das es hier ja leider keine Bilder gibt, ein wenig kann man hier sehen:
>
> http://sigrok.org/wiki/Pico_Technology_PicoScope_2203

https://www.flickr.com/photos/uwehermann/sets/72157625721726427/

Dort sind auch nahaufnamen mit drin

Dieter schrieb:
> Das beantwortet noch nicht ob die 24 MHz auch genau genug sind.

Das kann ich dir nicht sagen wie genau der Signalgenerator ist

von Dieter (Gast)


Lesenswert?

John P. schrieb:
>
> Das kann ich dir nicht sagen wie genau der Signalgenerator ist

Wenn das mit der Genauigkeit nicht nicht passt hilft der USB Test
nicht weiter. Aber laut Datenblatt des CY7C68013 sollte beim
Powerup ein Zugriff auf den EEPROM erfolgen, das sollte man
eigentlich unabhängig von einer USB Verbindung zum PC sehen.

von Thomas Z. (usbman)


Lesenswert?

nun der Cypress Chip wird in den allermeisten Fällen im codeless mode 
betrieben. Das bedeutet er bekommt seine Firmware vom PC runtergeladen. 
Im EEprom steht dann nur ein kurzer Datensatz mit VID/PID.
Es wäre also erst mal zu klären was beim Anstecken genau passiert.
- kommt das DingDong
- was sagt der Gerätemanager
- was sagt UsbTreeView

wird irgend etwas am USB Bus erkannt? Dazu müssen die 24MHz aktiv sein 
und ein Reset Impuls (low) muss beim Anlegen der Spannung erzeugt 
werden.

von Dieter (Gast)


Lesenswert?

Thomas Z. schrieb:
> nun der Cypress Chip wird in den allermeisten Fällen im codeless mode
> betrieben. Das bedeutet er bekommt seine Firmware vom PC runtergeladen.

Ja, aber eben nur wenn die 24 MHz genau genug sind. Das entsprechende
Quarz ist mit 100 ppm Genauigkeit spezifiziert. Bei einem externen
Signalgenerator mit unbekannter Genauigkeit kann man sich nicht darauf
verlassen dass USB funktioniert und das USB Gerät erkannt wird.

Der Zugriff auf den EEPROM sollte aber unabhängig davon beim Powerup
stattfinden und zeigen ob der Cypress Chip funktioniert.

von John P. (brushlesspower)


Angehängte Dateien:

Lesenswert?

Thomas Z. schrieb:
> nun der Cypress Chip wird in den allermeisten Fällen im codeless mode
> betrieben. Das bedeutet er bekommt seine Firmware vom PC runtergeladen.
> Im EEprom steht dann nur ein kurzer Datensatz mit VID/PID.
> Es wäre also erst mal zu klären was beim Anstecken genau passiert.
> - kommt das DingDong
> - was sagt der Gerätemanager
> - was sagt UsbTreeView
>
> wird irgend etwas am USB Bus erkannt? Dazu müssen die 24MHz aktiv sein
> und ein Reset Impuls (low) muss beim Anlegen der Spannung erzeugt
> werden.

USBTreeVieW habe ich angehängt
Kannte das Programm bisher nicht-> zeigt ne ganze Menge

Gerätemanager sagt: "unbekanntes Gerät"

von John P. (brushlesspower)


Angehängte Dateien:

Lesenswert?

Hier noch der Auszug von USBTreeView von meinem anderen Picoscope (4 
Kanal)

von Thomas Z. (usbman)


Lesenswert?

na ja
DriverKeyName            : ERROR_FILE_NOT_FOUND

ist doch schon mal ein klarer Hinweis.

Dein USB Chip funktioniert, genau wie das I2C EEprom und die 24MHz. Du 
misst also Mist.
Der Chip kommt mit gültigen Dekriptoren für die Vendor Class hoch. Dir 
fehlt also nur ein passender Treiber. Das hätte aber auch der 
Gerätemanager anzeigen können.

von Dieter (Gast)


Lesenswert?

John P. schrieb:
>
> USBTreeVieW habe ich angehängt

Da taucht das Gerät ja offensichtlich auf, dann funktioniert
wohl die USB Kommunikation, zumindest der Anfang davon.

War das nun mit extern eingespeisten 24 MHz?

von Thomas Z. (usbman)


Lesenswert?

Jetzt wäre es wichtig dein OS zu kennen.
Benutzt du sigrok zum steuern des Devices?

Generell gilt: ohne Treiber kein FW Download. Ohne FW keine Scope 
Funktion.

sigrok braucht libusb als Treiber. Du musst also vermutlich nur mit 
Zadig deine VID/PID dem libusbk Treiber zuordnen.

von John P. (brushlesspower)


Lesenswert?

Thomas Z. schrieb:
> Der Chip kommt mit gültigen Dekriptoren für die Vendor Class hoch. Dir
> fehlt also nur ein passender Treiber. Das hätte aber auch der
> Gerätemanager anzeigen können.

Sollte aber mit der Picoscope Software vorhanden sein.
Das andere Picoscope funktioniert ja auch problemlos.

Thomas Z. schrieb:
> Jetzt wäre es wichtig dein OS zu kennen.
> Benutzt du sigrok zum steuern des Devices?
>
> Generell gilt: ohne Treiber kein FW Download. Ohne FW keine Scope
> Funktion.
>
> sigrok braucht libusb als Treiber. Du musst also vermutlich nur mit
> Zadig deine VID/PID dem libusbk Treiber zuordnen.

Picoscope V6 inkl der zugehörigen Treiber.
Treiber verschwinden ja auch nicht einfach so?

Zadig könnte ich aber mal probieren

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Thomas Z. schrieb:
> DriverKeyName            : ERROR_FILE_NOT_FOUND
>
> ist doch schon mal ein klarer Hinweis.

Dazu gibt es auch noch einen "CM_PROB_FAILED_INSTALL":
- 
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/cm-prob-failed-install

von Thomas Z. (usbman)


Lesenswert?

John P. schrieb:
> Zadig könnte ich aber mal probieren
Achtung:
mach das nur wenn du das Device dauerhaft mit sigrok  betreiben willst!

Wenn du die Software von Picoscope nutzt kann es ev auch sein dass du 
einfach keine zertifizierten Treiber für dein OS (das du ja nicht nennen 
willst) hast.

Du kannst ja mal eine manuelle Installation im Gerätemanager probieren 
indem du dort einfach auf die passende inf zeigst.

: Bearbeitet durch User
von John P. (brushlesspower)


Lesenswert?

Thomas Z. schrieb:
> Achtung:
> mach das nur wenn du das Device dauerhaft mit sigrok  betreiben willst!

zu spät

Thomas Z. schrieb:
> Wenn du die Software von Picoscope nutzt kann es ev auch sein dass du
> einfach keine zertifizierten Treiber für dein OS (das du ja nicht nennen
> willst) hast.

Windows 10

Thomas Z. schrieb:
> Du kannst ja mal eine manuelle Installation im Gerätemanager probieren
> indem du dort einfach auf die passende inf zeigst.

Da ich ein anderes Picoscope habe (ebenfalls 2000er Serie) konnte ich 
dem unbekannten gerät diesen Treiber zuweisen.

Jetzt wird es zwar als picoscope erkannt, aber mit der Picoscope 
Software wird es trotzdem nicht gefunden.

Ich denke es ist tatsächlich ein fall für die Tonne.

von Thomas Z. (usbman)


Lesenswert?

John P. schrieb:
> Ich denke es ist tatsächlich ein fall für die Tonne.

Also bevor du das machst ich würde es nehmen :-)

von John P. (brushlesspower)


Lesenswert?

wie werden PD2 bis PD7 am CY7C68013A angesteuert?

Firmware? im CY7C68013A?

von Thomas Z. (usbman)


Lesenswert?

John P. schrieb:
> wie werden PD2 bis PD7 am CY7C68013A angesteuert?
>
> Firmware? im CY7C68013A?

Ich habs ja schon geschrieben. Der Cypress wird von einer Firmware 
gesteuert die von der PC Software an den Chip geschickt wird. In diesem 
Fall wird da vermutlich damit das GPIF Interface gesteuert. Der Chip ist 
erst mal ziemlich doof. Hat lediglich 8 bzw 16kB code Ram. die mit FW 
befüllt werden.

Wenn ich dich richtig verstanden habe hast du den Treiber für dein 
anderes Device installiert dass ist aber eine andere PID und damit nicht 
sichergestellt dass es den gleichen Treiber benutzt. Dazu müsste man die 
INFs anschauen. Bei deinem anderen Device wird WinUsb als Treiber 
verwendet.

von John P. (brushlesspower)


Lesenswert?

Thomas Z. schrieb:
> Ich habs ja schon geschrieben. Der Cypress wird von einer Firmware
> gesteuert die von der PC Software an den Chip geschickt wird. In diesem
> Fall wird da vermutlich damit das GPIF Interface gesteuert. Der Chip ist
> erst mal ziemlich doof. Hat lediglich 8 bzw 16kB code Ram. die mit FW
> befüllt werden.

Ah, ok.
Das heißt der USB Chip verbindet sich mit dem PC -> Die Picosocpe 
Software erkennt die PID/VID und sendet Firmware an den USB Chip.
Mit dieser Firmware wird dann das GPIFInterface angesteuert welches den 
Xilinx startet.

Hatte nur befurchtet, dass ich durch den Tausch des Chips auch die FW 
entfernt habe.

von John P. (brushlesspower)


Lesenswert?

Ich habe mir mal die Vendor PID's rausgesucht:

Für mein funktionierendes 4 kanal Picoscope ist das die 0X1016 wie von 
USBTreeView angezeigt.

Aber für das 2 Kanal Picoscope sollte es nicht PID 1505 sein (das wäre 
ein Agilent Waveform Generator) sondern 0X1007

Frage:
wieso ist die PID falsch?
Wie kann man die Ändern?

von Thomas Z. (usbman)


Lesenswert?

PID ist die Produkt ID nicht die Vendor ID. Die Vendor ID hat nichts mit 
der Produkt ID zu tun.
Wieso glaubst du dass diese falsch ist?

Treiber werden über das VID PID Paar zugeordnet (und ev noch über REF).

von Thomas Z. (usbman)


Lesenswert?

ich hab mal in die Inf geschaut:

USB\VID_0CE9&PID_1007.DeviceDesc="PicoScope 2000 series PC Oscilloscope"

und als Treiber wird WinUsb verwendet. Jetzt kannst du ja mal 
nachschauen ob wirklich WinUsb geladen ist (mit UsbTreeView oder dem 
Devicemanager)

von Brushlesspower (Gast)


Lesenswert?

weil laut http://www.linux-usb.org/usb.ids
die PID für ein Picoscope der 2000er Serie 0x1007 sein soll

für die 2000A Serie (mein anderes) ist es 0x1016 was von USBTreeView ja 
bestätigt wird

von Brushlesspower (Gast)


Lesenswert?

Thomas Z. schrieb:
> WinUsb geladen ist (mit UsbTreeView oder dem Devicemanager)

Laut Zadig is es WinUsb

von Thomas Z. (usbman)


Lesenswert?

Brushlesspower schrieb:
> Laut Zadig is es WinUsb

nicht Zadig nehmen, jetzt bereue ich schon wieder diesen Tip gegeben zu 
haben.
Zadig ist nur was für Leute die sich mit USB Treiber Installationen 
auskennen.
Schau dir das bitte im Gerätemanager oder UsbTreeview an.

Du brauchst für deine Box die Installation. Wie ist den die genaue 
Typenbezeichnung deiner Box? auf der HP gehts erst ab 2204A los. Da du 
eine andere PID hast die auch nicht in der picowinusb.inf auftaucht, 
wird das Teil vermutlich nicht von aktuellen Installationsdateien 
unterstützt.

von Brushlesspower (Gast)


Lesenswert?

Es ist ein 2203 ohne A

Ich nutze Zadig öfter mal, ist ja nicht weiter schlimm. Es lässt sich ja 
alles wieder deinstallieren.

Aber bei zadig einnere ich mich das er direkt WinUSB anzeigte ( nachdem 
ich den Treiber umgebogen hatte)

Wenn ich alles deinstalliere und die Box wieder als unbekanntes Gerät 
angezeigt wird, dann zeigt Zadig nichts an. Also komplett ohne treiber

Bin grad unterwegs und grad nicht am Gerät

von Brushlesspower (Gast)


Lesenswert?

Aber trotzdem

die PID 0x1507 scheint ja falsch zu sein

von Thomas Z. (usbman)


Lesenswert?

Brushlesspower schrieb:
> Ich nutze Zadig öfter mal, ist ja nicht weiter schlimm. Es lässt sich ja
> alles wieder deinstallieren.

Dann solltest du aber auch wissen dass du mit Zadig jedem Device einen 
Treiber aufzwingen kannst ob der nun der Richtige ist oder nicht. Du 
brauchst zwingend einen Treiber der zu deiner PID passt.

Ich vermute jetzt mal einfach dass das eine andere Installationsdatei 
notwendig ist. Die Cypress Chips wurden früher mit einem verbugten 
Treiber
von Cypress angesprochen. WinUsb kam erst sehr viel später.
Es ist möglich dass dein Device einen anderen Satz Treiber Dateien 
braucht, die natürlich entsprechend zertifiziert sein müssen damit das 
unter W10 auch läuft.
Die inf Datei der aktuellen Installation (6.14) enthält jedenfalls 
keinen Eintrag für deine PID_1507.

Edit:
ok lt http://sigrok.org/wiki/Pico_Technology_PicoScope_2203/Info
sollte deine Box auch die 1007 haben dann stimmt was nicht mit dem 
Eprom.
Es gab / gibt? von Cypress Docs und Tools wie der EEprom Datensatz 
aufgebaut sein muss.

: Bearbeitet durch User
von Brushlesspower (Gast)


Lesenswert?

Thomas Z. schrieb:
> Dann solltest du aber auch wissen dass du mit Zadig jedem Device einen
> Treiber aufzwingen kannst ob der nun der Richtige ist oder nicht. Du
> brauchst zwingend einen Treiber der zu deiner PID passt.

Das ist ja der Sinn von Zadig. Nutze es aber auch nur wenn in den 
Anleitungen dazu aufgerufen wird.

Thomas Z. schrieb:
> Edit:
> ok lt http://sigrok.org/wiki/Pico_Technology_PicoScope_2203/Info
> sollte deine Box auch die 1007 haben dann stimmt was nicht mit dem
> Eprom.
> Es gab / gibt? von Cypress Docs und Tools wie der EEprom Datensatz
> aufgebaut sein muss.

Dann sind wir uns einig.
So wie ich die Doku verstehe muss ich den cypress im Bootloader modus 
starten. Dann lässt sich mittel CyConsole die PID auf dem EEPROM ändern

von Thomas Z. (usbman)


Lesenswert?

Brushlesspower schrieb:
> So wie ich die Doku verstehe muss ich den cypress im Bootloader modus
> starten. Dann lässt sich mittel CyConsole die PID auf dem EEPROM ändern

genau so. In den Loader Mode kommst du wenn du beim Anstecken SDA vom 
EEprom auf Low ziest. Dann kommt der Chip mit der Cypress ID hoch. Die 
Frage ist dann welchen Treiber der benutzt. Ich diese bix files immer 
extern programmiert.

Hier die Anleitung
https://community.infineon.com/t5/Knowledge-Base-Articles/Programming-the-Serial-EEPROMs-on-the-EZ-USB-FX2LP-Development-Kit-Board/ta-p/248738

Beitrag #7059114 wurde vom Autor gelöscht.
von John P. (brushlesspower)


Lesenswert?

Guten Morgen,

ich kann mich jetzt soweit mit der CyConsole verbinden.

Ist es möglich den EEPROM auszulesen?
Was  wird auf dem EEPROM alles gespeichert?

Ich habe angst wichtige Daten auf dem EEPROM zu löschen.

von John P. (brushlesspower)


Lesenswert?

Ich habe mich durch die diversen Anleitungen durchgewühlt und konnte den 
EEPROM lesen.

Es stand tatsächlich 0x1507 im EEPROM

Ich habe dann nur das "0x15" Byte neu geschreiben mit "0x10"

Seit dem wird das Picoscope wieder als Picoscope erkannt.
Auch die Picoscope Software geht wieder.

Vielen Dank an alle die mir geholfen haben. Besonders Thomas Z. der so 
viel Geduld mit mir hatte.

von Axel R. (axlr)


Lesenswert?

Wie kam es denn zum "flacshen Eintrag" im EEPROM?

von John P. (brushlesspower)


Lesenswert?

Axel R. schrieb:
> Wie kam es denn zum "flacshen Eintrag" im EEPROM?

Kein Plan.
Wie gesagt, das Auftreten des Fehlers ist nun schon ein paar Jahre her.
Aber soweit ich mich erinnern kann, ist der Fehler von einem Tag auf den 
anderen einfach da gewesen.

von Thomas Z. (usbman)


Lesenswert?

Gratulation zur Rep.

Axel R. schrieb:
> Wie kam es denn zum "flacshen Eintrag" im EEPROM?

Da gibt es nur 2 mögliche Erklärungen
1. Software hat den VendorRequest zum schreiben ins EEprom ausgelöst. 
Bug?
2. Die 2 Bits sind durch ein Power Event gekippt.

Die 2. Variante halte ich für wahrscheinlicher. Ich benutze deshalb bei 
EEproms immer die WP Leitung, und schalte das Schreiben dann aktiv frei.

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
Noch kein Account? Hier anmelden.