Atmel AVR, UART

Witam,

Czy do korzystania z komunikacji RS232 pomiedzy komputerem, a procesorem ATmega16 wystarczy jedynie podlaczyc RxD i TxD (poza MAX232 oczywiscie) ? Mam dwa schematy: na jednym jest uklad z kwarcem, na drugim bez. Nie potrzebuje taktowac UARTa zewnetrznym kwarcem.

Trix.

Reply to
Trix
Loading thread data ...

Czym niestabilnosc oscylatora RC objawi sie w praktyce? Jesli wprowadze jakis protokol korekcji bledow, wszystko bedzie OK? Jaki procent znakow przeslanych bedzie bledny przy oscylatorze RC?

Trix.

Reply to
Trix

Zapoznalem sie z dokumentacja do mojego procesora ATmega16.

Wynika z niej, ze jesli uzyje np. kwarc: 1.8432 MHz, to dla pozadanej przeze mnie szybkosci 57600 bps, bede mial 0% bledow. Dobrze rozumuje?

A z czego wynika to, ze dla pewnych czestotliwosci kwarcu powstaja przeklamania? Chodzi o to, ze rozjezdza sie synchronizacja naszego odbiornika, wzgledem nadajnika (np. komputera PC), ktory ma inne czestotliwosci ? A gdyby nadajnikiem i odbiornikiem byly dwa procesory ATmega16 z takimi samymi kwarcami, to uzyska sie 0% przeklamania?

Z gory dziekuje za wyjasnienie. Trix.

Reply to
Trix

Zaraz zaraz. Transmisja pecetowa jest asynchroniczna. Odbiornik startuje na bicie startu, po czym probkuje sygnal w srodku bitu przez calych nastepnych ok 10 bitow. Jesli zegary nadajnika i odbiornika sie roznia, to probkowanie moze trafic w inny bit, albo byc niebezpiecznie blisko zbocza i testowac w czasie zmiany.

Tyle ze obliczenia do tego pokazuja ze przy roznicy ok 6% NA PEWNO beda bledy, a przy 2% ciagle nie powinno byc zadnych bledow. Przy wolniejszych transmisjach na krotsze odleglosci mozna nawet zaryzykowac 3 czy 4% roznicy.

J.

Reply to
J.F.

czyli aby nie bylo roznic nalezy zastosowac kwarc, ktory przy podziale przez stala liczbe generuje sygnal z czestotliwoscia taka z jaka chcemy przesylac dane i nadajnik i odbiornik wiedza jaka jest to predkosc wiec nie ma przeklaman. Po co wiec korzystac z kwarcow nie dajacych sie podzielic?(do UARTa)

pozdr sobol

Reply to
sobol

Tak.

Tak. Np. gdy zastosujesz kwarc 4 MHz, bedziesz mogl otrzymac nie 57600 bps, ale najblizsza zblizona czestotliwosc (AVR'y taktuja UART dzielac zegar przez 16 lub przez 8 w trybie x2) czyli:

4000000/8/57600 = 8,6805 = okolo 9 4000000/8/9 = 55556 bps -> rzeczywiste otrzymane taktowanie transmisji

Powyzsza predkosc rozni sie od 57600 bps o prawie 4% wiec z duzym prawdopodobienstwem moga byc przeklamania przy transmisji z urzadzeniem dzialajacym na 57600 bps. Natomiast nic nie stoi na przeszkodzie, aby 2 procesory gadaly ze soba z tym samym bitrate'm, 55556 bps albo np.

500000 bps. Nie bedzie przeklaman jezeli predkosc transmisji nie bedzie sie roznic o wiecej niz 2%
Reply to
Adam Dybkowski

Bo np w szufladzie skonczyly sie 11.05MHz, ale widzimy sztuke 13MHz..

DROBNE ROZNICE NIE MAJA ZNACZENIA.

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.