µC DAC: 500mV Offset trotz Registerwert = 0?

OP Persönliche Seite #4069669
Ich verwende den internen 12bit DAC des atsam4s zum einstellen von 
konstanten leveln (also einmal wert ins register schreiben und DAC 
refreshen bis zum nächsten wert) und will eigentlich gerne die ganze 
Breite von 0 bis VDD als output nutzen können, versorgt wird der µC mit 
3V.

Leider ist der maximale Wert, den ich für 0xFFF bekomme 2,56V und der 
minimale für 0x000 ca. 0,510V. Dazwischen lässt sich 12bit-stufig alles 
einstellen.

Ich verstehe nun nicht, wo die 500mV abstände zum unteren/oberen pegel 
herkommen! Wenn der µC resettet wird, sehe ich am oszi am DAC pin kurz 
logische 3V, es liegt also nciht daran, dass irgendwo eine Last alles 
herunterzieht (was ja auch nur die obere grenze erklären würde).

Initialisiert und verwendet habe ich den DAC unter einbindung des dacc 
ASF moduls wie folgt:
1
/******************************************************
2
*    DAC Defs
3
*/
4
/** Analog control value (Bias current)*/
5
#define DACC_ANALOG_CONTROL (DACC_ACR_IBCTLCH0(0x02) \
6
| DACC_ACR_IBCTLCH1(0x02) \
7
| DACC_ACR_IBCTLDACCORE(0x01))
8
//! DAC channel used
9
#define DACC_CHANNEL        0 // (PB13)
10
//! DAC register base 
11
#define DACC_BASE           DACC
12
//! DAC ID 
13
#define DACC_ID             ID_DACC
14
/********************************************************/
15

16
void dac_init(){
17
  
18
  /* Enable clock for DACC */
19
  sysclk_enable_peripheral_clock(DACC_ID);
20
  
21
  /* Reset DACC registers */
22
  dacc_reset(DACC_BASE);
23

24
  /* Half word transfer mode */
25
  dacc_set_transfer_mode(DACC_BASE, 0);
26
  
27
  /* Power save:
28
   * sleep mode  - 0 (disabled)
29
   * fast wakeup - 0 (disabled)
30
   */
31
  dacc_set_power_save(DACC_BASE, 0, 0);
32
  
33
  /* Timing:
34
   * refresh        - 0x08 (1024*8 dacc clocks)
35
   * max speed mode -    0 (disabled)
36
   * startup time   - 0x10 (1024 dacc clocks)
37
   */
38
  dacc_set_timing(DACC_BASE, 0x08, 0, 0x10);
39
  
40
  /* Disable TAG and select output channel DACC_CHANNEL */
41
  dacc_set_channel_selection(DACC_BASE, DACC_CHANNEL);
42

43
  /* Disable Trigger -Free run mode */
44
  dacc_disable_trigger(DACC_BASE);
45
  
46
  /* Set up analog control */
47
  dacc_set_analog_control(DACC_BASE, DACC_ANALOG_CONTROL);
48
  
49
  /* Enable output channel DACC_CHANNEL */
50
  dacc_enable_channel(DACC_BASE, DACC_CHANNEL);
51
}

Kennt jemand das oben beschriebene Problem und hat ähnliches erlebt - 
und weiß woran es liegt? Ich habe im Datenblatt weder offset 
konfiguration noch eine Begrenzung des ausgangslevels finden (in den 
electrical characteristics) können..
OP Persönliche Seite
Jim Meba schrieb:
> Wie wurde gemessen? Kann es sein, dass der verwenete Masse Punkt auf 0.5
> Volt Potential liegt, z.B. weil Strom durch eine Sicherung oder Diode
> fliesst?

Nein, gegen DGND systemmasse, also 0V. Andernfalls hätte ich auch bei 
dem DACmax Wert 3.5V messen müssen. Ist irgendeine 
konfigurationsgeschichte, anders kann ich mir das nicht vorstellen...
Gast
Hallo,
auch wenn die ursprüngliche Frage bereits viele Monate her ist: Ich bin 
über das selbe Problem gestoßen, habe die Antwort jedoch im Datenblatt 
gefunden.

Der Spannungsbereich des SAM4S DAC ist begrenzt von
 bis
.

Bei einer Referenzspannung von ~3.1V erklärt dies deinen 
Spannungsbereich von ~0.5V - ~2.5V.

Grüße
--

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.