Forum: Mikrocontroller und Digitale Elektronik I2C & TMS320F28069 mit DS2482 Verständnisproblem


von Christian I. (christianillig)


Lesenswert?

Hallo liebe Forengemeinde,

ich würde gern anhand des TMS320 mit dem DS2482 kommunizieren an dem 
jeweils mehrere DS18B20 angeschlossen sind.

Datenblätter:

DS2482 : 
https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html
DS18B20 : 
https://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS18B20.html

Wenn ich mir das Datenblatt des DS2482 anschaue sehe ich bei der I2C 
Kommunikation das nach so ziehmlich jedem Byte ein Acknowledge vom Slave 
durchzuführen ist.

Wenn ich mir die Spezifikationen des I2C ansehe ist das ja quasi 
Standard.

Ich habe mir vom TMS320 das Beispielprojekt zur Kommunikation mit einem 
EEPROM angeschaut und sehe da das dort der FIFO mit den jeweiligen Bytes 
geladen wird und anschließend das MDR Register eingestellt wird.

Ist das nun so das, dass FIFO komplett geladen wird und nach der 
Parametrierung des MDR Registers die Nachricht geschickt wird ? Wenn ja 
wie wird dann das Acknowledge von Byte zu Byte durchgeführt wird ?

Oder ist es so das jedesmal wenn etwas in das I2caRegs.I2CDXR Register 
geladen wird die Nachricht "direkt" gesendet wird ?

Bei dem DS2482 gibt es Beispielcode von Maxim allerdings für einen 
anderen Controller und da wird in den I2C Routinen explizit erwähnt ob 
mit oder ohne Acknowledge das Byte gesendet werden soll.

Auszug aus 
https://www.maximintegrated.com/en/app-notes/index.mvp/id/3684:
   I2C_start();
   I2C_write(I2C_address | I2C_WRITE, EXPECT_ACK);
   I2C_write(CMD_1WRB, EXPECT_ACK);
   I2C_rep_start();
   I2C_write(I2C_address | I2C_READ, EXPECT_ACK);


Aktuell bin ich noch etwas ratlos wie ich das Projekt aus der 
Application Node in mein Projekt integriere.

Hoffe ihr könnt etwas Licht ins Dunkel bringen.

Danke

von Christian I. (christianillig)


Lesenswert?

Kann mir keiner die Frage beantworten?

von Falk B. (falk)


Lesenswert?

@ Christian Illig (christianillig)

>Datum: 10.07.2016 13:26

>ich würde gern anhand des TMS320 mit dem DS2482 kommunizieren

Das ist ein ONeWire Master mit I2C Anbindung.

> an dem
>jeweils mehrere DS18B20 angeschlossen sind.

Ein Temperatursensor mit OneWire Anschluß.

>Wenn ich mir das Datenblatt des DS2482 anschaue sehe ich bei der I2C
>Kommunikation das nach so ziehmlich jedem Byte ein Acknowledge vom Slave
>durchzuführen ist.

Das ist bei I2C immer so.

>Wenn ich mir die Spezifikationen des I2C ansehe ist das ja quasi
>Standard.

Eben.

>Ist das nun so das, dass FIFO komplett geladen wird und nach der
>Parametrierung des MDR Registers die Nachricht geschickt wird ?

Kann sein, das I2C vom PICCOLO hab ich noch nicht benutzt.

> Wenn ja
>wie wird dann das Acknowledge von Byte zu Byte durchgeführt wird ?

Das macht der I2C Controller.

>Oder ist es so das jedesmal wenn etwas in das I2caRegs.I2CDXR Register
>geladen wird die Nachricht "direkt" gesendet wird ?

Keine Ahnung.

>Bei dem DS2482 gibt es Beispielcode von Maxim allerdings für einen
>anderen Controller und da wird in den I2C Routinen explizit erwähnt ob
>mit oder ohne Acknowledge das Byte gesendet werden soll.

Sowas muss auch beim PICCOLO gehen.

>Aktuell bin ich noch etwas ratlos wie ich das Projekt aus der
>Application Node in mein Projekt integriere.

Mein Tip. Lass den DS2482 weg und sprich die DS18B20 direkt an. Das geht 
leicht, vor allem wenn man eine fertige Bibliothek hat. Man brauch ja 
nur ein Kabel ;-)

Beitrag "Re: Onewire + DS18x20 Library"

Dort muss man nur die alleruntersten Zugriffe auf OneWire an den 
Controller anpassen, der Rest geht so.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.