Forum: Mikrocontroller und Digitale Elektronik ARM->DSP->I2C mittels Mailbox


von Mad Max (Gast)


Lesenswert?

Hi

So ich bin noch etwas frisch hinter den ohren, also, fragt mich ruhig 
wenn ich was vergessen hab zu schreiben.

ich hab ne entwicklungsplatine mit nem omap5912 also nen arm und dsp 
drauf

ich hab anfangs über code composer studion und jtag ein programm für den 
dsp geschrieben, das er über den i2c ein paar dioden einschaltet, hat 
wunderbar geklappt

also in der form
1
OSK5912_I2C_write(slave_addr, daten3, length);

so nun hab ich etwas mit dem arm rum programmiert und mir mein display 
gebastelt und wollte das wenn ich auf meinem display ne grfische diode 
anklick auch auf meiner platine die diode angeht.

man hat mir gesagt das ich vom arm mit der "mailbox" auf den dsp 
zugreifen kann und dann dort über den i2c auf die dioden

das is mir nur gerade etwas viel und ich hab keine ahnung wie das gehen 
soll, hab keine beschreibung zu soetwas gefunden, kann ja im grunde ni 
schwer sein!!???

kann mir jemand helfen oder tipps geben????

von Mad Max (Gast)


Lesenswert?

hat jemand ne ahnung???

von Mathi (Gast)


Lesenswert?

Hi,

das wird in http://focus.ti.com/lit/ug/spru749b/spru749b.pdf im Kapitel 
Mailboxes beschrieben. Es gibt Register für die Kommunikation zwischen 
MPU und DSP und andersherum.

von Mad Max (Gast)


Lesenswert?

hey,

ich danke dir, da hab ich schon mal ne ahnung wie das funktioniert.

Aber wie ich es anstellen soll, davon hab ich noch keinen Plan, leider.

mir fehlt zur zeit das verständnis, es gibt leider auch kein kleines 
beispiel im netz, zumindest hab ich schon alles durch gegooglet und noch 
nichts gefunden, so das man es sich mal anschauen kann und dann kommt 
einen meistens die erleuchtung

von Mad Max (Gast)


Lesenswert?

kann mir noch jemand etwas spezifischer helfen???

von Mathi (Gast)


Lesenswert?

Ich habe das gerade mal überflogen und es sollte sehr einfach sein.

Du schreibst das erste Wort in das MPU2DSP1A (bzw. MPU2DSP2A). Dann das 
zweite Wort in das MPU2DSP1B (bzw. MPU2DSP2B). Dieser Schreibzugriff 
löst im DSP einen Interrupt aus. Dein Interrupt-handler muss die Daten 
nun aus den Registern lesen und entsprechend verabreiten. Sobald das 
zweite Wort gelesen wurde, wird der Interrupt zurück gesetzt.

von Mad Max (Gast)


Lesenswert?

OK danke

das hab ich mir auch schon überleget und steht ja auch in den pdf's von 
dir drin.

mein problem is einfach, ich hab noch nicht lange damit zu tun, bin 
sozusagen gerade am groß werden damit, deshalb ist das erste mal immer 
schwer.

ich hab keine ahnung wie ich dem dsp sagen soll wie er auf den interupt 
reagieren soll, in welcher form er in erscheinung tritt oder wie das mit 
dem Interrupt-handler geht :(  ...

gibt es ni schon irgendwo ein kurzes beispiel wo man mal schnell nen 
einblick bekommt

von Mathi (Gast)


Lesenswert?

Wie man einen Interrupt-Handler programmiert sollte in der Doku zu 
Deinem Compiler stehen.
Des weiteren gibt es ein pdf das die Struktur des DSP-Cores beschreibt: 
http://focus.tij.co.jp/jp/lit/ug/spru757b/spru757b.pdf

Da das ein umfangreicher Prozessor ist, gibt es sehr viel Leiteratur 
dazu. Schau mal auf 
http://focus.ti.com/docs/prod/folders/print/omap5912.html

Dort gibt es sogar ein eigenes Interrupt Handbuch. Ich denke allzu viele 
Beipiele wird es da nicht geben. Da hilft Dir nur Datenblätte wälzen.

von Mad Max (Gast)


Lesenswert?

ich komm der sache schon näher

aber ne exakte anleitung hab ich bis jetzt noch nicht gefunden im netz

aber ich bin schon mal weiter und weiß jetzt über was ich noch mehr in 
erfahrung bringen muss, bzw was ich mir noch erarbeiten muss, nur das 
problem ist, das mir die zeit davonrennt, denn es sollte eigentlich 
schon fertig sein

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.