-
1. Data: 2013-11-09 00:32:20
Temat: używajcie kwarców !
Od: sundayman <s...@p...onet.pl>
...albo będziecie mieli takie kłopoty jak ja...
Okazuje się, że nadmierne zaufanie do dataszitów połączone z optymizmem
mści się okrutnie. Otóż taka jest historia ;
W urządziu, którego sercem jest Atmega128 napędzana kwarcem,
dodałem - w kolejnej wersji - drugi procesor (Atmega8).
Skomunikowane są ze sobą via RS232.
No i fajnie - niby wszystko działa. Do czasu.
Otóż, w Atmega8 użyłem wewnętrzenego generatora RC 8MHz.
I - okazuje się, że w temperaturze -20 st , szybkość tego generatora
wzrasta tak, że całą komunikację szeregową szlag trafia, i procesory
przestają się widzieć.
Wg. dataszita, w temperaturze -20 st. powinienem mieć ok. 8.2Mhz,
zamiast defaultowych 8Mhz w temp. pokojowej.
Ale - niestety wygląda na to, że to jest faktycznie 8.5Mhz, albo coś
koło tego. No, tak czy siak, żadna kombinacja ze zmniejszaniem szybkości
transmisji, spowalnianiem zegara itp. nie dają efektu.
Po ochłodzeniu urządzenia prędkości się rozjeżdżają i dupa blada.
Znaczy, Atmega128 na kwarcu trzyma się ok, a Atmega8 zaczyna bredzić...
I teraz muszę w kilkudziesięciu urządzeniach wstawiać ten cholerny
kwarc... I żebym to z oszczędności go nie dał. Ale nie - po prostu
nie przyszło mi do głowy, że ten wewnętrzny generator jest całkiem do d...
-
2. Data: 2013-11-09 00:57:15
Temat: Re: używajcie kwarców !
Od: Mirek <i...@z...adres>
On 09.11.2013 00:32, sundayman wrote:
> Skomunikowane są ze sobą via RS232.
>
> No i fajnie - niby wszystko działa. Do czasu.
>
Akurat mam podobny problem - jeden procek to atmega8 bez kwarcu, drugi
... nie mam na niego wpływu, bo to płytka z linux embedded. Wszytko
działa, ale powiedzmy raz na godzinę, dwie... czasem potrafi i dobę
pochodzić bez problemów - są pojedyncze braki w transmisji tzn. od
strony linuxa wygląda to na "zjadanie" bajtów, przy czym zwykle
występuje seryjnie - zjada klika pod rząd albo jeden... potem kilka
prawidłowych i znów kilka zjedzonych. Transmisja odbywa się kilka razy
na minutę, więc błędów to będzie jakiś ułamek procenta...
Ale to wygląda raczej na zakłócenia?
Tak czy inaczej - czy generalnie zasadą jest w przypadku procek - procek
via rs-232 (w jednym urządzeniu, nawet ja jednej płytce) - stosowanie
protokołu typu: "nie zrozumiałem, powtórz"?
--
Mirek.
-
3. Data: 2013-11-09 01:47:44
Temat: Re: używajcie kwarców !
Od: sundayman <s...@p...onet.pl>
> Tak czy inaczej - czy generalnie zasadą jest w przypadku procek - procek
> via rs-232 (w jednym urządzeniu, nawet ja jednej płytce) - stosowanie
> protokołu typu: "nie zrozumiałem, powtórz"?
Jak oba procesory mają kwarc, to w zakresie temperatur -25 / + 25 ( w
górę jeszcze nie sprawdzałem), wszystko śmiga bezbłędnie.
Nawet się zastanawiałem, czy w programie robić "powtórzenia", ale na
razie, z braku czasu, zaniechałem, i wszystko jest "a vista".
I działa.
A bez kwarcu na Atmedze, jak już pisałem - dupa blada, i żadne
powtarzanie nie pomoże, bo niby jak, skoro się nie dogadują sprzętowo
prędkości.
Można by niby zrobić negocjowanie prędkości - żeby "przejechać" i
zobaczyć, na której działa. W moim przypadku to było oryginalnie 38400,
a w tej -20st. to się okazuje, że 40800 :)
No, ale to już są jaja, na które sobie nie mogę pozwolić. Więc kuśwa
teraz przytykanie g.... do twarogu mnie czeka. Rozkręcanie i lutowanie
tych kwarców... No żesz kuśwa.
-
4. Data: 2013-11-09 08:55:07
Temat: Re: używajcie kwarców !
Od: max441 <m...@w...pl>
W dniu 2013-11-09 00:32, sundayman pisze:
> ...albo będziecie mieli takie kłopoty jak ja...
>
> Okazuje się, że nadmierne zaufanie do dataszitów połączone z optymizmem
> mści się okrutnie. Otóż taka jest historia ;
>
Też kiedyś miałem podobny pomysł, jednak podszedłem sceptycznie do tego
co piszą w dataszicie (jak się okazuje na moje szczęście) i od dawna mam
zasadę: tam gdzie jest transmisja asynchroniczna zawsze musi być kwarc.
-
5. Data: 2013-11-09 10:16:33
Temat: Re: używajcie kwarców !
Od: Sebastian Biały <h...@p...onet.pl>
On 2013-11-09 00:32, sundayman wrote:
> W urządziu, którego sercem jest Atmega128 napędzana kwarcem,
> dodałem - w kolejnej wersji - drugi procesor (Atmega8).
> Skomunikowane są ze sobą via RS232.
I to znakomity powód na przyszłość aby dorzucić wspólny zegarek dla obu.
Czy przypadkiem to nie wystarczyłoby (drut z jednego XTAL do drugiego XTAL)?
> No, tak czy siak, żadna kombinacja ze zmniejszaniem szybkości
> transmisji, spowalnianiem zegara itp. nie dają efektu.
Dziwne, problem jest raczej rozwiązywalny w software jesli *faktycznie*
to ten problem.
-
6. Data: 2013-11-09 10:21:15
Temat: Re: używajcie kwarców !
Od: Robert Zemła <m...@g...com>
W dniu 2013-11-09 01:47, sundayman pisze:
>
>
> No, ale to już są jaja, na które sobie nie mogę pozwolić. Więc kuśwa
> teraz przytykanie g.... do twarogu mnie czeka. Rozkręcanie i lutowanie
> tych kwarców... No żesz kuśwa.
>
Możesz jeszcze rozważyć kalibracje ATmegi8 z pomocą tej z kwarcem.
Zawsze prościej wymienić soft niż przerabiać ileś tam płytek...
-
7. Data: 2013-11-09 10:53:25
Temat: Re: używajcie kwarców !
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 09 Nov 2013 00:32:20 +0100, sundayman napisał(a):
> W urządziu, którego sercem jest Atmega128 napędzana kwarcem,
> dodałem - w kolejnej wersji - drugi procesor (Atmega8).
> Skomunikowane są ze sobą via RS232.
Jest jeszcze wersja ze drugi procek karmisz zegarem z pierwszego.
> I teraz muszę w kilkudziesięciu urządzeniach wstawiać ten cholerny
> kwarc... I żebym to z oszczędności go nie dał. Ale nie - po prostu
> nie przyszło mi do głowy, że ten wewnętrzny generator jest całkiem do d...
A nie przyszlo ci do glowy ze w szrodku nie ma nic co moze dokladne
czestotliwosci trzymac ? Tylko krzem.
P.S. Kwarc to w sumie tez tylko tlenek krzemu, masowo stosowany w
ukladach scalonych :-)
J.
-
8. Data: 2013-11-09 11:15:01
Temat: Re: używajcie kwarców !
Od: Marek <f...@f...com>
On Sat, 09 Nov 2013 01:47:44 +0100, sundayman
<s...@p...onet.pl> wrote:
> No, ale to już są jaja, na które sobie nie mogę pozwolić. Więc
kuśwa
> teraz przytykanie g.... do twarogu mnie czeka. Rozkręcanie i
lutowanie
> tych kwarców... No żesz kuśwa.
A Atmega nie ma rejestru kalibracji wew. osc.?
Ewentualnie ten drugi mcu z kwarcem nie mógłby pożyczyć swojego
zegara?
--
Marek
-
9. Data: 2013-11-09 12:03:49
Temat: Re: używajcie kwarców !
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
W dniu 09.11.2013 11:15, Marek pisze:
> On Sat, 09 Nov 2013 01:47:44 +0100, sundayman <s...@p...onet.pl>
> wrote:
>> No, ale to już są jaja, na które sobie nie mogę pozwolić. Więc
> kuśwa
>> teraz przytykanie g.... do twarogu mnie czeka. Rozkręcanie i
> lutowanie
>> tych kwarców... No żesz kuśwa.
>
> A Atmega nie ma rejestru kalibracji wew. osc.? Ewentualnie ten drugi mcu
> z kwarcem nie mógłby pożyczyć swojego zegara?
>
Ma i można go bardzo fajnie do tego celu wykorzystać.
W swoich konstrukcjach gdzie spokojnie gadały po RS-ie dwie ATmegi bez
kwarców robiłem tak, że uC inicjujący transmisję wysyłał preambułę z
kilku bajtów 0xAA lub 0x55 (czyli generował kawałek fali prostokątnej).
uC który odbierał wykorzystywał preambułę do wykalibrowania swojego
oscylatora RC tak aby prędkośći się zgrały. Bo w sumie często nie ważne
jest aby transmisja była dokładnie np. 19200bps, a żeby w nadajniku i
odbiorniku była taka sama.
Pozdrawiam
Grzegorz
-
10. Data: 2013-11-09 12:12:16
Temat: Re: używajcie kwarców !
Od: Dariusz Dorochowicz <_...@w...com>
W dniu 2013-11-09 01:47, sundayman pisze:
>
> A bez kwarcu na Atmedze, jak już pisałem - dupa blada, i żadne
> powtarzanie nie pomoże, bo niby jak, skoro się nie dogadują sprzętowo
> prędkości.
> Można by niby zrobić negocjowanie prędkości - żeby "przejechać" i
> zobaczyć, na której działa. W moim przypadku to było oryginalnie 38400,
> a w tej -20st. to się okazuje, że 40800 :)
>
> No, ale to już są jaja, na które sobie nie mogę pozwolić. Więc kuśwa
> teraz przytykanie g.... do twarogu mnie czeka. Rozkręcanie i lutowanie
> tych kwarców... No żesz kuśwa.
No to jeszcze pytanie ile danych tam przerzucasz i jak bardzo możesz
dociążyć kontrolerki. Bo może wystarczy zmienić protokół na
odpowiedniejszy? Np typu PWM (to się nawet jakoś nazywa, ale nie o tej
porze dnia i tygodnia) - szerokość impulsu decyduje o wartości. Możesz
dać na tyle duże różnice szerokości, żeby nie było problemu z
rozsynchronizowaniem zegarów.
Pozdrawiam
DD