Forum: Mikrocontroller und Digitale Elektronik Mega8515 startet mit Signal an UART nicht


von Marc L. (Gast)


Lesenswert?

Guten Abend,

ich habe mir den DMX (RS-485, 250kBaud) Analyzer von Henne nachgebaut.
http://hoelscher-hi.de/hendrik/light/dmxanalyzer.htm
Funktioniert soweit auch aber:
Wenn ich das Teil einschalte und bereits ein DMX Sender angeschlossen 
und aktiv ist, startet der µC nicht. Schalte ich den Sender erst an, 
nachdem der µC läuft, funktioniert es.
Der DMX Sender ist das USB Interface von Digital Enlightenment.
Wenn ich ein anderen Sender (Zero88 Sirius) anschliesse startet der µC 
auch mit anliegendem Signal. Info: Dat Zero88 sendet weniger Kanäle 
etwas längere Breaks und IBGs.

So als nächstes habe ich die Schaltung ein wenig geändert. 
Resetbeschaltung 10k gegen VCC und 100n gegen GND, 2x 100n direkt am 
7805, einen weiteren 100n am SN75176. Das half aber auch nichts.

Dann habe ich mir die Firmware vorgenommen und am Schluss ist das noch 
übrig geblieben.
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
int main ( void )
5
{
6
  cli();
7
8
  DDRB |= (1<<PB0);
9
  PORTB |= (1<<PB0);
10
11
  DDRD |= (1<<PD1) | (1<<PD2);  // PD0 RX
12
                                // PD1 TX
13
                                // PD2 Driver Enable
14
15
  uint32_t SysCnt = 0;
16
17
  while ( 1 )
18
  {
19
    if ( ++SysCnt >= 480000 )
20
    {
21
      SysCnt = 0;
22
      PORTB ^= (1<<PB0);
23
    }
24
  }
25
26
  return 0;
27
}

Der Pin PB0 wird geschaltet wenn der µC läuft und ich dann das USB 
Interface aktiviere. Er wird nicht geschaltet, wenn das Interface 
bereits sendet und ich die Schaltung erst dann mit Strom versorge.

Ist soetwas normal? Fehler in der Hardware? Fehler in der Software?

Viele Grüße
Marc L.

von Marc L. (Gast)


Lesenswert?

Also,
ich habe noch etwas weiter getestet. Zuerst mit galvanischer Trennung 
des SN75176, hat nichts gebracht.
Dann habe ich herausgefunden, dass das nur passiert, wenn Pin 4 vom 
SN75176 nicht auf GND liegt. Und das tut er ja beim Reset vom Mega 
nicht. Mit einem Pulldown (10k) an dem Pin funktioniert es jetzt.
Kann mir das wer erklären? Warum stört das den Mega? Habe leider auch 
kein Oszi um mal zu schauen, was da passiert.

Viele Grüße
Marc L.

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.