Problem beim Auslösen von Interrupts beim ATMega

Gast #4136793
Lesenswert?
• ▲
▼
Ich versuche mit einem ATMega16 mit einem anderem Gerät zu 
kommunizieren. Die Kommunikation ist unidirektional, der AVR muss nur 
Empfangen können. Das Gerät hat eine 7-bit paralleles Interface und 
einen strobe pin, ein an sich sehr einfaches Interface. In etwa die 
Beschaltung:
1
                                              3 Meter Kabel                      Gerät                            
2
                                                                          +--------------------------------------+
3
                                5 Volt        +-------+                   |                                      |
4
5V +------+-----------------------------------+       +-----------------------------------------+                |
5
          |                     Masse         |       |                   |                     |                |
6
GND-------+-+---------------------------------+       +---------------------------------------+ |                |
7
          | |                                 |       |                   |                   | |                |
8
          | |  +-----------+                  |       |                   |                   | |                |
9
          | +--+           |    7 Bit Data    |       |                   |                   | |                |
10
          | |  |           +------------------+       +-------------------+                   | |                |
11
      +---+----+           |------------------|       |-------------------|                   | |                |
12
      |     |  |           |------------------|       |-------------------|                   | |                |
13
      |     |  |           |------------------|       |-------------------|                   | |                |
14
      |     |  |           |------------------|       |-------------------|                   | |                |
15
      |     |  | ATMega16  |------------------|       |-------------------|                   | |                |
16
      |     |  |           +------------------+       +-------------------+                   | |                |
17
      |     |  |           |    Strobe        |       |                   |                   | |                |
18
      |     |  |      INT0 +--+---+-----------+       +-------------------+       +-----------+ |                |
19
      |     |  |           |  |   |    Low    |       |                   |       |           | |                |
20
      |     |  |           |  |   /  +--------+       +---------------------------+    /+-----+ |                |
21
      |     |  |           |  |  /   |        |       |                   |           /         |                |
22
      |     |  |           |  | / +-------+---+       +------------------------------/  +-------+                |
23
      /     |  |           |  | S1   |    |   |       |                   |        Schalter S3                   |
24
     /      |  +-----------+  |      |    |   |       |                   +--------------------------------------+
25
    /       |                 |      |    |   +-------+                                                           
26
   /  +-----------------------+      |    |                                                                       
27
Schalter S2 |          +---------+   |    |                                                                       
28
            +----------+100KOhm  +---+    |                                                                       
29
            |          +---------+        |                                                                       
30
            |                             |                                                                       
31
            |                             |                                                                       
32
            |           +----------+      |                                                                       
33
            +-----------+Voltmeter +------+                                                                       
34
                        +----------+
Es werden durch den bei INT0 keine Interrupts durch das Gegrät 
ausgelößt. Ich habe probiert diesen zu Debugzwecken durch andere Dinge 
Auszulösen. Der interne Pull-Up Widerstand ist aktiv, und es wird auf 
eine fallende Flanke gewartet. Mit Schalter S2 klappt das auch.  Zu 
Meiner großen Überraschung kann ich diesen aber mit Schalter S1 nicht 
auslösen, auch wenn das Voltmeter 4,86 Volt anzeigt. Ebenso wenig mit 
Schalter S3. Ich habe das Gefühl dass das die Ursache dafür die selbe 
ist wie die dafür dass keine Signale vom Gerät empfangen werden. Ich 
schätze das Strobe Signal kommt an, wird nur nicht erkannt. Nur habe ich 
überhaupt kein Ahnung woran das liegen könnte und was ich dagegen machen 
könnte. Hat hier jemand eine Idee?


Miko.
(Firma: matzetronics) #4136827
Lesenswert?
• ▲
▼
Miko schrieb im Beitrag #4136786:
> Ich
> schätze das Strobe Signal kommt an, wird nur nicht erkannt.

Als erstes solltest du mal die Masseverbindungen überprüfen und messen, 
was in Ruhe an /Strobe anliegt. Um einen Interrupt auszulösen, muss das 
Signal für eine gewisse Zeit auf low liegen, schau im Datenblatt des 
Mega (Kapitel 13.1.1), ob die Länge deines Strobesignals dafür 
ausreicht. Wenn dein Strobe nur 1µs lang ist, reicht es bei einem 8Mhz 
Mega mit gesetzter CKDIV8 Fuse knapp nicht aus, um den Interrupt zu 
triggern.
Ein simpler Logikstift mit Flipflop kann dir helfen, zu erkennen, ob 
überhaupt ein Strobe kommt, wenn dir das mit dem Mega nicht gelingt.

Ein Auszug des Programmes mit Initialisierung und ISR kann auch nicht 
schaden.
#4136854
Lesenswert?
• ▲
▼
Hallo,

ich habe so meine Probleme, wenn ich "3 Meter Kabel" lesen.
Und die Schaltung über keine EMV Filter auf den Datenleitungen verfügt.
Die Eingänge müssen dann auch noch mit einem Schmitttrigger ausgestattet 
werden, um wieder saubere Signale zu erhalten.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.