Synteza częstotliwości na układzie PLL LM7001



Podobne dokumenty
Enkoder z silnika HDD lub FDD

Programowanie mikrokontrolerów - laboratorium

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

Programowanie mikrokontrolerów - laboratorium

Listing_ $crystal = deklaracja

Nadajnik Nokton NR4 MAXIM przeróbka do zastosowań APRS MHz

Miernik częstotliwości 100 MHz

Instytut Teleinformatyki

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Zawody II stopnia etap II - ćwiczenia laboratoryjne Grupa Elektroniczna

Uniwersalna płytka generatora tonów CTCSS, 1750Hz i innych.

W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego

Generator tonów CTCSS, 1750Hz i innych.

Politechnika Wrocławska

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Generator tonów CTCSS.

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

KURS BASCOM 8051 INDEX:

KURS Bascom'a. Autor Paweł Klaja. Korekta. v1.5

HMGRC v.1.1. Home Made Group Repeater Controler

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Ćwiczenie nr 43 Mikrokontroler

Programowanie Mikrokontrolerów

Podstawy techniki mikroprocesorowej

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Obrotomierz AVT 5260 PROJEKTY

interfejs szeregowy wyświetlaczy do systemów PLC

dokument DOK wersja 1.0

Moduł Bluetooth WT12 w praktyce, część 2

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

SWITCH & Fmeter. Fmax 210MHz. opr. Piotrek SP2DMB. Aktualizacja

INSTRUKCJA OBSŁUGI LAFAYETTE ZEUS

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Kod produktu: MP01105

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Mikrokontrolery AVR Wprowadzenie

Wizualizacja danych sensorycznych-projekt. Czujnik indukcyjny zbliżeniowy. Piotr Baluta 18 czerwca 2007

MSA-1 Mikroprocesorowy sterownik do przełącznika antenowego

RPTC CONTROLLER (v1.11) STEROWNIK PRZEMIENNIKA RADIOWEGO OBSŁUGA KOMUNIKATÓW GŁOSOWYCH OBSŁUGA KOMUNIKATÓW IDCW OPCJONALNY MODUŁ GSM

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

To jeszcze prostsze, MMcc1100!

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Programowanie mikrokontrolerów. 8 listopada 2007

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Częstościomierz wysokiej rozdzielczości

Zestaw Startowy EvB. Więcej informacji na stronie:

Dalmierze firmy SHARP na przykładzie 2D120XJ100F

W.J WIELICZKA

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

ZESPÓŁ SZKÓŁ MECHANICZNO-ELEKTRYCZNYCH im... Technikum Telekomunikacyjne. Specjalność:. PRACA DYPLOMOWA

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

E-TRONIX Sterownik Uniwersalny SU 1.2

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

Wstęp Podstawy programowania QBASIC Budowa mikroprocesora Zestaw uruchomieniowy Porty wejścia/wyjścia...

ROZDZIAŁ III ELEMENTY PROGRAMU BASCOM ROZPOCZYNAMY PRACĘ Z PROGRAMEM STRUKTURA PROGRAMU OPERACJE NA PORTACH

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Kod produktu: MP01105T

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Technika Mikroprocesorowa

Programowanie w językach asemblera i C

MCAR Robot mobilny z procesorem AVR Atmega32

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Układy czasowo-licznikowe w systemach mikroprocesorowych

Programator układów HCS

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

2. Architektura mikrokontrolerów PIC16F8x... 13

Układy zegarowe w systemie mikroprocesorowym

Ćwiczenie nr 43 Mikrokontroler Mikrokontroler

LAFAYETTE ZEUS. Instrukcja obsługi

Sterownik momentu obrotowego silnika prądu stałego

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

OPBOX ver USB 2.0 Miniaturowy Ultradźwiękowy system akwizycji danych ze

Instrukcja obsługi elektronicznego licznika typu 524. Model 524. Licznik sumujący i wskaźnik pozycji typu Opis. 1. Opis

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL8AVR. Płyta bazowa dla modułów dipavr

TDWA-21 TABLICOWY DWUPRZEWODOWY WYŚWIETLACZ SYGNAŁÓW ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Ćwiczenie 7 Matryca RGB

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów.

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Dokumentacja Licznika PLI-2

Technika mikroprocesorowa. Konsola do gier

Raport z budowy robota typu Linefollower Mały. Marcin Węgrzyn

Licznik impulso w CN instrukcja obsługi

Transkrypt:

Synteza częstotliwości na układzie PLL LM7001 1

Do zaprojektowania i skonstruowania syntezy częstotliwości, jak to zazwyczaj bywa, zachęciła mnie dostępność na rynku radiotelefonów starszych typów. Do zastosowań amatorskich doskonale nadają się radiotelefony, których generatory zbudowane są w oparciu o rezonatory kwarcowe. Podstawową wadą takich radiotelefonów, jest konieczność posiadania tylu kwarców, ile kanałów zamierzamy używać. Biorąc pod uwagę niską cenę starszych radiotelefonów oraz zastosowanych elementów użytych do wykonania syntezy, produkt finalny w postaci działającego w paśmie amatorskim urządzenia, powinien sprostać wymogom potencjalnego użytkownika. Przy projektowaniu syntezy przyjąłem następujące założenia: 1. Prosta konstrukcja wykonanie syntezy nie powinno wymagać szczególnych kwalifikacji w dziedzinie montażu urządzeń elektronicznych. 2. Dostępność użytych elementów większość elementów znajduje się w szufladzie każdego elektronika. 3. Nieskomplikowany proces uruchomienia urządzenia do prawidłowego uruchomienia urządzenia nie potrzeba wyrafinowanej aparatury pomiarowej. 4. Uniwersalność urządzenie może współpracować z wieloma typami radiotelefonów a także może stanowić główny element urządzenia budowanego od podstaw. 5. Możliwość ewentualnej rozbudowy poprzez modyfikację oprogramowania sterującego pracą syntezy, można uzyskać wiele dodatkowych funkcji. W celu łatwiejszego wykonania urządzenie zaprojektowano w technice montażu przewlekanego, rezygnując z najbardziej obecnie modnej i w sumie najbardziej zaawansowanej technologii montażu powierzchniowego. Główną przyczyną takiej konstrukcji jest możliwość wykonania urządzenia przez starszych elektroników, którzy raczej nie posiadają zarówno praktyki jak i urządzeń niezbędnych do realizacji układów w tej technologii. Urządzenie wykonano na płytce z laminatu szklano-epoksydowego zachowując wymiary typowego modułu stosowanego w radiotelefonach produkowanych prze RADMOR. 2

Budowa i zasada działania syntezy. I. Schemat blokowy syntezy. F wyj GENERATOR SEILERA PĘTLA PLL LM7001 STEROWNIK MIKROPROCESOROWY ATMEGA 8 ENKODER ZMIANA CZĘSTOTLIWOŚCI WYŚWIETLACZ 2x16 Ogólna zasada działania syntezy: Synteza jest zbudowana w oparciu o generator Seiler a, którego głównym elementem zmieniającym i stabilizującym częstotliwość pracy, jest zespół dwóch diod pojemnościowych. Stabilizację częstotliwości generatora realizuje pętla PLL (układ scalony LM7001), sterowana mikroprocesorem ATMega8. Do podstawowych funkcji sterownika należą: Stabilizacja wybranej częstotliwości generatora Wybieranie dowolnej częstotliwości pracy syntezy z zakresu 144 MHz 146 MHz Automatyczne uwzględnianie częstotliwości pośredniej 10.7MHz przy odbiorze Współpraca z przemiennikami Nadawanie litery K przy puszczeniu przycisku PTT (wybór opcjonalny) Nadawanie własnego znaku stacji co 30 minut (opcjonalnie) Do prawidłowej pracy, synteza wymaga zasilania napięciem stabilizowanym +12V względem masy. 3

2. Program źródłowy mikrokontrolera ATMega8 $regfile = "m8def.dat" 'informuje kompilator o pliku dyrektyw $crystal = 7200000 'kwarc dla lm7001 Config Lcd = 16 * 2 Config Lcdpin = Pin, Db4 = Portc.3, Db5 = Portc.2, Db6 = Portc.1, Db7 = Portc.0, E = Portc.4, Rs = Portc.5 Config Timer1 = Timer, Prescale = 256 ' przygotowanie timera do zliczania odcinków 1s On Timer1 Licz_1s ' program obsługi timera Config Pinb.0 = Input 'wejście PTT z mikrofonu Cha Alias Pind.2 ' piny dla encodera Chb Alias Pind.3 ' piny dla encodera Config Cha = Input ' ustawione jako wejťcia Config Chb = Input ' Config Portd.5 = Input ' port dla przycisku TON 1750 Hz Config Portb.2 = Output ' port sterowania przekaźnikiem nadawania Config Portd.0 = Output ' Data pin5 lm7001 Config Portd.1 = Output ' Clock pin4 lm7001 Config Portd.4 = Output ' CE pin3 lm7001 Reset Portd.0 ' wstępne ustawienie stanów na portach Reset Portd.1 ' porty transmisyjne ustawione na zero Reset Portd.4 ' Reset Portb.2 Set Portb.0 ' port od PTT na 1 Set Portd.5 ' port dla TON na 1 Declare Sub Synteza Declare Sub Zegarek Declare Sub Wyswietlaj Declare Sub Roger Declare Sub Znak Dim A As Byte Dim Freq As Word Dim Sterowanie As Byte Dim Wynik As Long Dim Pcz As Word Dim Fpom As Word Dim Rpt As Byte Dim Zmiana As Bit Dim S_roger As Bit Dim Kropka As Byte ' program przesyłania danych do syntezy ' program zegara taktującego zapis do ' syntezy ' program wyświetlający ' program rogera - litera K morse ' program generowania znaku sq1ftb ' zmienna dla petli FOR ' zmienna ustawiająca częstotliwość LM7001 ' zmienna ustawiająca parametry LM7001 ' zmienna wyświetlająca częstotliwość ' częstotliwość pośredniej ' zmienna do przesłania danych do syntezy ' praca z przemiennikiem ' wskaźnik zmiany nastawy ' wskaźnik roger-beepa ' czas trwania kropki 4

Dim Kreska As Byte Dim Sekundy As Word Dim Nadaj_znak As Bit Dim Czas_znaku As Word Freq = 5394 Pcz = 428 Zmiana = 0 S_roger = 0 Kropka = 70 Kreska = Kropka * 3 Sekundy = 0 Czas_znaku = 1800 Projekt SYNTEZA LM7001 ' czas trwania kreski ' licznik sekund ' zezwolenie nadawania znaku ' czas do nadania znaku w sekundach ' fodb=(145550-10700)/25=5394 ' dodanie pcz do freq nadawczej ' nie było zmiany od encodera ' roger nie będzie wykonywany ' trwanie kropki 30ms ' licznik sekund ustawiony na zero ' znak nadawany co 30 minut od ostatniego ' PTT Config Int0 = Falling Const Debouncetime = 1 ' kanał B dla encodra na 1 Set Chb On Int0 Getencoder ' program dla przerwania encodera Enable Interrupts Enable Int0 Enable Timer1 Counter1 = 28125 Cursor Off Call Synteza ' załadowanie timera ' wyłączenie kursora ' ustawienie LM7001 Cls Lcd "SQ1FTB synteza" Wait 1 Call Znak '------------ główna pętla programowa ---------------------------------- Do If Nadaj_znak = 1 Then Call Znak If Pind.5 = 0 Then Waitms 300 If Pind.5 = 0 Then If S_roger = 0 Then S_roger = 1 Else S_roger = 0 Call Wyswietlaj 5

If Pinb.0 = 0 Then Sekundy = 0 Set Portb.2 Call Synteza While Pinb.0 = 0 If Pind.5 = 0 Then Sound Portb.1, 800, 343 Set Pind.5 Wend If S_roger = 1 Then Call Roger Reset Portb.2 Call Synteza If Zmiana = 1 Then Call Synteza Zmiana = 0 Loop End '---------------------------------------------------------------- Licz_1s: Counter1 = Counter1 + 28125 Incr Sekundy If Sekundy = Czas_znaku Then Nadaj_znak = 1 Sekundy = 0 Return '---------------------------------------------------------------- Getencoder: Waitms Debouncetime If Cha = 0 Then If Chb = 0 Then Incr Freq Else Decr Freq Zmiana = 1 Gifr = 64 Return '---------------------------------------------------------------- 6

Sub Zegarek Waitus 10 Set Portd.1 Waitus 10 Reset Portd.1 Waitus 10 End Sub '---------------------------------------------------------------- Sub Synteza 'sterowanie = &B10010000 '1kHz 'Sterowanie = &B10010000 '10 khz Sterowanie = &B10100000 '25 khz 'Sterowanie = &B11000000 '50 khz 'Sterowanie = &B10000000 '100 khz If Freq >= 5396 And Freq <= 5403 Then Rpt = 1 Else Rpt = 0 If Portb.2 = 1 Then Fpom = Freq + Pcz If Rpt = 1 Then Fpom = Fpom 24 Else Fpom = Freq Reset Portd.1 ' ustawienie lini CL=0 Set Portd.4 ' ustawienie lini CE=1 For A = 0 To 13 ' wysyłanie bitów częstotliwości D0 - D13 If Fpom.a = 1 Then ' bit po bicie Set Portd.0 Else Reset Portd.0 Call Zegarek ' po każdym bicie takt zegara Next A ' Reset Portd.0 ' wysłanie T0=0 Call Zegarek ' takt zegara Reset Portd.0 ' wysłanie T1=0 Call Zegarek ' takt zegara For A = 0 To 7 ' wysyłanie bitów sterujących LM7001 If Sterowanie.a = 1 Then ' B0,B1,B2,TB,R0,R1,R2,S Set Portd.0 Else 7

Reset Portd.0 Call Zegarek ' po ka dym bicie takt zegara Next A ' Reset Portd.4 ' koniec transmisji CE=0 Call Wyswietlaj ' wyświetlenie nowej częstotliwości End Sub '------------------------------------------------------------------- Sub Wyswietlaj Cls Wynik = Freq + Pcz Wynik = Wynik * 25 ' 25kHz - krok syntezy If S_roger = 1 Then Lcd "SQ1FTB beep" Else Lcd "SQ1FTB synth" If Portb.2 = 1 Then Lcd " NAD" Else Lcd " ODB" Lowerline Lcd Wynik If Rpt = 1 Then Lcd " MHz [RPT]" Else Lcd " MHz" End Sub '------------------------------------------------------------------ Sub Roger End Sub '------------------------------------------------------------------ Sub Znak Set Portb.2 Call Synteza 8

' litera s Projekt SYNTEZA LM7001 ' litera q ' cyfra 1 ' litera f ' litera t ' litera b 9

Nadaj_znak = 0 Reset Portb.2 Call Synteza End Sub Projekt SYNTEZA LM7001 Przedstawiony powyżej program źródłowy nie wyczerpuje wszystkich potencjalnych możliwości mikroprocesora ATMega8. Właściwie można powyższe rozwiązanie przyjąć jako wyjście do dalszych eksperymentów z syntezą. Potencjalni konstruktorzy powinni mieć przynajmniej podstawowe umiejętności związane z programowaniem mikrokontrolerów oraz takie samo przygotowanie związane z konstrukcją i uruchamianiem urządzeń elektronicznych. 3. Płytka drukowana syntezy Rys.1 Przykładowa płytka drukowana syntezy (widok lustrzany) 10

4. Schemat ideowy syntezy Projekt SYNTEZA LM7001 11

12

13

Uwagi ogólne: Projekt SYNTEZA LM7001 Wszystkie rozwiązania przedstawione w projekcie podlegają ochronie praw autorskich i stanowią wyłączną własność intelektualną autora. Jakiekolwiek publikowanie i rozpowszechnianie lub zastosowanie komercyjne wymaga zgody autora. Ponieważ urządzenie należy do grupy urządzeń związanych z działalnością radioamatorską, a zatem działaniem hobbystycznym, autor nie rości sobie żadnych praw w przypadku wszelkich amatorskich zastosowań syntezy. Przez amatorskie zastosowanie należy rozumieć wykonanie na własne potrzeby, potrzeby kolegów lub klubów. Autor nie gwarantuje wsparcia technicznego. Wszelkie zapytania należy kierować na e-mail: sq1ftb@hot.pl Errata: -poprawiono linie zasilania wzmacniacza napięcia Varicap. -opisano kondensator filtra napięcia sterowania Varicap -poprawiono podłączenie wyświetlacza 22.03.2013 14