Hi, für ein Projekt brauche ich eine Lösung, mit der ich insgesamt 256 Pins mit 10 kHz einlese und über möglichst wenige serielle Ports rausschiebe. D.h. ich bräuchte für die serielle Leitung mindestens 25,6 MHz wenn ich nur eine nutze, 12,8 wenn ich zwei nutze usw. Ich gehe mal davon aus, dass das mit einem IC nicht machbar ist. Aber welche µCs haben denn die größte Anzahl an digitalen I/O? Gibt es irgendwo Übersichten für sowas? Bin für jeden Tip dankbar.
ndrs schrieb: > ... insgesamt 256 Pins mit 10 kHz einlese ... 256 serielle Signale oder 32 8Bit Ports ? Oder ... > ... und über möglichst wenige serielle Ports rausschiebe. I2C, SPI, LVDS, SERDES, ... Was soll es sein ? Vermutlich liegt die benötigte Bandbreite jenseits von I2C, UART, SPI. Vielleicht LVDS. Aus dem Bauch heraus sage ich mal: mit einem µC wird das nicht funktionieren, zumindest nicht, wenn alle Ports parallel abgefragt werden sollen. Dann bleibt nur noch ein CPLD oder FPGA übrig.
Digikey. Da findest Du Microcontroller in LQFP bis 165 I/Os und in BGA sogar bis 256.
Wie immer sollte man mal über Netiquette nachdenken. http://www.mikrocontroller.net/articles/Netiquette#Klare_Beschreibung_des_Problems
>... mit der ich insgesamt 256 Pins mit 10 kHz einlese und über möglichst > wenige serielle Ports rausschiebe. > D.h. ich bräuchte für die serielle Leitung mindestens 25,6 MHz wenn ich > nur eine nutze.. 256 * 10 kHz = (nur) 2,560 MHz > Aus dem Bauch heraus sage ich mal: mit einem µC wird das nicht > funktionieren, zumindest nicht, wenn alle Ports parallel abgefragt > werden sollen. Dann bleibt nur noch ein CPLD oder FPGA übrig. Oder TTL. (µC wirds auch noch geben, aber viel zu teuer dafür)
Danke schonmal für die Antworten. Ich fang mal der Reihe nach an. @peda > 8 Stück 74AC165 kaskadieren. Danke, das schau ich mir mal näher an. @ex-aetzer > 256 serielle Signale oder 32 8Bit Ports ? Oder ... ähm, ja, es sind 8 32Bit-Werte. > I2C, SPI, LVDS, SERDES, ... Für die anderen Schnittstellen zum Master werde ich vermutlich SPI verwenden. Mein Master schafft hier 50MHz. Die Frage ist nun, welche ICs es gibt, die einerseits genügend IO haben, andererseits die Geschwindigkeit gehen können. @rackandboneman > Digikey. Danke, schau ich mir auch an. @falk > Wie immer sollte man mal über Netiquette nachdenken. Keine Ahnung wo das Problem liegt. Bei allem was ich nicht angegeben hab, bin ich ziemlich offen. @MCUA > 256 * 10 kHz = (nur) 2,560 MHz Danke, du hast natürlich recht. Also reichen doch <5MHz. Vielleicht noch zur Info: Kostenmäßig ist alles unter 50€ akzeptabel. Das ganze kommt an einen Blackfin_BF518F von Analog Devices. Datenblatt: http://www.analog.com/static/imported-files/data_sheets/ADSP-BF512_BF512F_BF514_BF514F_BF516_BF516F_BF518_BF518F.pdf
@ ndrs (Gast) >> Wie immer sollte man mal über Netiquette nachdenken. >Keine Ahnung wo das Problem liegt. tja, dann lies den Artikel noch einmal.
> 8 Stück 74AC165 kaskadieren.
Eventuell über eine µC-Kaskade nachdenken.
Falk Brunner schrieb: > @ ndrs (Gast) > >>> Wie immer sollte man mal über Netiquette nachdenken. >>Keine Ahnung wo das Problem liegt. > > tja, dann lies den Artikel noch einmal. Das hab ich. Zweimal. Aber egal, von anderen kommen hilfreiche Beiträge. Die reichen mir. Die Sache mit den Load Shift Registern schau ich mir gerade an, aber so ganz versteh ich noch nicht, wie die kaskadierung funktionniert, bzw. wie die mit seriellen UND parallelen Inputs dann umgehen. @rackandboneman Die Seite ist zwar toll, aber nach welchen Kriterien sucht man da am besten um am schnellsten ans Ziel zu kommen? Ich seh wohl den Wald vor lauter Bäumen nicht :) Sorry, bin was Bauteil-Recherche angeht noch ziemlich ungeübt.
@ ndrs (Gast) >> tja, dann lies den Artikel noch einmal. >Das hab ich. Zweimal. Aber egal, von anderen kommen hilfreiche Beiträge. Die reichen mir. "Besonders für Anfänger gilt: Gerade am Anfang ist es immer gut zu sagen, was man erreichen will und nicht so sehr Annahmen darüber zu treffen, wie man es erreichen könnte und dann das Wie zu hinterfragen. Oft ist der Denkfehler nämlich schon im Ansatz und man kann besser helfen, wenn man das Ziel des Fragenden kennt." >Die Sache mit den Load Shift Registern schau ich mir gerade an, aber so >ganz versteh ich noch nicht, wie die kaskadierung funktionniert, bzw. >wie die mit seriellen UND parallelen Inputs dann umgehen. AVR-Tutorial: Schieberegister MFG Falk
> "Besonders für Anfänger gilt: Gerade am Anfang ist es immer gut zu > sagen, was man erreichen will und nicht so sehr Annahmen darüber zu > treffen, wie man es erreichen könnte und dann das Wie zu hinterfragen. > Oft ist der Denkfehler nämlich schon im Ansatz und man kann besser > helfen, wenn man das Ziel des Fragenden kennt." Ach das meinst du. Nun, die Kurzfassung wäre, dass mehrere Interferometerwerte, die parallel zur Verfügung stehen über diesen gesuchten Baustein an den erwähnten µC geleitet werden und dort die Aktorregelung erfolgt. > AVR-Tutorial: Schieberegister Vielen dank, jetzt hab sogar ich das verstanden :) Die Lösung sollte machbar sein, auch wenn's da einige Schiebe-ICs braucht.
Mit mehreren Parallax Propeller-Chips in Assembler programiert müßte es auch gehen . Pro Propeller -Chip fallen ca 10 Euro an gruß Franjo
Für so was reicht ein einfaches CPLD in entsprechendem Package. Über die benötigte Frequenz lacht so ein Keks ;-) z.B. Altera Max II EPM2210F324 bei Digikey ab 28 Euro :-)
@ Franjo (Gast) >Mit mehreren Parallax Propeller-Chips in Assembler programiert müßte es >auch gehen . Pro Propeller -Chip fallen ca 10 Euro an No brain, no pain. Wie bereits mehrere Leute vorgerechnet haben, braucht man läppische 2,56MHz. Das macht sogar ein AVR im Schlaf. Erst recht ein DSP. Ein 74HC165 kostet um die 20 Cent. Für 256 Eingänge braucht es 32 Stück, Kostenpunkt 6,40 Eur. An das SPI anklemmen und fertig. Ist das langweilig . . . . MfG Falk
Für was einen µC? Kaskadierte 165er sind doch schon seriell. Kleine TTL Logik mit Taktquelle dran und die Daten werden seriell ausgegeben. Dürfte sogar günstiger als mit µC sein.
So, abschließend nochmal ein Dank an die zahlreichen Unterstützer. Es wird eine Lösung mit Schieberegistern werden. Entweder der vorgeschlagene 74HC165 oder ein Derivat mit 16Bit (zB 74F676).
ndrs schrieb: > Das ganze kommt an einen Blackfin_BF518F von Analog Devices. Ich kenne zwar den Blackfin nicht, aber viele DSPs haben ein serielles TDM Interface, das passt mit typisch 32 Bytes pro Frame ganz gut zu deinen Anforderungen. MfG Klaus
Da das Thema somit erledigt ist, möchte ich doch noch eine Frage an Falk richten: Warum verweist Du bei einer (wie aus der Diskussion ersichtlich) absolut korrekt und auch genügen detailliert formulierten Frage dermassen abweisend auf die Netiquette und ziehst diese völlig absurde Nebendiskussion mit unnötigen "dann lies noch mal"-Kommentaren in die Länge? Solche Antworten kommen einfach dermassen arrogant und - gerade für Neulinge - unsympathisch rüber! Bei Fragen wie: "Hilfe, ich will einen Mikrocontroller bauen, der Daten verschicken kann! Was soll ich nehmen?" Sind solche "Anregungen" angebracht. Aber hier echt nicht. Hier warst DU der, der die Diskussion unnötig durch Zurückhalten von Information (WAS meinst Du, hat der Fragesteller falsch gemacht?) in die Länge gezogen hat. Meine Meinung. Gruäss Simon
Simon Huwyler schrieb: > Warum verweist Du bei einer (wie aus der Diskussion ersichtlich) absolut > korrekt und auch genügen detailliert formulierten Frage dermassen > abweisend auf die Netiquette und ziehst diese völlig absurde > Nebendiskussion mit unnötigen "dann lies noch mal"-Kommentaren in die > Länge? So war er schon immer, so ist er immernoch und wird es auch immer bleiben.
Simon Huwyler schrieb: > Warum verweist Du bei einer (wie aus der Diskussion ersichtlich) absolut > korrekt und auch genügen detailliert formulierten Frage ... ??? Woher sollte man gerochen haben können welche Randbedingungen er hat? Welchen Eingangsspannungsbereich? Welche Schnittstelle (seriell reicht nicht)? Welchen Prozessor? Vorkentnisser/bestehender Code?
Interessanterweise wussten aber doch schon ganz viele Leute, was man als Idee so in Betracht ziehen könnte. Obwohl er NICHT geschrieben hat: - ob das Ding auch weltraumtauglich sein soll - Vibrationsfestigkeit - Wasserdichtheit - .... Man kann auch ZUVIEL angeben, so dass man ob der vielen Randbedingungen die eigentliche Frage nicht mehr erkennt. ... Und dann würde bestimmt jemand sagen: Hey, mann, quassel uns nicht voll, komm auf den Punkt! Und abgesehen davon: C'est le ton qui fait la musique. Und DAS war mein Haupanliegen mit dieser Frage. Wenn man schon meint, er habe etwas vergessen zu erwähnen - warum nicht einfach nochmals nachfragen??? So funktionieren nämlich Diskussionen! Nachhaken, präzisieren, Ideen bringen, verwerfen...
@ Simon Huwyler (simi) >Warum verweist Du bei einer (wie aus der Diskussion ersichtlich) absolut >korrekt und auch genügen detailliert formulierten Frage Nichts ist absolut. Und schon gar nicht korrekt. Wenn gleich die Frage sicherlich eine der besseren ind diesem Forum war, so fehlten dennoch ein paar wichtige Informationen. U.a. dass es einen DSP mit 50MHz SPI gibt. >abweisend auf die Netiquette und ziehst diese völlig absurde >Nebendiskussion mit unnötigen "dann lies noch mal"-Kommentaren in die >Länge? Was bitte schön soll ich denn noch schreiben als das, was in dem DIREKTEN LINK steht? http://www.mikrocontroller.net/articles/Netiquette#Klare_Beschreibung_des_Problems >Solche Antworten kommen einfach dermassen arrogant und - gerade für >Neulinge - unsympathisch rüber! Deine Meinung. >Aber hier echt nicht. Hier warst DU der, der die Diskussion unnötig >durch Zurückhalten von Information (WAS meinst Du, hat der Fragesteller >falsch gemacht?) in die Länge gezogen hat. Nö. Siehe oben. MFG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.