=?iso-8859-2?Q?Re:_Jaki_wybra=E6_syntezer_cz=EAstotliwo=B6ci=3F?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej Litewka" <andx_at_nospam_poczta.onet.pl>
Subject: =?iso-8859-2?Q?Re:_Jaki_wybra=E6_syntezer_cz=EAstotliwo=B6ci=3F?=
Date: Thu, 16 May 2002 18:41:43 +0200


"Krzysztof Kucharski" news:abkhon$dli$1_at_nospam_news.tpi.pl
Można prosić o "know-how" ? Bardzo mnie to zainteresowało.


Wszystko zaczęło się od tego, że zobaczyłem kostkę SAA1057 w tunerze Diory
AS952 i AS 9462 :)

Ściągnąłem PDF-a tej kostki ale na początku jak zobaczyłem rozrysowany
protokół całej transmisji i wytyczne czasów dla linii magistrali
programującej to zwątpiłem i rzuciłem w kąt ;)
Po jakimś czasie znowu mnie naszły chęci na tą kość i zrobiłem układ z
isostat-ów, które w stanie spoczynku podawały na dane wejście (DLEN, DATA,
CLB) zero logiczne (masę) a gdy się je wciskało to jedynkę logiczną.
Niestety i w tym momencie zamierzenia skończyły się tylko na planach, gdyż
nie uzwględniłem tego że włączniki generują w momencie włączenia i
wyłączenia dużą paczkę pojedyńczych impulsów w wyniku drgań styków.
Układ SAA1057 jest tak skonstruowany (jak i cała rodzina kości programowana
za pomocą magistrali trój-szynowej), że gdy na magistrali wystapi protokó
inny niż przewiduje dana kostka to ona go po prostu zupełnie ignoruje i nie
przyjmuje żadnych danych do siebie.
Tak też działo się przy tych pierwszyxh próbach gdy kostka w wyniku drgań
styków dostawała mnóstwo różnych impulsów na liniach w związku z czym
ignorowała te przebiegi.
Jedynym słusznym dla niej przebiegiem jest bezwględny bit startu, 16 bitów
programujących i 17 bit ładujący całą transmisję danych do wewnętrznego
rejstru tej kostki.
Jeżeli chociaż jeden z tych warunków nie zostanie spełniony (np.
wygenerujemy 17 bitów danych lub bit ładujący wystąpi przy stanie "H" na
linii DLEN to cała transmisja będzie anulowana.

W końcu wpdałem na pomysł aby zwolnić ile tylko się da taktowanie procesora
MAB 8049H sterującego tą syntezą w tunerze diory.
Wyrzuciłem kwarc taktujący procesor i w jego miejsce wpiąłem bardzo dużą
indukcyjność (w sumie uzbierałem w połaczeniu szeregowym jakieś 300 mH !!!)
Spowodowało to obniżenie taktowania z 4 MHz do jakiś kilkuset Hz !!!!!!!!
Cały procesor zaczął teraz chodzić tak wolno, że od momentu załączenia
zasilania tunera do chwili ustawienia się syntezy (przesłania wszystkich
danych do syntezy przez procesor) na ostatnio używanej częstotliwości mijało
jakieś 5 minut !!!! Co przy typowym taktowaniu zajmuje ułamek sekundy.

Po tak drastycznym zwolnienieniu taktowania zapiąłem się diodami świecącymi
na magistralę danych aby móc wizulanie obserwować co procesor przesyła do
syntezy (oprócz syntezy procesor obsługuje w tym tunerze także sterownik
wyświetlaczy LED siedmiosegmentowych, która to transmisja odbywa się tą samą
magistralą zaraz po transmisji przeznaczonej dla SAA1057, ponieważ kostka
wyświetlaczy (SAA1060) ma zupełnie inny protokół nie zakłóca on już danych
wprowadzonych wcześniej do syntezy.

Gdy na podstawie diod LED mogłem odczytać i zapisać sobie na kartce jakie
stany, ile bitów i co w danym bicie wysyła procesor do syntezy wpadłem na
pomysł aby wpiąć się na linię DATA switchem i zmienić jakiś jeden stan (gdy
była jedynka zwierałem ją switchem do masy) - oczywiście wcześniej zgodnie z
instrukcją kostki przeliczyłem sobie, który bit muszę zmienić z H na L aby
synteza ustawiła się na tej nowej częstotliwości.
Experyment się powiódł.
Jednak nadal nie mogłem zaprogramować w sposób całkowicie ręczny, myślałem
wtedy, że może to wina róznych współczynników wypełnienia (każdy kolejny
impuls jak wiadomo miał inny czas trwania, bo nie sposób ręcznym wciskaniem
wygenerować dokładnie takie same impulsy) tworznych ręcznie impulsów itp.
Kiedyś owszem ktoś mi powiedział, że nigdy mi się nie uda zaprogramować
ręcznie tej kostki, bo są wymagania co do wypełnienia impulsów i jeszcze
kilka innych rzeczy.
Wszystko to okazało się bajką :)
W końcu trochę poczytałem o zakłóceniach od styków i wpadłem na pomysł aby
spróbować je odkłócić.
Zrobiłem dla każdej linii układ:
Switch (Isostat dla linii DLEN aby mógł uzyskiwać stan stabilny H w czasie
programowania) podciągnięty do +5V przez 4k7 z połączenia switcha i
rezystora przez szeregową rezystancję 10 KOhm sygnał wchodzi na wejście
inwertera z wejściem Schmitta (CMOS 40106) to samo wejście ma zapiętą
pojemność 1 mikroFarad do masy.
Ta pojemność 1 uF wraz z szeregową rezystancją 10 kOhm utworzyła filtr
dolnoprzepustowy eliminujący drgania a sam Schmitt wytworzył z tego
wszystkiego ładne stabilne stany logiczne o stromych zboczach w odpowiedzi
na wciskanie i zwalnianie switcha.
Do wyjść inwerterów zapiąłem się przez tranzystory (aby nie obciążać wyjść
CMOS-a) na diody LED wskazujące stan poszczególnych linii.
Z wyjść inwerterów sygnał podawany jest już prosto na kostkę na jeje linie
DLEN, DATA, CLB.
Kostka i CMOS są zasilane z tego samego źródła +5V.
Od tego momentu wszystko ożyło.
Ręcznie tworzę impulsy zegarowe, których współczynnik wypełnienia i różnice
w czasie trwania poszczególnych impulsów nie maja kompletnie znaczenia (nic
nie stoi na przeszkodzie aby np. pierwszy bit taktujący miał czas trwania
nawet i godzinę !!!, a drugi np. 300 ms - jest to kompletnie bez znaczenia.
Ważne jest tylko aby na linii danych był stabilny stan gdy na linii
zegarowej jest opadające zbocze bitu zegarowego, bo opadające zbocze jest
aktywne i to ono wprowadza kolejny bit danych do wewnętrznego rejestru.
Wg. protokołu do tej kostki stan stabilny na linii danych powinien już być
już zanim wystąpi impuls zegarowy (tu pewnie analogia do magistrali I2C
gdzie przy niej ten warunek jest bezwzględny), sprawdziłem jednak
praktycznie, że nie ma to znaczenia i stan na linii danych można w każdej
chwili zmienić - już nawet w momencie trwania jedynki logicznej impulsu
zegarowego, ważne jest tylko to jego zbocze opadające i stan stabilny
bezwzględnie właśnie w czasie opadającego zbocza zegarowego.
Do SAA1057 zgodnie z protokołem wysyłam dwa słowa.
Pierwsze tzw. Control Word, niosące w sobie m.in. dane o zakresie pracy
syntezy {(pasmo AM do 32 MHz, lub UKF do 120 MHz a co za tym idzie
uaktywnienie odpowiedniego wejścia w kostce), kroku syntezy (1 lub 1.25 dla
AM; 10 lub 12.5 kHz dla FM), wzmocnieniu pętli, wybór komparatora
(analogowy, cyfrowy, automat {najpierw cyfrowy a gdy pętla już jest blisko
punktu zero wyłącza się cyfrowy i zostaje wolny analogowy - większa czystość
widmowa sygnału wyjściowego sterującego warikapy) lub tylko sam analogowy
(fajnie wtedy widać jak pomalutku przepływa heterodyna na UKF góra-dół aby
po kilkunastu sekundach zatrzymać się w miejscu gdzie ustala wewnętrzny
podział licznika programowalnego syntezy}, sposobie wykorzystania wyjścia
testowego, opcjach oszczędnego trybu zasilania (ważne przy przenośnych
urządzeniach).

Drugie słowo niesie już w sobie tylko dane o podziale wewnętrznego dzielnika
programowalnego a co za tym idzie częstotliwości na której ma pracować w
danym momencie pętla.

Wszystkie wysłane dane w tych słowach są pamiętane przez kość do czasu
zaniku napięcia.
Po zaprogramowaniu kości na danej częstotliwości można zupełnie odpiąć się z
układem programującym zostawiając wejścia programujące (DLEN, DATA, CLB)
nawet wiszące w powietrzu !!!! gdyż w tym momencie ich stan nie ma zupełnie
znaczenia i nie wpływa na pracę syntezy aż do czasu gdy wystąpią na
magistrali takie kombinacje stanów i zależności czasowe, które synteza
wykryje jako inicjację nowego słowa do przesłania.
Po dojściu do wprawy ręczne zaprogramowanie syntezy od momentu włączenia
zasilania do chwili ustabilizowania generatora na zadanej częstotliwości
kontrolowanej przez pętlę (czyli wysłanie dwóch słów programujących - 18
bitów zegarowych w każdym słowie) zajmuje jakieś 40 sekund, a przeskok na
nową częstotliwość jakieś 15 sekund.

Na podobnej zasadzie programowałem bez większych problemów syntezę TSA 5511
sterowaną magistralą I2C - trochę tylko bardziej był skomplikowany układ
przełączników służących do wytworzenia warunków startu i stopu dla
magistrali I2C.

--
Tnijcie cytaty, bo jest ŚMIETNIK !!!

Poprzedni Następny
Wiadomość
Spis treści
From: "Swan" <sp9mrz_at_nospam_alpha.net.pl>
Subject: Re: Jaki wybrać syntezer częstotliwości?
Date: Fri, 17 May 2002 00:24:10 +0200


Witam i pozdrawiam.
Od pewnego czasu podgladam wasze posty i powiem szcerze ze mnie to bardzo
zainteresowalo. Tez bawilem sie sterowaniem Saa 1057 w podobny sposob
ale z mizernym skutkiem. Dopiero teraz zrozumialem po przeczytaniu ostaniego
tematu wiem gdzie popelnilem bledy.
Nigdy nie mialem mozliwosci sterowania jej przez procesor zastosowany w
tunerach diory. Radio to nie wpadlo mi nigdy w rece.
Mam w zwiazku z tym pytanie czy moze ktos posiada program zawarty w
procesorze i mial by ochote podzielic sie nim ze mna. Planuje wykorzystac
synteze w odbiorniczku AM z krokiem 1Khz pracujacym do 30 Mhz. Poniewaz
jestem slaby w pisaniu programow na atmelki a kilka sztuk 8049 mam, to moze
moglbym je wykorzystac do tego celu.
Mam nadzieje ze nie zostane potraktowany jako przyslowiowy "sęp :). Niestety
jestem jeszcze z epoki lampowej;). W zamian na piwo oczywiscie
bezalkocholowe tez sie znajdzie.
Pozdrawiam i czekam na odpowiedz
czy na priva czy na grupe.

Moge sie zrewanzowac nawet





Poprzedni Następny
Wiadomość
Spis treści
From: Robert Homoncik <sp6oje_at_nospam_interia.pl>
Subject: Re: Jaki wybrać syntezer częstotliwości?
Date: 17 May 2002 05:29:41 GMT


Swan <sp9mrz_at_nospam_alpha.net.pl> napisał:
Witam i pozdrawiam.
Cześć !
[..]
Mam w zwiazku z tym pytanie czy moze ktos posiada program zawarty w
procesorze i mial by ochote podzielic sie nim ze mna. Planuje wykorzystac
[..]
Nie pamiętam teraz doładnie w którym numerze ale gdzieś
w okolicach roku 1985 w "Amaterskim Radio" było parę
artykułów nt. syntez (SAA1057).
Był tam też program w asm na 8048.
Jeżeli jeszcze mi tego myszy nie zjadły to po niedzieli
postaram się podrzucić..

Robert

--
_________________________________________________________
_"They said it couldn't be done but he, poor fool, didn't_
_know about it and went ahead and did"_
---------------------------------------------------------
Robert Homoncik sp6oje_at_nospam_interia.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Swan" <sp9mrz_at_nospam_alpha.net.pl>
Subject: Re: Jaki wybrać syntezer częstotliwości?
Date: Fri, 17 May 2002 10:19:04 +0200



Użytkownik "Robert Homoncik" <sp6oje_at_nospam_interia.pl> napisał w wiadomości

w okolicach roku 1985 w "Amaterskim
artykułów nt. syntez (SAA1057).
Był tam też program w asm na 8048.
Jeżeli jeszcze mi tego myszy
Czekam niecierpliwie i mam nadzieje że
myszy tego nie zjadły:)
A swoja drogą kiedy nasze pismo o takiej zawarosci
się pojawi. Bo jak sięgam pamięcią zawsze sąsiedzi
z południa mieli się pod tym względem lepiej.
Pozdrawiam
Marian



Poprzedni Następny
Wiadomość
Spis treści
From: "MELOMAN" <meloman.radio_at_nospam_wp.pl>
Subject: Re: Jaki wybrać syntezer częstotliwości?
Date: Sun, 19 May 2002 19:46:35 +0200



Mam w zwiazku z tym pytanie czy moze ktos posiada program zawarty w
procesorze i mial by ochote podzielic sie nim ze mna. Planuje wykorzystac
synteze w odbiorniczku AM z krokiem 1Khz pracujacym do 30 Mhz. Poniewaz
jestem slaby w pisaniu programow na atmelki a kilka sztuk 8049 mam, to
moze
moglbym je wykorzystac do tego celu.

Witam!
Ja jestem w trakcie pisania programu na 89C2051. Jak skończę, to wystawię go
może gdzieś na www.

Pozdrawiam


--
====================
MELOMAN
GG: 1213154
meloman.radio_at_nospam_wp.pl
====================



Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Kucharski" <astrosms_at_nospam_alpha.net.pl>
Subject: =?iso-8859-2?Q?Re:_Jaki_wybra=E6_syntezer_cz=EAstotliwo=B6ci=3F?=
Date: Tue, 21 May 2002 12:43:12 +0200



Użytkownik Andrzej Litewka <andx_at_nospam_poczta.onet.pl> w wiadomości do
grup dyskusyjnych napisał:ac0uh8.3vvffdh.1_at_nospam_and.krakow...

[...]
Wszystko zaczęło się od tego, że zobaczyłem kostkę SAA1057 w
tunerze Diory
AS952 i AS 9462 :)
[...]
Panowie, kapelusze z głów przed Andrzejem ! Serio !

Pozdrawiam - Krzysztof Kucharski



Poprzedni Następny
Wiadomość
Spis treści
From: "MELOMAN" <meloman.radio_at_nospam_wp.pl>
Subject: Re: Jaki wybrać syntezer częstotliwości?
Date: Wed, 22 May 2002 20:43:51 +0200



Panowie, kapelusze z głów przed Andrzejem ! Serio !


Ja to już dawno zauważyłem, że z Niego porządny Gość :-)


--
====================
MELOMAN
GG: 1213154
meloman.radio_at_nospam_wp.pl
====================