Forum: Mikrocontroller und Digitale Elektronik Ein paar Fragen zu RS485 - Master / Slave Anwendung


von Michael_N. (Gast)


Lesenswert?

Hey Leute,

ich hoffe mich Köpft hier niemand, weil ich ein neues Thema zu RS485 Bus 
auf mache.

Aber bevor ich zu meinen Fragen komme erstmal hier die vorhandene 
Hardware:

- Als Master möchte ich ein ATMega644P nehmen (Weil dieser 2 Uarts hat, 
erkläre später warum)
- Als Slaves würde ich gern die Attiny2313 nehmen
- Die Adressierung der Slaves soll über einfache Dip Schalter gemacht 
werden
- Als Bustreiber würde ich den "SN75176" nehmen
- die Slaves bekommen jeweils ein DS18B20 Temperatursensor. Möchte aber 
noch Möglichkeit offen halten, andere Sensoren zu ergänzen, daher den 
Tiny2313
- Der Master bekommt ein LCD Display, ein RTC Chip, 2 Tasten um im 
Display zu Scrollen, 2 Weitere Tasten um ins Menü zu kommen, bzw 
Einstellungen zu verändern (Hintergrundbeleuchtung, Kontrast), 1 
externen Quarz die sind ja genauer als die internen.
- Die Slaves und der Master bekommen einen Spannungsregler (5V)
- Als Versorgungsspannung will ich 9 oder 12V nehmen
- Master und Slaves sollen über ein Netzwerkkabel verbunden werden, also 
die Busleitungen und die Versorgungsspannung soll auch drüber gehen. 
Sowie auch die RS232 - Schnittstelle zum PC
- Gesamtlänge des Bus System wird etwa 40-60m sein. Und jede Unit (Egal 
ob Master oder Slave soll entweder Per Dip Schalter oder Jumper die 
Abschlusswiderstände Aktiverien bzw. Dekativeren können, da diese ja nur 
an den Enden sein müssen und so kann ich eine Anzahl von X Units bauen, 
die Identisch sind (Slaves versteht sich)

Ich hoffe das ist alles, was ich an Hardware verarbeiten möchte. 
Vielleicht könnte jemand sich schon mal so äußern, ob das im Groben eine 
gute Wahl ist? Verständlich Widerstände und Co kommen noch dazu, wollte 
ich nicht seperat aufzählen.


Als Programmiersprache möchte ich Bascom nutzen, da ich damit schon 
bischen Erfahrung sammeln konnte.


Nun zu meinen Fragen:
=====================
- Wie kann ich dem Master Controller Mitteilen, welche Uart - 
Schnittstelle er nutzen soll? Da der Master ja 2 hat. Eine Uart soll per 
RS232 über ein Max232 mit einem PC verbunden sein, die andere Uart ist 
für den Bus.
- Im allgemeinen funktioniert das, wenn ichs richtig verstanden habe mit 
dem RS485 Bus folgendermaßen, wenn 1 Master und x Slaves vorhanden sind:

1. Master sendet Adresse vom Slave in Bus
2. Slaves Kontrollieren eingehende Nachricht ob sie gemeint sind
3. entsprechender Slave Sendet ein "hier bin da" damit der Master weiß, 
das er "gehört" wurde
4. Master sendet an Slave was er von ihm will
5. Slave sendet Master angeforderten Daten

- Kommunikation in den Bus führe ich in Bascom mit den Befehlen "Print" 
und "Input" oder gibt es bessere Befehle für diese Aufgabe?

Stimmt das soweit? Auch wenn es nur ein "minimum" an Kommunikation ist?

- Wie berechne ich die Abschlusswiderstände? Oder gibt es feste Größen?



Michael

PS: Ich hoffe alles wichtige steht drin, sonst notfalls nachfragen 
bitte.


Und zur Info, was ich vorab gelesen habe hier die Links:

http://www.wiki.elektronik-projekt.de/mikrocontroller/rs485_bus

dazu habe ich noch folgendes überflogen:

http://www.roboternetz.de/community/threads/827-Der-RS-485-Bus

von Purzel H. (hacky)


Lesenswert?

Vergiss den DS75176, der zieht zuviel Strom (35mA). Nimm den ADm483 
(350uA) oder so. Und dann eine AC Terminierung, also 1uF+100 Ohm, die 
zieht keinen DC Strom.

Die Master Firmware wird schon wissen welcher UART wohin fuehrt.

von Michael_N. (Gast)


Lesenswert?

Ich möchte nur auf Dip Gehäuse bleiben. Also keine SMD Bauteile.

Das hätte ich vielleicht erwähnen sollen.




Michael

von Tim (Gast)


Lesenswert?

> - Wie kann ich dem Master Controller Mitteilen, welche Uart -

Es sind halt 2 von einander unabhängige Hardware einheiten.
Wie du Das Bascom erklären willst... Keine Ahnung Ich verwende C.

>Im allgemeinen funktioniert das, wenn ichs richtig verstanden habe mit
>[...]

Das ist eher I2C
Bau dir ein Packetformat mit Absenderadresse, Empfängeradresse,
Nutzdaten und CRC. Dein Master schickt dann ein Päckchen und der Slave
hat x ms Zeit zu antworten.

> - Als Slaves würde ich gern die Attiny2313 nehmen

Nimm Mega8

> - Als Bustreiber würde ich den "SN75176" nehmen

LT 1785 Halbwegs Modern und Robust.

> - Der Master [...] 1 externen Quarz die sind ja genauer als die internen.

Gibt es nicht. Die internen sind RC Schwingkreise.

>- Die Slaves und der Master bekommen einen Spannungsregler (5V)
>- Als Versorgungsspannung will ich 9 oder 12V nehmen

60m mit 9V kannst du kicken.
Dein 5V brauch ja schon 2V für sich.
12V müsste man mal ausrechnen...

Bus Abschluss am Master:
+5V -- 620R -- Bus A -- 120R -- Bus B -- 620R -- GND
Bei den Slaves reichen 120Ohm + Jumper.

von Purzel (Gast)


Lesenswert?

Ist auch egal. Solange die Huette geheizt wird, spart man ja auch Oel..

von Michael_N. (Gast)


Lesenswert?

Nur eine kleine Frage, was spricht den gegen den Tiny2313? Wie gesagt, 
er soll nur Messdaten ermitteln und weiterleiten. Also von der 
Rechenleistung her sollte es doch reichen oder?

Und das mit dem Extern und Intern meinte ich so wie es geschrieben hast, 
kam scheinbar anders rüber.

Und gut, wegen der Übertragungsklamotte, kann ich ja auch so zusammen 
packen und der Empfänger ermittelt die ersten x Anzahl von Zeichen, 
welche die Zieladresse enthalten. Der Slave der sich angesprochen fühlt, 
zerlegt dann das Paket weiter und teilt es auf und Antwortet 
entsprechend, auf die Anfrage vom Master.

Aber stimmt, das könnte echt besser sein, als das hin und her. Geht 
schneller und der Bus ist wieder eher frei.

Aber wie ich das Paket zusammen setze, ist mir ja überlassen. Hauptsache 
ist, ich einige mich auf ein Schema.


Michael

von Michael_N. (Gast)


Lesenswert?

Sry, dass ich seperat noch mal Antworte. Aber im allgemeinen ist es doch 
Relativ egal, welchen Treiber ich nehme oder?

Weil den mir genannt hast, soll pro Stück bei Conrad um die 5€ pro Stück 
kosten. Wohingegen mein Typ bei Ebay 5 Stück zu 1,40€ zu haben sind. Es 
wäre ja auch erstmal zu versuchszwecken, ob ich das hin bekomme, was ich 
vor habe. Von daher sollte es kein "Millionengrab" werden.


Michael

von Michael_N. (Gast)


Lesenswert?

Eine Frage ergab sich noch im Schlaf. Da die Slaves in meinem Fall nicht 
mit einander Kommunizieren sollen, könnte ich doch auch auf die 4 Draht 
Technologie zurück greifen oder? Weil in den Infoblättern, Stand da was 
in der Richtung, dass die Slaves nur höhren, wenn etwas vom Master 
gesendet wird und Ignorieren Slave Sendungen?


Welche Treiber benötigt man den für diese Art von Anwendung dann?


Michael

von spontan (Gast)


Lesenswert?

Les doch mal über RS422 / RS485 nach.

RS485 mit 4 Drähten geht auch, die Slaves-TX brauchen dort genauso 
Tri-State-Treiber, wie oben schon erwähnt. Nur der Master-TX und die 
Slave RX könnten mit einfachernen Treibern aufgebaut werden. Bringt aber 
insgesamt nicht so die Vorteile.

2-Draht RS485 hat halt 2 Drähte weniger, was Du beim Verdrahten der 
vielen Einheiten am Bus zu schätzen lernen wirst.

Der Typ des Treibers entscheidet über die Stromaufnahme, beim 
Einzelstück nicht so arg wichtig, bei vielen Einheiten am Bus aber 
entscheidend.

von Michael_N. (Gast)


Lesenswert?

Ja ich habs mir durchgelesen gehabt, und ich hatte es so verstanden, 
dass bei der 4-Darht Lösungen, die Slaves sich "ignorieren" und 
weiterarbeiten und erst auf Master Anfragen reagieren. Weil soweit ich 
es verstanden habe, kann im 2-Draht System jeder mit jedem 
kommunizieren, wenn das richtig eingestellt ist.

Und aus dem Grund dachte ich, beim 4-Draht Bus benötige ich andere 
Treiber als beim 2-Draht Bus, weil so wüsste ich erstmal nicht, an 
welchen Pin ich die weiteren 2 Bus Leitungen montieren sollte.

Und mein System soll lediglich 1 Master und 8-10 Slaves haben. Von daher 
wäre es nicht soooo schlimm, wenn ich dort auch 2 Drähte je mehr 
verarbeiten müsste.

Aber was spricht den eigentlich so gegen den Tiny2313? Wie gesagt die 
Slaves arbeiten weniger.

Und zum RS232, könnte das bei der Gesamtlänge klappen oder müsste ich 
ein Booster einsetzen, der das Signal verstärkt und weiterleitet?



Michael

von Purzel (Gast)


Lesenswert?

Ich verwende auch RS422. Ein Master Slave System mit 4 signalleitungen 
plus GND. Der vorteil ist, dass die Umschalterei zwischen Senden und 
empfangen entfaellt. Der Master darf immer senden, und die Slaves 
duerfen nur antworten, wenn sie per Adresse angesprochen worden sind. 
Als Treiber verwende ich ADm489 oder aehnlich. Der Stromverbrauch der 
Treiber ist wesentlich wenn das system dauernd laeuft und stromsparend 
sein soll. Denn die Speisung muss man erst bereitstellen, dann 
uebertragen, und vielleicht sogar kuehlen. Wenn es nur um ein langsames 
Messystem geht, sollte man mit 1mA pro Station durchkommen. Dh 
Controller, Sensor plus Treiber. Vorausgesetzt eine Messung oder so pro 
Sekunde sind genuegend.

von spess53 (Gast)


Lesenswert?

Hi

>Ein Master Slave System mit 4 signalleitungen
>plus GND. Der vorteil ist, dass die Umschalterei zwischen Senden und
>empfangen entfaellt.

Die entfällt auch, wenn man CAN-Treiber anstelle der RS422/485-Treiber 
benutzt.

Für die Kommunikation zwischen einem Master und mehreren Slaves bietet 
sich bei AVRs der Multiprozessor-Mode der UARTs an. Der Vorteil ist, das 
die Slaves nicht mehr ständig den Bus mithören müssen. Die werden nur 
alarmiert, wenn eine Slaveadresse gesendet wird.

MfG Spess

von Michael_N. (Gast)


Lesenswert?

Aber wäre den für die Slaves den normal auch der Tiny2313 ausreichend?

Die Messungen sollen nur zwischen allen 5 und 10 Minuten durchgeführt 
werden. Soll ja nur als Zentrale Temperaturanzeige und Überwachung 
funktionieren.

Evtl kommt an einem Slave noch ein oder 2 Sensoren dazu, aber das sollte 
ja nicht weiter ins Gewicht fallen.

Wegen dem ADm489 werde ich mal gucken. Kannst du "Purzel" mich mal per 
Email anschreiben? Emailadresse ist michael@freewareecke.de alternativ 
ICQ 245-961-673 adden. Scheinbar hast du ja schon etwas mehr mit dem 
gemacht?


Michael

von Michael_N. (Gast)


Lesenswert?

Sry noch was hab ich vergessen, gibt es den gute Alternativen zum 
ADm489?



Michael

von Juergen G. (jup)


Lesenswert?

spess53 schrieb:
> Für die Kommunikation zwischen einem Master und mehreren Slaves bietet
> sich bei AVRs der Multiprozessor-Mode der UARTs an.

Ist BASCOM schon soweit?

Ju

von spess53 (Gast)


Lesenswert?

Hi

>Ist BASCOM schon soweit?

Bin zwar kein BASCOM-Nutzer, aber man kann auf alle IO-Register der AVRs 
zugreifen. Also war BASCOM schon immer so weit.

MfG Spess

von spess53 (Gast)


Lesenswert?

Hi

Ergänzung:

.... Also war BASCOM schon immer so weit. Nur die meisten Nutzer nicht.

MfG Spess

von Tim (Gast)


Lesenswert?

> Ja ich habs mir durchgelesen gehabt, und ich hatte es so verstanden,
> dass bei der 4-Darht Lösungen, die Slaves sich "ignorieren" und
> weiterarbeiten und erst auf Master Anfragen reagieren.

RS422 kennt nur EINEN sender und ja, die Slaves können sich nicht
selbst höhren. Bei einer Punkt zu Punkt verbindung entfällt die 
Umschaltung zwischen Senden / Empfangen.
Da du aber auf der Rückleitung (Salve->Master) 8-10 Sender hast
und zumindest den Sendebetrieb ein/aus schalten solltest kannst
du auch gleich RS485 nehmen. Spart Treiber, Schutzdioden,
Abschlusswiderstände, Jumper, Strom, viel Arbeit,......

> Weil soweit ich
> es verstanden habe, kann im 2-Draht System jeder mit jedem
> kommunizieren, wenn das richtig eingestellt ist.

Ja ist erlaubt, musst du aber nicht.
RS485 definiert ja NUR die elektrischen parameter, beim Rest kannst
du machen was du willst...
Die Treiber haben ja 4 Pins richtung AVR: TX, RX, Senden Ein und
Empfangen Aus. Die beiden Letzten muss der AVR dann passend
umschalten (1 Pin reicht).
Oder du schaltet nur den Sender ein/aus. Dann kann der Slave sich
selbst höhren.

> Und aus dem Grund dachte ich, beim 4-Draht Bus benötige ich andere
> Treiber als beim 2-Draht Bus, weil so wüsste ich erstmal nicht, an
> welchen Pin ich die weiteren 2 Bus Leitungen montieren sollte.

Du brauchst für RS422 2 Treiber.....

> Und mein System soll lediglich 1 Master und 8-10 Slaves haben. Von daher
> wäre es nicht soooo schlimm, wenn ich dort auch 2 Drähte je mehr
> verarbeiten müsste.

Kabel mit 6 Dräten sind selten. 4 Adriges Telefonkabel ist billig
und völlig ausreichend. Habe ich hier >2 Jahre im einsatz mit 5 Slaves,
Buslänge ca 100m.

> Aber was spricht den eigentlich so gegen den Tiny2313? Wie gesagt die
> Slaves arbeiten weniger.

Erstmal nichts, aber bei mir kamen im laufe der Zeit mehr Anforderungen
(CRC, Klartext Protokoll, Sensoren ausser DS18x20,...) und ich musste
mich dann nicht über einen zu kleinen Controller ärgern :-)

> Und zum RS232, könnte das bei der Gesamtlänge klappen oder müsste ich
> ein Booster einsetzen, der das Signal verstärkt und weiterleitet?

232 über 60m? geht mit 9600Baud und gutem Kabel.

von Michael_N. (Gast)


Lesenswert?

Zum ersten, sry das ich Korrigieren muss, nur ich habe nicht 8-10 
"SENDER" Sondern diese Anzahl als Slaves. Nur mal vorweg.

Und gut viel erweitern wollte ich eigentlich nicht. Höchstens an manchen 
Slaves ein oder paar weiteren Sensor packen, aber diese sollen ja nur 
abgefragt werden.

Und so kann ich es ja dann Planen, dass ich notfalls, wenn eine seperate 
Unit mehr brauch eine Unit austauschen und nich vorweg alle 
"überdimensionieren" aber ich denke, das ist meinem Geschmack frei 
gestellt.

Und das Kabel was ich nehmen möchte, ist eine einfaches Netzwerkkabel 
mit Cat.5 also von daher sollte in dem Fall das mit RS232 klappen oder 
sollte ich vll doch überlegen ein Booster rein zu packen?

Die Adern sollen wie folgt aufgeteilt werden:

1.Paar Spannungsversorgung 12V DC
2.Paar RS232 Aderpaar
3.Paar RS485 - Bus
4.Paar noch Frei, vll nehme ich die als GND für RS232 oder nutze diese 
als zusätzliches Paar für Spannungsversorgung. aber mal gucken.

Und ich dachte, beim RS485 benötige ich auch Abschlusswiderstände. Und 
dann werde ich mal die obengenannte Hardware beziehehn, also die 
Treiber, µCs (Für Master und Slave entsprechenden Teilchen und so).

Abschlusswiderstände sind aber auch wie beim RS422 120 Ohm oder kann man 
auch 150 Ohm nehmen? Oder was nimmt Ihr?



Michael

von Weingut P. (weinbauer)


Lesenswert?

Was Bacom angeht kannst Du die Methode Input und Print getrost der "fast 
& dirty" fraktion zurechnen.
Dumm bei den Befehlen ist, der Programmablauf bleibt an der Stelle 
hängen, bis zum St. Nimmerleinstag.

Verwende die Interrupts und schreib Dir eigene Sende- Empfangsroutinen. 
Ist nicht so schwer, keine Sorge.
Knifflig bei den 485-Bausteinen ist immer die Umschaltung der 
Senderichtung, damit die letzten Bytes nicht jeweils abgeschnitten 
werden ... dafür gibts den TXC - Interrupt bzw. Flag.
9-Bit kann Bascom in highlevelbefehlen nicht, da ist der Registerzugriff 
eh notwendig.
Ringpuffer als array und CRC8 sind Deine Freunde.

hier mal meine Bascom-Empfangsroutine als (schlechtes) Beispiel :)

       Zeichenempfang:
             If St_protokoll_timeout_flag > 5 Then
                  Rx_pointer = 0
             End If

             If Rx_pointer < 17 Then
                   If Ucsr0a.4 = 1 Or Ucsr0a.3 = 1 Then
                         Incr Uart0_fe_counter
                         Udr_dummybyte = Udr
                   Else
                         Incr Rx_pointer
                         If Rx_pointer > 2 Then Set Led_rot
                         Rx_data(rx_pointer) = Udr
                         If Rx_data(rx_pointer) = 123 Or 
Rx_data(rx_pointer) = 124 Then
                               Incr 123_counter
                               If 123_counter > 10 Then
                                      Start Watchdog
                                      Do
                                      Loop
                               End If
                         Else
                              123_counter = 0
                         End If
                   End If
             End If
             Udr_dummybyte = Udr

             St_protokoll_timeout_flag = 0

             If Uart0_fe_counter > 20 Then
                  Disable Urxc
             End If
       Return

von Michael_N. (Gast)


Lesenswert?

Ja gut, wie ichs genau löse werde.

Ich hab mal im Netz eine eher naja vielleicht unsaubere Lösung gesehen, 
aber vielleicht nehme ich diese.

Da ich ja noch 2 Adern im Kabel frei habe, werde ich vll von der 
MasterUnit ein Signal auf diese geben, die Slaves bekommen dieses Signal 
per Transistorschalte oder so mit und zwar auf Ihrem Interrupt.

Und erst dann lauschen die die Slaves auf dem Bus, vorher gehen die 
Ihrer Arbeit nach.

Ist vielleicht nicht die Schönste Lösung, wäre aber eine einfach 
umzusetzende oder?



Michael

von Weingut P. (weinbauer)


Lesenswert?

sauber? Nö, Dein Bus hängt sich regelmäßig auf weil irgendwo der 
Netzbrumm einkoppelt und den INT auslöst ... außerdem nix gewonnen, ob 
URXC Interrupt oder INT0 bleibt sich gleich, der normale Programmablauf 
(Mainloop) wird bis zur Abarbeitung unterbrochen.

von Michael_N. (Gast)


Lesenswert?

Ja gut, ich werde es mal durch denken und Testen.

Aber die Slaves sollen ja nur Daten ermitteln und bereit Stellen. Mehr 
bekommen sie nicht zu tun.

Vielleicht löse ich es auch so, sende mit der Main Adresse (Basisadresse 
an alle Slaves) ein Kommando, dass diese ihre Daten abfragen und dann 
nach einem Moment rufe ich einfach alle Slaves nach einander ab und der 
Master wertet die Daten aus und gibt sie auf dem LCD aus.

Ich weiß es ist vielleicht nicht ganz im Sinne des erfinders, aber denke 
fürn einstieg eine Möglichkeit, die klappen könnte.

Und kann ja die Software immer noch Updaten und verbessern. Spricht ja 
nix gegen.


Michael

von Michael_N. (Gast)


Lesenswert?

Was ich noch vergass, Betreff der RS232 Verbindung zwischen dem Master 
und dem PC ist noch ein Max 232 zwischen geschalten.

Hätte ich vielleicht eher verraten sollen. Sry.


Michael

von Weingut P. (weinbauer)


Lesenswert?

Max232 ... würde heut gleich nen FT232 drauf machen und an USB gehen.

Du hast 2 UART, jeweils für beide URXC UTXC, das bisschen messen und 
Protokoll macht der Controller im Schlaf, kann nebenher noch Kaffee 
kochen und La Paloma pfeifen. Macht Sinn das Ding in Sleepmode zu 
schicken und Strom sparen bei der langen Stromversorgungsleitung.

Doof wirds nur, wenn Dein Programmablauf so ist, dass der nicht 
permanent empfangen kann, sondern irgendwelche Rechenoperationen macht 
und erst nach denen wieder in Empfangsbereitschaft vom Input ist. Dann 
geht Dein Aufruf ins leere, daher besser, den Empfang in Interrupt 
legen, und n Flag setzen bei Empfang und in der Mainloop dann abarbeiten 
und, so der Programmablauf timingunkritisch ist, auch dort versenden der 
Antwort.

von Dietrich L. (dietrichl)


Lesenswert?

Michael_N. schrieb:
> Zum ersten, sry das ich Korrigieren muss, nur ich habe nicht 8-10
> "SENDER" Sondern diese Anzahl als Slaves. Nur mal vorweg.

Da solltest Du Deine Begriffe aber klären:
- Master und Slave ist eine Sache; das bezieht sich auf das Protokoll 
und den Ablauf der Kommunikation, hier: Master-Slave-Protokoll = 
Aufruf-Antwort-Sequenz und wer von den Teilnehmern was tun darf bzw. 
muss.
- Sender und Empfänger ist eine andere Sache; das bezieht sich auf die 
Physik der Übertragung, hier: RS485. Beide (Mater und Slave) müssen 
senden und empfangen können.

Gruß Dietrich

von Michael_N. (Gast)


Lesenswert?

Danke für Eure Hilfe bislang.

Nur die eine oder andere Information wollte ich noch geben. Ich möchte 
gern bei RS232 Bleiben also für die Kommunikation mit dem PC. Zum einen 
diese ist Kurzschlussfest und zum anderen würde so mein PC Programm neu 
geschrieben werden müssen (von mir).

Den ich habs nun endlich soweit gut raus, wie ich in VisualBasic eine 
Kommunikation mit der Seriellen Schnittstelle hin bekomme.

Also nur zu dieser Information.

Ich bin zum Teil zu überlegen den Slaves ein Inkey zu verpassen, also 
dass der Master einfach eine Adresse sendet. Alle prüfen nach ob es Ihre 
ist und verlassen den Inkey-Bereich, wenn es nicht Ihre Adresse war. Und 
wenn doch arbeitet er den entsprechenden Bereich ab.

Ich hoffe Ihr versteht was ich meine?

Michael

von Zippi (Gast)


Lesenswert?

Ja. die Message ist adressiert. Wie auch immer man das nennt.

Ein USB-to-Serial erscheint auch als Serialport gegenueber der Software. 
Ich wuerd's auch bei Serial seinlassen, denn die Kabellaenge fuer USB 
ist auf 5m beschraenkt, waehred die bei RS232 nicht der Fall ist.

von Michael_N. (Gast)


Lesenswert?

Eine Frage, vielleicht eine doofe, aber naja.

Sollte man die Slave µC mit einem externen Quarz ausstatten oder ist das 
in Verbindung mit dem RS485 Bus nicht unbedingt notwendig? Weil beim 
RS232 sollte man ein Quarz nehmen.




Michael

von Zocco (Gast)


Lesenswert?

Der RS232, wie auch das RS485 basieren auf dem Uart, muessen daher auf 
besser als 2% genau sein. Und daher, ja. Auch mit quarz.
Es gibt allerdings eine Appnote von Atmel, wie man den internen RC 
Oszillator auf das UART synchronisieren kann. Wenn man sich das fuer die 
geringe Ersparnis antun will ... Fuer einen Quarz bezahlt man um die 20 
cents.

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.