Hi,
ich konnte dieses Projekt leider nicht weiter verfolgen da ich wichtige Prüfungen habe. Nachdem diese nun geschafft sind kann ich hier wieder weitermachen.
Also das Problem besteht immernoch.
Im Anhang habe ich euch einmal das Bauteil geschickt und wie es angesteuert werden muss.
Der DDC101 sieht wie folgt aus: http://focus.ti.com/lit/ds/symlink/ddc101.pdf
Ich muss mit dem Arduino eine 2MHz Frequenz erzeugen, was ich mit folgendem Code mache:
const int freqOutputPin = 11;
const int prescale = 1;
const int ocr2aval = 3;
const float period = 2.0 * prescale * (ocr2aval+1) / (F_CPU/1.0e6);
const float freq = 1.0e6 / period;
void setup()
{
pinMode(freqOutputPin, OUTPUT);
Serial.begin(9600);
TCCR2A = ((1 << WGM21) | (1 << COM2A0));
TCCR2B = (1 << CS20);
TIMSK2 = 0;
OCR2A = ocr2aval;
Serial.print("Period = ");
Serial.print(period);
Serial.println(" microseconds");
Serial.print("Frequency = ");
Serial.print(freq);
Serial.println(" Hz");
}
void loop()
{
}
Jetzt muss ich aber ein 12 Bit Wort zum DDC101 übertragen und ich bekomme ein 20 Bit Wort als Antwort zurück.
Je Takt muss genau ein Bit übertragen werden. Darum muss ich die Master and Slave Methode verwenden. Hier ist aber die Frage wie und ob es überhaupt geht.
Hier wird das ganze auch einigermaßen beschrieben. Aber ich komme damit einfach nicht zurecht. Bitte helft mir
Eine weitere Frage ist ob ich den Timer 2 benutzen kann wenn ich Master and Slave verwende denn der Ausgangspin für die Frequenz ist ja bei mir Pin11 und der wird ja hier auch gebraucht.
Gruß Markus
Ansteuerung DDC.bmp (465 KB)