niedziela, 10 lipca 2016

EUROSAT PNC160-MULTI

Kolejny krajowy produkt nadający się do pracy APRS.



Ponieważ coraz częściej koledzy dopytują się o możliwość wykorzystania tych nadajników, postanowiłem raz kolejny ułatwić im życie :)


Kod programu napisany jest w Bascom-ie


' Ostatnia data modyfikacji: 08.09.2013
' Program do sterowania PLL LMX2316 w nadajniku Eurosat PNC160 , z uC 89C52.
' Czestotliwosc pracy: 144.800 MHz , PLL caly czas wlaczona , parkowanie PLL na 146.9875 MHz
'

$regfile = "REG51.DAT"
$crystal = 18432000                                           ' zegar 18.432 MHz

Dim Tmp As Bit                                                ' zmienna odcinania nadawania po jednej rundzie
Dim C As Byte
Dim A As Byte

Config Sda = P1.3                                           ' pin 4  , magistrala I2C , SDA (24LC04)
Config Scl = P1.4                                           ' pin 5  , magistrala I2C , SCL (24LC04)

Data Alias P3.4                                              ' pin 14 , LMX2316 pin 12 (DATA)
Clk Alias P3.5                                                ' pin 15 , LMX2316 pin 11 (CLOCK)
Le Alias P3.3                                                 ' pin 13 , LMX2316 pin 13 (LE)

Ptt Alias P2.0                                                ' pin 21  Wejscie IN1  , DB25 pin 1 (jako PTT)
In2 Alias P2.1                                                ' pin 22  Wejscie IN2  , DB25 pin 2
In3 Alias P2.2                                                ' pin 23  Wejscie IN3  , DB25 pin 3
In4 Alias P2.3                                                ' pin 24  Wejscie IN4  , DB25 pin 4
In5 Alias P2.4                                                ' pin 25  Wejscie IN5  , DB25 pin 5
In6 Alias P2.5                                                ' pin 26  Wejscie IN6  , DB25 pin 6
In7 Alias P2.6                                                ' pin 27  Wejscie IN7  , DB25 pin 7
In8 Alias P2.7                                                ' pin 28  Wejscie IN8  , DB25 pin 8
In9 Alias P3.1                                                ' pin 11  Wejscie IN9  , DB25 pin 15
In10 Alias P3.0                                               ' pin 10  Wejscie IN10 , DB25 pin 14

'                                                             ' Przy stanach niskich na liniach Pwr1 , Pwr2 , Pwr3 uzyskujemy pelna moc
Pwr1 Alias P1.0                                               ' pin 1 regulacja mocy
Pwr2 Alias P1.1                                               ' pin 2 regulacja mocy
Pwr3 Alias P1.2                                               ' pin 3 regulacja mocy

Azw Alias P1.6                                                ' pin 7  , antyzwiecha
Vbat Alias P0.5                                               ' pin 34 , VBAT H=niskie napiecie zasilania , L=napiecie OK
Pa Alias P0.3                                                 ' pin 36 , zasilanie PA H=ON L=OFF
Drv Alias P1.5                                                ' pin 6  , wzmacniacz w.cz. H=OFF , L=ON
Led_1 Alias P0.2                                              ' pin 37 , LED-1 H=OFF L=ON , zielona LED - "retransmisja"
Led_2 Alias P0.1                                              ' pin 38 , LED-2 podwojna H=OFF L=ON , zielona , "siec"
Led_3 Alias P0.0                                              ' pin 39 , LED-2 podwojna H=OFF L=ON , czerwona , "nadawanie"
Ld Alias P0.7                                                 ' pin 32 , LD  H=synchronizacja , L=brak synchronizacji
Aux1 Alias P3.6                                               ' pin 16 , AUX , DB25 pin 16  H=OFF L=ON

P2 = &B11111111
Set In9
Set In10
Reset Pwr1
Reset Pwr2
Reset Pwr3
Set Tmp
Reset Pa
Set Azw
Set Drv
Set Vbat
Set Led_1
Set Led_2
Set Led_3
Set Ld
Set Aux1

Reset Clk
Reset Le
Reset Data


Declare Sub Zegarek1
Declare Sub Zegarek2
Declare Sub Le_pulse
Declare Sub Lmx_r
Declare Sub Lmx_n1
Declare Sub Lmx_n2
Declare Sub Lmx_f


'------------------------------------------------------------   glowna petla

Do
Reset Azw
  If Tmp = 0 Then
   If Ptt = 0 Then
    Gosub Lmx_r
    Gosub Lmx_n1
    Gosub Lmx_f
    Waitms 10
    Reset Led_3
    Set Tmp
    Reset Drv
    Set Pa
   End If
  End If

 If Ptt = 1 Then
  If Tmp = 1 Then
   Gosub Lmx_r
   Gosub Lmx_n2
   Gosub Lmx_f
   Waitms 10
   Set Led_3
   Reset Tmp
   Reset Azw
   Set Drv
   Reset Pa
  End If
 End If

Set Azw
Loop
End

'-------------------------------------------------------------  koniec glownej petli programu

Lmx_r:
 Restore Dat0
 For A = 1 To 21
 Read C
  If C = 1 Then
   Gosub Zegarek1
  Else
   Gosub Zegarek2
  End If
 Next A
 Gosub Le_pulse
Return

Lmx_n1:
 Restore Dat1
 For A = 1 To 21
 Read C
  If C = 1 Then
   Gosub Zegarek1
  Else
   Gosub Zegarek2
  End If
 Next A
 Gosub Le_pulse
Return

Lmx_n2:
 Restore Dat2
 For A = 1 To 21
 Read C
  If C = 1 Then
   Gosub Zegarek1
  Else
   Gosub Zegarek2
  End If
 Next A
 Gosub Le_pulse
Return

Lmx_f:
 Restore Dat3
 For A = 1 To 21
 Read C
  If C = 1 Then
   Gosub Zegarek1
  Else
   Gosub Zegarek2
  End If
 Next A
 Gosub Le_pulse
Return

Zegarek1:
 Set Data
 nop
 Set Clk
 nop
 Reset Clk
 nop
 Reset Data
Return

Zegarek2:
 Set Clk
 nop
 Reset Clk
 nop
Return

Le_pulse:
 nop
 Set Le
 nop
 Reset Le
 nop
 Reset Data
Return


Dat0:
'   21 bitowy rejestr R
'
'   REF: 12.8MHz , krok PLL: 12.5kHz , R=1024
'   1 bit LD prec. , 14 bitowy dzielnik R = 1024 , 2 bity control C1=0 C2=0
'
'   |LD| |-test mode-|   |------------------------R--------------------------|   |ctrl|
Data 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0     
'
'
Dat1:
'   21 bitowy rejestr N    (czestotliwosc nadawcza)
'
'   TX: 144.800 MHz , krok PLL: 12.5kHz , N/A=11584
'   11584 : 32 = 362 (N) , 11584 mod 32 = 0 (A)
'
'   1 bit GO , 13 bitowy dzielnik B = 400 , 5 bitowy dzielnik A = 8 , 2 bity control C1=1 C2=0
'
'   |GO| |-----------------------B-----------------------|   |-------A-------|   |ctrl|
Data 1 , 0 , 0 , 0 , 0 , 1 , 0 , 1 , 1 , 0 , 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1     
'
Dat2:
'   21 bitowy rejestr N    (czestotliwosc parkowania PLL)
'
'   TX: 146.9875 MHz , krok PLL: 12.5kHz , N/A=11759
'   11759 : 32 = 367 (N) , 11759 mod 32 = 15 (A)
'
'   1 bit GO , 13 bitowy dzielnik B = 400 , 5 bitowy dzielnik A = 8 , 2 bity control C1=1 C2=0
'
'   |GO| |-----------------------B-----------------------|   |-------A-------|   |ctrl|
Data 1 , 0 , 0 , 0 , 0 , 1 , 0 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 0 , 1     
'
'
Dat3:
'   21 bitowy rejestr F
'
'   Rejestr innych funkcji PLL , 2 bity control C1=0 C2=1
'    |--------------------F----------------------------------------------|       |ctrl|
Data 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 , 1 , 0       


Program zawiera komentarze które powinny ułatwić dalsze modernizacje jak i przepisanie na inny procesor Atmel do ambitniejszych implementacji - tracker, pogodynka itp.

Kilka takich nadajników z powodzeniem dało się zaadoptować na pasmo amatorskie, tym razem daruję sobie szczegółowy opis.

Aktualizacja 2,09,2016

Stała się rzecz nie bywała, na mojej skrzynce wylądował email od producenta !!!

EUROSAT ELECTRONICS - http://www.eurosat.com.pl

Otrzymałem wiele informacji na temat nadajnika EUROSAT PNC160-MULTI, dotyczących budowy, działania jak i statystyk. Otrzymałem również zrzuty z analizatora.
Otrzymane informacje bez wątpienia będą przyczynkiem do dalszego śledzenia poczynań firmy na polu urządzeń RF. Nie wykluczam że w przyszłości zainteresuję się innymi nadajnikami tej firmy.

Jestem zdumiony faktem że firma sama z siebie zadała sobie trud dostarczenia informacji na temat swojego produktu osobie która ten produkt wykorzystuje do celów hobbystycznych.




środa, 16 marca 2016

Poczta Polska

Długo się zastanawiałem czemu Poczta Polska postanowiła podnieść ceny przesyłek typu paczka.
Biorąc pod uwagę fakt nadal rozwijającej się konkurencji na tym rynku posunięcie to na pierwszy rzut oka wydaje się karkołomne.
Jednak mając w pamięci czasy tzw. minione, oraz tak popularną Barejowską Polskę raczej wielu nie podejrzewało, że ma to jakiś sens.
Osobiście chętnie korzystam z usług Poczty Polskiej, śledząc jedną z paczek wysłaną tzw. po NOWEMU
stwierdzam, że jeszcze dużo wody w Wiśle upłynie za nim Barejowska Polska się zmieni.


wtorek, 12 stycznia 2016

TL WR-740N - kolejny iGate

Kolejny router WR740N został zaadoptowany do pracy APRS.
Tym razem kolejny egzemplarz testowy trafił do Ostrołęki.
Koledzy z klubu SP5KVW http://sp5kvw.com w trakcie uruchamiania bramki APRS przetestowali kilka powszechnie znanych rozwiązań, które to ostatecznie nie zdały egzaminu.
Nadarzyła się więc doskonała okazja do przetestowania czegoś innego, biorąc pod uwagę specyfikę miejsca instalacji padło na autonomiczne urządzenie oparte na routerze TPlink z oprogramowaniem APRX oraz radiotelefonem VHF.
Radiotelefon umocowany pod routerem sprawia że konstrukcja jest mała i zwarta, pozbawiona zewnętrznego okablowania.
Całość pobiera mniej niż 250ma przy zasilaniu 12V, dodatkowa opcja zmiany konfiguracji poprzez wifi, niweluje konieczność każdorazowe dostawania się do fizycznego miejsca zainstalowania sprzętu.
Wyniki pracy bramki można śledzić - http://aprs.fi/telemetry/a/SP5KVW-1