Forum: Mikrocontroller und Digitale Elektronik Serielles Protokoll


von Jakob Gebel (Gast)


Lesenswert?

Hi,

ich habe folgendes Problem: Ich möchte mit BASCOM eine Serielle
Schnittstelle mit einem AVR hinkriegen. Die Schnittstelle muss 115.200
Bits/Sekunde senden können. Wie kann ich das am besten mit BASCOM
hinbekommen, und welchen AVR nehme ich da am besten? Meine Vorgabe
wäre, dass der AVR einen möglichst einen großen RAM hat.

Danke für eure Hilfe!

von crazy horse (Gast)


Lesenswert?

Und warum suchst du dir dann nicht selbst einen aus? Entwweder mit genug
SRAM on chip oder mit externem Speicherinterface? Die Schnittstelle ist
kein Problem, allerdings musst du einen passenden Quarz nehmen
("krumme" Frequenz).

von Jakob Gebel (Gast)


Lesenswert?

Hi,

welche Frequenz brauche ich denn? Macht mich froh, zu hören, dass ich
mir einen aussuchen kann.

von Sascha Weitkunat (Gast)


Lesenswert?

Steht alles im Datenblatt...

von Jakob Gebel (Gast)


Lesenswert?

Hi,

steht da auch wie viel Mhz ich für 115.200 Bits/Sekunde brauche? Ich
konnte das im Datenblatt vom AT90S8515 nicht finden.

von Stefan (Gast)


Lesenswert?

115200  16  n:

ich würde 7,3728 oder 14,7456 Mhz empfehlen, benutzen wir immer.

Zu Bascom weiss ich aber nichts ...

Stefan

von Jakob Gebel (Gast)


Lesenswert?

Hi,

was beudeutet in diesem Fall n? Ist das der interne
Hardwaremultiplikator? Habe ich überhaupt noch Zeit irgendwelche
Befehle außer dem generieren des Signals außzuführen? Ich müsste
nochein paar andere Eingänge außlesen und dementsprechend eine Variable
ändern. Geht das noch?

von Stefan (Gast)


Lesenswert?

Vor der Baudratenerzeugung sitzt ein 16-fach-Teiler. D.h. um 115200 zu
erreichen, muss dieser Teiler mit 1,8.. Mhz gespeist werden. Du kannst
jetzt also als Quarz 1,8..Mhz nehmen oder ein Vielfaches davon, eben
n.

Angenommen Du nimmst n=4, dann hat der Quarz 7,37..Mhz.
.. oder 8, dann hast Du 14,7.. Mhz.
Ich habe Dir diese Quarze vorgeschlagen, weil sie sehr gebräuchlich
sind.

Dein eigendliches Programm hat mit diesen Teilern nichts zu tun. Wenn
Du Daten geschickt bekommst, dann erhälst Du 115200 / (8+Start+Stop) =
11520 Mal in der s ein Zeichen, also hast Du pro Zeichen ca. 90us Zeit,
um es zu holen bzw. zu verarbeiten. Das sollte sogar in Hochsprache gut
machbar sein.

Stefan

von Jakob Gebel (Gast)


Lesenswert?

Hi,

also sollte es kein Problem sein 115200 Bits zu senden oder? Am besten
nehme ich dann einen 7,3728 Mhz Quarz, damit ich einen AT90S8515 nehmen
kann.

von Stefan (Gast)


Lesenswert?

Senden ist nie ein Problem. Wenn der mc zu lahm ist, ist halt manchmal
ne kleine Pause drin.

Ja, das sollte so passen.

Stefan

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.