Moin,
ich würde gerne einen an meinen ATMega2560 extern angeschlossenen ADC auslesen. Zum Programmieren wird BASCOM verwendet. Der ADC: LTC2440 in der 2-Wire-Beschaltung, mit externem Takt (momentan per Frequenzgenerator) und ständig auf Low. Der ADC sendet daher ständig sein Datentelegramm von 32-Bit-Länge. BUSY ist solange High bis die Konvertierung abgeschlossen, wenn BUSY Low geht startet auch das Telegramm.
Datenblatt des ADCs:
http://www.alldatasheet.com/datasheet-pdf/pdf/168732/LINER/LTC2440.html
So, jetzt zu meinem Problem.
Ich versuche momentan das Telegramm richtig einzulesen. Mit dem Befehl ShiftIn (den ich noch nicht ganz durchschaut habe) klappt es aber noch nicht ganz. Daher habe ich versucht selber ein Programm zu schreiben welches durch BUSY getriggert wird und die Bits einzeln einliest, wobei jedes in ner Variable gespeichert wird (Bits werden in der mitte abgetastet, bei einer Taktfrequenz Clk von 1kHz). Das hat den Vorteil das ich jedes überprüfen kann, aber den Nachteil des sehr großen Codes.
Selbstgefrickelter Code: http://pastebin.ca/1432121
ShiftIn liest die ganze Chose entweder nicht richtig ein, es kommen dann nur falsche ergebnisse oder es sendet die ganze Zeit Nullen an meinen Terminal Emulator.
Mein Problem besteht wirklich nur in der Abtastung, der ADC läuft einwandfrei (Datentelegramm is im Oszi sichtbar und veränderbar durch ändern der Temp am PT1000). Der ADC dient hier als Digitalisierer für meinen PT1000, das ganze Geraffel wird also ein hochgenaues Thermometer für messungen an Peltierelementen.
Mit freundlichen Grüßen,
Echo
ich würde gerne einen an meinen ATMega2560 extern angeschlossenen ADC auslesen. Zum Programmieren wird BASCOM verwendet. Der ADC: LTC2440 in der 2-Wire-Beschaltung, mit externem Takt (momentan per Frequenzgenerator) und ständig auf Low. Der ADC sendet daher ständig sein Datentelegramm von 32-Bit-Länge. BUSY ist solange High bis die Konvertierung abgeschlossen, wenn BUSY Low geht startet auch das Telegramm.
Datenblatt des ADCs:
http://www.alldatasheet.com/datasheet-pdf/pdf/168732/LINER/LTC2440.html
So, jetzt zu meinem Problem.
Ich versuche momentan das Telegramm richtig einzulesen. Mit dem Befehl ShiftIn (den ich noch nicht ganz durchschaut habe) klappt es aber noch nicht ganz. Daher habe ich versucht selber ein Programm zu schreiben welches durch BUSY getriggert wird und die Bits einzeln einliest, wobei jedes in ner Variable gespeichert wird (Bits werden in der mitte abgetastet, bei einer Taktfrequenz Clk von 1kHz). Das hat den Vorteil das ich jedes überprüfen kann, aber den Nachteil des sehr großen Codes.
Selbstgefrickelter Code: http://pastebin.ca/1432121
ShiftIn liest die ganze Chose entweder nicht richtig ein, es kommen dann nur falsche ergebnisse oder es sendet die ganze Zeit Nullen an meinen Terminal Emulator.
Mein Problem besteht wirklich nur in der Abtastung, der ADC läuft einwandfrei (Datentelegramm is im Oszi sichtbar und veränderbar durch ändern der Temp am PT1000). Der ADC dient hier als Digitalisierer für meinen PT1000, das ganze Geraffel wird also ein hochgenaues Thermometer für messungen an Peltierelementen.
Mit freundlichen Grüßen,
Echo