Ich stochere gerade etwas im Nebel bei der Suche nach einem geeigneten Bauteil.
Ich möchte einen CMOS-Bildsensor auslesen. Der schmeisst mich aber bei mindestens 8 MHz mit Daten zu. Jeweils 12 Bit parallel. Wegen der synchronen Übertragung kann ich den Datenstrom nicht direkt mit einem Controller mit 12 MHz auslesen. Für erste Versuche würde ich sowieso lieber eine I/O-Karte benutzen, aber die ist natürlich viel zu langsam.
Da ich nur einen kleinen Teil der Bildfläche benötige, fallen 2751 Wörter a 12 Bit an. Für nen FIFO etwas viel. Dann bin ich auf DRAM mit Burst-Mode gestoßen. Da muss ich mich nicht ständig ums Hochzählen der Adresse kümmern. Oder Dual-Port DRAM? Das ist ja wohl für Zugriffe von zwei Seiten vorgesehen. Was ist mit SRAM, gibts das überhaupt noch? Ihr seht, ich hab nicht so richtig viel Ahnung von Speicherbausteinen.
Vielleicht gibt es ja auch ganz spezielle Bausteine für diesen Zweck, keine Ahnung.
Wer hat Ahnung? Danke für alle Tipps!
SRams gibt noch genug, du wirst eher Probleme mit der Beschaffung von DRams bekommen, wenn du keine Computerfabrik betreibst. Aber egal, in jedem Fall brauchst du drum herum eine Menge Ablauflogik für das Hineinspeichern und das wieder Auslesen, bei Dual Port Ram nicht viel weniger.
Ich denke, FIFOs wären dem Problem am ehesten angepasst, die Grösse ist kein Problem: 8k X 18 ist gängig (u.a. Cypress), es gibt aber auch 128k x 36 (Integrated Device Technology).
Gruss Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ich möchte einen CMOS-Bildsensor auslesen. Der schmeisst mich
aber bei mindestens 8 MHz mit Daten zu. Jeweils 12 Bit
parallel. Wegen der synchronen Übertragung kann ich den
Datenstrom nicht direkt mit einem Controller mit 12 MHz
auslesen.
Reicht der überhaupt von der Leistung ?
Auch mit dem FIFO bleibt ja die Datenmenge erhalten und wird ja noch irgendwie verarbeitet werden.
Eine weitere Möglichkeit wäre die Daten per DMA in den Speicher zu laden (Burst Mode).
danke für den Hinweis!
Ich hatte bei „FIFO“ Größenordnungen von einer Hand voll Bytes im Kopf. Kann aber gut sein, dass diese Info schon seit einigen Jahren nicht mehr stimmt.
Jedfalls habe ich geeignete FIFOs gefunden. fürs erste bastle ich jetzt mal mit zweien a 4k X 9. Später kann ich dann noch in Ruhe 4k X 18 beschaffen.
Gruß,
Arndt
SRams gibt noch genug, du wirst eher Probleme mit der
Beschaffung von DRams bekommen, wenn du keine Computerfabrik
betreibst. Aber egal, in jedem Fall brauchst du drum herum
eine Menge Ablauflogik für das Hineinspeichern und das wieder
Auslesen, bei Dual Port Ram nicht viel weniger.
Ich denke, FIFOs wären dem Problem am ehesten angepasst, die
Grösse ist kein Problem: 8k X 18 ist gängig (u.a. Cypress), es
gibt aber auch 128k x 36 (Integrated Device Technology).
parallel. Wegen der synchronen Übertragung kann ich den
Datenstrom nicht direkt mit einem Controller mit 12 MHz
auslesen.
Reicht der überhaupt von der Leistung ?
Auch mit dem FIFO bleibt ja die Datenmenge erhalten und wird
ja noch irgendwie verarbeitet werden.
Die Verarbeitung ist nicht so wild. Zumal ich mir damit Zeit lassen kann, ein paar Sekunden sind für einen Snapshot völlig in Ordnung.
Eine weitere Möglichkeit wäre die Daten per DMA in den
Speicher zu laden (Burst Mode).
Das hatte ich ja auch schon gefunden. Die dsPICs können sowas anscheinend nicht. Hatte mich schon in der C16x-Reihe umgeschaut, da gibts so ne Art DMA sogar mit Steuer-Pin.
Aber ich glaube, der Ansatz mit FIFO ist doch erstmal praktischer.
Danke!
Ich stochere gerade etwas im Nebel bei der Suche nach einem
geeigneten Bauteil.
Ich möchte einen CMOS-Bildsensor auslesen. Der schmeisst mich
aber bei mindestens 8 MHz mit Daten zu. Jeweils 12 Bit
parallel. Wegen der synchronen Übertragung kann ich den
Datenstrom nicht direkt mit einem Controller mit 12 MHz
auslesen.
Ich würde mal über einen uController mit genügend internem RAM
(z.B. ab. 8KByte…20KByte) und 16 oder 24MHz Takt nachdenken.
Damit kann man auch DMA-Betrieb machen.
z.B. M16-Reihe von Renasas.
Vorteil, du brächsest gar nix weiter drumherum.
2751 Wörter a 12 Bit an. Für nen FIFO etwas viel.
Wurde ja schon geklärt.
Dann bin ich auf DRAM mit Burst-Mode gestoßen.
DRAM muß man sich nicht antun. SRAM mit unter 10ns sind verfügbar
Da muss ich mich nicht
ständig ums Hochzählen der Adresse kümmern. Oder Dual-Port
DRAM? Das ist ja wohl für Zugriffe von zwei Seiten vorgesehen.
Was ist mit SRAM, gibts das überhaupt noch?
Klar, ist bloß das Problem, daß die andauernd wechseln.
Man hat über die Jahre das Problem, daß man ständig neue
Typen raussuchen muß.
Ich würde mal über einen uController mit genügend internem RAM
(z.B. ab. 8KByte…20KByte) und 16 oder 24MHz Takt
nachdenken.
Damit kann man auch DMA-Betrieb machen.
z.B. M16-Reihe von Renasas.
Vorteil, du brächsest gar nix weiter drumherum.
Die SH-Reihe wäre besser geeignet. Gibt es mit 160MHz und schon ab 8€ (160MHz).
Ich würde mal über einen uController mit genügend internem RAM
(z.B. ab. 8KByte…20KByte) und 16 oder 24MHz Takt
nachdenken.
Damit kann man auch DMA-Betrieb machen.
z.B. M16-Reihe von Renasas.
Vorteil, du brächsest gar nix weiter drumherum.
Die SH-Reihe wäre besser geeignet. Gibt es mit 160MHz und
schon ab 8€ (160MHz).
Mein Gott, muß der sich dann langweilen
Ist das nicht schon Prozessorquälerei.
Die SH-Reihe wäre besser geeignet. Gibt es mit 160MHz und
schon ab 8€ (160MHz).
Mein Gott, muß der sich dann langweilen
Ist das nicht schon Prozessorquälerei.
Besser ein gelangweilter Prozessor, als ein gestresster Entwickler, der den ganzen Code optimieren muss, damit ein weiteres Feature eingebaut werden kann
Die SH gibts auch langsamer. War nur um mal zu zeigen, dass ein entsprechend schneller MicroController nicht teuer sein muss.
Ich wusste den Preis nur zufällig gerade auswendig. Ich arbeite aber hauptsächlich mit der H8/300H Serie.
Besser ein gelangweilter Prozessor, als ein gestresster
Entwickler, der den ganzen Code optimieren muss, damit ein
weiteres Feature eingebaut werden kann
Naja, er schrieb ja, daß die Anwendung eher nicht zeitkritisch ist.
Die SH gibts auch langsamer. War nur um mal zu zeigen, dass
ein entsprechend schneller MicroController nicht teuer sein
muss.
Schon klar, selbst als Insider muß man über die Entwicklung der
BE immer wieder staunen. Das ist oft der reine Wahnsinn, wenn
man mal vergleicht, was vor 10…15 Jahren so möglich war.
Einen Aspekt würde aber auch nennen. Bei so richtig hohen
Taktfrequenzen besteht die Gefahr, daß man sich auch EMV-Probleme
einhandelt, die man nicht unbedingt haben muß.
Ein Prüpfing. beim EMV-Dienstleister meinte mal, daß wir wenn
möglich bei 16MHz bleiben sollten. Da gibt’s Erfahrungsgemäß
weniger Probleme.
Ich wusste den Preis nur zufällig gerade auswendig. Ich
arbeite aber hauptsächlich mit der H8/300H Serie.
Siehst’e mal. Wir haben die H8 rausgeworfen und arbeiten jetzt
bei 0815-Anwendungen mit M16 in verschidenen Versionen.
Deshalb fielen die mir auch zuerst ein