Hallo, kennt jemand den PLL Chip TC9181F der ist in einem Funkscanner AOR1500 verbaut. ich würde gerne an den Scanner ein Großes GLCD Display anschliesen welches von einem Atmega angesteuert wird. Auf dem Display möchte ich die eingestellte Frequenz anzeigen lassen. Hat jemand von euch eine Idee wie ich das am einfachsten anstellen kann. Ich habe mir gedacht, den Datenstrom vom Prozessor zum PLL mit dem AVR mitlesen, umrechnen und auf dem Display anzeigen. Leidr habe ich von PLL's nich viel Ahnung. Oder kann ich im Scanner irgendwo mit einem Frequenzzähler ran und die Frequenz anzeigen? Empfangsbereich vom Scanner geht von 500 Khz bis 1300 Mhz Ich steh da total auf dem Schlauch HF ist nicht so mein ding. Gruß Harry
Die Suche nach dem Datenblatt war echt schwer ... http://oh3tr.ele.tut.fi/~ftp/modifications/keyradio/kc450ht/tc9181f.pdf Hast Du da schon mal reingesehen? Sollte mit einem ATmega machbar sein ... Gruß Jobst
Hallo Jobst, das Datenblatt hatte ich auch gefunden, aber leider werde ich daraus nicht schlau, wie ich die Bitfolgen in eine Frequenz umrechnen muss. Habe leider noch keine so große Erfahrung im AVR Programmieren, und mit PLL's schon garnicht. Bisher hat mir Bascom für meine Basteleien ausgereicht. Gruß Harry
Harry Goetz schrieb: > das Datenblatt hatte ich auch gefunden, aber leider werde ich daraus > nicht schlau, wie ich die Bitfolgen in eine Frequenz umrechnen muss. Über die Bitfolgen wird das Teilerverhältnis (Abschnitt 3) der PLL festgelegt. Evtl. brauchst du noch den Wert von PSC. In der Frequenzaufbereitung des Empfängers kommt zu der von der PLL erzeugten Frequenz je nach Frequenzbereich und evtl. Modulationsart sicher noch der eine oder andere Offset dazu. Wenn man die Bitfolgen auslesen kann und mit den Empfangsfrequenzen vergleicht, sollte das rauszukriegen sein. Noch einfacher wäre natürlich ein Blockschaltbild von der Frequenzaufbereitung.
Harry Goetz schrieb: > das Datenblatt hatte ich auch gefunden, aber leider werde ich daraus > nicht schlau, wie ich die Bitfolgen in eine Frequenz umrechnen muss. Später ... > Habe leider noch keine so große Erfahrung im AVR Programmieren, und mit > PLL's schon garnicht. > Bisher hat mir Bascom für meine Basteleien ausgereicht. Ich kenne mich mit Bascom nicht so aus. Wenn dort Interupts möglich sind, wirst Du damit glücklich. Mit der CLK Leitung gehst Du an einen INT-Pin des AVR den Du auf positive Flanke konfigurierst. CLK kommt mit maximal 200kHz. Ist also easy. Mit STB an einen weiteren INT-Pin. Wenn dieser einen IRQ auslöst, dann sind die 20 Bit, die Du vorher eingelesen hast komplett. Und dann gibst Du erst mal die rohen Daten aus. Dann kann man weiter sehen. Gruß Jobst
So, hab mal was zusammengebastelt. Bei 1 Mhz bekomme ich diese Bitfolgen über RS232. 0000000000100101 000001010100011101010010 00000000 Bei 1.25 Mhz 0000000000100101 000001111100011101010010 00000000 Bei 97.4 Mhz 0000000000100101 000001010010001100110010 00000000 Bei 100 Mhz 0000000000100101 000001011000101100110010 00000000 Bei 200 Mhz 0000000000100101 000001011010001101110010 00000000 Bei 1000 Mhz 0000000000100101 000001100101010101110010 00000000 Ich steige einfach nicht dahinter, wie ich daraus eine lesbare Frequenz zaubern soll. Danke für eure Hilfen. Jobst, du kannst das bestimmt entschlüsseln. Gruß Harry
Ich hab jetzt mal nur die Bits betrachtet die sich ändern, und ich habe die Bitfolge umgedreht. Bei 97.4 Mhz 0000000000100101 00000 1010010001100 110010 0011000100101 (bin) -> 1573 (dec) Bei 100 Mhz 0000000000100101 00000 1011000101100 110010 0011010001101 (bin) -> 1677 (dec) Bei 200 Mhz 0000000000100101 00000 1011010001101 110010 1011000101101 (bin) -> 5677 (dec) Von 97,4MHz zu 100MHz ist die Differenz 104 -> 25kHz pro Schritt x 104 = 2,6MHz Von 100MHz zu 200MHz ist die Differenz 4000 -> 25kHz pro Schritt x 4000 = 100MHz Ist der AOR 1500 nicht ein Multi-Superhet-Empfänger? Je nach Frequenzband (und der AOR 1500 hat mehrere davon) und Betriebsart (WFM, NFM, AM etc) ändert sich die Wertigkeit und der Offset der Daten. Was Matthias auch schon geschrieben hat. Deshalb funktioniert auch diese Rechnung mit 1MHz und 1000MHz im Bezug auf 100MHz nicht mehr (andere Frequenzbänder). Gruß John
Harry Goetz schrieb: > Jobst, du kannst das bestimmt entschlüsseln. Jopp :-) Ist da irgendwo ein 12.8MHz Quarz? :-) Und die ZF beträgt 556.325MHz Und die von Dir mitgelesenen Daten scheinen zu stimmen. Passt alles. Die 12.8MHz werden durch 1024 geteilt - siehe Seite 4 xxxx 000000000010 0 1 01 R Zu erkennen an der 01 am Ende. Das Bit davor bezieht sich darauf, ob das Loop-Filter (externe Beschaltung) positiv oder negativ verstärkt. Das Bit davor setzt einen festen Teiler von 1024 (hier nicht gesetzt) Die restlichen 12-Bit davor geben an, mit welcher divisor die Referenzfrequenz (Quarz) geteilt werden soll. R = 1024 Das Schieberegister ist 20 Bit lang - die verbleibenden 4 Bit werden hier nicht verwendet. (Der Prozessor sendet immer 8-Bit Gruppen) 12.8MHz / 1024 = 12.5kHz 0000 0111110 00111010100 10 -> 1.25MHz A N -> Programmable counter - Seite 5 Zu erkennen an der 10 am Ende. A = 62 N = 348 0000 0101010 00111010100 10 -> 1 MHz A = 42 N = 348 Differenz 62 - 42 = 20 (entspricht 250kHz) 1 = 12.5kHz = Referenztakt P = 128 Teiler = P*N+A Die 4 0en entstehen durch die 24-Bit (3x8-Bit der CPU) und werden hinten aus dem 20-Bit Register wieder herausgeschoben. A und N lassen sich bei P = 128 zu einem Wort zusammenfassen: 0000 011111000111010100 10 -> 1.25MHz Teiler Teiler = 44606 44606 * 12.5kHz = 557.575MHz Oszillatorfrequenz Davon die ZF abziehen 557.575MHz - 556.325MHz = 1.25MHz (voila!) xxxxxxxxxxxx000000 00 Seite 6 & 7 Filter und LD Einstellungen - für die Frequenz nicht von Bedeutung. Gruß Jobst
John schrieb: > Ich hab jetzt mal nur die Bits betrachtet die sich ändern, und ich habe > die Bitfolge umgedreht. ... und an der falschen Stelle zerteilt ;-) Gruß Jobst
Irgendwo zwischen 200MHz und 1000MHz findet eine ZF-Umschaltung statt ... Oder die Daten für 1000MHz sind falsch ... Gruß Jobst
Ihr habt's echt DRAUF Ich bin begeistert, wie Schnell ihr die Lösungen aus dem Ärmel Schüttelt :-) Danke an Alle und vor allem An Jobst, du hast mir den richtigen Weg gezeigt. Von alleine wäre ich nie darauf gekommen, jetzt werde ich erst mal versuchen das Alles umzusetzen. Die Bitfolgen für 1000 Mhz stimmen, da schaltet irgendwas um. Ich versuche jetzt erst mal was aufs Display zu bekommen. Jobst wie kommst du auf den wert P = 128. Ja ich habe ein 12.8MHz Quarz? im Schaltplan am PLL entdeckt. Wie bisst du auf die ZF von 556.325MHz gekommen. Gruß Harry
Harry Goetz schrieb: > Die Bitfolgen für 1000 Mhz stimmen, da schaltet irgendwas um. Okay, das ist ein seperates Signal, welches sich nicht in diesem Datenstrom wieder findet. Vermutlich wird die ZF umgeschaltet. > Ich versuche jetzt erst mal was aufs Display zu bekommen. Genau. Nimm erst einmal an, daß alles genau so ist, wie von mir ausgerechnet. Und dann schaust Du, bei welcher Frequenz es nicht mehr passt. > Jobst wie kommst du auf den wert P = 128. Es werden alle 7 Bit in A genutzt. > Wie bisst du auf die ZF von 556.325MHz gekommen. Jobst M. schrieb: > 557.575MHz - 556.325MHz = 1.25MHz Das geht auch rückwärts ;-) Gruß Jobst
Hallo Jobst, von 0.500Mhz bis 299 Mhz passt es mit einer ZF von 556.325 Mhz von 300 bis 607 Mhz passt es mit einer ZF von 249.125 MHz von 608 bis 798 Mhz passt es mit einer ZF von 58.075 MHz bei genau 798 Mhz passt es nicht mehr. Bitfolge bei 798.000 Mhz 0000000000100101 000001100001110101010010 00000000 ich komme da nicht mehr weiter. Gruß Harry
Hallo Jobst, bin gerade erst von der Arbeit gekommen. Gerne so viel du willst, bin froh wenn du mir hilfst. 800Mhz 0000000000100101 000001100100001101010010 00000000 810Mhz 0000000000100101 000001100010111101010010 00000000 850Mhz 0000000000100101 000001100011110111010010 00000000 890Mhz 0000000000100101 000001100010000100110010 00000000 900Mhz 0000000000100101 000001100110110100110010 00000000 Gruß Harry
Setz doch als ZF für diesen Bereich einfach mal 0 ein und schau mal, welche Differenz Du zwischen Anzeige und tatsächlicher Frequenz hast ... Addition ist keine Hexerei ... Und: Ich vermute noch eine Bereichsumschaltung - die ergibt sich einfach logisch ... (Ich vermute knapp oberhalb von 1000MHz) ;-) Gruß Jobst
Ich habs jetzt endlich geschnallt !!!! Jetzt stimmt die Anzeige bis 1300 Mhz. DANKE :-) ich dachte die ZF muss immer abgezogen werden. Gruß Harry
Woran erkennst Du eigentlich, in welchen Bereich Du Dich gerade aufhältst? Nein, es entstehen immer 2 Mischprodukte. Eins davon filterst Du Dir heraus. Allerdings ist es auch möglich, daß Du so zwei Frequenzen empfängst. Eine als Ergebnis der Addition, eine als Ergebnis der Subtraktion. Dafür werden noch vor der Mischung Filter umgeschaltet. Und damit die ZF nie selber auf der Empfangsfrequenz stört, wird der ZF-Bereich auch umgeschaltet. Ausserdem kommt man so mit einer relativ einfachen VCO aus, die nur einen Bereich von 500-900MHz abdecken muss. Gruß Jobst
Jobst M. schrieb: > Woran erkennst Du eigentlich, in welchen Bereich Du Dich gerade > aufhältst? Da bin ich noch am suchen, es sind noch ein paar 4094 Schieberegister verbaut. Irgendwie krig ich das schon hin (hoffe ich), mir war erst mal Wichtig zu wissen wie ich das rechnen muss. Gruß Harry
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.