SPI Slave to USB Adapter

OP (Firma: Torrox.de) #4152439
Lesenswert?

Hallo,
ich suche etwas, mit dem ich Daten, die über einem SPI übertragene Daten 
mitschneiden und via USB übertragen kann. Anwendung ist eine 
Applikation, bei der zwischen zwei Microcontrollern Zustände 
ausgetauscht werden und ich diese gerne am Laptop monitoren möchte.

Alls ISP - USB Adapter die ich bis jetzt gefunden habe, arbeiten als SPI 
Master, was ich bräuchte wäre aber einen SPI slave; im Idealfall sogar 
ein doppel-Slave.

Mir ist auch klar, dass ich mir das aus irgend einem Eval-Board für 
einen µController mit USB und SPI selbst zusammen stricken kann, aber 
dafür bräuchte ich sicher mehrere Tage.

Kann jemand eine Lösung empfehlen?

mfg Torsten
#4152473
Lesenswert?

Torsten Robitzki schrieb:
> ich suche etwas, mit dem ich Daten, die über einem SPI übertragene Daten
> mitschneiden und via USB übertragen kann.

Kauf Dir einen ausreichend schnellen Logic Analyser, der sollte 
mindestens 4 Kanäle haben.

SPI Slave ist auf einem µC recht aufwändig, da man das Timing nicht 
beeinflussen kann und so schnell mal Überläufe hat. Bei 2* SPI Slave 
will man dann auch DMA haben, das wird also eher kein AVR.
OP (Firma: Torrox.de) #4152482
Lesenswert?

Jim Meba schrieb:
> Kauf Dir einen ausreichend schnellen Logic Analyser, der sollte
> mindestens 4 Kanäle haben.

Ich glaube, auf dem Weg wäre ich auch nicht schneller, als mir den 
Adapter mit einem µController selbst zu bauen. Die Bandbreite wird nicht 
sehr hoch sein (bzw. ich kann beim Monitoring auch einfach ganze Frames 
verwerfen) und ich brauche die letztendlich am Laptop um sie dort 
dazustellen.

Es wäre auch denkbar, dass Kunden den Adapter mit ins Feld nehmen und 
dann wäre eine kompakte Lösung auch von Vorteil.

mfg Torsten
Persönliche Seite #4152503
Lesenswert?

Jim Meba schrieb:
> der OP sucht einen Slave.

Verdammt, hast Recht. Sorry an Alle!

Markus Wagner schrieb:
> Gäbe es einen link dazu?

'FT2232H USB 2.0 Hi-Speed breakout board' in die Suche bei Ali eingeben. 
Ist aber - wie gesagt - nur Master. :-(

Torsten Robitzki schrieb:
> Ich glaube, auf dem Weg wäre ich auch nicht schneller, als mir den
> Adapter mit einem µController selbst zu bauen.

Wieso? Nur anschließen, fertig.

LWLA1034 oder ein 'Saleae Logic Analyzer' Clone, je nach erforderlicher 
Speichertiefe.
OP (Firma: Torrox.de) #4152514
Lesenswert?

Torsten C. schrieb:
> Wieso? Nur anschließen, fertig.

Naja, ich muss die Daten schon noch interpretieren. Ein Hex-Dump der 
Daten über die Leitung wird mir nicht viel nützen. Ich müsste also an 
die Daten des Logic Analysers ran kommen. Ich will ja nicht die 
Schnittstelle debuggen, sondern das Systemverhalten und dazu möchte ich 
einige Werte im System kennen.

Der FT2232H hat einen "Multi-Protocol Synchronous Serial Engine", wenn 
man da einige Stunde rein steckt, bekommt man es evtl. auch hin, dass 
Ding als Slave zu betreiben.

Das richtige IC wäre eigentlich der FT121. Dazu gibt es aber leider kein 
passendes Kabel, in dem das Teil schon im Stecker steckt.
Persönliche Seite #4152572
Lesenswert?

Torsten Robitzki schrieb:
> Was ist SendKeys()?

Womit sprichst Du denn die FTDI-DLL an? Das verwendete Framework kennt 
in der Regel auch ein SendKeys, z.B. .net:
https://msdn.microsoft.com/de-de/library/system.windows.forms.sendkeys.send%28v=vs.110%29.aspx

Aber wegen 'am Poti drehen und Werte-Änderung live am Monitor 
beobachten' bleibt ja nur noch eine eigene SW unter Nutzung der 
FTDI-DLL.

Das wäre dann die finale Lösung, oder?
OP (Firma: Torrox.de) #4152590
Lesenswert?

Torsten C. schrieb:
> Womit sprichst Du denn die FTDI-DLL an? Das verwendete Framework kennt
> in der Regel auch ein SendKeys, z.B. .net:
> 
https://msdn.microsoft.com/de-de/library/system.windows.forms.sendkeys.send%28v=vs.110%29.aspx

Oh, ich habe das Glück, kein Windows-Rechner auf dem Tisch stehen zu 
haben :-) Ich hatte mir vorhin schon mal angeguckt, wie man ein HID 
(d)evice unter OS/X anspricht und dass hat ganz gut funktioniert. Den 
FT121 kann man wohl als HID betreiben. Ich bin aber noch USB-Newbe und 
lerne gerade noch ganz viel in dem Bereich.

> Aber wegen 'am Poti drehen und Werte-Änderung live am Monitor
> beobachten' bleibt ja nur noch eine eigene SW unter Nutzung der
> FTDI-DLL.

Ja, eigene Software auf dem Laptop muss ich eh schreiben, um die Daten 
korrekt zu interpretieren und auf der Konsole hübsch formatiert 
auszugeben.

Ich habe jetzt mal breakout boards mit FT121 und ein Kabel mit FT2232H 
bei FTDI bestellt. Die Lösung mit dem Kabel fänd' ich praktischer, die 
Lösung mit dem breakout board werde ich aber auf jeden Fall hin 
bekommen, beim FT2232H bin ich mir nicht so sicher.

Schönen Dank an Alle und falls noch jemand eine etwas mehr 
"Out-Of-The-Box"-Lösung hat, immer her damit :-)

mfg Torsten
#4157996
Lesenswert?

Torsten Robitzki schrieb:
> Der wird nicht von der
> SUB-Seite aus gesteuert, sonder von der SPI-Seite. Klarer Fall von:
> "Lesen bildet".

Verstehe das Problem gerade nicht.
Du wolltest doch etwas, was den SPI Datenstrom "mitschneidet". Genau das 
sollte mit diesem Ding gehen.
Problem ist eher, dass du nur eine Richtung (MISO oder MOSI) mit dem 
MISO des FT121 verbinden kannst, und somit nur entweder die Commands des 
Masters oder die Antworten des Slaves siehst.

Wie schnell ist denn deine SPI CLK?
OP (Firma: Torrox.de) #4158641
Lesenswert?

Hallo Joe,
eigentlich hatte ich Dir schon gestern geantwortet, leider ist die 
Antwort hier nicht angekommen (wahrscheinlich habe ich vergessen, auf 
"Absenden" zu drücken).

Joe F. schrieb:

> Verstehe das Problem gerade nicht.

Der FT121 erwartet, vom SPI Master konfiguriert zu werden (und nicht, 
wie ich angenommen hatte, von der USB Seite).

> Problem ist eher, dass du nur eine Richtung (MISO oder MOSI) mit dem
> MISO des FT121 verbinden kannst, und somit nur entweder die Commands des
> Masters oder die Antworten des Slaves siehst.

Das wäre garnicht so schlimm, da die interessanten Daten eh in nur in 
eine Richtung gehen. Notfall könnte man da auch 2 "Dinger" anschließen.

> Wie schnell ist denn deine SPI CLK?

So niedrig wie nötig. Da müssen ca. 100 Byte, 20 mal in der Sekunde von 
einem µC zum anderen transportiert werden.

mfg Torsten
Persönliche Seite #4195220
Lesenswert?

Torsten R. schrieb:
> falls noch jemand eine etwas mehr
> "Out-Of-The-Box"-Lösung hat, immer her damit :-)

Zwar für diesen Thread 'zu spät', aber ich habe gerade gesehen,
auf dem 'CY8CKIT-049 4xxx' (unter 5€) ist auch eine Bridge drauf:

* USB to UART
* USB to I2C (master & slave)
* USB to SPI (master & slave)
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren