Hallo Zusammen, zur Zeit stehe ich vor der Aufgabe 2 AD-Wandler mit einer maximalen Abtastrate von 20MHz auszulesen. Die ADCs werden ein paralleles Interface besitzen mit jeweils 16 Bit. Nun stellt sich die Frage ob hier ein 32Bit-Prozessor ausreicht. Leider habe ich mich mit der Thematik noch nicht viel beschäftigt. Zunächst hatte ich mir überlegt, die ADCs über die GPIO anzusteuern und diese dann mit DMA auszulesen. Hier habe ich allerdings schon die ersten Schwierigkeiten, denn wie es scheint sind die GPIOs nicht unbedingt mit DMA "ausgestattet". Die ADCs mit "einfachem" Bitbanging auszulesen wollte ich zunächst vermeiden, da ich es bei 20MHz Abtastrate schon für sehr sportlich halte, hier genaue Zeiten einzuhalten. Oder sind meine Sorgen hier eher unbegründet? Controller, welche ich mir angesehen haben waren z.B. die ARMs von Atmel - hier gibt es ja eine ganze Menge. Z.B. die SAM3, welche eher langsamer zu sein scheinen, oder die SAM9, welche mit bis zu 400MHz zur Verfügung stehen. Von Microchip gibt es auch noch Alternativen (PIC32..). Diese besitzen auch ein "parallel Master port", welchen man wohl "ausgiebig" einstellen kann. Allerdings bräuchte ich dann wohl 2 davon. (Die ADCs sollen zeitgleich ausgelesen werden). Könnt ihr mir hier eventuell ein paar Hinweise geben? Ist diese Aufgabe mit µCs noch praktikabel, oder würdet ihr hier eher einen FPGA verwenden? Viele Grüße, Thomas
Du könntest die ADCs an das Businterface eines ARMes anschließen, dann ist der Zugriff auf die ADC-Register ein einfacher Speicherzugriff. Allerdings: Wenn man einen ADC ausliest, soll ja auch noch irgendwas mit den ausgelesenen Daten geschehen -- wo sollen die hin? Soll dauerhaft mit 20 MSPS gearbeitet werden?
Es muss hier nicht Dauerhaft gewandelt werden. Aufnahmezeitraum vllt. 10ms. Ein externer SRAM wäre dafür denke ich ganz gut geeignet. Die weiterverarbeitung erfolgt dann nach der Messung oder auf einem PC. Was genau ist denn dieses Bus-Interface? Beim Atmel SAM4S habe ich zwar ein externen Bus gefunden, diese hat jedoch nur 8Datenbits (und 16Adressbits). Beim SAM9N habe ich auf anhieb ein Bus-Interface (EBI) im Datenblatt gefunden, darüber werde ich mich mal genauer schlau machen. Sowas höhrt sich von der Art jedoch schonmal ganz gut an. Viele Grüße, Thomas
Thomas schrieb: > Was genau ist denn dieses Bus-Interface? Das, wo auch ein externes SRAM angeschlossen wird.
Thomas schrieb: > Es muss hier nicht Dauerhaft gewandelt werden. Aufnahmezeitraum vllt. > 10ms. Ein externer SRAM wäre dafür denke ich ganz gut geeignet. Die > weiterverarbeitung erfolgt dann nach der Messung oder auf einem PC. Dann kämem 2 x SRAM 256k x 16 und zusätzliche Logik in Betracht, die die Daten aufnehmen könnten. Thomas schrieb: > Was genau ist denn dieses Bus-Interface? Das ist ein Interface, mit dem man insbesondere ext. Speicher mit /CS, /WR, /RD, A0-An sowie D0-Dn Leitungen ansprechen kann. Ich würde für Deine Aufgabe einen Renesas-Prozessor nehmen und ihn ein bißchen 'stressen'. Die RX62 gibt es mit 32-Bit Datenbus und ext. DMA-Controller, der einen single-address-mode unterstützt. Dieser DMA-Controller ist in der Lage, Daten zwischen den beiden 16-Bit ADCs und dem ext. SRAM auszutauschen, ohne den µC-Kern zu belasten. In einem DMA-Zyklus werden die ADCs mit einem Lesesignal getaktet und legen ihre Daten auf den 32-Bit Bus; gleichzeitig wird dem SRAM ein /WR-Signal gegeben, die Daten zu speichern. Der DAM-Controller adressiert das SRAM mit fortlaufenden Adressen. Kommen wir zum 'Stressen'. Dieser ExDMAC braucht drei Buszyklen, wobei die max. Busfrequenz 50MHz betragen kann (bei 100MHz interem Takt). Mit drei Zyklen käme man auf rund 17MHz Abtastrate. Erhöht man die Busfrequenz auf 60MHz, wäre das Timing perfekt. Die Taktfrequenz des µC müßte um 20% erhöht werden, wobei ich keine Probleme sehe. Der Vorteil des RX62 wäre, Datenerfassung und -verarbeitung mit einem handelsüblichen µC erledigen zu können. Keine Spezielle Hardware, keine FPGA-Programmierung.
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.