Televisa är ett projekt av Admittansen som gör din PC till en levande telefonbok!
TelevisaHW är en enhet som övervakar inkommande och utgående samtal på telefonlinjen och skickar nummer och samtalens start- och stopp-tider till en dator via serieporten. Då datorn är avstängd lagrar TelevisaHW informationen i ett EEPROM-minne, 128 nummer med tider får plats. TelevisaWin är ett program som körs under Windows 95/98/NT. Det kommunicerar med TelevisaHW och presenterar informationen grafiskt i tabellform. För varje rad presenteras information relaterat ett telefonnummer såsom: antal inkommande samtal, antal utgående/utgående, datum för senaste inkommande/utgående, total samtalstid för inkommande/utgående och eventuellt inmatat namn. Att använda detta Windows program är inget krav, det går bra med ett vanligt terminalprogram på vilken dator som helst. Kommunikationsparametrarna är 1200,8,N,1. Dvs 1200 bps, 8 bitar, ingen paritet och 1 stoppbit.
Att bygga en Televisa lämpar sig för alla som använder telefon och har en dator. Bygget är mycket enkelt att bygga och relativt billigt. Att bygga en Televisa ger en mycket god förståelse för dagens elektronik. Trots att Televisa är enkel att bygga lämpar den sig även för duktiga elektronikkonstruktörer. Den kreative kan säkert komma på egna tillämpningar för Televisa och källkoden är fri så det är bara att sätta igång att hacka! Televisa är byggd kring enchips-microdatorn Atmel AT90S2313 och den hanterar all intelligens. Den implementerade mjukvaran innehåller en databas för upp till 128 telefonposter, RS232-kommunikation, DTMF-sändare/mottagare och en klocka för datum och tid. Tyvärr går det inte att bygga något vettigt av endast en microdator även om det är en enchips-microdator utan man behöver alltid några komponenter som hanterar kommunikationen med omvärlden. Så i Televisa behövs även optokopplare, motstånd, kondensatorer, dioder, spänningsregulator, kontakter, mönsterkort och en låda.
Televisa enheten har ingen egen display som visar numret p.g.a. att displayer är dyra. Televisa ska ses som en enhet som gör din dator till en levande telefonlista, det finns dock inget som hindrar att man även har en vanlig nummer presentatör inkopplat på linjen samtidigt som Televisa.
Televisa är byggd kring enchips-microdatorn AT90S2313 från Atmel, IC1. Det är en RISC processor med 120 instruktioner, 128 bytes SRAM, 32 register och 2048 bytes instruktions-EEPROM och den klockas med 9.83 MHz. Programvaran som microdatorn kör är skriven i assembler och innehåller en telefondatabas, DTMF-avkodare/sändare, linjeavkodare, RS-232 kommunikation och en klocka för datum och tid. IC2 är ett 2 KB EEPROM som används till att lagra telefonposter. Varje post tar upp 16 bytes så det får alltså plats 128 poster i detta minne. IC3 är en spänningsregulator som ger ut 5 volt om den matas med 7 – 20 volt. Dioderna D3-D6 likriktar matningsspänningen så Televisa kan köras på både AC och DC. IC4-IC7 är optokopplare som med hjälp av lite kringkomponenter sköter anpassingen till RS-232 nivåer. Optokopplarna gör även att PC:n skiljs från telefonlinjen galvaniskt, dvs kommunikationen mellan PC:n och Televisa går via ljus. Eftersom RS-232 inte har någon matningsspänning drivs optokopplarna med hjäp av TXD, RTS och DTR. Detta är något av ett fult trick men det fungarar bra i praktiken. När ett porten ligger i vila och ett terminalprogram är startat ligger TXD på ca –12v och DTR på ca +12v. Dessa spänningar används för att driva IC6 och IC7. D7 och C7 ser till att IC6 och IC7 matas med –11v även då datorn skickar information pga att TXD då blir +12v under några ms. IC8 sköter avkodningen av DTMF-tonerna. Spänningen på telefonlinjen är ca 30 volt vid pålagd lur, ca 8 volt vid när luren är lyft och ringsignalen är ca 80 växelström. Transistorerna Q1 och Q2 kodar av dessa spänningsnivåer så att microdatorn kan hålla reda på när man lyft luren, lagt på och när det ringer. Då luren är pålagd är det ca 8 v eller -8 v på telelinjen vilket ger mindre än 1.5 v på PD0, då luren är lyft är det ca 40 v eller -40 v på telelinjen vilket ger mer än 3.0 v på PD0. Polariteten detekteras av Q3. Vid ringsignal växlar polariteten 25 ggr per sekund vilket processorn känner av på PD1. Telefonlinjen får inte belastas med mindre än 1M ohm DC-mässigt när luren är pålagd. Detta garanteras genom att R3, R4 och R5 är 3.3M ohm vardera. DTMF sänds ut PWM-modulerade på PB0, det analoga filtret som sitter mellan PB0 och telefonjacket tar sedan bort de övertoner som uppstår. Filtret utgör ett filter av andra ordningen och har en brytfrekvens strax över 1633 Hz som är den högsta DTMF-tonen. Filtret kopplas in då PD5 är en utgång och kopplas ur då PD5 är en ingång (högimpediv). Filtret kopplas bara in då DTMF-toner sänds. Om filtret alltid var inkopplat skulle det kunna uppstå ekon på linjen. Inkommande DTMF-toner avkodas med Goertzel DFT algoritm, denna algoritm är i teorin komplicerad men i praktiken består den endast av att jämföra de åtta DTMF-tonerna med interna referens sinussignaler. Inkommande nummerpresentatörsinformation från telefonväxeln startar alltid med koden A följt av telefonnumret och avslutas med C. Koden B01C betyder skyddat nummer. Utgående telefonnummer registreras enligt följande: När första siffran slås startas registreringen. En timer nollställs för varje ny siffra som slås. När timern når värdet 8 sek avslutas registreringen och numret anses vara färdigslaget. Den röda lysdioden ska alltid lysa när Televisa är på, den gröna lysdioden lyser när det finns telefonposter att det syns om någon har ringt när PC:n är avstängd.
När resetknappen S1 är utsläppt kan microdatorn programmeras med ny programvara ifrån PC:n, man behöver alltså ingen speciell programmerare till Televisas microdator. Allt som behöver göras när du byggt din Televisa är att släppa ut knappen och välja Arkiv/Programmera ifrån Televisa.exe, även uppdateringar införs på detta enkla sätt.
Televisa finns både i en hålmonterad version och i en ytmonterad version. Den ytmonterade versionen kallas Televisa SMD (Surface Mount Device) och den är dessutom dubbelsidig. De båda versionerna är helt identiska. Är du nybörjare rekommenderas den hålmonterade versionen. Televisa SMD rekommenderas för dig med lite vana och som vill prova på ett dubbelsidigt kort med ytmonterade komponenter.
De kommandon som Televisa skickar är:
* S - Detta kommando skickas när Televisa slås på.
* N - Med detta meddelande meddelar Televisa PC:n att det finns telefon poster att hämta.
* R - Meddelar bara att en ringsignal detekterats.
* K - Bekräftar mottaget kommando.
* H - D[tel.nr] har skickats till Televisa då luren var pålagd.
När ett telefonnummer mottagits skickas det till datorn tillsammans med tid och datum utan att begäran gjorts så att det är möjligt att se vem det är som ringer. Något N skickas inte p.g.a. någon sluttid ännu inte kunnat fastställas. Detta nummer bör ignoreras av ev statestikprogramvara i PC:n. Televisa.exe ignorerar detta.
De kommandon Televisa svarar på är:
* I - Identifieringssträng, ex: "Televisa V1.0"
* N - Hämta telefonposter. Om några poster finns i Televisa skickas dem till datorn formatet är:
Telefonnr Incomming/Outgoing StartTimeDate – StopTimeDate.
Ex: 017171393 I 991014 23:52:00 – 991015 01:15:16
* G - Hämta nuvarande tid och datum från Televisa.
* S[Datum Tid] - Sätter datum och tid. Ex S991014 23:53:10
* D[Tele.nr] - Sänder ut telefonnumret, observera att luren måste vara lyft.
När Televisa skickar information kan den inte ta emot information från PC:n. När Televisa är upptagen läggs CTS låg i serieporten.
I dagsläget består är detta ett mycket enkelt program som egentligen bara visar informationen som Televisa skickar. För en kreativ person finns här mycket kvar att utveckla!
Information om ett telefonnummer visas i tabellform med följande kolumner:
* Name - Ett valfritt namn som kopplas till telefonnumret, när ett nytt namn registreras är detta fält tomt.
* Tel.Nr - Här visas telefon numret.
* Nr in - Antalet inkommande samtal till detta telefonnummer.
* Nr out - Antalet utgående samtal till detta telefonnummer.
* Date in - Datumet för det senaste inkommande samtalet.
* Date out - Datumet för det senaste utgående samtalet.
* Total in - Den totala tiden för inkommande samtal till detta nummer.
* Total out - Den totala tiden för utgående samtal till detta nummer.
Programmet läggs lämpligtvis in i autostart så att det alltid är igång, ett tips är även att ange att programmet ska starta i minimerat tillstånd under egenskaper för den genväg som läggs i autostart. När programmet är minimerat visas endast en liten icon i "icon-tray", med ett klick på iconen maximeras programmet. Vid programstart töms Televisa på ev telefonposter. Under Arkiv/Inställningar kan serieport väljas här väljs även namnet på telefonpostfilen och även det riktnummerområde man befinner sig i, denna sträng läggs till utgående samtal som inte startar med en nolla. Programinformation och versionsnummer finns under Hjälp/Om Televisa.
Med Arkiv/Programmera programmerar du microdatorn i Televisa, detta gör du när du först byggt din Televisa och för att införa uppdateringar.
Den erfarne Linux-programmeraren kan enkelt skriva om ovanstående program till Linux och presentera informationen grafiskt med X-Windows. Glöm dock inte bort att meddela Admittansen att du skrivit ett sådant program!
Börja med att skriva ut mönsterkortslayouten (Televisa PCB 1.0 Bottom Layer) på vanligt papper. Tag bort skyddsfilmen från laminatet. Placera laminatet på en skiva med fotoresisten uppåt. Placera mönsterkortslayouten på laminatet, Texten "Admittansen 2000" ska gå att läsa på kortets undersida när kortet är klart, mönstret ska bli rätt om du vänder trycket på pappret nedåt. Placera nu en glasskiva ovanpå laminatet och pappret och belys kortet med UV-ljus i ca 15 min
Framkalla därefter mönstret med framkallningsvätska, vagga kortet fram och tillbaka tills all fotoresist som ska bort har försvunnit. Det sista steget är nu själva etsningen, placera kortet i ett etsbad och vagga kortet fram och tillbaka tills all koppar som ska bort har försvunnit. Efter avsköljning med rikligt med vatten är kortet klart för borrning. Om något i ovanstående är oklart be då om hjälp istället för att förstöra utrustning och hälsa.
Kontrollera kortet så att inga oönskade koppar rester finns kvar och att alla ledare är hela, annars är det bara att försöka igen med ett nytt kort. Borra upp alla lödpaddar med en 0.8 mm borr. Gör även hål för telejacket, D-Subs höljet och strömuttaget. Fila därefter till kortet så att det passar bra i lådan. Montera alla kontakter och gör upp hål i lådan så att kortet passar. Nu är det dags att börja löda. Löd dit komponenterna en efter en. Titta på komponentplacerings schemat för att identifiera var komponenterna ska sitta. Var noggrann så blir kortet både snyggt och funktionellt. När allt är monterat är det äntligen dags att provköra Televisa. Om du tycker att du lyckats bra kan du bara koppla in din nybyggda Televisa till PC:n och välja Arkiv/Programmera ifrån Televisa.exe, därefter ska allt fungera. Om du vill kontrollera din Televisa steg för steg följer du felsökningsbeskrivningen nedan.
Tillverka koret enligt beskrivningen ovan men med följande ändringar. Börja med att skriva ut mönsterkortslayouten (Televisa SMD 1.0 Bottom Layer och Top Layer) på vanligt papper. Placera de två utskrifterna mot varandra med trycket på insidan. Tejpa ihop sidorna på papperna så att det liknar ett kuvert. Tag bort skyddsfilmen från båda sidorna på laminatet. Placera laminatet innuti kuveret och fixera det. Framkalla sedan kortet på båda sidorna, ca 15 min på varje sida. Framkalla, etsa, borra, fila och såga enligt ovan. Eftersom kortet är dubbelsidigt behöver ett antal via-hål monteras. Ett enkelt sätt att tillverka dessa är att borra via-hålen med 0,6 mm borr och montera små kabelstumpar i hålen (ca 4mm långa). Ändarna på kabelstumparna kan med fördel klämmas till i ändarna med en plattång så att de hålls på plats under lödarbetet. Se till att isolera kristallen när den monteras, så att metallhöljet inte går emot ledningsbanorna. Det går bra att använda hålmonterade varianter av PC817, benen behöver bara klippas av och bockas för att passa.
Kontrollera först att IC1, IC2 och IC8 har 5v matningsspänning. Har de inte det är det fel på nätdelen, dioderna, spänningsregulatorn eller mönsterkoret. Om alla kretsar har matningsspänning och det inte luktar bränt någonstans kan du faktiskt pusta ut en smula innan du går vidare. Koppla in Televisa till datorn och programmera den med DEBUG.HEX, genom att välja Arkiv/Programmera ifrån Televisa.exe. Om detta misslyckas är det något fel på optokopplarna eller dess kringkomponenter, kontrollmät varje komponent med en multimeter tills du hittat felet. Det kan också vara så att din serieport inte orkar driva optokopplarna, vissa serieportar i bärbara datorer har strömsnåla portar som kan ställa till problem. Kontakta Admittansens styrelse för en lösning på problemet. Starta nu ett terminalprogram på PC:n, t ex Hyperterminalen, och välj 1200 bps, 8 bitar, ingen paritet och en stoppbit. Debugprogrammet fungerar enligt följande: När Strömmen är på ska den röda lysdioden lysa. Om ett "I" skickar debugprogrammet en identifikationssträng, t ex "Televisa Debug V1.0". När telefonlurens läge ändras från pålagd till lyft skickas ett "L" och när man lägger på skickas ett "P". Vid ringsignal ska ett "R" skickas. Så de nummerslagningar som görs på telefonen skickas direkt till PC:n. Om inte L och P visas korrekt är det något fel kring Q1, Q2 eller R1. Om inte R visas korrekt är det något fel kring Q3. Om det inte går att ta emot eller skicka några DTMF siffror är det något fel kring det analoga filtret. När du fått alla delarna att fungera är det dags att programmera Televisa med den riktiga TELEVISA.HEX. Allt bör nu fungera.
Var noggrann och metodisk. Var försiktig med lödpennan, den är varm. Var även försiktig med syrorna, de fräter.
Din Televisa är inte godkänd för det allmänna tele-nätet och får därför inte kopplas in till detta nät.
Bygget byggs på egen risk, Admittansen kan ej stå till svars för ev skador som byggandet eller användandet av Televisa medför.
Televisa är fri att bygga för privat bruk. Det enda kravet Admittansen har är att alla förbättringar som görs måste meddelas till Admittansen, så att vi också kan ta del av dem. Alltså om du förbättrar Televisa så skicka förbättringarna till oss på: styrelsen@admittansen.studorg.liu.se
För att Televisa ska få användas kommersiellt krävs först tillstånd av Admittansen.
Komponent |
Antal |
Benämning |
Elfa-artikelnr. |
Pris/st i Elfa katalog 48 |
SMD-version |
SMD |
IC1 |
1 |
Microdator AT90S2313-10PI |
73-665-78 |
38:50 |
73-665-60 |
38:50 |
IC2 |
1 |
2 KB EEPROM 24LC16 |
73-655-96 |
14:30 |
73-656-04 |
14:30 |
IC3 |
1 |
Spänningsstabilisator 7805, 5v |
73-264-08 |
4:90 |
73-302-10 |
4:90 |
IC4,5,6,7 |
2 |
2 st dubbla optokopplare |
75-350-16 |
14:90 |
|
|
D1 |
1 |
Röd lysdiod |
75-002-34 |
1:77 |
|
|
D2 |
1 |
Grön lysdiod |
75-002-42 |
1:60 |
|
|
D3,4,5,6,7 |
5 |
Diod |
70-005-57 |
1:00 |
70-300-67 |
2:00 |
DZ1 |
1 |
Zenerdiod 5.6v |
70-053-90 |
1:04 |
70-323-11 |
1:83 |
Q2,3,4,6 |
4 |
NPN Transistor |
71-055-21 |
1:50 |
71-303-70 |
1:50 |
Q1,5,7 |
3 |
PNP Transistor |
71-055-54 |
1:50 |
71-304-20 |
1:50 |
S1 |
1 |
Tryckströmställare |
35-636-16 |
16:70 |
|
|
X1 |
1 |
9.83 MHz kristall |
74-504-89 |
18:10 |
|
|
C1,2 |
2 |
Kondensator 33pF |
65-706-26 |
2:39 |
65-778-45 |
2:48 |
C4 |
1 |
Kondensator 47nF |
65-716-24 |
2:58 |
65-776-47 |
2:43 |
C3,5,8 |
3 |
Kondensator 220nF |
65-727-13 |
3:80 |
65-777-04 |
3:81 |
C6 |
1 |
Kondensator 10uF |
67-002-49 |
1:89 |
67-728-00 |
17:00 |
C7 |
1 |
Kondensator 100uF |
67-013-95 |
3:83 |
67-726-85 |
17:00 |
R1,11 |
2 |
Motstånd 1.2k |
60-105-08 |
2:25 |
60-195-17 |
2:00 |
R12 |
1 |
Motstånd 1.8k |
60-105-24 |
2:25 |
60-195-58 |
2:00 |
R13 |
1 |
Motstånd 390 |
60-104-41 |
2:25 |
60-193-92 |
2:00 |
R2,6,9,10,14,15,18,19,20,21 |
11 |
Motstånd 10k |
60-106-15 |
2:25 |
60-197-31 |
2:00 |
R3,4,5 |
3 |
Motstånd 3.3M |
60-109-12 |
2:25 |
60-203-33 |
2:00 |
R7,8 |
2 |
Motstånd 470 |
60-104-58 |
2:25 |
60-194-18 |
2:00 |
P1 |
1 |
Telefon-jack |
42-688-19 |
17:00 |
|
|
P2 |
1 |
DC-jack |
42-051-59 |
12:80 |
|
|
P3 |
1 |
25-pol DSUB |
44-057-26 |
22:30 |
|
|
Låda |
1 |
Plastbox DB25, benvit |
50-291-78 |
33:40 |
50-288-32 |
31:20 |
Totalt – Elfa |
|
|
297:19 |
|
324:12 |
|
Moms |
|
|
|
74:30 |
|
81:03 |
|
|
|
|
|
|
|
|
Antal |
Benämning |
Biltema-artikelnr. |
Pris/st i Biltema katalog 100 |
|
|
|
1 |
Telefonkabel 5m |
22-834 |
14:90 |
|
|
|
1 |
Telefonpropp |
22-806 |
29:90 |
|
|
|
1 |
Nätadapter |
38-390 |
39:90 |
|
|
Totalt – Biltema |
|
84:70 |
|
|
|
|
Totalt |
|
|
|
456:19 |
|
489:85 |
Admittansen kan (eventuellt) genom inköp i stora kvantiteter och genom sponsring erbjuda Televisa till ett betydligt bättre pris än Elfa. Kontakta därför Admittansens styrelse innan du börjar för aktuellt pris.
winTelevisa fungerar bäst om man har COMCTL32.DLL V4.71 (medföljer IE4) eller nyare. Den kan laddas hem från www.microsoft.com/downloads (Sök på COMCTL32 för ditt OS)