mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bosch BMA020 I2C


Autor: Jan M. (7_of_9)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Mittag,

heute treibt mich die Beschleunigung hier her ...

Und zwar habe ich den BOSCH BMA020 von ELV.
Ich möchte ihn wie im Beispiel des beigelegten Datenblattes betreiben, 
daher erstmal nur die X,Y,Z Beschleunigungen auslesen.

Protokoll ist I2C.

Äußerst unglücklicherweise klappt die Kommunikation nicht.
Ich verwende einen ATmega8 mit 8Mhz Takt vom Quarz.
TWI Routinen sind vom Hersteller des Compilers und haben bisher immer 
funktioniert (z.B. EEPROM), sie verwenden das TWI-Modul des ATmegas.

Zuerst hatte nich natürlich ein vollständigen Kommunikationsablauf 
versucht und wollte mir die Beschleunigungen via UART am Bildschirm 
anzeigen lassen doch ich wurde enttäuscht ;-)

Der Sache muss man schließlich auch den Grund gehen!
Also hab ich ein logikanalyser an die beiden Pins für die Kommunikation 
gehängt und meine das der BMA020 kein ACK sendet, denn während des 9. 
Takts ist SDA high, also NACK. (ich hab der übersichthalber nur das 
erste byte geschickt)

Den Strom den die ELV Platine zieht hab ich auch gemessen sind 3,21mA 
was ich auch für zu viel empfinde ...
Ich hab es mit 2 Modulen getestet, beide gleiches Problem.

Bilder der Verdrahtung und der Kommunikation sind oben.

VUin ist VUSB = 5V für ATmega und BMA020.
Es werden die Pullups vom BMA020 genutzt.

Hoffe jemand hat eine Idee.
7

Programmcode
program softbibI2c;
    
 var take:byte;
 var txt: array[8] of char;


begin
delay_ms(1000);
take := 0;
UART1_Init(9600);
UART1_write_text('online');


TWI_Init(1000);
delay_ms(1);
TWI_start();
TWI_write(70);
end.

Autor: Jan M. (7_of_9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oje heute morgen ist es mir wie schuppen von den Augen gefallen, ich 
habe Dezimal 70 gesendet und nicht Hexadezimal... manchmal sind es doch 
die naheliegensten Dinge ;-)

jetzt funktionierts =)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.