Forum: Mikrocontroller und Digitale Elektronik Sipeed Longan Nano - USB C durch A ersetzen


von Eric T. (user2001)



Lesenswert?

Hallo, ich habe hier einige Longan Nano's liegen und wollte fragen, ob 
es irgendwie möglich ist den USB-C weiblich durch einen USB Typ A 
männlich zu ersetzen.

Vielleicht kann jemand erfahreneres direkt sehen, welche der PINs 
geeignet wären. Notfalls kann die Typ C Buchse auch dran bleiben. 
Hauptsache ich bekomme da irgendwie einen A Stecker ran, den ich später 
über einen seriellen Monitor ansprechen kann also Konsolen Ein-/Ausgabe.

Eine grobe Umschreibung, wie ich das programmiertechnisch mache, wäre 
auch nett. Ich kann zwar etwas programmieren, aber so Hardware nah fällt 
es mir schwer..

Vielen Dank!

von nfet (Gast)


Lesenswert?

Es gibt USB A auf C Adapter für ca. 3€. Dazu noch ein billiges c auf c 
Kabel und voila du hast es ohne löten gelöst. Sollte auch elektrisch 
kein Problem darstellen.

von Eric T. (user2001)


Lesenswert?

Danke, sollte aber fest sein sonst kann ich auch gleich ein A auf C 
Kabel benutzen. Wie würde das mit dem löten ablaufen? Steckt dahinter 
nicht irgendeine Art Controller der nur zur C-Buchse passt... Oder wie 
stell ich das an?

Oder kann ich vielleicht an der einen Seite wo die PIN's auf dem einen 
Bild sind(gegenüber der C Buchse) USB A anlöten? Das wäre auch optimal.

Man soll ihn halt wie einen USB-Stick benutzen können.

von nfet (Gast)


Lesenswert?

Wenn's fest sein soll, dann nutze ordentlich Heißkleber.
Aber natürlich kannst du auch einen USB Stecker Dranlöten.

https://doc.nucleisys.com/nuclei_sdk/_images/sipeed_longan_nano_schematic.png

Das sollte der Schaltplan dazu sein.
USB D+ an P4.9, USB D- an P4.8 und 5V und GND an P4.1 und P4.18
Wenn du es an die Steckerleiste löten willst (warum auch immer).

von nfet (Gast)


Lesenswert?

Eric T. schrieb:
> Oder kann ich vielleicht an der einen Seite wo die PIN's auf dem einen
> Bild sind(gegenüber der C Buchse) USB A anlöten? Das wäre auch optimal.

Noch eine Alternative: an der Seite einen USB auf UART Wandler anlöten. 
(RX auf TX und TX auf RX und 3V3 auf 3V3 und GND auf GND)
Dann hättest du deine erste Anforderung ("seriellen Monitor").
Ein USB Stick (so zum Daten drauf speichern) ist es damit aber nicht.

von Eric T. (user2001)


Lesenswert?

nfet schrieb:
> Wenn's fest sein soll, dann nutze ordentlich Heißkleber.
> Aber natürlich kannst du auch einen USB Stecker Dranlöten.
>
> https://doc.nucleisys.com/nuclei_sdk/_images/sipeed_longan_nano_schematic.png
>
> Das sollte der Schaltplan dazu sein.
> USB D+ an P4.9, USB D- an P4.8 und 5V und GND an P4.1 und P4.18
> Wenn du es an die Steckerleiste löten willst (warum auch immer).

Also quasi an den stellen wo bei dem "pinout"-Bild das ich angefügt habe 
in weiß A12 / A11 auf dem Board drauf stehen?

von Eric T. (user2001)


Lesenswert?

Das ganze muss halt noch in ein 3d gedrucktes Gehäuse passen und 
irgendwie wie ein USB Stick aussehen. Was wäre denn die beste 
Schnittstelle um vom PC auf die eingebaute Micro-SD Karte zuzugreifen? 
Ich nehme mal an das dieser Konverter die Leistung ordentlich drückt.

Und könntest du mir links zu deinem Vorschlag mit Kabel und Adapter 
senden?

: Bearbeitet durch User
von Rene K. (xdraconix)


Lesenswert?

Also, wieder Salamitaktik...

Du möchtest diese Platine an einen Rechner anschließen... direkt... und 
möchtest dann Daten von USB auf die dort einlegbare SD Karte schreiben.

Punkt 1.: Welche Daten? Dateien vom PC?
Punkt 2.: Soll sich das Gerät wie ein USB Stick verwenden lassen? Also 
als Laufwerk angezeigt?

Punkt 3.: Ich glaube du überschätzt das Ding da gaaaaaanz arg!

von nfet (Gast)


Lesenswert?

Eric T. schrieb:
> Und könntest du mir links zu deinem Vorschlag mit Kabel und Adapter
> senden?

Google: USB A to UART

Ich hab gute Erfahrungen hiermit: 
https://www.reichelt.de/usb-2-0-konverter-seriell-ttl-pinheader-einzeln-1-8-m-3-3-v--delock-83787-p163095.html
Aber da du es wohl kompakt in ein Gehäuse haben willst, wohl eher 
ungeeignet.

Leider ist mir immer noch unklar, was du eigentlich vor hast. Vielleicht 
ist dir mittlerweile auch aufgefallen, dass es geschickter wäre dein 
Problem zu beschreiben, als Detailfragen zu Lösungen zu stellen, die du 
dir so ausgedacht hast.

Wir haben bis jetzt:
Gehäuse (gibt's das schon? Muss da irgendwas passen?)
Serieller Monitor (warum, was hast du vor, was ist das für dich?)
Soll aussehen wie ein USB Stick
Zugriff auf SD Karte (warum, wie?)

von Eric T. (user2001)


Lesenswert?

Also ich wollte damit kleine Dateien wie PDFs zu verschlüsseln. Ich 
erkläre mal nicht weiter da das zu tief führen würde.

Cool wäre natürlich wenn ich eine Datei per drag und drop drauf ziehen 
könnte also das es sich als storage device installiert und dann nach 
jeder datei die verbindung einstellt, verschlüsselt und wieder als 
storage device erscheint. Es kann aber auch ein eigenes Programm sein 
das hinterher die Dateien vom PC aus ausliest und einfügt. Das ist nicht 
ganz so wichtig.

Jedenfalls muss ich irgendwie eine Möglichkeit haben eine Datei darauf 
zu schieben und später eine verschlüsselte Datei wieder davon runter zu 
bekommen. Ein Passwort zum Ver- und Entschlüsseln soll auch an ihn 
übergeben werden.

von Eric T. (user2001)


Lesenswert?

Als Gehäuse würde ich das als Grundlage nehmen:
https://www.thingiverse.com/thing:4808456
Kann das ja noch verändern.

von nfet (Gast)


Lesenswert?

Okay dann sind wir doch schon mal ein gutes Stück schlauer.
Dir muss bewusst sein, dass du sowohl für verschlüsseln, als auch für 
das Datei drauf und wieder weg kopieren ziemlich lange brauchen wirst?

Also das Ding hat 108MHz und keinerlei Cryptohardware. Der Zugriff auf 
die SD Karte ist jetzt auch nicht gerade endlos schnell... Aber nun gut. 
Vielleicht sind deine Dateien ja klein oder du hast Zeit.

Ich würde aus Komfortgründen ja zu einer USB Storage Lösung raten. Damit 
fällt der USB seriell Konverter raus.
Dann kannst du einfach einen USB A Stecker nehmen und wie oben von mir 
vorgeschlagen anlöten.
Alternativ auch dem USB-C Stecker ablöten um das frei gewordene Volumen 
schon mit für den USB-A Stecker nutzen zu können. Und ja A12 und A11 
sind USB+ und - (wie es ja auch dransteht, wie ich entdeckt habe)

von Rene K. (xdraconix)


Lesenswert?

Oha, da ist ein GD32 drauf, ein STM32 Clone. Die SD Karte ist per SPI 
angeschlossen, da liegt die reine Datenrate, mit DMA bei ca. 4Mbits/s - 
natürlich pur, also ohne Protocoll overheads oder dergleichen.

Das Problem jedoch ist: Den GD als Datenträger auszugeben, die Daten 
über den doch geringen RAM zu schieben, dabei zu verschlüsseln und an 
die SD Karte via SPI zu geben. Das nächste Problem was ich da sehe... du 
brauchst da eine Struktur wenn du mehr als ein Datenpaket / Datei darauf 
ablegen willst.

Das ist ne ganz schön ambitionierte Geschichte was du da planst. Welche 
Erfahrungen hast du denn in C oder ASM?

von Manfred (Gast)


Lesenswert?

Eric T. schrieb:
> erkläre mal nicht weiter da das zu tief führen würde.
>
> Cool wäre natürlich wenn ich eine Datei ...

Also Träumerei von einem Wundergerät.

Vewende ein Kabel C auf A und mache erstmal Deine Software fertig. Falls 
diese jemals laufen sollte, ist noch immer Zeit, über die Mechanik 
nachzudenken.

Beim Aliexpress findet man kleine Platinchen mit A-Stecker, die man 
sicherlich ins Gehäuse integrieren könnte und dann über vier Drähtchen 
mit Daten und Versorgung des Boards verbindet, falls es jemals soweit 
kommen wird.

von nfet (Gast)


Lesenswert?

Meine Vorredner drücken das ein bisschen negativ aus.
Ich würde ja sagen: Gute Nachrichten. Die Mechanik+Elektrik ist nur ein 
kleines Problem und quasi gelöst.

Beispiele ähnliche Boards als USB Mass Storage zu betreiben gibt es auch 
(z.B. https://www.keil.com/download/docs/362.asp ) und für den Zugriff 
auf die SD Karte gibt es sowas bestimmt auch.
Von daher kannst du dich auch bei der Software an etwas lang hangeln.

Jetzt geht's da drum damit anzufangen und dann auch eventuell zu merken, 
wo Probleme sind.

von Eric T. (user2001)


Lesenswert?

Nein kein Wundergerät.
Ich möchte halt die schier unendlichen möglichen Angriffsvektoren im 
Internet auf ein für mich verständliches Maß begrenzen. Das heißt ich 
nehme einen kleinen Mikroprozessor mit völlig spezifizierter Hardware 
und versuche so system nah wie mir möglich zu arbeiten, was für mich 
gerade eine wirkliche Herausforderung ist, da ich vorher nur mit gut 
dokumentierten Arduino Bauteilen experimentiert habe.

Ich will einfach nur die Diskussion vermeiden wieso das notwendig ist. 
Ich kann einem Computer mit zig Bauteilen und Programm abhängigkeiten 
halt nicht einfach alles anvertrauen. Wenn ich über wirklich wichtige 
dinge kommunizieren will, möchte ich sie an einem offline PC verfassen, 
mit dem Stick verschlüsseln, an einem Online PC versenden und in 
umgekehrter Reihenfolge empfangen.

Das Grundkonzept, also die Verschlüsselung habe ich bereits 
programmiert. Jetzt geht es darum diesen Algorithmus bzw. diese Funktion 
mittels der zur Verfügung stehenden Hardware voll auszunutzen, bzw. auch 
möglichst einfach für andere zu benutzen zu machen

von Eric T. (user2001)


Lesenswert?

Hier gibt es auch ein paar Beispiele:
https://github.com/riscv-mcu/GD32VF103_Demo_Suites/tree/master/GD32VF103V_EVAL_Demo_Suites/Projects
Ich probiere mal weiter rum und lese mich ein. Ich bin halt Java und Co. 
gewöhnt und konnte mich vorher mehr auf die Algorithmen konzentrieren, 
jetzt muss ich  Hardware-Schnittstellen lernen usw. das wird noch ein 
weiter weg...

Vielen Dank aufjedenfall für die vielen Ideen, das war alles sehr 
hilfreich, ich lass mir das alles mal durch den Kopf gehen :)

: Bearbeitet durch User
von Maxe (Gast)


Lesenswert?

Wie ein Vorredner schrieb, mach erstmal die Software, um das 
Steckerproblem kannst du dich immernoch spaeter kuemmern,z.B. mittels 
eigener Platine. Ist doch ein nettes Projekt. Aber vielleicht solltest 
du gleich zu einem potenteren Mikrocontroller greifen?

von Eric T. (user2001)


Lesenswert?

Welcher ist denn günstig und voll spezifiziert? Möchte nachsehen können 
was in der CPU und Co drin ist

Beitrag #7354274 wurde von einem Moderator gelöscht.
Beitrag #7354278 wurde von einem Moderator gelöscht.
Beitrag #7354310 wurde von einem Moderator gelöscht.
von Rene K. (xdraconix)


Lesenswert?

Eric T. schrieb:
> Welcher ist denn günstig und voll spezifiziert? Möchte nachsehen können
> was in der CPU und Co drin ist

Im Grunde sind fast alle MCUs voll spezifiziert. Mich wundert dann nur, 
das du einen chinesischen Clone einem originalen vor ziehst... Du musst 
halt nur aufpassen das dich die Paranoia nicht auffrisst.

Im übrigen gibt es solche Cryptostifte schon vollends fertig zu kaufen. 
Selbst vom CCC getestet, und da kann man dann bedenkenlos zugreifen.

Um diese Aufgabe, für einen usabilty, schnell zu erledigen. Sprich Datei 
auf den Stick kopieren in einer angemessenen Geschwindigkeit, wird die 
beste Lösung wohl ein FPGA sein - dort bist du dir auch ganz sicher was 
darin ist, nur deine Logik - nicht mehr.

Und um deine Paranoia noch ein wenig anzuheizen - sollte der Stift in 
andere Hände kommen, wird es sicherlich keine große Hürde sein die Datei 
aus der SD Card auszulesen und zu entschlüsseln. Sollte dann noch der 
Schlüssel, welcher ja sicherlich irgendwie weit entfernt vom Stick 
transportiert wird, auch noch in die falsche Hände geraten... Dann ist 
das ein Kinderspiel.

Selbst Enigma würde geknackt... Und eine PDF hat einen fest definierten 
Header und Footer... Super Angriffsvektoren.

von J. S. (jojos)


Lesenswert?

Es geht um GD32V, das ist ein RISC-V und kein STM32 Clone. Anderer 
Compiler, anderer Debugger, andere Welt.

von Rene K. (xdraconix)


Lesenswert?

J. S. schrieb:
> Es geht um GD32V, das ist ein RISC-V und kein STM32 Clone. Anderer
> Compiler, anderer Debugger, andere Welt.

Ahh okay ja, das V hatte ich nicht beachtet. Danke für die Info.

Beitrag #7354834 wurde vom Autor gelöscht.
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.