Zegar i blad po jego podziale...

Witam,

Załóżmy ze mam sygnał zegarowy o częstotliwości 100MHz +-10% (okres od

9.09ns do 11.11ns) I dziele go przez 10 i po podziale mamy 10MHz+-10% (błąd wzgledny)

Z tego wynika, ze po podziale czas trwania okresu powinien "rozjechac sie od 90ns do 111ns. A jest przeciez jest rozjechany tylko o niedokładność zegara ! (9.09ns-11.11ns) Gdzie robie błąd w rozumowaniu ?

Pozdrawiam,

M.

Reply to
Oshin
Loading thread data ...

Mylisz jitter z niedokladnoscia czestotliwosci.

100MHz+/-10% sugeruje ze wszystkie takty zegara moga miec np 11ns, wtedy 10 cykli moze trwac 111ns.

Przy jitterze czas sredni jest dobry, tylko zbocza maja odchylke od prawidlowej pozycji.

A jeszcze masz inne generatory gdzie ten blad moze sie rozprzestrzeniac na wieksza ilosc cykli .. ale to juz patrz szumy fazowe generatora.

J.

Reply to
J.F.

(...)

(...)

Dzieki. Czyli z zegara np 96000M +/- 10% dzieląc przez 10 ni jak nie zrobię RS232 (9600kb)....:( Pozdrawiam, M.

Reply to
Oshin

A skad ten zegar pochodzi ? Moze jednak stabilizowany kwarcem ?

Natomiast asynchronicza transmisja stosowana w RS232 dopuszcza ok 3% odchylki czestotliwosci. 555 ma zdaje sie lepsza stabilnosc.

J.

Reply to
J.F.

Tylko przykład :)

Za drogo ;)

A sprawa jest taka że w MSP430 chcieliśmy zastosować zegar z wewnetrznego generatora RC. Ale taki zegar ma rozrzut od 800K do 1.5MHz i niestety z UART powiedział dość....:) Nawet dla 1200b :)

Pozdrawiam, M.

Reply to
Oshin

Oshin pisze:

Ale napisz co oznacza owe +/- 10%. Czy to niestabilność częstości (wariancja allana) czy czy może stała dewiacja częstości czy jitter.

Reply to
Filip Ozimek

No ale nic nie stoi na przeszkodzie, zeby transmisje poprzedzic czyms w stylu AA55 i w programie synchronizowac sie z tym sygnalem. Wtedy twoja czastotliwosc nie ma wiekszego znaczenia (o ile dzielnik dla RSa potrafi wystarczajaco sie dostroic). Jesli w trakcie dzialania oscylator ci plywa to mozesz taka synchronizacje okresowo powtarzac. Jeszcze inna mozliwosc to manchaster, niektore AVRy maja stosowny dekoder na pokladzie.

Reply to
T.M.F.

Oshin pisze:

Bez problemu da się to zrobić na MSP nawet z zegarem RC wew. Tylko trzeba się trochę wysilić

Możesz się na przykład przełączyć na zwykły port i zmierzyć długość tego co przychodzi przy pomocy timera.

Adam

Reply to
invalid unparseable

Górski Adam pisze:

Adamie! Ja nigdy i nigdzie nie napisałem, że sie nie da oraz, że nie chcemy się wysilać. :) Rozwiązań jest mnóstwo (np. autosynchronizacja o które pisze T.M.F.). Albo na przykład mozna skorzystać z prekalibrowanych zegarów, których dane sa we FLASHu. MSP... Spokojnie.

Ja mam spojrzeć na problem z punktu widzenia DfM a to naprawdę zmienia sposób patrzenia, gdzie każda sekunda pracy automatu kosztuje ileś tam setnych centa co dla miliona sztuk daje konkretne pieniądze...

Wracając do początku - prosty podział zegara nie załatwi sprawy z UARTem a dodatkowo rozrzut technologiczny na poziomie 0.8-1.5MHz może mieć wpływ na zegar we FLASH Memory Timing Generator Rozwiązaniem jest dla nas użycie danych kalibracyjnych, przy których stabilność zegara jest już OK. Pozdrawiam, M.

PS Czy to z Tobą kiedyś był ten 'deal' dla Hadasa -AZ-COM ?? (PCB) Mój GG się nie zmienił ale jestem dostępny tylko wieczorami ;)

Reply to
Oshin

Filip Ozimek pisze:

Częstotliwość. Niestabilność częstotliwości :)

Pozdrawiam, M.

Reply to
Oshin

Oshin pisze:

Chcesz popędzać RS'a z zegarka mechanicznego? ;-)

Reply to
Filip Ozimek

Filip Ozimek pisze:

Dobre :D

Klient się uparł na _tanie_ rozwiązanie więc _my_ teraz mamy problem... Ale "nasz Klient nasz per Pan"

M.

Reply to
Oshin

Oshin pisze:

No bo to jest tak: jitter jest niezależny od częstości ale szumy fazowe skalują się z kwadratem harmonicznej. Więc dzielenie nie zlikwiduje jitteru. Ale być może wolne transmisje mają mniejsze wymaganie co do pływań czasu nadejścia zboczy, więc na 1200bps da się coś przepchać. W sumie trudno cokolwiek więcej doradzić przy małej liczbie szczegółów. Ale +/- 10% to dużo, nawet bez podania skali czasu na jakiej to pływa.

Reply to
Filip Ozimek

Filip Ozimek pisze: (..)

Dzięki Filip. To postaram się przedstawić problem (choć rozwiązanie już mamy)

  1. Jest układ mikroprocesorowy gdzie sygnał zegarowy MCLK jest generowany z wewnętrznego generatora RC (R zewnętrzne tak po prawdzie)
  2. Średnie częstotliwość takiego zegara w naszej konfiguracji 1.048MHz
  3. Dla takiej częstotliwości ustawiamy rejestry podziału/konfiguracji zegara dla UART dla predkości 9600b.
  4. Niespodzianka - Częstotliwość zegara MCLK może sie zmieniać w zakresie 0.8 - 1.5MHz w zależności od procesora (fizycznie od chipu). Taka technologia - wiadomo jak z pojemnościami robionymi w krzemie.

Dla takiego "rozrzutu" częstotliwości nie da się znaleźć jednego ustawienia rejestrów, przy którym działał by UART (nawet dla 1200b) Indywidualne strojenie UARTA do częstotliwości zegara MCLK za duzo kosztuje podczas produkcji.

Stąd więc moje pytanie czy aby czasem błąd zegara nie podzieli się przez zastosowanie dzielników - nie podzieli się gdyż względny błąd jest stały. Juz wiem gdzie się myliłem.

Ani jitter ani szumy fazowe tutaj nie maja wpływu tylko dokładność pojemności w krzemie....

Ale jak pisałem wcześniej... miało być tanio.

Pozdrawiam, M.

Reply to
Oshin

Użytkownik Oshin napisał:

Witam Taki problem pojawia się chyba w każdym procku popędzanym wewnętrznym oscylatorem RC. Nie znam MSP430, ale z powodzeniem uzyskuję 9600bps (a i z 19200 też nie ma większych problemów) na AVR-ach poganianych wewnętrznym oscylatorem. Tu również występuje problem, że co procek to inna czastota, ale AVR-y mają wewnętrzny rejestr kalibracji oscylatora wewnętrznego. Po zaprogramowaniu kalibruję ten oscylator i wartość zapamiętuję w EEPROM-ie. Rozwiązanie daje mi wystarczającą stabilność w dość szerokim zakresie temperatur.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Proponuję użyć MSP430 serię 2xx. Mają DCO z 4-ema skalibrowanymi częstotliwościami z dokładnością 1%. K.

Reply to
John Smith

John Smith pisze: (...)

I tak wlasnie zrobilismy :) Dzieki.

Pozdrawiam, M.

>
Reply to
Oshin

Dzięki Grzegorz. Jak juz napisałem wyżej. W MSP da się dobrać tak współczynniki że by RS zadziałał z różnymi zegarami. Problem jest że trudno dobierać te współczynniki indywidualnie dla każdego egzemplarza na linii produkcyjnej... Tak jak pisałem wczesniej - użyjemy danych kalibracyjnych dla DCO

Pozdrawiam, M.

Reply to
Oshin

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.