Forum: Mikrocontroller und Digitale Elektronik DVD Player kann nicht gestoppt werden


von Anfänger (Gast)


Lesenswert?

Hallo Leute,

ich habe eine Master Slave Kommunikation zwischen einem ATmega32(slave) 
und einem DVD Player(Master). Sobald ich aber den Code auf den µC 
draufgeflasht habe und dann ein Video abspielen lasse und dann den Code 
nochmal draufflashe dann wird der DVD Player nicht gestoppt, sondern 
spielt einfach weiter. Wie kann ich den DVD Player denn stoppen??

VG

: Gesperrt durch Moderator
von Route_66 H. (route_66)


Lesenswert?

Netzstecker ziehen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Zu viele Informationen.

von PittyJ (Gast)


Lesenswert?

Netzstecker ziehen.

von Anfänger (Gast)


Lesenswert?

was für infos brauchst du noch? :) sry ich bin neu in der ganze sache :(

@Route 66: sobald ich den DVD Player aus und wieder einschalte 
funktionierts ja, aber irgendwie muss ich irgendwo im Code doch dem DVD 
Player sagen können, dass er resetten soll oder?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Anfänger schrieb:
> aber irgendwie muss ich irgendwo im Code doch dem DVD
> Player sagen können, dass er resetten soll oder?

Wahrscheinlich versteht er Dich nicht.

von Εrnst B. (ernst)


Lesenswert?

Anfänger schrieb:
> funktionierts ja, aber irgendwie muss ich irgendwo im Code doch dem DVD
> Player sagen können, dass er resetten soll oder?
1
PORT_RESET |= _BV(PIN_RESET);

Wobei PORT_RESET und PIN_RESET natürlich so definiert sein müssen, dass 
die der Hardwaremäßigen Verbindung zwischen DVD-Player-Reset und 
ATMega-Pin entsprechen.

von UR-Schmitt (Gast)


Lesenswert?

Junge, setz dich mal zurück, lies dein Ausgangsposting und überlege ob 
irgendwer ausser dir bei deinem Geschreibsel wissen kann WAS GENAU du 
vorhast und wie du es versucht hast zu lösen.
Les die Netiquette bzgl Problembeschreibung

So ist die einzige Antwort:
42

von Anfänger (Gast)


Lesenswert?

Ich würde dir auch mal raten die Netiquette mal zu lesen. Allein die 
paar Sätze am Anfang müssten eigentlich genügen :)

von Hannes H. (mui)


Lesenswert?

Du könntest schreiben, WAS dieses Konstrukt überhaupt machen soll, WAS 
für ein DVD-Player es ist, WELCHE Schnittstelle verwendet wird, etc...

DVD-Player die man im Laden kauft, haben von Hause aus üblicherweise 
keine Kommunnikation mit einem ATmega, der vom Kunden geflasht werden 
muss...

von Andreas B. (bitverdreher)


Lesenswert?

Die Zeile 54 in deinem Code sieht nicht gut aus. Das würde ich ändern.

von anonymous (Gast)


Lesenswert?

wenn die software-lösung zu aufwändig wird:
knipes hat einen guten stoppschalter im sortiment...

von anonymous (Gast)


Lesenswert?

äh knipex, nicht knipes

von Anfänger (Gast)


Lesenswert?

Also ich versuchs nochmal klarer zu schreiben, es tut mir echt sehr 
leid, wenn ich das nicht schaffe. Bin nunmal nicht lange in so sachen 
drin, daher weiss ich leider auch nicht so genau wie ich das am besten 
schildern soll. Ich gebe aber mein Bestes.

Also ich habe eine IIC Kommunikation zwischen dem µC und den DVD Player. 
Meine Platine auf dem der µC drauf ist besitzt noch ein Sensor, womit er 
durch eine Fernbedienung, per IR, Befehle an den DVD Player sendet. D.h. 
der Befehl wird zunächst an den µC gesendet; mit einer zusätzlichen 
Leitung wird eine Anfrage an den DVD Player gesendet, indem diese 
Leitung durch den µC auf low gelegt wird.
Der DVD Player fragt diese leitung ständig ab, sobald er sieht, dass er 
auf low gelegt worden ist, sendet er eine Bestätigung. Sobald der µC die 
Bestätigung erhalten hat sendet er eine ACK und legt die zusätzliche 
leitung auf high. Den DVD Player habe ich nicht implementiert, das ist 
aber kompatibel mit denen aus dem Laden. Ich benutze zusätzlich noch 
einen UART, womit ich sehen kann welche daten ich an den DVD Player 
senden kann und welche ich empfange. Außerdem benutze ich einen Display 
Controller. So nun zu meinem Problem:
1. ich flashe den Code auf den µC
2. ich drücke auf den Power Button auf der Fernbedienung
3. dann schalte ich den DVD Player ein
4. Anschliessend drücke ich auf den Play Button
5. So jetzt zu meinem Problem: Wenn ich jetzt mein Code nochmal 
draufflashe wird der DVD Player nicht gestoppt, sondern spielt einfach 
weiter. Wobei er ja eigentlich auch nochmal neu initialisiert werden 
müsste
und genau da braucht ich hilfe... Ich hoffe, dass es jetzt einigermaßen 
verständlich ist...

VG

von J.-u. G. (juwe)


Lesenswert?

Anfänger schrieb:
> Der DVD Player fragt diese leitung ständig ab, sobald er sieht, dass er
> auf low gelegt worden ist, sendet er eine Bestätigung. Sobald der µC die
> Bestätigung erhalten hat sendet er eine ACK und legt die zusätzliche
> leitung auf high. Den DVD Player habe ich nicht implementiert, das ist
> aber kompatibel mit denen aus dem Laden.

Keiner der DVD-Player, die ich kenne, fragt irgendwelche Leitungen ab. 
Also nenne bitte endlich die genaue Beueichnung des von Dir verwendeten 
Players.

> Wenn ich jetzt mein Code nochmal
> draufflashe wird der DVD Player nicht gestoppt, sondern spielt einfach
> weiter. Wobei er ja eigentlich auch nochmal neu initialisiert werden
> müsste

Wieso sollte der DVD-Player initialisiert werden, wenn der µC geflasht 
wird?

von Mike (Gast)


Lesenswert?

Lieber Anfänger,

leider ist es auch mit Deiner Beschreibung immer noch unklar, was Du 
eigentlich machst.
1. Was für einen DVD-Player (Hersteller, Modell) verwendest Du? Woher 
hast Du das Kommunikationsprotokoll? Mir ist bisher noch keiner mit 
offengelegter I2C Schnittstelle untergekommen.
2. Was macht der IR-Sensor? Ein Sensor kann Signale empfangen, aber 
nicht senden. Soll der Sensor die Signale einer Fernbedienung empfangen 
und an den uC weiterleiten, diese in I2C-Befehle umwandeln und damit den 
DVD-Player steuern?

Beste Grüsse

Mike

von Anfänger (Gast)


Lesenswert?

die bezeichnung würde dich nicht weiter bringen weil die auch eine 
hauseigene ist. die sollte aber kompatibel mit denen aus dem laden sein 
wurde mir gesagt.
ich weiss nicht wie ich den DVD Player zum stoppen kriegen soll, das 
sind nur vermutungen von mir...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Anfänger schrieb:
> ich weiss nicht wie ich den DVD Player zum stoppen kriegen soll

Dann frag den hauseigenen Support. Wir können Dir nicht weiterhelfen, 
da wir Deinen DVD-Player nicht kennen und keiner der uns bekannten 
DVD-Player auch nur in Ansätzen dem ähnelt, den Du da zu verwenden 
scheinst.

von Mike (Gast)


Lesenswert?

Ohne konkrete Angaben zu Playertyp und Kommunikationsprotokoll wird hier 
wohl niemand helfen können. Ansonsten bleibt nur die Holzhammermethode:
Stromversorgung des Players über Relais abschalten. Dannist die Musik 
garantiert aus.

Gruss
Mike

von J.-u. G. (juwe)


Lesenswert?

Anfänger schrieb:
> die bezeichnung würde dich nicht weiter bringen weil die auch eine
> hauseigene ist.

Doch, dass würde weiterhelfen, zumindest im Ansatz zu verstehen, wovon 
du redest.

> die sollte aber kompatibel mit denen aus dem laden sein
> wurde mir gesagt.

Dann wurde Dir offensichtlich Unsinn erzählt.

von Εrnst B. (ernst)


Lesenswert?

Ich fasse dein Problem mal so zusammen, wie ichs verstanden habe:

1) dein µC sendet "Start" per I²C an den DVD-Player. Der Startet.
2) dein µC sendet "Stop" per I²C an den DVD-Player. Der Stoppt.

3)  dein µC sendet "Start" per I²C an den DVD-Player. Der Startet. 
Anschliessend Flashst du eine neue Firmware auf den µC. Der DVD-Player 
stoppt nicht.

Lösung:

Als erste Aktion in der Firmware immer ein Stop-Kommando senden. Wenn 
der DVD-Player eh gestoppt ist, macht das nix, wenn du grad am flashen 
warst, wird er gestoppt.

von Anfänger (Gast)


Lesenswert?

ja genau so wars gemeint :)

hmm, wann genau sag ich denn stopp?

VG

von J.-u. G. (juwe)


Lesenswert?

Anfänger schrieb:
> hmm, wann genau sag ich denn stopp?

Εrnst B✶ schrieb:
> Als erste Aktion in der Firmware immer ein Stop-Kommando senden.

von Anfänger (Gast)


Lesenswert?

aso ok, sry hab nicht genau gelesen, danke.

VG

von Bjoern B. (per)


Lesenswert?

Hallo,

wenn Du ein neues Programm flasht und dein DVD Player abspielt, musst Du 
nach dem Flashen also beim Programmstart dafür sorgen das der DVD Player 
in einen definierten zustand kommt.
d.h. Du könntest beim Programmstart versuchen in jedemfall erst mal ein 
Stop Signal zu schicken.

gruß,
Björn

von Torsten S. (torstensc)


Lesenswert?

Warum musst du denn ständig das Programm neu flashen?
Diese Situation sollte doch nur bei der Entwicklung vorkommen?
Wenn der Player so eine tolle Schnittstelle hat sollte er auch
den momentanen Ist-Zustand an deine Steuerung rückmelden könnnen.
Für mich klingt das eher so, als ob du eine Verbindung initialisierst,
dann deine Steuerung flashst, der Player aber immer noch davon ausgeht
das die Steuerung da ist. Dabei zerlegst du irgendwie die
Kommunikation deiner Schnittstelle und müsstest die erst neu
initialisieren.

Torsten

von Anfänger (Gast)


Lesenswert?

habs mit Stop ausprobiert ging nicht aber mit dem Power Kommando hats 
funktioniert :)) weil da getoggelt wird, d.h. ist es an wird es 
ausgeschaltet ist es aus wird es angeschaltet :))

ich danke euch viiielmals...

VG

von Anfänger (Gast)


Lesenswert?

weil ich ständig neue dinge ausprobiere mein Code ist nämlich noch nicht 
fertig.. daher ist mir das zufälligerweise aufgefallen, dass der DVD 
Player eigentlich garnicht ausgeschaltet wird :)

von hendi (Gast)


Lesenswert?

Rein aus Interesse, hast du n Foto von deinem Versuchsaufbau? Woher 
weißt du wie ein Powerkommando aussieht? Hast du eine Bibliothek?

von Anfänger (Gast)


Lesenswert?

es steht in der Spezifikation vom DVD Player drin.
ich weiss nicht, ob ich ein photo rausgeben darf ich frag mal morgen 
nach, sollte ich eine Bestätigung bekommen kann ich die gerne hier 
posten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wer dieses Drama noch weiter verfolgen will, der kann das im 
Beitrag "Systemabsturz.." tun.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.