Probleme nach Wechsel vom Mega16 zum Mega1284

Cassio

Aktives Mitglied
29. Okt. 2008
4.027
17
38
Region Hannover
Sprachen
  1. BascomAVR
Hallo und fröhliche Ostern zusammen!

Irgendwie verstehe ich gerade die Welt nicht mehr..... :hmmmm:
Entweder bin ich blind, blöd, blauäugig, oder der Mega1284 ist zwar mit dem Mega16(32) pinkompatibel, arbeitet aber völlig anders.
Ja ja, ich weiß dass der Mega1284 technisch anders aufgebaut ist als der Mega16, aber das sollte unter BASCOM doch "egal" sein.

Nun aber mal der Reihe nach.....
Ich habe hier schon einige Zeit ein Testprogramm fehlerfrei auf dem Mega16 laufen.
Jetzt habe ich mein AVR44DL-M AVR44DLM_11040C.GIF AVR44DLM_fertig-vorn.jpg AVR44DLM_fertig-hinten.jpg
(AVR44pin DoubleLayer-Modul), dass ich später für andere Projekte benötige, fertig und es mit dem selben Programm bespielt.
Leider funktioniert nun die Displayanzeige nicht mehr! :hmmmm:


Nun mal im Detail....
Am Mega ist ein 128x64-GLCD F51320_9.jpg
und ein 16bit A/D-Wandler über TWI angeschlossen.

Softwareseitig läuft nur die DCF77-Routine, das sekündliche Abfragen des A/D-Wandlers und die Ansteuerung des Displays.
Mehr nicht!

Aktuell sieht die Belegung so aus:
Code:
' ----------------------ATMega 16/1284------------------------
'                          +---v---+
'GLCD- RES    (XCK/T0) PB0 |1    40| PA0 (ADC0)------GLCD
'GLCD- WR         (T1) PB1 |2    39| PA1 (ADC1)------GLCD
'GLCD- CS1 (INT2/AIN0) PB2 |3    38| PA2 (ADC2)------GLCD
'GLCD- A0   (OC0/AIN1) PB3 |4    37| PA3 (ADC3)------GLCD
'GLCD- RD         (SS) PB4 |5    36| PA4 (ADC4)------GLCD
' ISP-----------(MOSI) PB5 |6    35| PA5 (ADC5)------GLCD
' ISP-----------(MISO) PB6 |7    34| PA6 (ADC6)------GLCD
' ISP------------(SCK) PB7 |8    33| PA7 (ADC7)------GLCD
'                    RESET |9    32| AREF
'                      VCC |10   31| GND
'                      GND |11   30| AVCC
'12MHz Quarz---------XTAL2 |12   29| PC7 (TOSC2)
'12MHz Quarz---------XTAL1 |13   28| PC6 (TOSC1)
'      ----------(RXD) PD0 |14   27| PC5 (TDI)
'      ----------(TXD) PD1 |15   26| PC4 (TDO)
'               (INT0) PD2 |16   25| PC3 (TMS)
'               (INT1) PD3 |17   24| PC2 (TCK)
'               (OC1B) PD4 |18   23| PC1 (SDA)-------I2C
'               (OC1A) PD5 |19   22| PC0 (SCL)-------I2C
'DCF77----------(ICP1) PD6 |20   21| PD7 (OC2)-------LED
'                          +-------+


Den Mega16 hatte ich beim Test immer mit 16MHz betrieben..... der Mega1284 läuft aktuell mit 12MHz.
Mal nebenbei.... welchen internen Takt hat der Mega1284 eigentlich? :hmmmm:
Es gibt zwar die Division durch 8, aber 1MHz kann ich bei BASCOM nicht eingeben.
EDIT:------------------------------------------------
Gefunden----> Mega1284_Clock.gif
Trotzdem kann man bei BASCOM nicht 1MHz angeben. :hmmmm:

Da ich an PortD.7 eine LED angeschlossen habe die nur dann blinkt, wenn die Softclock sich mit dem DCF77-Signal synchronisiert hat, scheint intern das Programm zu laufen..... Denn die LED beginnt nach ein paar Minuten zu blinken.

Allerdings bekomme ich absolut keine Anzeige auf dem Display mehr! :hmmmm:
Gibt es bei PORTA und PORTB vielleicht irgend etwas zu beachten, was mir entgangen ist?

Ich habe gestern Abend deshalb mal den LA an die Pins gehängt und irgendwie sehen die Datenbits nicht 100% identisch aus..... aber wirklich nur Minimal.
Augenscheinliche Auffälligkeiten gibt es beim DB6, aber sonst scheint alles OK zu sein.


Momentan weis ich einfach nicht mehr, woran es liegen könnte.
Hat jemand vielleicht eine Idee?
Es hat doch nichts mit den Ports A & B am Mega1284 zu tun?

Grüße,
Cassio
 
Entweder bin ich blind........


.....Augenscheinliche Auffälligkeiten gibt es beim DB6, aber sonst scheint alles OK zu sein.


Hallo zusammen!

Wie schon erwartet, hatte ich oben schon die Lösung des Problems mit eingestellt.

Durch die geringen Auffälligkeiten an PortA.6 habe ich alles noch mal durchgesehen.... und diesmal auch einzeln durchgemessen!
Tja und siehe da......
Ich war blind! :cool:

Es gab tatsächlich eine Unterbrechung in der Leiterbahn von PortA.6 zum Platinenpin!
Allerdings war diese Unterbrechung sooooo gering, dass ich selbst mit einer 8-fach Lupe, vollem Zoom und Makro-Einstellung sie kaum fotografieren konnte.
Es ist mir aber doch gelungen. :D
Hier also nun das Foto und der Beweis: Platinen-Fehler.jpg


Nachdem ich die Unterbrechung beseitigt habe, funktioniert das Display nun auch einwandfrei! :dance3:

Hätten meine Aufzeichnungen vom LA an PortA.6 (Display-DB6) größere Aussetzer oder ggf. sogar gar nichts angezeigt, dann hätte ich gestern Abend wohl gleich mal genauer hingesehen..... aber so?
Egal!
Damit steht nun fest: Es lag nicht am AVR, sondern wieder mal nur am Anwender. :cool:


Grüße und fröhliche Ostern noch,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)