ATMEGA 2 Ports "gleichzeitig" schalten?

Mar 04, 2007 6 Replies

Hallo Newsgroup,



ich möchte mit einem ATMEGA32 eine Patternfolge ausgeben, die 16 Bit breit ist, so dass ich 2 Ports dazu benötige.



Die einzelnen Bits sollten zeitgleich geschaltet werden; derzeit habe ich zwischen den beiden Ports eine Differenz von ca. 190ns, was davon kommt, dass ich die beiden Ports hintereinander setzen muss.



Meine Frage: gibt es eine Möglichkeit, die Ports "gleichzeitig" zu setzen?



Danke + viele Grüsse, Martin


"Martin Hinterdobler"

ist, so dass ich 2 Ports dazu benötige.

zwischen den beiden Ports eine Differenz von ca. 190ns,

Dürfte es nicht geben. Die Ports sind Register. Die CPU bzw ALU ist 8Bit breit und auch alle Register. Dann müsstest du ja 16 Bit gleichzeitig schreiben. Wenn ich mir die Timing-Diagramme nach dem Aufwachen aus dem IDLE-Modus anschaue wäre das evtl ein Ansatzpunkt den du näher untersuchen könntest. In den Ide-Mode schalten und direkt danach in den nächsten beiden Takten die Portregister schreiben. Mit etwas "Glück" wacht der Controller so langsam auf, dass er beide Register gleichzeitig umschaltet. Aber das ist jetzt echt ganz große Glaskugel...

Gruß,

Markus

Martin Hinterdobler schrieb:

Direkt gibt es keine Möglichkeit, aber wenn du erzählst was du vorhast, könnte man vielleicht besser helfen. Was spricht z.B. gegen ein 16bit Latch? Gruß Andy

Martin Hinterdobler schrieb:

Noch ein möglicher Trick: die Adressdaten auf den beiden Adressports des externen Speicherinterfaces (bei den AVRs, die so etwas haben) werden gleichzeitig angelegt. Allerdings verschwinden sie dann später an einem der beiden Ports wieder, wenn er in die Datenphase übergeht.

cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)

Hallo Martin,

Martin Hinterdobler schrieb: [...]

tzen?

ich sag's mal so: wenn das korrekte Funktionieren Deiner Anwendung von solchen Dingen abh=E4ngig ist, dann hast Du vermutlich ein Problem mit de= m Design.

ciao

Marcus

Joerg Wunsch schrieb:

Dann benötigt er halt noch das standard 573er Latch zum Adressdemultiplexen.

Oder er nimmt zwei 574er.

Aber so ganz ohne zusätzlichen Aufwand wirds nicht gehen.

Mfg Thomas

Wie oft muss das Muster gewechselt werden?! Gibt es ein Ereignis, auf das schnell reagiert werden muss?! Sonst Evtl. 2x 74HC595 Schieberegister, SPI-Interface zum beschicken verwenden, dann mit einer Leitung die Daten parallel freigeben.

thomas.kindler@gmx.de www.bredobrothers.de www.microsoft-hellhounds.de

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required