Dette triggede Smølfen til at støve en gammel sag af. Tilbage i 80’erne og 90’erne blev der udviklet en del chipsæt til brug i AM/FM‑syntesetunere. Et af disse chipsæt kom fra Sanyo. For en del år siden skraldede jeg et tunermodul – jeg kan ikke engang huske fra hvad. Det havde chipsættet fra Sanyo LC72171 ( syntese ) og en tilhørende LA1823 AM/FM‑tunerchip.KenRas skrev: 14 maj 2026, 16:20 Rigtig god forklaring, der giver absolut mening for os der har forstand på synthese tunere![]()
Flere af den slags indlæg, tak![]()
Det særlige ved dette sæt er, at LC72171 naturligvis er en syntesekreds, dvs. referenceoscillator, referencedeler, prescaler ( selve lokaloscillatoren sidder i LA1823 ), fasekomparator og charge‑pump til lavpasfilteret, som genererer VCO‑spændingen til lokaloscillatoren. Så langt, så godt.
Men den har også en IF‑input‑prescaler ( IF = mellemfrekvens ), hvilket betyder, at den kan måle mellemfrekvensen direkte via en deler og bruge sin egen referenceoscillator som reference til tællingen. Dette er ikke noget, man ser hos ret mange producenter af syntesekredse til AM/FM‑syntesetunere.
KenRas’ kommentar i forrige indlæg triggede mig yderligere, og jeg tænkte, at det kunne være lidt nørdet at sætte syntesen op til en sendefrekvens – f.eks. København P1 fra Gladsaxe på 90,8 MHz – og måle mellemfrekvensen.
Ups – har det noget med vintage at gøre? Måske, for kredsen stammer nok fra engang i 90’erne
Næste udfordring var at programmere syntesen. Den skal fodres med ikke færre end 8 bytes → 64 bit med alverdens parametre for at kunne sætte syntesen op til en modtagefrekvens – og derefter skal man hive 20 bit ud med information om, hvilken mellemfrekvens den måler.
For at holde mig til vintage fandt jeg et gammelt PIC16C84‑projekt frem og opdagede hurtigt, at processoren ikke havde nok programlager. Jeg havde stadig den “vintage sourcekode” til denne midlertidige 4‑punkts temperaturmåler med displayudlæsning og RS‑232‑push‑funktion af temperaturmålingen, brugt i udviklingen af de første invertere til luft/vand‑varmepumper. Det stammer tilbage fra starten af 90’erne.
Sourcekoden – en blanding af gammel BASIC‑kode og rigtig gammel maskinkode – blev "recompileret" til en PIC16F628. Rystet over, at det stadig virkede, tog jeg et billede ( 1 ) af dyret, og den kunne faktisk stadig måle temperatur og vise det på displayet. De fire følere sidder på fumleboardet som fire TO‑92‑huse.
Nu var opgaven at finde fire overskydende “pinde” på denne processor uden at skulle frakoble display og temperaturfølerne, så jeg kunne tilslutte tunermodulet og programmere syntesekredsen. LC72171 bruger en form for Sanyo CCB ( Computer Control Bus ) - en “proprietær” protokol - men den ligner meget SPI‑standarden ( Serial Peripheral Interface ). SPI ligger også som funktionskald i BASIC‑compileren. På den måde kunne jeg nøjes med lidt simpel BASIC‑ og maskinkode for at programmere syntesekredsen.
Til selve programmeringen af processoren fandt jeg den gamle D2MAC‑programmer til piratkort frem og fik også liv i den billede ( 2 ).
Jeg programmerede syntesen til at køre på 101,5 MHz, hvilket giver en modtagefrekvens på 90,8 MHz ( 10,7 MHz mellemfrekvens + 90,8 MHz ). Det er korrekt - det er P1 i København, udsendt fra Gladsaxe‑masten. Der er mange parametre, der skal sættes, før der overhovedet kommer noget ud af sådan et modul.
Følgende blev sat i syntesen:
- Lokaloscilatorfrekvensen i hex‑format med spejlvendt binær repræsentation - 16 bit
- Referencekrystal‑frekvensen skal også specificeres i hex‑format med spejlvendt binær repræsentation - 4 bit
- Krystaldefinition - 1 bit
- Reset/start af frekvenstæller - 1 bit
- AM/FM‑information - 3 bit
- Definition af fire outputporte og to input/output‑porte samt værdien på de fire outputporte - 8 bit. Disse porte kan f.eks. styre stereo/mono‑omskiftning på LA1823
- Definition af den serielle CCB‑outputport, hvor bl.a. lock/unlock og frekvenstællerens værdi kan udlæses - 3 bit
- Unlock/lock‑vindueskriterier og “dead‑zone”‑definition for fasekomparatoren - 4 bit
- Gate‑tid for frekvensmåling - 2 bit
- Charge‑pump‑kontrol for udgangen af selve fasedetektoren – hvordan denne skal styres - 1 bit
- Indgangsniveau for IF‑signalet til mellemfrekvenstælleren - 1 bit
- 3 × 8 bit adresser til at skrive alle disse data ind i og ud af kredsen
Disse 20 bit blev påfyldt processoren, som omregnede frekvensen til mennesketal i 10‑talsformat og sendte den ud på displayet. Jeg kunne nu måle mellemfrekvensen ( IF ), hvilket i første omgang fik det til at se ud som om Gladsaxe‑senderen kørte helt skævt
På billederne ( 3 / 4 ) herunder ses mellemfrekvensen målt til 10.699,984 kHz og på næste billede til 10.700,187 kHz. Årsagen til dette “sving” er, at FM‑senderen er frekvensmoduleret, og selve tællingen foregår i et 64 ms målevindue.
Lidt hovedregning. 101,5 MHz – 10.699 kHz ≈ 90,801 MHz. Ja, den er god nok – det var P1, jeg hørte.
Selv når de tier stille på P1, vil man kunne måle et frekvenssving fra København, fordi senderen er en stereosender, og pilottonen på 19 kHz stadig frekvensmoduleres. Derudover moduleres der også RDS ( Radio Data System ) og - som jeg husker det - som den eneste sender i Danmark også DARC ( Data Radio Channel ), som bruges til busstoppestedernes displays.
På billederne ses også en billig spektrumanalysator, som viser lokaloscillatoren på 101,5 MHz.
På billede ( 5 ) ses lokaloscillatoren sat til 101 MHz, hvilket giver en modtagefrekvens på 90,3 MHz. Der er ingen sender på den frekvens i området, og derfor optræder denne “mystiske” mellemfrekvens, som blot er støj, som tælleren tæller på. Bemærk igen, at analysatoren viser 101 MHz.
På næste billede ( 6 ) ses en sender/modulator, som jeg med vilje har lagt lidt skævt på frekvensen. Det ses tydeligt på frekvensmålingen, som displayet viser.
Dette her kunne man holde et helt foredrag om, men interessen er nok begrænset i en tid, hvor alt nærmest kommer til os som streaming.
På alle ovenstående målinger var lokaloscillatoren sat til at ligge 10,7 MHz over modtagefrekvensen. Nu kan jeg - takket være den “fleksible” programmering - prøve at lægge lokaloscillatoren under modtagefrekvensen. Da lokaloscillatoren i så fald skal køre langt ned i frekvens, og måske ikke kan komme helt derned, prøvede jeg at programmere den til 91,6 MHz for modtagelse på 102,3 MHz, som er Radio llll i København.
Som det ses på billede ( 7 ), kan lokaloscillatoren godt køre i faselås på 91,6 MHz. Men som forventet bliver signalet fra Radio llll filtreret væk, da tunermodulet stadig tuner indgangen til 10,7 MHz under lokaloscillatorfrekvensen. Det vil sige.
91,6 MHz – 10,7 MHz = 80,9 MHz.
Jeg tror ikke helt, tuneren når så langt ned, og derfor kom der - helt som forventet - ikke noget igennem på 102,3 MHz.
Hvad fik vi så ud af alt dette? Direkte frekvensmåling giver en virkelig god metode til frekvenstuning, når man scanner hen over FM‑båndet med en superheterodynmodtager. Den frekvensusikkerhed, man kan opleve på almindelige FM‑syntesetunere, opstår ikke her - bortset fra de tilfælde, hvor referenceoscillatoren driver. Det var netop det, jeg oplevede i det andet indlæg, som triggede hele dette projekt. De digitale tunere, som skriver “lock” i displayet, er i virkeligheden en ren tilsnigelse - hvis de benytter ren analog detektering af centerfrekvensen i mellemfrekvensen. At påstå, at en tuner er “lock”, blot fordi detektoren kommer ud med en analog spænding som en del af frekvensdemoduleringen, er direkte misvisende. Det siger intet om, hvorvidt modtagefrekvensen faktisk ligger korrekt i forhold til den viste modtagefrekvens. Som sagt rammer de fleste tuner rimelig præcist med analog detektering af centerfrekvensen i mellemfrekvensen.
Derfor er metoden med direkte måling af mellemfrekvensen den eneste rigtige måde at kunne tillade sig at skrive “lock”. Her måler man nemlig, om mellemfrekvensen faktisk ligger dér, hvor den skal – og dermed om tuneren er præcist på stationens bærefrekvens. Det er en objektiv måling, ikke et gæt baseret på en analog spænding.
Det er meget sjældent, man ser den fejl, jeg fik i forrige indlæg, referencefrekvensen driver. Det viste sig efterfølgende, at referencekrystallet havde suget lidt luft ( måske fugt ) ind i huset, hvor selve krystallet sidder, og det havde påvirket resonansfrekvensen.
Kan det så bruges til noget? Ikke en dyt.
En syntesetuner er generelt en god ting, fordi den holder lokaloscillatoren stabil - den driver ikke som en almindelig analog tuner med fritsvinggende lokaloscillator. Men det er samtidig en form for “voldtægt” af lokaloscillatoren at styre den digitalt, for en digital syntese støjer, og da lokaloscillatoren styres af en spænding for at ramme den korrekte frekvens, vil denne styrespænding give frekvensmoduleret støj, som også bliver detekteret i demodulatoren. Det vil vi jo helst ikke høre, når vi gerne vil nyde KenRas’ disco‑radiostation
Nu bygger vi ovenikøbet endnu en tæller ind, med endnu mere digital støj til følge - så det er bestemt ikke godt for vores hi‑fi‑ører. Derfor er en digital synteseradio smart og stabil, men en rigtig godt designet analog tuner er stadig at foretrække for vores ultimativt følsomme hi‑fi‑ører
Mvh Smoelfen