Gast
#5460544
Hallo, Ich versuche grade den ADC von einem dsPIC zu nutzen. Genauer gesagt ist es ein dsPIC33EP64GS504. Hier das Datenblatt: http://ww1.microchip.com/downloads/en/DeviceDoc/70005127d.pdf Ich nutze 2 ADCs. Der eine (ADC Core 2) tut auch wunderbar was er soll. Eine einzelne Messung auf AN2. Für den zweiten ADC möchte ich den PGA (Programmable Gain Amplifier) nutzen den das Kerlchen eingebaut hat. Ich habe die QFN-44 Version. Im Datenblatt Seite 5. Meine Analogsignale hängen an Pin20 (PGA2N3) und Pin22 (PGA2P1). Beide haben ca. VCC/2 (1.65V bei VCC=3.3V). Auf Seite 230 gibts eine schöne Übersicht von dem Aufbau. PGA2 hätte ich gerne an ADC Core 1 geschaltet. Soweit sogut, Bits gesetzt, doch wie wandel ich das Ding? Der Freund hat leider nur die Möglichkeit die einzelnen Channel zu triggern (Seite 251), statt den Core mit dem aktuell eingestelltem Channel zu nehmen. Es gibt aber leider nur für AN0 bis AN21 ready bits. Auch die Ausgangsbuffer ADCBUF0 bis ADCBUF21 geben mir keine Möglichkeit den PGA auszulesen. Ich habe auch mal Testweise den Channel AN1 ausgelesen, hängt ja am selben Core. Kommt wenig überraschend nur Null raus. Wie Les ich den PGA2 mit dem ADC aus?? Mein Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
Ich initialisiere alles soweit, setze beim PGA die Eingänge, setze den Gain auf x64, setze den ADC und UART. Auf Input vom UART kann ich mir die beiden ADC Werte ausgeben lassen. ADC2 liefert korrekte Werte, ADC1 nur Null. Da da intern ein invertiedender Opamp drin ist würde ich ebenfalls VCC/2 als "Ausgang" erwarten, sprich 2048 (bei 12 Bit Auflösung), jedoch nicht null.