Ist das ein gewöhnlicher USB Speicherstick?

7 Antworten

Ja, da kommt eine Fertigungstechnik zum Einsatz wie sie oft bei Armbanduhren, Taschenrechnern und anderen kleinen Elektronik Geräten verwendet wird.

Anstatt den Chip in ein Gehäuse zu kleben, daran anzubonden, zu vergießen und das dann auf eine Platine zu löten wird der dann einfach direkt auf die Platine geklebt, gebondet und vergossen.

Der Vorteil ist, dass das etwas weniger Aufwand ist als den Chip in ein Gehäuse einzubauen und man spart sich dann dazu das Gehäuse und das anlöten.

Der Nachteil ist, dass man das in einem Reinraum machen muss, das kann man also nicht in einer normalen Elektronik Fertigungsstraße machen.

So was machen dann die Chiphersteller selber oder eine Firma die sowieso besonders kleine Schaltungen fertigt und deswegen einen Reinraum hat.

Für einen Stick in der Größe ist diese Fertigungstechnik nicht notwendig, daher trifft man das eher selten an. Bei den "Nano Sticks" kann man das aber nicht anders machen. Vermutlich kommt das Ding aus einer Fabrik die auch Nano-Sticks herstellt.

Woher ich das weiß:Berufserfahrung

Joan prinzipiell ganz üblich, Microcontroller, Kristall, und unter dem blob ist wohl der flash Speicher. Könnte aber auch was anderes drunter sein.

Das IC ist ein 8051 kompatibler MCU. Das schwarze Ding ein auf dem Board debondeter IC. Die Pins rechts IO vom IC zum Pogrammieren?

Ein seltsames Teil ....

Woher ich das weiß:eigene Erfahrung

nein, ein USB-Speicherstick ist das nicht.
Das silberne Teil ist ein Schwingquarz. So ein Bauelement benötigt ein Speicherstick nicht.
Es könnte eine Baugruppe zum Programmieren eines Mikrocontrollers sein, wobei die Anschlüsse dafür fehlen.

Solltest du Zugang zu einem Linux-Betriebssystem haben, rufe den Befehl

lsusb

einmal mit, einmal ohne dieses Gerät auf. Wenn der nicht kaputt ist, steht da als Differenz so etwas wie :

Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge


Commodore64  30.06.2024, 20:51
So ein Bauelement benötigt ein Speicherstick nicht.

Ohne Takt keine Datenübertragung. Wie soll ein Speicherstick ohne Datenübertragung funktionieren?

Die meisten haben Keramikresonatoren, aber ein Quarz ist für einen Speicherstick genau so gut.

2
guenterhalt  30.06.2024, 21:39
@Commodore64

ein USB-Speicherstick ist ein rein passives Element. Über die Signal-Adernpaar (D+ / D−) werden vom Master ( den PC ) genau die Takte geliefert, die notwendig sind, um die Speicherzelle zu adressieren und Daten zu schreiben bzw. zu senden.
Das erfolgt synchron mit den Taktzyklen des USB-Controllers. Ob so ein Controller selbständig Daten "auf Vorrat" in einem Cache speichern kann, habe ich einfach vergessen (mein Wissen ist schon 25 Jahre alt). Aber auch da ist der Controller im PC der Taktgeber. Der Controller würde dafür einen Takt benötigen. Dem dürfte aber der (reduzierte) PC-Systemtakt reichen.
Zu USB-3 kann ich keine Aussagen machen.

0
Commodore64  30.06.2024, 22:04
@guenterhalt

USB verwendet eine NRZI Codierung. Da ist kein Takt mit drin. Woher soll der Empfänger wissen wie lange die Leitung auf einem pegel ist, also wie viele Bits das sind bevor wieder umgeschaltet wird wenn es keine Zeitbasis gibt?

https://de.wikipedia.org/wiki/Non_Return_to_Zero

Bei Manchester wäre das möglich den Takt aus dem Signal zu gewinnen, bei RZI oder NRZI nicht!

Und wie sollen denn dann die Daten gelesen werden, also zum PC gesendet werden wenn es da keinen Takt gibt?

USB ist nun mal eine Asynchrone Serielle Übertragung und da muss die Empfängerseite genau ausmessen wann welches Bit anliegt. Und das geht ohne Zeitbasis durch Quarz oder andere Taktgeber nicht!

Möglich ist einen RC Oszillator zu verwenden. Da behilft man sich z.B. bei einem Mikrocontroller wie dem ATiny85 eines Tricks um USB per Bitbanging zu simulieren. Hier verstellt man das OSCCAL Register das den RC Oszillator verstellt so lange, bis die Kommunikation steht.

Aber ohne herumtricksen braucht man einen sehr präzisen Takt.

Eine SD Karte kommt ohne eigenen Takt aus da die über eine Synchrone Serielle verbindung angebunden wird, da gibt es eine Taktleitung die anzeigt wann ein neues Bit anliegt oder wann ein Bit gelesen werden soll.

1
guenterhalt  30.06.2024, 22:19
@Commodore64
Da ist kein Takt mit drin. Woher soll der Empfänger wissen wie lange die Leitung auf einem pegel ist, also wie viele Bits das sind bevor wieder umgeschaltet wird wenn es keine Zeitbasis gibt?

Die Abfrage erfolgt Bit für Bit, nicht Byte für Byte wie z.B. bei Übertagungen über V24 (RS232) . Es sind also nur die Verzögerungen bei der Anforderung eines Bit zu beachten.

0
Commodore64  01.07.2024, 16:46
@guenterhalt

Und woher weiß die Gegenseite wie viele einsen und Nullen anliegen wenn sich das Signal nicht ändert? Ob der Pegel doppelt so lange oder halb so lange anliegt kann man ohne Zeitmaß nicht feststellen und das Zeitmaß kommt von einem Taktgeber. Bei USB ist kein Taktgeber in der Übertragungsleitung drin.

Und wenn man den Speicherchip lesen will, wie kann der Daten ohne Takt senden? Der Computer fordert Daten an und wartet dann dass die eintreffen. Ohne Takt kommen dann keine Daten.

0
Commodore64  01.07.2024, 16:58
@guenterhalt
Die Abfrage erfolgt Bit für Bit, nicht Byte für Byte

Also Du glaubst, dass jedes mal wenn der Computer den Stick anspricht, dass dann nur ein einziges Bit kommt?

Bei einer normalen USB Maus ist die Zeit nach der die frühestens abgefragt werden will auf 10ms eingestellt.

Wenn die alle 10ms nur ein einziges Bit senden kann, dann würde es "minuten" dauern bis die alle Daten übertragen hat für eine Bewegung.

0
Commodore64  01.07.2024, 17:04
@guenterhalt

Hier hast Du die USB Spezifikation im praktischen ZIP Format:

https://www.usb.org/document-library/usb-20-specification

rechts oben in der blauen Leiste ist der Link auf die ZIP.

Dann nenne mir mal die Seite die sagt, dass nur ein Bit übertragen werden kann und wo und wie der Takt übertragen wird.

Ich habe früher Mikrocontroller nach dieser Spec programmiert so dass die direkt ohne spezielle Hardware (per Bitbanging) USB "sprechen" konnten. Ich habe mich einige Wochen mit der Taktrückgewinnung und einhalten der sehr engen erlaubten Toleranzen des Taktes mit dem USB sendet/empfängt beschäftigt.

Und was Du da behauptest, das ist das absolute Gegenteil von dem was ich viele Jahre lang auf Bitebene gemacht habe.

0

Der Aufbau sieht sehr nach einem USB Speicherstick aus.

Spaßeshalber mal eine Linux Live USB Stick Version vom PC Booten und den Stick anschließen.

Terminal/Shell/Bash aufmachen und

lsusb <ENTER>

Eingeben mal sehen was angezeigt wird.