-         

Ergebnis 1 bis 6 von 6

Thema: Signalerzeugung

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967

    Signalerzeugung

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen,

    ich hab folgendes Problem:

    Ich muss beliebige Kurvenformen erzeugen können. Max. Amplituden sind +-10V, die max. Frequenz ist 20Hz.

    Jedoch sollte das ganze mit 14Bit aufgelöst sein. Das heißt aber auch ich muss bei max. Frequenz ca. alle 1,5µs ein neuen Spannungspegel ausgeben können.

    Ich dachte zuerst an folgenden DAC:

    http://focus.ti.com/lit/ds/symlink/dac8801.pdf

    Jedoch hat der eine Settling Time von 0,5µs. Da diese Zeit sehr stark im Gebiet meiner "Refresh-Time" ist befürchte ich da ziemliche Schwankungen? Ist das berechtigt. Die auszugebende Kurven werden keine plötzlichen Sprünge haben.

    Wenn ich immer 16Bit Words in das Register des DACs schreibe (er kann 16bit annehmen, verwertet aber nur 14) dann brauch ich einen SPI Takt von mindestens ca. 10,5MHz.

    Könnt ihr mir da einen µC empfehlen, der das zu stande bringt? Er soll die ganzen Spannungswerte vor dem Senden an den DAC aus einem beliebigen Speicher holen. Für einen AVR mit 16MHz wird das wohl zu viel und ARM wäre wohl schon wieder ein overkill.


    Habt ihr noch Ideen, wie das ganze noch anders realisiert werden könnte?

    Ich bin auf eure Anregungen gespannt.

    Viele Grüße,
    hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Ich würde es mal mit einem AtTiny2313 versuchen, der bis zu 20 MHz kann. Evtl. hilft hier ein wenig Übertaktung, aber ehrlich gesagt glaube ich nicht, dass es reichen würde.

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Für einen AVR dürfte das zu schnell sein. Außerdem ist der Umgang mit viel Speicher auch nicht gerade die Stärke der AVRs. Ein kleiner ARM Controller wären durchaus passend, man muss ja nicht die maximale Geschwindigkeit nehmen. Die alternative wäre sonst ein DAC mit parallelem Interface und den Speicher direkt mit dem DAC zu verbinden. Wenn man 128 Datenworten (= 256 bytes) klarkommt könnte man sogar direkt die Daten aus einen SPI Flash speicher auslesen.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Brauchst Du die 14 Bit Auflösung wirklich auch auf der Zeitebene?
    Bei einem 20 Hz-Signal sind über 16.000 Werte pro Periode eigentlich sehr überdimensioniert. 12 Bit sollten da eigentlich auch reichen, dass könntest Du mit Deinem DAC auch locker hinbekommen. Eventuell würde da sogar ein ATMega mit 16MHz als Controller reichen, wenn der nicht noch allzuviel mehr tun muss. Allerdings bräuchtest Du dann noch ein externes SRAM.

    askazo

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967
    14 Bit bräuchte ich schon.

    Ich werde nun die Daten in einem externen EEPROM speichern und dieser hängt direkt an einem DAC mit parallem Input. Die Ansteuerung der Andressen des EEPROMS soll ein Zähler übernehmen.

    Jetzt muss ich "nur" noch eine variable Frequenz auf den Zähler geben. Das entpuppt sich aber nun doch zu einem größeren Problem. Da man über den µC ja nur ganzzahlige Teiler der Quarzfrequenz haben kann.
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ein EEPROM als externer Speicher ist nicht unbedingt eine gute Wahl, für einen Schnellen Zugriff wäre wohl eine CMOS SRAM besser geeignet.

    Die Variable Frequenz könnte man z.B. per PLL erzeugen. Da hat man dann konstante Freuenzschritte. Zum Teil könnte man sich da auch was sparen, wenn man die auszugebenen Daten entsprechend anpaßt. Gerade wenn die Daten keine scharfen Sprünge haben, könnte man auch die daten jeweils auf eine Feste Abtastfrequenz umrechenen und immer mit einer Antastfrequenz auskommen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •