PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serieller schnittstelle



flownfluid
07.11.2005, 23:00
Hallo,

habe folgendes Problem:

möchte mit einem PIC18F452 die serielle Schnittstelle benützen. Doch leider komme ich da mit den Berechnungen des Quarzes nicht so nach.

Möchte eine Geschwindigkeit von 9600 Baud und 460800 Baud benützen können. Das mit 9600 Baud würde ich schon hinkriegen aber mit 460800Baud habe ich da so meine Probleme...

Vielen Dank für eure Antworten

Gruss

PicNick
08.11.2005, 06:47
...aber mit 460800Baud habe ich da so meine Probleme...

Da geht's mir genauso, es ist halt ein unüblicher Wert

flownfluid
08.11.2005, 07:36
Ich möchte gerne an einem PIC die Kamera mca-25 anschliessen und leider lässt die sich nur mit dieser Geschwindigkeit ansprechen

PicNick
08.11.2005, 08:43
Na ja, die Formel

Quartz / 16 = a
a /baudrate -1 = x

bei 20 Mega
20000000/16 = 1250000
1250000 / 460800 - 1 = 1,71 --> 2

also BRGH = 1
SPBRG = 2

ergibt diese Baudrate, aber nur sehr ungefähr

PICture
08.11.2005, 19:00
Hallo flownfluid!
Laut den Fomeln von @PickNick müsstest Du ein Quarz mit 14,745568 MHz anwenden. Das ist fast unmöglich zu kriegen. Ich habe ein paar Quarze 14,31818 MHz aus alten PC Motherboards ausgelötet. Das gibt die gewünschte Baudrate mit 3% Genauigkeit. Wenn es ausreichend genau wäre, kann ich Dir so ein Quarz im Brief schicken, brauche aber Deine Adresse.
MfG

Fritzli
08.11.2005, 21:00
Hallo

Meines Wissens ist die max. zulässige Abweichung 5%, damit 10Bits (Start, Data, Stop) noch zugeordnet werden können. Das gilt jedoch nur, falls der Gegenpart 0% Fehler hat (die Summe beider muss eben max. 5% geben)
Für Industrieanwendungen sollte man es aber auf max 1% beschränken...

Gruess
Fritzli

flownfluid
10.11.2005, 12:46
Vielen Dank für euere Antworten

Nach langem suchen habe ich einen Quarz mit 14.7456MHz gefunden.
Da ich keine Erfahrung mit der UART- Schnittstelle bin möchte ich euch noch fragen ob dies die richtigen Einstellungen sind:

Für 9600Baud:
BRGH = 1
SPBRG = 96

Für 460800 Baud:

BRGH = 1
SPBRG = 2

Vielen Dank für euer mithilfe

herrma
10.11.2005, 15:18
Baudrate 460800; Taktfrequenz (extern) = 14.745.600 Hz; BRGH = 1

SPRG = 14.745.600/16
SPRG = 921.600 / 460800-1
SPRG = 2-1
SPRG = 1

Gruß Herrma