Koleżankom i Kolegom Radioamatorom, Krótkofalowcom,
Konstruktorom i Waszym Rodzinom – w tych trudnych czasach –
po dotkliwej awarii naszego forum
Pogodnego czasu po Bożym Narodzeniu,
Dosiego Nowego Roku
oraz Radosnych Trzech Króli

Życzy Zespół Home Made

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
QCX-SSB z QRP-LABS
#11
(21-05-2020, 22:34)SQ5KVS napisał(a): [...] Z mojego rozumienia dokumentacji do Si5351, w trybie "integer" można mieć tylko dwa wyjścia na plla i pllA jedno i pllB drugie, Trzecie musi być podłączone do a lub b w trybie fractional, jeśli ma mieć dowolnje różną częstotliwość?

To zależy od tego, jakie to mają być te 3 różne częstotliwości Smile

Ogólnie sprawa wygląda tak, że tam masz dwie PLL (A i B) oraz dzielniki (tzw. MS) niezależne do każdego portu wyjściowego. Jest więc takie przejście:
XTAL(25-27 MHz) -> PLL(600-900MHz) -> MS(2,5kHz - 225MHz)
Dodatkowo za MS jest jeszcze dodatkowy dzielnik, który umożliwia zejście z częstotliwością poniżej pewnego progu (coś chyba koło 2MHz) aż do okolic 2,5kHz.

Zarówno PLL (mnożnik) jak i MS (dzielnik) może być ustawione w trybie "integer" oraz w trybie "fractional", przy czym zaleca się, aby MS było ustawione w trybie "integer" kiedy tylko się da, bo wtedy sygnał wyjściowy jest bardziej czysty.

Dodatkowo jeszcze jest takie ograniczenie, że powyżej częstotliwości 112,5MHz na wyjściu, MS może być ustawione tylko w trybie "integer" (na jednej z wartości dzielnika: 4, 6 lub 8).

No i teraz, w zależności od tego jakie mają być te 3 różne częstotliwości, to oczywiście można sobie wyobrazić taką konfigurację, że MS0 i MS1 są zasilane z PLL-A, oba są w trybie integer, choć na wyjściu mają inne częstotliwości, a dodatkowo MS2 jest zasilane z PLL-B, jest również w trybie "integer" i na wyjściu ma jeszcze inną częstotliwość.

W ogólności jednak dla znacznej większości konfiguracji 3 różnych częstotliwości będzie wymagało ustawienia (PLL, MS lub obu) w trybie "fractional".
Jednak we wszystkich zastosowaniach Si5351 jakie widziałem, to chyba nie widziałem żadnego, w którym wymagane byłyby 3 zupełnie różne częstotliwości na każdym kanale. Zwykle potrzebne są co najwyżej dwie (albo wręcz jedna, tylko z przesunięciem fazy, jak przy I/Q) - a to da się zrobić niezależnie i z "integer" na MS.

Choć oczywiście są i takie konfiguracje, których się fizycznie nie da zrealizować:

   

Pozdrawiam,
Rafał SP3GO
Odpowiedz
#12
DSP jest proste.... do momentu w którym zaczniesz wgryzać się w teorię Smile

Po czystości kodu Guido widać że nie ma czasu Smile W tym kodzie jest jeszcze sporo miejsca na optymalizację (niekoniecznie pod kątem efektów, choć może też).
Po szukaniu w necie ile czasu zajmują atmedze różne operacje okazało się ze dzielenie 32bitowe robi się prawie tak samo wolno jak dzielenie przez float'a i duużo wolniej niż mnożenie.
W swoim AGC na atmedze (w burzeninie) używałem podstawy będącej wielokrotnością dwójki, dzięki temu wszystkie dzielenia dawało się zamienić na przesunięcie binarne. I tak np:
Kod:
avg_bias =  ((992*avg_bias)>>10) + (x<<5);
to to samo co:
Kod:
avg_bias = 0,96* avg_bias  + 0,125*x;

tylko pomnożone o 1024;
to przy samplowaniu 9600Hz jest dolnoprzepustowy filtr eksponencjalny o f=50Hz, na atmedze wykonuje się nieco ponad mikrosekundę Smile
Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
Odpowiedz
#13
A gdyby przekompilować to na taki procek: LGT8F328P , praktycznie w naszym rozwiązaniu zamiennik 328, jest wsparcie w arduino a rozdzielczość 12bitów. Taka podrasowana atmega328


Załączone pliki
.pdf   LGT8FX8P_databook_v1.0.5-English.pdf (Rozmiar: 2.72 MB / Pobrań: 2,468)
Odpowiedz
#14
W tych chińskich podrasowanych kopiach chyba wymagany jest inny programator. A i zegar do 32MHz na pewno dużo wniesie do sprawy.

Znalezione w sieci:
"LGT8F88A powstał na podstawie LGT8XM, który stanowi zoptymalizowany 8 bitowy rdzeń RISC, głównie zoptymalizowano go pod kontem maksymalizacji wydajności i równoległości. Tu podobnie jak w AVR wykorzystano architekturę Harwardzką. Instrukcje są wykonywane w 2 stopniowych “strumieniach” co powoduje zmniejszenie zużycia energii przez pamięć flash. Ponadto wprowadzono Smart Cache dla instrukcji dzięki czemu można pobrać na raz więcej instrukcji i tym samym skutecznie zmniejszyć operacje dostępu do pamięci. Dzięki czemu uzyskano 40% zmniejszenie zużycia energii w porównaniu z innymi 8 bitowcami."
Odpowiedz
#15
Chodziło mi głównie o dwa dodatkowe bity na przetworniku Zgodność procesorow jest bardzo duża dodatkowo są wersje Arduino na nich
Odpowiedz
#16
No tak, ale Atmega328 jest już tania jak barszcz. Nie wiem po ile ten chiński procek. Ale fajną rzeczą w jest że ma też DAC.
Oczywiście można dokleić do Atmegi ADC (12 bitów / 2 kanały po 10zł w TME, 100ksps) i DAC (tu można PWM ale ja nie lubię PWM do dac...) tylko to już nie jest arduino board Smile I zaraz się okaże że taniej STM'a czy cuś..
Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
Odpowiedz
#17
Te procki to prawie darmo dają ;-)

https://pl.aliexpress.com/item/400095914...web201603_

W sumie powinno dać się bez większych problemów skompilowanie tego na STM32 pod arduino.
Albo można i to zastosować:
https://botland.com.pl/pl/moduly-i-zesta...b-ram.html

tylko trzeba programisty, który to ogarnie ;-)
Aczkolwiek nie będzie to już niskoprądowe.

Parę słów na elektrodzie:
https://www.elektroda.pl/rtvforum/topic3452382.html

Odpowiedz
#18
RPi to armata na muchę ;-)
A na potrzeby tego projektu, to ja bym widział takiego BluePill'a, czyli STM32F103.
Też bardzo tani, a znacznie szybszy i większe możliwości... no i też chyba 12-bit ADC na pokładzie...

Pozdrawiam,
Rafał SP3GO
Odpowiedz
#19
Mam swoje (złe) zdanie o arduino, w sensie wydajności bibliotek które tam są nawrzucane.. Ale jeśli pod avr czy jakimś gcc da się to oprogramować...

Rafał, ten datasheet jest okropny. Pomijam że jest chińsko - angielski, w trzech miejscach jest podana różna rozdzielczość ADC:
"12-channel 12-bit ADC" - strona 2,
"8-bit 12 channel ADC" - strona 3,
"10-bit Resolution," - strona 277 Smile
Chyba ma jednak 12 bitów ale to trochę wkurza ile tam jest błędów.
To co jest jeszcze fajne to wzmacniacz x1/x8/x16/x32 przed ADC co zwiększa dynamikę teoretycznie do 100dB .. Smile

Nie rozumiem - nie robię. Chyba że robię żeby zrozumieć.
Odpowiedz
#20
BluePille są fajne, ale też za niewiele większe pieniądze można mieć STM32F401 (256k flash)
https://pl.aliexpress.com/item/400008463...5c0fvDPuE0
lub 407-kę
https://pl.aliexpress.com/item/400060251...web201603_

Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości