Si570: merkwuerdige Register-Werte

Gast #3027014
Lesenswert?
• ▲
▼
ich versuche ueber ein Arduino Sketch die Register
eines CMOS Si570 auszulesen. Die Ausgangsfrequenz
des Chips ist lt. Frequenzzaehler 56.32MHz. I2C
Adresse ist 0x55. SDA und SCL haben 4k7 pull-ups.
Der Ausgang vom Si 570 ist mit 100Ohm terminiert.

Ich bekomme folgende Register-Werte:
7:  11100001
8:  11000010
9:  10110110
10: 00110110
11: 01100000
12: 01011111

wenn ich das data sheet richtig interpretiere,
dann bedeutet dies:

HSDIV:  7
N1:  7
RFREQ: 43.388275500387

Ich gehe weiters von einer Referenzfrequenz des
internen Oszillators von ca. 114.285MHz aus.

Der Wert von N1 kann doch eigentlich nicht sein.
Lt. data sheet sind nur geradzahlige Werte und 1
zulaessig?

Folgender Sketch wurde verwendet (Arduino 1.0.1):
1
#include <Wire.h>
2

3
void setup() {
4
  Serial.begin(9600);
5
  Wire.begin();
6
}
7

8
void loop() {
9
  Wire.beginTransmission((uint8_t) 0x55);
10
  Wire.write((uint8_t) 7);
11
  Wire.endTransmission(false);
12
  Wire.requestFrom((uint8_t) 0x55, (uint8_t) 6);
13
  for (uint8_t i=0; i<6; i++) {
14
    Serial.print(7+i);
15
    Serial.print(": ");
16
    Serial.println(Wire.read(), BIN);
17
  };
18
  Wire.endTransmission();
19
  while (1) {};
20
}

Ich habe auch versucht, die Register
eins nach dem anderen auszulesen: Immer
nur ein Register lesen, dann neuen Sketch
mit neuer Reg# hochladen. Das Ergebnis
ist immer das gleiche.

Mache ich einen Fehler bei der Interpretation
der Register-Werte?
Gast #3027258
Lesenswert?
• ▲
▼
Ich habe das Problem  geloest! Zu denken gab mir, dass die HS_DIV Werte 
ja bis 11 hochgehen duerfen. Das passt natuerlich nicht in 3 bit hinein. 
Die SI Jungs haben deshalb einen Offset von 4 eingefuehrt. Der kleinste 
HS_DIV von 4 wird als 0 geschrieben! In meinem Fall also ist der 
richtige HS_DIV also 7 + 4 = 11. Aehnlich bei den N1 Werten: Da muss man 
jeweils eins dazuzaehlen, um den korrekten Wert zu bekommen, in meinem 
Fall also N1 = 7 + 1. Damit passen nun alle Werte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren