VFO met de Si570
We zijn alweer een tijdje bezig met de voorbereidingen voor een 80m AM/SSB zender met buizen. Daar gaan we gebruik maken van de fase methode om SSB te maken, als experiment. Kritiek punt daarin is de VFO: in deze toepassing moeten we 4x de werkfrequentie als VFO hebben en dat is 14 – 15.2MHz. Daarin zitten twee tegenstrijdige factoren: stabiliteit en afstembereik. Dat houdt ons al een tijdje bezig, en zowel Ben PA0BDW, Hugo PA2HW en ondergetekende zijn een eigen richting ingeslagen voor wat betreft de oplossing. Mijn heldere moment kwam toen ik de Si570 tegenkwam in de Bitx20 Yahoo groep.
De Si570 is een programmeerbare kristaloscillator die inzetbaar is van 10 – 1300MHz, afhankelijk van de uitvoering. Door funkamateur.de wordt in de webshop een paar varianten te koop aangeboden. Ik bestelde de 10-160MHz variant voor EUR 18,50. Daarvoor krijg je dan zo'n SMD droppie in de mail en daar doe je niet zoveel mee. Nog afgezien van het feit dat de Si570 een voedingsspanning van 3,3V belieft en hoe krijg je dat in vredesnaam nou weer aangestuurd.
Ook hier bracht het internet een oplossing. Voor het luttele bedrag van $9 stuurt WB6DHW een Si570 board op waar alle (SMD) componenten bijgeleverd worden om de Si570 te kunnen herbergen, inclusief een 3,3V spanningsstabilisator en een Level-converter met een GTL2002D om de 3,3V lijnen van de Si570 bi-directioneel aan te passen aan de 5V lijnen van de stuurlogica. Daarna hoef je er alleen nog maar een processor aan te knopen. Kind kan de was doen.
En dan begint het bestuderen van de datasheet van de Si570. De Si570 communiceert door middel van de I2C bus , een master/slave configuratie waarbij meerdere componenten via twee draden – een kloklijn en een datalijn – aangestuurd kunnen worden. Het onderscheid tussen meerdere devices wordt gemaakt door elk device zijn eigen adres mee te geven. Koop je de Si570 groot in, dan mag je je adres zelf vaststellen. De door Funkamateur geleverde versie heeft adres 50H. Het in elkaar zetten van een basic besturing was een eitje: in eerste instantie ging het alleen om het uitlezen van de Si570. En daar waren niet veel onderdeeltjes voor nodig:
Als je de specificatie van de Si570 leest, zie je staan dat de oscillator in stappen van 9ppb te programmeren is. Nou kende ik wel ppm (parts per million), maar ppb zou toch niet parts per billion betekenen? Ja dus. De oscillator is programmeerbaar in stapjes van 0,45Hz in het bereik van 10-160MHz! Dat is nog eens resolutie. Dat wordt bereikt door de hoofdoscillator ergens tussen de 4,9 en 5,4GHz te laten lopen. Omdat het referentie kristal bij de fabricage niet exact op frequentie gezet kan worden, moet je eerst bepalen wat die frequentie is. Daarvoor moet je de uitgangsfrequentie meten en de registers van de Si570 uitlezen. Mijn uitgangsfrequentie was op mijn teller 14.999.890, maar de zero beat op de FT857 was rond 15.000.020. Ik nam maar 15.000.000 rond, om te beginnen. Mijn N was 9, en de HS_DIV stond op 35. De nauwkeurigheid wordt bepaald door een deler met een oplossend vermogen van 38 bits.
Normaal gesproken programmeer je de Si570 en daarna laat je 'm staan. Programmeer je namelijk een frequentie die meer dan 3500ppm van de ingestelde frequentie afwijkt, dan doet hij er 10ms over om zich aan te passen. Blijf je binnen die 3500ppm, dan hoef je N en HS_DIV niet aan te passen en neemt hij de waarde meteen over. Door een beetje te spelen met N en HS_DIV vond ik waarden waarmee het hele bereik van 14 – 15.2MHz binnen de 3500ppm blijft, en daarmee kan ik dus een snel reagerende VFO maken! De experimenteeropstelling is hieronder te zien:
Meer is het nu nog niet. Het idee is om er met een shaft encoder aan te hangen en daarmee de VFO in stapjes van 40Hz te verstemmen. Dat maakt stapjes van 10Hz op 80m en dat is voldoende resolutie: mijn FT857 heeft dat ook. Dat is de volgende uitdaging, want de berekening is te complex om in de PIC uit te voeren. Ik ga dus uit van een standaard waarde en bereken alleen de stapgrootte per transitie van de shaft encoder. Dat is wel intelligent te maken: hoe sneller je draait, hoe groter de stappen. Maar dat is fase twee. Ik kan nu de frequentie instellen op 14.000.000 en 15.200.000 en dat werkt als een zonnetje. Met de berekende stapgrootte kom ik door afronding op een hoogste frequentie van 15.000.020. Maar dat scheelt op 3.800kHz nog maar 5Hz en dat gaat niemand horen.
Al met al lijkt dit IC enorme mogelijkheden te bieden voor het maken van stabiele VFO's. En door de toepassing van een microprocessor, die je toch al nodig hebt voor de aansturing, zijn luxe zaken als 2 VFO's, RIT en XIT, memories etc. natuurlijk alleen maar een kwestie van creatief programmeren. En voor de kosten hoef je het niet te laten: ik was onder de 3 tientjes klaar (nog wel zonder de shaft encoder). Tzt zal ik de ervaringen met de VFO nog een keer publiceren.
Eén gedachte over “VFO met de Si570”
Reacties zijn gesloten.