www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frequenz detektieren PIC 12F683


Autor: Wolf Retlaw (Firma: Monster AG) (ik-student)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo in die Runde,

ich bin auf dem Gebiet von PICs und Assemblerprogrammierung ein 
absoluter Newbie. In meinem Studium habe ich nun ein Projekt am Laufen, 
wo ich mich in einen PIC 12F683 einarbeiten soll. Grundlegende Dinge 
kann ich nun schon : GPIO als Ausgang etwas anzeigen lassen, Interrupt 
auslösen, ADC nutzen....

Nun zu meiner Frage, ich soll später mit diesem PIC Frequenzen bis zu 22 
KHz detektieren können, d.h. wenn an einem ADC-Port eine bestimmte 
Frequenz anliegt, soll der PIC etwas tun. Dass ich mit dem PIC keine 
richtige Abtastung machen kann ist mir völlig klar ist ja kein teurer 
DSP ;) Ich hoffe ihr könnt mir ein paar Ideen zukommen lassen wie ich 
das programmier- und hardwaretechnisch lösen könnte.

Vielen Dank im Voraus
Gruß

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sag' nur 'Capture / Compare'

Rudi

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Signalform nicht von Bedeutung ist, brauchst Du gar keinen ADC. 
Am Besten an einem Eingang mit Schmitt-Trigger anschliessen.
Musst Du die Frequenz bestimmen, oder einfach erkennen, dass sich da 
"irgend etwas tut"?

Autor: Wolf Retlaw (Firma: Monster AG) (ik-student)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die schnelle Antwort!

@Rudi meinst du im Assembler Compare? den gibt es für den 12F683 leider 
nicht :(

@Severino R. später soll ein 22KHz Signal mit einem Offset von 14-17 
Volt den PIC dazu bewegen etwas zu machen, d.h. das 22KHz Signal ist 
moduliert, deswegen wollte ich erst einmal klein anfangen und schauen, 
wie kann man den PIC ansteuern, dass er bestimmte Frequenzen erkennt und 
irgendwas machen soll.

Nachtrag:
P.S.: Schmitt Trigger ist ganz gut, aber ich soll die Schaltung 
möglichst klein halten!

Danke euch

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum willst Du nicht Klartext sprechen?
Geht es um eine Demodulation von DiSEqC-Signalen?

Wenn ja, dürfte die folgende App Note interessant sein:
http://www.eutelsat.org/satellites/pdf/Diseqc/asso...

Übrigens:
> d.h. das 22KHz Signal ist moduliert

Das Nutzsignal ist wohl moduliert mit einem 22kHz-Signal

Autor: Wolf Retlaw (Firma: Monster AG) (ik-student)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rudi sorry, jetzt weiss ich was du meintest habe das mit dem Capture / 
Compare in dem PIC-Datasheet gefunden ! Die Idee ist super.


@Severino R. ja es soll später für DiSEqC sein, aber mir ging es jetzt 
eher darum zu erkennen, wann ein bestimmtes Signal nun auf der Leitung 
ist. Das pdf kenne ich da schon, aber dieser Ansatz bringt mich auf 
keine Idee wie ich das im PIC mit Assembler umsetzen soll, deswegen 
fange ich klein an.

Ich habe auch schon eine eigene Idee, ich tu einfach einen GPIO-Pin auf 
digital schalten und überprüfe mit einem Interrupt die positive Flanke, 
starte einen Timer bis die nächste pos. Flanke kommt, mit Hilfe des 
Timer kann ich doch ein Register als Laufvariable immer hochzählen 
lassen. Ist die nächste positive Flanke am Eingang, stoppt die 
Laufvariable die ich dann mit einem festen Wert vergleiche. Muss ich 
wohl mit Subtraktion machen weil leider kein "compare" für diesen PIC 
gibt.
Wäre das eine Lösung ?

Ich hoffe meine Denkweise ist korrekt ;)

Gruß

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.