-         

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

    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
  •