Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit exotischem SPI?


von Alesund (Gast)


Lesenswert?

Hi,

ich bin auf der Suche nach einem Mikrocontroller, der unter anderem 2 
oder 3 SPIs anbietet, die allerdings etwas speziell sein müssten.

Mein Problem: die SPI-artigen Datenframes, die ich empfangen möchte, 
haben eine Länge von 20 Bit, so dass mir ein SPI, der stupide nur 8 Bit 
empfangen kann, nicht hilft. Ebensowenig ist es keine Lösung, einfach 
auf 2 Frames (=5x 8 Bit) zu warten, da ich nicht auf das dann zwingend 
benötigte zweite Frame warten kann.

Deswegen: kennt jemand einen günstigen Mikrocontroller, der SPIs mit 
programmierbarer Bitanzahl hat und mit mehr als 20 MHz läuft?

Danke!

von Tobias K. (kurzschluss81)


Lesenswert?

Schau mal bei den C2000 von TI.
Der Normale SPI hat eine Einstellbare Bitanzahl von 1 - 16.
Der hat aber auch noch einen McBSP, das Ding ist komplexer einstellbar. 
Ob der aber 20 BIT kann weiß ich auch nicht. Muss du schauen.

von H.Joachim S. (crazyhorse)


Lesenswert?

Schau mal bei Renesas, mit einem M16C habe ich sowas mal vor Jahren 
gemacht. USART im synchronen Modus (das können viele MCs) und mit 
variabler Bitzahl (da wird die Luft schon dünner).
Es gibt sicher etliche die das können.

von bitwurschtler (Gast)


Lesenswert?

Alesund schrieb:
> Deswegen: kennt jemand einen günstigen Mikrocontroller, der SPIs mit
> programmierbarer Bitanzahl hat und mit mehr als 20 MHz läuft?

Die Antwort "Nimm ein CPLD/FPGA ggf mit SoftCore CPU und mach Dir den 
Exoten-SPI selbst" magst du nicht hören?!

von Mark W. (kram) Benutzerseite


Lesenswert?

PSoC 5lp kann das eventuell auch. Kuerzlich hatte ich einen Datenstrom 
generiert, der 128 bit lang war. Vermutlich klappt das mit dem Empfangen 
auch.

von Ursus P. (unwichtig)


Lesenswert?

Alesund schrieb:

> haben eine Länge von 20 Bit, so dass mir ein SPI, der stupide nur 8 Bit
> empfangen kann, nicht hilft. Ebensowenig ist es keine Lösung, einfach
> auf 2 Frames (=5x 8 Bit) zu warten, da ich nicht auf das dann zwingend
> benötigte zweite Frame warten kann.


Moin, Cypress PSoC kann 16 Bit, evtl reicht das.

Mfg aus dem Pott

von Alesund (Gast)


Lesenswert?

bitwurschtler schrieb:
> Die Antwort "Nimm ein CPLD/FPGA ggf mit SoftCore CPU und mach Dir den
> Exoten-SPI selbst" magst du nicht hören?!

Nein, die mag ich nicht hören weil: Zu teuer, zu unflexibel, zu 
kompliziert zu programmieren.

von Darth Moan (Gast)


Lesenswert?

Moin,

schau mal bei ehemals Freescale bzw ST vorbei.
Den SPC564B74 hatte ich mal im Projekt.
Die koennen 4..32bit SPI frames. Bei 25Mbit war glaube ich schluss,
bin mir aber nicht sicher. Die SPI ist da sehr maechtig.
Wie teuer der ist, weiss ich nicht.
Gibts single und dual Core mit 8 SPI.
Der Z4 rennt schon ganz ordentlich (bis 120MHz).
Hatten den damals auf 80MHz betrieben.

von Verwegener Bastler (Gast)


Lesenswert?

Alesund schrieb:
> Mein Problem: die SPI-artigen Datenframes, die ich empfangen möchte,
> haben eine Länge von 20 Bit, so dass mir ein SPI, der stupide nur 8 Bit
> empfangen kann, nicht hilft.

Du hast sicherlich das Datenblatt deine SPI Quelle noch nicht
genau genug gelesen. Kein Chip-Hersteller wird so dumm sein
nicht eine Hintertüre offen zu lassen um die 20 Bit in einem
3 mal 8 Transfer zuzulassen.
(ist ja geheim, diese sonderbare SPI Quelle, nicht wahr?)

Wenn es was "Hausgemachtes" ist dann würde ich dieses modifizieren
damit ich nicht gezwungen bin irgendeinen exotischen Controller
nehmen zu müssen der genau diese Thematik, Problematik erschlägt

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


Lesenswert?

Verwegener Bastler schrieb:
> Du hast sicherlich das Datenblatt deine SPI Quelle noch nicht
> genau genug gelesen.
Das würde mich auch interessieren.
Und vor Allem: ob es überheupt eine "Quelle" ist. Nicht, dass wir 
hinterher von einem SPI-Device reden, wo lediglich die letzten 20 Bits 
rechts oder links ausgerichtet sein müssen und die dann bei der 
steigenden Flanke des SS# übernommen werden.

Alesund schrieb:
> bitwurschtler schrieb:
>> Die Antwort "Nimm ein CPLD/FPGA ggf mit SoftCore CPU und mach Dir den
>> Exoten-SPI selbst" magst du nicht hören?!
> Nein, die mag ich nicht hören
Jaja, Maggi...

> weil: Zu teuer, zu unflexibel, zu kompliziert zu programmieren.
Das mittlere Argument stimmt mit Sicherheit nicht.

Nenn doch einfach mal Ross und Reiter und deine Anwenung mitsamt dem Typ 
und Bestellbezeichnung dieses seltsamen Schaltkreises. DANN hat man was 
zum diskutieren.

von Alesund (Gast)


Lesenswert?

Verwegener Bastler schrieb:
> (ist ja geheim, diese sonderbare SPI Quelle, nicht wahr?)

Klugscheißer.

Die Quelle sendet die Daten per Bitbanging - was beim Senden ja deutlich 
einfacher und mit weniger Rechenleistung möglich ist als beim Empfangen. 
Also nix mit Hintertüre :-/

von Verwegener Bastler (Gast)


Lesenswert?

Lothar M. schrieb:
> Nenn doch einfach mal Ross und Reiter

Das wird nach meiner Einschätzung nicht funktionieren bzw
passieren da das Ganze sehr nach halb-trolliger abstrakter
Problemstellung riecht die nichts mit der Realität zu tun hat.

Freitag ist übermorgen.

von Verwegener Bastler (Gast)


Lesenswert?

Alesund schrieb:
> Klugscheißer.

--> Da hammas scho.

Alesund schrieb:
> Die Quelle sendet die Daten per Bitbanging

Dann kann man die Quelle auch veranlassen mehr oder weniger
Bits zu senden. Auch mit entsprechendem Framing.

von Alesund (Gast)


Lesenswert?

Verwegener Bastler schrieb:
> Dann kann man die Quelle auch veranlassen mehr oder weniger
> Bits zu senden. Auch mit entsprechendem Framing.

Aha. Und was, wenn die Quelle die Daten in einem definierten Format 
schickt? Fragen wir dann einfach alle Hersteller weltweit, ob sie nur 
für mich mal eben die Definition und sämtliche existierenden Geräte 
ändert?

Ja, nee, schon klar...

von Vlad T. (vlad_tepesch)


Lesenswert?

kann man nicht zB in von nem AtMega[4,8,16,32]8(P) nicht die USART dafür 
benutzen? sie hat einen synchronen Modus und unterstützt datenlängen von 
5-9 Bit. Man könnte also 4 5bit frames abwarten (oder 2x7 und 1x6, wobei 
ich nicht weiß, wie schnell sich das zwischendurch umkonfigurieren 
lässt)

von Verwegener Bastler (Gast)


Lesenswert?

Alesund schrieb:
> Ja, nee, schon klar...

Verwegener Bastler schrieb:
> Freitag ist übermorgen.

von dummschwaetzer (Gast)


Lesenswert?

Alesund schrieb:
> 2 oder 3 SPIs anbietet,

machst du sie halt auch in SW.

von Purzel H. (hacky)


Lesenswert?

Allenfalls kann man auch mit Bitbang empfangen ... was ich machen wuerd.

von Alesund (Gast)


Lesenswert?

Lothar M. schrieb:
> Nenn doch einfach mal Ross und Reiter und deine Anwenung mitsamt dem Typ
> und Bestellbezeichnung dieses seltsamen Schaltkreises. DANN hat man was
> zum diskutieren.

Es ist kein Schaltkreis, der sowas abliefert sondern ein 
Industriestandard in einer sehr kleinen Branche, die eben auf dieses 
seltsame Format setzt. Ich kann jetzt hier gerne eine ausufernde 
Abhandlung schreiben - aber wozu? Nur um dann zu erfahren, was ich schon 
weiß, nämlich dass ich tatsächlich an diese 20 Bit gebunden bin?

Keine Ahnung, was so schwer daran ist, eine Frage einfach mal so zu 
beantworten, wie sie gestellt wurde (OK, 3..4 Leute haben das hier 
tatsächlich geschafft und mir hilfreiche Tipps gegeben, die mich 
durchaus weiterbringen).

Ist das Größenwahn, immer erst mal anzunehmen, ein Fragesteller ist dumm 
wie Stroh und sowieso nicht in der Lage, ein Problem zu erkennen? Oder 
was soll das sonst, eine Frage immer mit Antworten zuzuschütten, die 
weder hilfreich sind, noch auf die Frage eingehen noch zum Thema 
überhaupt passen?

In diesem Sinne: Danke an alle, die mir ein paar MCUs genannt haben, das 
schaue ich mir an, damit kann ich was anfangen.

von Vlad T. (vlad_tepesch)


Lesenswert?

Vlad T. schrieb:
> kann man nicht zB in von nem AtMega[4,8,16,32]8(P) nicht die USART dafür
> benutzen? sie hat einen synchronen Modus und unterstützt datenlängen von
> 5-9 Bit. Man könnte also 4 5bit frames abwarten (oder 2x7 und 1x6, wobei
> ich nicht weiß, wie schnell sich das zwischendurch umkonfigurieren
> lässt)

vergesst es.
es werden zwingend start und stopbits benötig - sonst hätte man es ja 
gleich SPI nennen können ;)

von Verwegener Bastler (Gast)


Lesenswert?

Alesund schrieb:
> Es ist kein Schaltkreis, der sowas abliefert sondern ein
> Industriestandard

ROFL.

Ein "Industriestandard" der Daten per Bit Banging überträgt.

Ich krieg mich nicht mehr ein.

Der Trollfaktor wird immer grösser.

von Hans M. (Gast)


Lesenswert?

Hier sind bestimmt ein paat unterwegs, die mit/in/für die "Industrie" 
arbeiten. Die könnten mit deinem Standard schon mal in Berührung 
gekommen sein und dir gezielter helfen.
Also nochmal die Frage: Von welchem Standard reden wir hier? Standards 
haben in der Regel einen Namen ;-)

Hans

von dummschwaetzer (Gast)


Lesenswert?

was sind denn dass für exoten?(damit ich sie vermeiden kann)

von Patrick C. (pcrom)


Lesenswert?

PSOC5lp : 3..16 bits als basis

von long don (Gast)


Lesenswert?

Ist das so ein Laser-Scanner-Protokoll wie z.B. XY2-100?

http://www.alaser.com.tw/db/upload/webdata4/5alaser_201412422541519318.pdf

von Verwegener Bastler (Gast)


Lesenswert?

Hans M. schrieb:
> Also nochmal die Frage: Von welchem Standard reden wir hier?

Alesund schrieb:
> Es ist kein Schaltkreis, der sowas abliefert sondern ein
> Industriestandard in einer sehr kleinen Branche

Und die "Branche" ist genau 1 Mann gross.

Deswegen ist sie auch so unflexibel und kann ihr Bit-Banging-
Protokoll nicht abändern damit es allgemein nutzbar ist.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alesund schrieb:
> sondern ein Industriestandard in einer sehr kleinen Branche, die eben
> auf dieses seltsame Format setzt. Ich kann jetzt hier gerne eine
> ausufernde Abhandlung schreiben

Brauchst Du nicht. Aber Du könntest dem ganzen einen Namen geben, so 
rein der Anständigkeit halber, damit diejenigen hier, die sich 
Deinetwegen die Köpfe zerbrechen, auch irgendwie den Eindruck gewinnen, 
ernstgenommen zu werden.

von dummschwaetzer (Gast)


Lesenswert?

oder du bastelst da an die clock noch irgendwelche zähler, die nur 20 
impulse durchlassen und nimmst standard-spi mit 7 oder 8 bit

von A. B. (Gast)


Lesenswert?

stm32h743 etc. kann das, 4 bis 32 Bit. Die "kleineren" der stm32-Familie 
können nur 8 und 16 Bit, ab welchem da die flexiblere SPI drin ist, 
könnte man ja leicht nachsehen ..

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

STM32F0,F3,F4, F7,L0,L4 und H7 koennen 4.. 16 bit SPI.

von Curby23523 N. (Gast)


Lesenswert?

Ja, wie heißen denn nun Quelle und Ziel Baustein....? Bestimmt geht das 
auch mit einer normalen SPI, sonst wärs kein SPI..

von Verwegener Bastler (Gast)


Lesenswert?

Uwe B. schrieb:
> STM32F0,F3,F4, F7,L0,L4 und H7 koennen 4.. 16 bit SPI.

Also dann nehm ich 3 mal 6.6666 = 20 bit

von Darth Moan (Gast)


Lesenswert?

Uwe B. schrieb:
> STM32F0,F3,F4, F7,L0,L4 und H7 koennen 4.. 16 bit SPI.

Das stimmt so nicht ganz.
Aus RefMan STM32F4xx:
Bit 11 DFF: Data frame format
0: 8-bit data frame format is selected for transmission/reception
1: 16-bit data frame format is selected for transmission/reception

F0, F3, L0, L4, H7 hab ich nicht geprueft. Mein F746 kann die 4..16, 
aber
mein F407 kann nur 8 oder 16bit.

von Johnny B. (johnnyb)


Lesenswert?

Alesund schrieb:
> Also nix mit Hintertüre :-/

https://youtu.be/UKO-ebWS4Ko

von Dr. Sommer (Gast)


Lesenswert?

Einfach einen kleinen Mikrocontroller zwischen schalten der die 20 Bits 
in Software SPI macht und das auf der anderen Seite als gewöhnliches 
3x8Bit SPI rausgibt? Dann hat man beim "Haupt Controller" volle Freiheit 
der Auswahl.

von Stephan (Gast)


Lesenswert?

oder Schieberegister

von Dr. Sommer (Gast)


Lesenswert?

In vielen Branchen gibt es komische (De-Facto-) Standards die sich 
irgendwann mal jemand unter Einfluss bewusstseinserweiternder Drogen 
ausgedacht hat, aber mit denen mal sich halt arrangieren muss. In der 
IT-Branche z.B. gibt's da ne Menge von: C, Windows, PHP, HTML, MBR,...

von Verwegener Bastler (Gast)


Lesenswert?

Dr. Sommer schrieb:
> In vielen Branchen gibt es komische (De-Facto-) Standards die sich
> irgendwann mal jemand unter Einfluss bewusstseinserweiternder Drogen
> ausgedacht hat

Ich vermeide Standards wo immer es geht. Da kann mir dann auch
keiner dreinreden.

Ich mach mir die Welt so wie sie mir gefällt.

von Arc N. (arc)


Lesenswert?

H.Joachim S. schrieb:
> Schau mal bei Renesas, mit einem M16C habe ich sowas mal vor Jahren
> gemacht. USART im synchronen Modus (das können viele MCs) und mit
> variabler Bitzahl (da wird die Luft schon dünner).
> Es gibt sicher etliche die das können.

Renesas RX mit RSPI bspw. die RX63N/RX631 mit drei RSPI-Kanälen, die 
Cortex-M4 (u.a. S3A7, S5D9, S7G2) aus der Synergy-Reihe haben bis zu 
zwei RSPI-Kanäle (dort nur SPI genannt). Die normalen SCIs können nur 
8-Bit SPI. Dafür aber noch einfaches I²C, UART/USART und sind in Hülle 
und Fülle vorhanden (bis zu afair 12x je nach Modell)

> MSB-first/LSB-first selectable
> - Transfer bit length is selectable as 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 24, 
or 32 bits.
> - 128-bit transmit/receive buffers
> - Up to four frames can be transferred in one round of transmission/reception 
(each frame consisting of up to 32 bits).

von bitwurschtler (Gast)


Lesenswert?

Lothar M. schrieb:
> Alesund schrieb:
>> bitwurschtler schrieb:
>>> Die Antwort "Nimm ein CPLD/FPGA ggf mit SoftCore CPU und mach Dir den
>>> Exoten-SPI selbst" magst du nicht hören?!
>> Nein, die mag ich nicht hören
> Jaja, Maggi...
>
>> weil: Zu teuer, zu unflexibel, zu kompliziert zu programmieren.
> Das mittlere Argument stimmt mit Sicherheit nicht.

Das letzte Argument ist auch Ansichtssache, so wie Fishermam's friend -> 
sind sie zu stark, bist du zu schwach. Unsere Väter haben ganze Modems 
und Videoconsolen aus 74-logik zusammengenagelt und in ein GAL/CPLD 
gedengelt, aber für Kinder geht ein bißchen De-serialisierung nur per 
HiTechSpezial-µC.

von Soneidee (Gast)


Lesenswert?

Wenn Du die Daten als Slave empfängst könntest Du ja notfalls die 
fehlenden 4 Clocks nach dem Deselect selber generieren.

von Bastler (Gast)


Lesenswert?

Vorschlag: Drei kaskadierte Schieberegister verwenden oder per 
Software-SPI.

von Stefan K. (stefan64)


Lesenswert?

Das Kannst Du mit einem STM32 erledigen. Du benötigst aber etwas mehr 
Peripherie und Konfig-Aufwand als bei einer "normalen" SPI:

Nimm für jeden Pseudo-SPI einen:

* Timer mit externem Clock-Eingang.
  Diesen benutzt Du als SPI-Clock-Eingang.
  Konfiguriere den Timer so, dass er bei jedem Clock-Puls einen ISR 
auslöst.
  Durch dieses ISR-Bit triggerst Du einen

* DMA, der dadurch bei jedem SPI-Clock-Puls aktiv wird.
  Den DMA konfigurierst Du so, dass er den Port des
  SPI-Data-Pins in einen 20 int großen Buffer kopiert.
  Der DMA kann nach 20 Zyklen einen ISR auslösen.
  Bei entsprechender Konfiguration kann der DMA nahtlos beginnen,
  einen zweiten Buffer zu füllen.

* Der "Empfangs-ISR" muss noch aus den 20 Bytes des Buffers das
  20Bit Datenwort zusammenkopieren.

* Falls gleichzeitig auch SPI-Senden möglich sein soll,
  ist jeweils noch ein zweiter DMA fällig.

Gruß, Stefan

von Verwegener Bastler (Gast)


Lesenswert?

Unglaublich welche Energie manche Leute hier dafür aufbringen.

Dafür dass irgendeine Spinnerei die sich jemand ausgedacht
hat, befriedigt wird (die niemals eine Umsetzung in Realität
erfahren wird).

Ich glaub's einfach nicht.

Aber der hautsächliche Sinn solch eines Spinnerei-Threads
ist wohl der dass hier auf uC.net möglichst viel Traffic
erzeugt wird (der ja Werbe-Umsatz verursacht).

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

@TO:
Schreibe bitte einfach mal die Anforderungen:
Format wurde schon genannt, aber wie sieht die Taktrate aus?
Idealerweise ein Timingdiagramm vom Frame.
Dann findet sich eine fundierte Antwort.

Wenn der Sender Bitbanging macht, kann's ja nicht sooo schnell sein.
Der einfachste STM32F0 kann mehrere Kanäle mit über 1MHz mit beliebigen 
Formaten lesen und schreiben.
0.5MHz machen PICs und AVRs auch problemlos.


Stefan K. hat Dir den Lösungsansatz ja schon auf dem Silbertablett 
serviert. Schrieb im Beitrag #5342384.

Wenn ein wenig Werbung erlaubt ist:
http://www.harerod.de/applications_ger.html#SSI_USB
http://www.harerod.de/applications_ger.html#SSI_USB_DUO
Die Dinger werden weltweit eingesetzt, z.B. wenn mal wieder ein 
"seltsames Format" in ein anderes "proprietäres Format" übersetzt werden 
soll. Passiert ja gerne mal, wenn z.B. ein SSI-Geber einer alte 
Maschinen an eine neue Steuerung angepasst werden soll. MCU ist ein 
STM32F4.


Das hier war noch ein FPGA-Lösung, da ist das Speedlimit durch den 
Leitungstreiber gegeben:
http://www.harerod.de/applications_ger.html#SSI_TOOL1

von A. B. (Gast)


Lesenswert?

Alesund schrieb:

> Es ist kein Schaltkreis, der sowas abliefert sondern ein
> Industriestandard in einer sehr kleinen Branche, die eben auf dieses
> seltsame Format setzt. Ich kann jetzt hier gerne eine ausufernde
> Abhandlung schreiben - aber wozu? Nur um dann zu erfahren, was ich schon
> weiß, nämlich dass ich tatsächlich an diese 20 Bit gebunden bin?

So so, da kommen allmählich die Salamischeibchen angekleckert. Ebenso 
wie das Bitbanging. Da weiss man also langsam, dass der TO null Ahnung 
hat.
Bei so einem "Affenzahn" den Controller anhand 20-Bit-SPI (ach nein, 
nicht SPI, sondern SPI-artig ...) auswählen zu wollen ohne Rücksicht auf 
sonstige Eigenschaften, Tools, Preis, ... ist ja leicht ab ...-artig.

von pitschu (Gast)


Lesenswert?

Der ESP32 kann SPI von 0 - 512 bits im data segment. Optional kann mann 
noch command und address fields vorab senden/empfangen.

pitschu

von Wolfgang (Gast)


Lesenswert?

Alesund schrieb:
> Es ist kein Schaltkreis, der sowas abliefert sondern ein
> Industriestandard ...

Dann hat beim Setzen dieses Standards wohl jemand gewaltig gepennt oder 
wollte anderen das Leben bewusst schwer machen.

von 2B^!2B (Gast)


Lesenswert?

bitwurschtler schrieb:
> Lothar M. schrieb:
>> Alesund schrieb:
>>> bitwurschtler schrieb:
>>>> Die Antwort "Nimm ein CPLD/FPGA ggf mit SoftCore CPU und mach Dir den
>>>> Exoten-SPI selbst" magst du nicht hören?!
>>> Nein, die mag ich nicht hören
>> Jaja, Maggi...
>>
>>> weil: Zu teuer, zu unflexibel, zu kompliziert zu programmieren.
>> Das mittlere Argument stimmt mit Sicherheit nicht.
>
> Das letzte Argument ist auch Ansichtssache, so wie Fishermam's friend ->
> sind sie zu stark, bist du zu schwach. Unsere Väter haben ganze Modems
> und Videoconsolen aus 74-logik zusammengenagelt und in ein GAL/CPLD
> gedengelt, aber für Kinder geht ein bißchen De-serialisierung nur per
> HiTechSpezial-µC.

Richtig, so ein bisschen VHDL/Verilog, wie in diesem Fall, wird man wohl 
hoffentlich noch hinbekommen. Einarbeitung ist freilich nötig, aber auch 
für andere Anwendungen lohnenswert.

Des weiteren teuer sind FPGAs auch nicht mehr. Es gibt heutzutage 
genügend kleine FPGAs für ein paar Euro, die bei einer Kleinserie nicht 
wehtun. Eventuell kann man durch den Einsatz sogar Geld einsparen, bevor 
ein fetter µC verbaut und durch allerlei Getrickse die Entwicklungszeit 
erhöht wird, lieber einen kleinen µC + kleinen FPGA verwenden.

Hier der erste FPGA, der mir ins Auge gefallen ist und für die Aufgabe 
in Frage kommen würde:
LCMXO3LF-640E-5MG121I (640 LUTs) Preise bei Mouser:
Ab 1 Stk. 3,82 €
Ab 25 Stk. 3,34 €
Ab 100 Stk. 3,19 €

Wahrscheinlich gehts noch billiger.

von Sebastian S. (amateur)


Lesenswert?

> Industriestandard ...
Anhand der vielen Fragen würde ich mal sagen: Bestenfalls in 
Nordgrönland. Womit ich aber nichts gegen die Grönländer sagen möchte.

Auf die Schnelle würde ich vorschlagen: Selber machen!
Am einfachsten mit einem "eigenen" µP und in Software.

Sollte der eigentliche Grübler hierfür keine Ressourcen mehr frei haben, 
so klebe einfach einen dedizierten µP dazu. Ein ATTiny?? ist nicht nur 
recht klein, mit 20MHz auch relativ flott und fällt in die Kategorie: 
Kost fast nix.
Der kaut dann den Input vor und liefert das Ergebnis, in akzeptablen 
Häppchen, an den eigentlichen Rechner.

von Verzweifelt an PIC (Gast)


Lesenswert?

Schreib dir selber die SPI. Wenn das nicht passt, da gibt es noch PIC24 
und PIC32 die können beide 16 und 32Bit Modus

von Jim M. (turboj)


Lesenswert?

Silabs EFM32 könnten das mit dem USART als 2x10bit oder 4x5Bits 
abbilden.

Wenn es schnell und SPI Slave sein muss, dann hätten die auch DMA.

von Juppeck (Gast)


Lesenswert?

Ich sehe die Lösung ehr in Richtung CPLD. Die Dinger sind billig und gut 
zu in VHDL / Verilog zu programmieren und man muss wenig Kompromisse 
eingehen.

Mit einem schnellen STM32 könnte man sowas auch machen. Es ist abhänig 
von der geforderten Konvertiergeschwindigkeit. Die MCU will aber auch 
programmiert werden und kostet in entsprechender Ausführung mehr als 
eine einfach CPLD.

So komplex ist eine synchrone de-serialisierung ja nicht wirklich.
Diskrete Schieberegister machen auch nichts anderes, benötigen aber mehr 
Raum und sind eben nicht flexibel. Sie liefern parallele Daten die 
ebenfalls noch aufbereitet werden müssen. Es gibt wohl viele Wege die 
nach Rom führen. Wenn man sich nur nach den eigenen Standards richtet, 
ist es mit Massenlösungen, die zu günstigen Preisen und guter 
Verfügbarkeit  eben nicht so weit her.
Nun, im Grunde war meine Idee ja schon genannt und daher denke ich wird 
es auf eine Lösung nach "eigenem Standard" hinauslaufen.

Ich bin mal auf den Lösungsweg gespannt, der Deinen Anforderungen 
gerecht werden wird.

Beitrag #5809989 wurde von einem Moderator gelöscht.
Beitrag #5810053 wurde von einem Moderator 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.