Przyczyna błędu ramki FE przy odbiorze danych powyżej 127 w ATtiny2313 z MAX485?
avr i max485 problemów ciąg dalszy
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: avr i max485 problemów ciąg dalszy
Date: Thu, 25 May 2006 13:03:56 +0200
Witam.
Podłaczyłęm ten układ pod attiny2313 i występuje dziwny problem.
Otóż przy odbieraniu znaków od 1 do 127 wszystko jest ok natomiast
powyżej występuję błąd ramki FE. A w UDR zamiast
128 jest 0
129 jest 1
130 jest 2
itd..
tak jakby był zjadany najstarszy bit w UDR.
Próbowałem już podpinać rezystory podciągające zarówno do max485 jak
i do linii RxD avrka i ciągle to samo. Czy ktoś ma jakiś pomysł?
Transmisję ustawiłem wydaje się poprawnie 9600, 8d, 1 stop, 1 parzystości
UBRRH = 0; //Baud=9600
UBRRL = 25;
//Włączenie dbiornika i nadajnika, aktywne przerwania
UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE) | (1 << TXCIE);
//Dane 8 bit, 1 stop, parity even
#define URSEL 7
UCSRC = (1 << URSEL) | (1 << UPM1) | (3 << UCSZ0);
Dzięki za pomoc
Pozdrawiam
Paweł
Date: Thu, 25 May 2006 15:13:46 +0200
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: =?ISO-8859-2?B?UmU6IGF2ciBpIG1heDQ4NSBwcm9ibGVt83cgY2mxZyBkYWxzenk=?=
Hello Paweł,
Thursday, May 25, 2006, 1:03:56 PM, you wrote:
[...]
tak jakby był zjadany najstarszy bit w UDR.
Próbowałem już podpinać rezystory podciągające zarówno do max485 jak
i do linii RxD avrka i ciągle to samo. Czy ktoś ma jakiś pomysł?
Transmisję ustawiłem wydaje się poprawnie 9600, 8d, 1 stop, 1 parzystości
Ja się nie znam na 485 ale na RS232/V24 8 bitów i parzystość się
wykluczają.
[...]
--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: avr i max485 problemów ciąg dalszy
Date: Thu, 25 May 2006 15:48:26 +0200
Ja się nie znam na 485 ale na RS232/V24 8 bitów i parzystość się
wykluczają.
Hm. Nie wiem co to jest V24, ale w specyfikacji avrka podane jest
The USART accepts all 30
combinations of the following as valid frame formats:
- 1 start bit
- 5, 6, 7, 8, or 9 data bits
- no, even or odd parity bit
- 1 or 2 stop bits
Chyba powinno działać.
Pozdrawiam
Paweł
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: avr i max485 problemów cišg dalszy
Date: Fri, 26 May 2006 12:33:32 +0200
On Thu, 25 May 2006 15:13:46 +0200, RoMan Mandziejewicz wrote:
tak jakby był zjadany najstarszy bit w UDR.
Próbowałem już podpinać rezystory podciągające zarówno do max485 jak
i do linii RxD avrka i ciągle to samo. Czy ktoś ma jakiś pomysł?
Transmisję ustawiłem wydaje się poprawnie 9600, 8d, 1 stop, 1 parzystości
Ja się nie znam na 485 ale na RS232/V24 8 bitów i parzystość się
wykluczają.
Hm, IMHO - na 232 tez sie nie znasz :-)
ilosc danych to jedno, parzystosc to drugie, ilosc bitow stop to
trzecie, a 232/V24 w ogole nie okresla co bedzie transmitowane.
Jak UART jest uniwersalny to wszystkie kombinacje przyjmie.
J.
Date: Fri, 26 May 2006 13:46:37 +0200
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: =?ISO-8859-2?B?UmU6IGF2ciBpIG1heDQ4NSBwcm9ibGVt83cgY2m5ZyBkYWxzenk=?=
Hello J,
Friday, May 26, 2006, 12:33:32 PM, you wrote:
tak jakby był zjadany najstarszy bit w UDR.
Próbowałem już podpinać rezystory podciągające zarówno do max485 jak
i do linii RxD avrka i ciągle to samo. Czy ktoś ma jakiś pomysł?
Transmisję ustawiłem wydaje się poprawnie 9600, 8d, 1 stop, 1 parzystości
Ja się nie znam na 485 ale na RS232/V24 8 bitów i parzystość się
wykluczają.
Hm, IMHO - na 232 tez sie nie znasz :-)
ilosc danych to jedno, parzystosc to drugie, ilosc bitow stop to
trzecie, a 232/V24 w ogole nie okresla co bedzie transmitowane.
Jak UART jest uniwersalny to wszystkie kombinacje przyjmie.
8250/16450/16550 nie przyjmie 8 bitów i parzystosci o ile mnie
skleroza nie myli.
--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: avr i max485 problemów ciąg dalszy
Date: Thu, 25 May 2006 20:35:17 +0200
Czy może być przyczyną to że używam wewnętrznego oscylatora 4MHz
zamiast kwarcu?
Paweł
From: "PrzemekD" <bazic_at_nospam_bazic.spam4ever.pl>
Subject: Re: avr i max485 problemów ciąg dalszy
Date: Thu, 25 May 2006 23:21:42 +0200
Użytkownik "Paweł" <paw1976_at_nospam_poczta.onet.pl> napisał w wiadomości
news:e54td2$sg7$1_at_nospam_news.onet.pl...
Czy może być przyczyną to że używam wewnętrznego oscylatora 4MHz
zamiast kwarcu?
Paweł
teoretycznie mogłoby to by być przyczyną - ale gdybys miał przekłamania w
poszczególnych bitach danych - a nie na jednym tylko
jeśli takich kłopotów nie masz - zakładam, że błąd zegara przy wysyłaniu
transmisji 9600 - jest pomijalny
ja bym wyrzucił tę przystość - czyli tylko 8,n,1 stop - i sprawdził, czy
jest ok
poza tym skąd pochodzą te dane? z PC-ta? przez jakiś konwerter? - może tam
jakieś obcinanie najstarszego bitu jest realizowane...?
Jednak po looknięciu kilku postów wyżej - raczej pachnie mi to typem signed
char... zamiast unsigned char
poszukaj w opcjach kompilatora przełącznika zeby typ char był domyślnie
8-mio bitowy
coś kojarze, że kiedyś miałem podobny problem
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: Re: avr i max485 problemów ciąg dalszy
Date: Fri, 26 May 2006 12:22:27 +0200
teoretycznie mogłoby to by być przyczyną - ale gdybys miał przekłamania w
poszczególnych bitach danych - a nie na jednym tylko
jeśli takich kłopotów nie masz - zakładam, że błąd zegara przy wysyłaniu
transmisji 9600 - jest pomijalny
ja bym wyrzucił tę przystość - czyli tylko 8,n,1 stop - i sprawdził, czy
jest ok
Witam.
No i przyczyna się znalazła. Jednak trzeba było dożucić kwarca.
Wszystko zaczęło śmigać jak należy bez błędów ramki.
Mam tylko teraz problem ze startem mikrokontroloera.
Dopóki nie dotknę palcem kwarca to stoi w miejscu.
Co może być przyczyną?
Użyłem kwarca 4MHz i 2 kondensatorki ceramiczne po 30pF.
Może za duże? W specyfikacji podane że od 12 do 22pF.
CKSEL3-0 mam 1101, a SUT10 na 10.
Dzięki za pomoc
Pozdrawiam
Paweł
From: AW <AW_at_nospam_somehost.com>
Subject: Re: avr i max485 =?iso-8859-2?Q?problem=F3w_ci=B1g?= dalszy
Date: Fri, 26 May 2006 12:33:13 +0000 (UTC)
Dnia 26.05.2006 Paweł <paw1976_at_nospam_poczta.onet.pl> napisał/a:
Co może być przyczyną?
Użyłem kwarca 4MHz i 2 kondensatorki ceramiczne po 30pF.
Może za duże? W specyfikacji podane że od 12 do 22pF.
Skoro takie sa podane w specyfikacji, to chyba nie bez powodu.
Zmiana kondensatorow powinna pomoc
AW
From: AW <AW_at_nospam_somehost.com>
Subject: Re: avr i max485 =?iso-8859-2?Q?problem=F3w_ci=B1g?= dalszy
Date: Fri, 26 May 2006 07:04:16 +0000 (UTC)
Dnia 25.05.2006 Paweł <paw1976_at_nospam_poczta.onet.pl> napisał/a:
Czy może być przyczyną to że używam wewnętrznego oscylatora 4MHz
zamiast kwarcu?
Najlepiej sprawdz oscyloskopem, albo polacz uklad tak zeby odbieral to co
wysylasz i porownaj wyniki. U mnie na wewnetrznym oscylatorze pojawil sie
blad transmisji >5% a nominalnie powinien byc na poziomie 0,2%...
AW