PIC + CCIR
Re: PIC + CCIR
Finns här inte någon som vet hur man gör? Eller åtminstone hur man räknar ut frekvensen på en ton i en audiosignal som kommer in på en analog port.
Re: PIC + CCIR
Är det en fast frekvens så kan man ju göra det som en frekvensräknare, räkna tiden för en period.
Men för det du ska göra behöver du nog köra FFT eller liknande och det är jag rätt säker på att det är betydligt enklare att låta en extern krets sköta.
Men för det du ska göra behöver du nog köra FFT eller liknande och det är jag rätt säker på att det är betydligt enklare att låta en extern krets sköta.
Re: PIC + CCIR
DTMF har vi gjort avkodare för i AVR mha Goertzel-algoritm, borde väl fungera att göra något liknande för CCIR också.
http://en.wikipedia.org/wiki/Goertzel_algorithm
http://en.wikipedia.org/wiki/Goertzel_algorithm
Re: PIC + CCIR
Jo jag satt också och funderade på en frekvensräknare av någott slag. Då det är fasta frekvenser det gäller så är den biten inte så svår att klura ut. Dock är "pipen" bara 100ms långa med 10ms paus mellan.
Tanken är att köra detta i en 16f628 med möjlighet att styra på/av på 10 I/O pinnar och kunna programmera om eeprom via seriellt interface. Hade tänkt lagra nummerserierna som sänds via ccir i eeprom under förutsättning att det funkar med serieinterfacet som jag vill. Då är det lättare att byta koder för I/O pinnarna än att hårdkoda allt och behöva programmera om hela kretsen.
Låter det överdrivet komplicerat?
Tanken är att köra detta i en 16f628 med möjlighet att styra på/av på 10 I/O pinnar och kunna programmera om eeprom via seriellt interface. Hade tänkt lagra nummerserierna som sänds via ccir i eeprom under förutsättning att det funkar med serieinterfacet som jag vill. Då är det lättare att byta koder för I/O pinnarna än att hårdkoda allt och behöva programmera om hela kretsen.
Låter det överdrivet komplicerat?
Re: PIC + CCIR
Varför använder du inte bara någon mjukvara i datorn och låter den lagra CCIR-strängarna?MagsiNet skrev:
Låter det överdrivet komplicerat?
Det finns ett program som heter Wintone, eller fanns i all fall....
Re: PIC + CCIR
Och just i en PIC16F628A blir det svårt, den har ingen A/D-omvandlare.
Men visst skulle det vara möjligt om bara A/D-omvandlaren kör på minst 2* högsta frekvensen som ska dekodas.
Men visst skulle det vara möjligt om bara A/D-omvandlaren kör på minst 2* högsta frekvensen som ska dekodas.
Re: PIC + CCIR
Jag vet inte vad en A/D i en pic klarar. Men har jag läst databladet alldeles galet? Har för mig att 16f628 hade ett par analoga ingångar. Kanske dags för starkare glasögon. 
Här är lite specs på tonerna: http://en.wikipedia.org/wiki/CCIR_(selcall)

Här är lite specs på tonerna: http://en.wikipedia.org/wiki/CCIR_(selcall)
Re: PIC + CCIR
Precis. Det finns analoga komparatorer och en referensgenerator (eller vad man skall kalla det) och tillsammans kan det bli en enkel form av A/D-omvandlare på 4 bitars upplösning. Men i ditt fall tror jag inte det är en bra väg. Gå på en PIC med riktig A/D istället. Borde finnas i modernare efterföljare till 628:an.
Re: PIC + CCIR
Med lite pyssel så ska det räcka med en 1-bits A/D-omvandlare (DTMF - Decoding with a 1-bit A/D converter).
Re: PIC + CCIR
CCIR är nog inte så svår att läsa ändå, behövs knappast något speciellt filter.
Om man digitaliserar signalen gäller det ju bara om att dekoda de olika frekvenserna och deras tid. Vad jag förstår är det 5 toner i följd som gäller, alltså inte som DTMF som har 2 toner för varje värde.
Att fånga 5 frekvenser efter varandra kan nog fint göras utan större problem, jag hade vald CCP-enheten och bara tagit pulstiden och jämfört med de kända toner ±lite "glapp", kom det då 5 st efter varandra inom en viss tid är saken biff.
Om man digitaliserar signalen gäller det ju bara om att dekoda de olika frekvenserna och deras tid. Vad jag förstår är det 5 toner i följd som gäller, alltså inte som DTMF som har 2 toner för varje värde.
Att fånga 5 frekvenser efter varandra kan nog fint göras utan större problem, jag hade vald CCP-enheten och bara tagit pulstiden och jämfört med de kända toner ±lite "glapp", kom det då 5 st efter varandra inom en viss tid är saken biff.
Re: PIC + CCIR
Ni får det att låta så "enkelt". 
Nu råkar jag sitta på ett par tusen 16f628 och hade hoppats på att få nån användning för dom. Men det blir nog till att skaffa en lite nyare pic och labba med. Skall i slutändan bli 20st likadana kort.
Ingen som har lite tid över och kan tänka sig att fixa schema samt kod mot betalning?

Nu råkar jag sitta på ett par tusen 16f628 och hade hoppats på att få nån användning för dom. Men det blir nog till att skaffa en lite nyare pic och labba med. Skall i slutändan bli 20st likadana kort.
Ingen som har lite tid över och kan tänka sig att fixa schema samt kod mot betalning?
Re: PIC + CCIR
Det ÄR ganska enkelt faktisk. Kolla under µC-träden där det finns ett exempel på hur man kan läsa tider med Capture-enheten. Sedan är det bara att välja:
Är tiden inom toleranser för tonerna och i så fall vilken, denna ton räknar man sedan upp en räknare på och när den når över ett visst nivå är tonen detekterat, alla andra toners räknare räknas ner till noll ju.
Lite luddigt men såhär:
Finns en räknarevariabel för varje ton. är tonens tid mätt räknas den upp, alla andra räknas ner om de är högre än noll.
När någon av dessa variabler når "målet nått" är den ton detekterat och den räknas inte upp mer MEN det läggs till en liten tid en enda gång.
När ingen "känd" ton detekteras räknas alla ju ner och den detekterade ton kommer under "nivået" och avsluts alltså men det sparas ATT den har varit "på plats". När nästa ton kommer blir det samma sak osv. Man ska såklart välja sina "målet nått" och extra tiden så att 2 lika toner efter varandra kan detekteras som 2 st lika.
Sedan är det "bara" att spara sekvensen och visa den på lämpligt sätt.
Är tiden inom toleranser för tonerna och i så fall vilken, denna ton räknar man sedan upp en räknare på och när den når över ett visst nivå är tonen detekterat, alla andra toners räknare räknas ner till noll ju.
Lite luddigt men såhär:
Finns en räknarevariabel för varje ton. är tonens tid mätt räknas den upp, alla andra räknas ner om de är högre än noll.
När någon av dessa variabler når "målet nått" är den ton detekterat och den räknas inte upp mer MEN det läggs till en liten tid en enda gång.
När ingen "känd" ton detekteras räknas alla ju ner och den detekterade ton kommer under "nivået" och avsluts alltså men det sparas ATT den har varit "på plats". När nästa ton kommer blir det samma sak osv. Man ska såklart välja sina "målet nått" och extra tiden så att 2 lika toner efter varandra kan detekteras som 2 st lika.
Sedan är det "bara" att spara sekvensen och visa den på lämpligt sätt.
Re: PIC + CCIR
Lyfter en gammal tråd...
Skulle villja ha någon PIC-lösning för att skicka en CCIR-sträng. Decoder är väl också kul.
Hittade följande: http://sites.google.com/site/tekmanoid/selcall
Någon som testat den eller annan lösning utan CML´s tonkretsar, alltså endast en PIC?
Men som sagt någon som sett en encoderlösning för CCIR med endast en PIC? Googlat en del men hittar mest på videotrams...
Skulle villja ha någon PIC-lösning för att skicka en CCIR-sträng. Decoder är väl också kul.
Hittade följande: http://sites.google.com/site/tekmanoid/selcall
Någon som testat den eller annan lösning utan CML´s tonkretsar, alltså endast en PIC?
Men som sagt någon som sett en encoderlösning för CCIR med endast en PIC? Googlat en del men hittar mest på videotrams...