- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 2 von 2

Thema: Suche Bascom Beispiel für AD9833

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    31.10.2007
    Beiträge
    36

    Suche Bascom Beispiel für AD9833

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    wie der Titel schon sagt Suche ich ein Beispiel für die Ansteuerung des AD9833 in Bascom! Wenn jemand was hat, bitte melden!

  2. #2
    Neuer Benutzer
    Registriert seit
    11.09.2009
    Ort
    82237 Wörthsee
    Beiträge
    1
    Hallo Rasieel,

    die Anfrage liegt zwar schon einige Zeit zurück, aber vielleicht interessiert die Lösung auch andere Leser.
    Es gibt zwei versteckte Fallen in BASOM, wenn man das SPI-Interface zusammen mit dem AD9833 benutzt:
    1) der AD9833 erwartet 16 Bit-Worte. Überträgt man mit SPIOUT die 16 Bit in 2 Befehlen zu je 8 Bit geht der SYNC (AD9833 Pin kurz auf High, was zu Fehlern führt
    2) überträgt man mit SPIOUT zwei Bytes auf einmal hat man das SYNC-Problem nicht mehr, aber es wird die Reihenfolge der zwei 8 Bit-Bytes beim Senden vertauscht!

    hier ein funktionierendens Bascom Programm mit ATMega8 und 20 MHz Clock am AD9833
    'Test: feste Frequenz als Sinus
    Dim Ctrl As Integer 'AD9833 Control Register 16 Bit
    Dim Freq_msb As integer 'AD9833 Frequenz Register
    Dim Freq_lsb As integer 'AD9833 Frequenz Register
    Config Spi = Hard , Interrupt = Off , Data Order = msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 4 , Noss = 0
    'Spi = Hard = SCK(PB5) Clock Output, MOSI(PB3) Data Output, MISO(PB4) Data Input, SS(PB2) FSYNC am AD9833, Clockrate unkritisch
    Spiinit
    Ctrl = &B0000000000100000 'Control Register, Bit 15/14 = 0/0, Bit 13 = 1 (Fq folgt in 2 Bytes à 16Bit), Bit5/1 = 0/0 = Sinus
    Spiout Ctrl , 2 'bei Augabe von 16 Bit ist die Reihenfolge Bit 7...0 Bit 15...8
    Freq_lsb = &B1111111101111111 'Frequenz0 Register LSB, Bit 15/14 = 0/1, Bitreihenfolge wie Controlbyte
    Freq_msb = &B0011111101000000 'Frequenz0 Register MSB, Bit 15/14 = 0/1, Bitreihenfolge wie Controlbyte
    Spiout Freq_lsb , 2 'LSB muss zuerst übertragen werden
    Spiout Freq_msb , 2 'ca. 75 kHz bei 20 MHz Clock

Berechtigungen

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

Solar Speicher und Akkus Tests