ATmega mit ADE7758 über SPI

OP #1724581
Lesenswert?
• ▲
▼
Hallo!

Ichhabe schon einige Beispiele gelesen, wie man eine Kommunikation mit 
SPI zu Stande bringt. Ich schaff es dennoch nicht.
Hab dies Beitrag "Probleme bei SPI Kommunikation" und das 
Beitrag "Eingangsdaten mit SPI" vor allem gelesen...

Ich benutze den ATmega16 als Master und den ADE7758 als Slave.

Ich habe mal ein Bild aus dem ADE-datasheet mitgeschickt, wie die 
Kommunikation ablaufen soll, und 2 Fotos vom Oszi, was ich erhalte.



Hier mein Quelltext:
1
unsigned char receive(unsigned char address)
2
{
3
  //Adresse ins Senderegister, in dem Beispiel Adresse 0x14
4
  SPDR = address;
5
  //Adresse Senden
6
  while(!(SPSR & (1<<SPIF)));
7
  
8
  _delay_us(4);
9
  //Dummydaten ins Senderegister
10
  SPDR = 0x00;
11
  //Dummydaten Senden
12
  while(!(SPSR & (1<<SPIF)));
13
 
14
  //Wert zurückgeben..laut Beispiel müssten hier meine Daten aus dem IC
15
  // drin stehen.......bei Register 0x14 müsste 252 bzw 0xFC bzw 0b11111100
16
  // über MISO zurückkommen.
17
  return SPDR;
18
}
19

20
int main(void)
21
{
22
  unsigned char value;
23

24
  PORTB &= ~(1<<CE); // SS-Pin direkt mit ADE verbunden und dauerhaft auf 
25
                  // da zur Zeit noch einziger Busteilnehmer
26

27
  while{1}
28
  {
29
    value = receive(0x14); //Dieses Beispiel sehen wir auf den Fotos
30
    _delay_us(1);
31

32
  }


Kann mir jemand weiterhelfen? Ich habe den IC ja auch hier empfohlen 
bekommen (Herr Lipinsky), als ich mal über Leistungsmessung gepostet 
hatte.

Mein Problem ist, dass über MISO nichts zurückkommt :-(

Es wundert mich, weil es fast exakt so aussieht, wie im Datenblatt...

(sorry für die schlechte Oszi-Bild Quali. Hab es mit dem Handy 
fotografiert...hab kein USB an dem Teil gefunden)+


Wäre für jede Hilfe sehr DANKBAR!
Angehängte Dateien:
Gast #2134398
Lesenswert?
• ▲
▼
Hallo Jürgen Hems

vielen Dank für dein feedback trotz mangenden antworten...
Ich bin zur Zeit auch dabei den ADE7763 einzubinden und bekomme zwar 
eine Antwort nur kommt da meiner Meinung nach nur Blödsinn zurück. Es 
sind zum Beispiel beim Auslesen des Mode Registers keine konstanten 
Werte zu erkennen. Auch die Defaultwerte werden nicht widergespiegelt.
Mit welchen Frequenzen sendest du denn ?
Ich hoffe du liest diesen Beitrag nochmal.

Bis bald
Vielen Dank und freundliche Grüße
Micha
#2414968
Lesenswert?
• ▲
▼
Hallo,
ich arbeite auch grade mit diesem Chip und komme irgendwie nicht klar 
mit der Berechnung der Werte. Wie rechne ich zB den Wert aus VRMS in 
einen tatsächlichen Spannungswert also zB 230V um? Werde aus dem 
datenbaltt einfach nicht schlau. Gleiches gilt für IRMS und die 
Waveformsamples. Sitze schon zweit Tage dran und versuche eine 
venünftige Berechnung hin zu bekommen, aber es gelingt mir einfach 
nicht. Kann mir jemand einen Schubs in die richtige Richtung geben?

Grüße,
Flow
#4488360
Lesenswert?
• ▲
▼
Florian S. schrieb:
> Hallo,
> ich arbeite auch grade mit diesem Chip und komme irgendwie nicht klar
> mit der Berechnung der Werte. Wie rechne ich zB den Wert aus VRMS in
> einen tatsächlichen Spannungswert also zB 230V um? Werde aus dem
> datenbaltt einfach nicht schlau. Gleiches gilt für IRMS und die
> Waveformsamples. Sitze schon zweit Tage dran und versuche eine
> venünftige Berechnung hin zu bekommen, aber es gelingt mir einfach
> nicht. Kann mir jemand einen Schubs in die richtige Richtung geben?
>
> Grüße,
> Flow

Da schließe ich mich an. Wie berechnet man VRMS?

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