PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan...

19
§ § § Mijn project bij Research & Design § § § Auteur: Henk Stitselaar § Verslag nr: 2 § Klas: E432 § Praktijkbegeleider: G. de Graaf § Inleverdatum: 28-10-‘05 PSTN to IP Converter

Transcript of PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan...

Page 1: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

§ § § Mijn project bij Research & Design § §

§ Auteur: Henk Stitselaar § Verslag nr: 2 § Klas: E432 § Praktijkbegeleider: G. de Graaf § Inleverdatum: 28-10-‘05

PSTN to IP Converter

Page 2: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

1

Inhoudsopgave

1. Inleiding…………………………………………………….…………... 2

2. Onderzoek ISDN-AB Interface…………………………………………. 3

2.1 Componentenopstelling/sporenplan……………………….. ……… 3

2.2 Componenten determineren………………………………………... 4

2.3 Schema tekenen…………………………………………………….. 5

3. De Ag1170……………………………………………………………… 6

4. De CMX605…………………………………………………………….. 8

5. Het Prototype…………………………………………………………… 10

5.1 Blokschema………………………………………………………… 10

5.2 Globale werking……………………………………………………. 10

5.3 Stroomkringschema………………………………………………… 11

5.4 De ‘51 PLUS’ microcontroller kaart……………………………… 12

6. Software………………………………………………………….……... 13

6.1 Functies…………………………………………………………….. 13

6.2 Programma Structuur Diagram……………………………………. 13

6.3 Communicatie via de C-Bus………………………………………... 13

6.4 De Software………………………………………………………… 15

7. Testen…………………………………………………………………… 16

8. Conclusie……………………………………………………….. ……… 17

9. Bronnen…………………………………………………………………. 18

Bijlage 1 – Tiptel Componentenopstelling / Sporenplan Bijlage 2 – Stroomkringschema Prototype Bijlage 3 – Programma Structuur Diagram Bijlage 4 – Software

Bijlage 5 – Foto’s van het prototype

Page 3: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

2

1. Inleiding

In dit verslag zal ik wat dieper ingaan op mijn project bij de afdeling Research & Design. Zoals ook al in de inleiding van mijn eerste verslag beschreven stond heb ik daar een aantal weken meegewerkt aan de ontwikkeling van een nieuw product: de PSTN to IP converter. Alarmcentrales die over deze interface beschikken zijn in staat om te communiceren door middel van het bekende IP-protocol. Het werk waarmee ik bezig ben geweest was meer van HTS-niveau, hierdoor was het voor mij een leuke uitdaging en zeker ook erg leerzaam. Ik heb deze periode veel zelfstandig gewerkt en problemen opgelost, en uiteindelijk is het nog gelukt ook. De eerste opdracht was het onderzoeken van een bestaande interface waarmee 2 normale telefoonlijnen aan een ISDN netwerk gekoppeld kunnen worden. Door middel van ‘reverse engineering’ ben ik er achter gekomen hoe het schema eruit zag. Het ging hierbij vooral om het gedeelte waar de hoge spanningen gegenereerd worden die nodig zijn voor een telefoonlijn. Vervolgens is er een handig IC uitgezocht waar al deze functies al in zitten, de Ag1170. Deze zogenaamde ‘Subscriber Line Interface Circuit’ is door de geïntegreerde dc/dc converter in staat om met slechts een 5V voedingsspanning alle benodigde spanningen op te wekken. Samen met de CMX605, een ‘Digital Line to POTS interface’, vormt dit IC het circuit waarmee een telefoonlijn opgezet een aangestuurd kan worden. De CMX605 communiceert via een seriële databus. Om dit aan te kunnen sturen is deze bus samen met een aantal andere datalijnen aangesloten op een microcontroller kaart. De software die hierin draait is geschreven in C. Het is de eerste keer dat ik met deze programmeertaal gewerkt heb. Ik heb toen een prototype gemaakt met deze 2 IC’s en de microcontroller kaart, waarmee aangetoond kon worden dat de Ag1170 in deze schakeling functioneerde zoals verwacht. Tijdens het project heb ik de beschikking gehad over mijn eigen kantoor (zie afb. 1). Het was eerst wel even wennen om de hele dag alleen te zitten maar het heeft wel het voordeel dat je rustig en geconcentreerd kan werken.

Afb.1 – Mijn eigen werkplek

Page 4: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

3

2. Onderzoek ISDN-AB Interface

Het eerste wat ik gedaan heb was ‘reverse engineering’. Dit apparaat bevat een schakeling waarmee een telefoonlijn aangestuurd wordt. Door de sporen op de print te volgen en te kijken welke componenten gebruikt zijn heb ik het schema kunnen tekenen. Hier zie je een foto van het apparaat, de ‘Tiptel’ ISDN-AB interface (zie afb. 2).

Afb. 2 – De ISDN to AB Interface

2.1 Componentenopstelling / Sporenplan Om te beginnen heb ik eerst een manier proberen te vinden om het sporenplan vast te leggen en zo te kunnen zien hoe de componenten onderling verbonden zijn. De reden dat ik dit zo gedaan heb is omdat het een dubbelzijdige print was met smd-componenten aan de onderzijde, en twee extra koperlagen binnenin voor de voedingsspanning. Ook gingen de sporen via doorverbindingen van de ene naar de andere kant. Hierdoor werd het haast onmogelijk om in 1 keer een schema op papier te tekenen. Ik heb toen eerst de print met de belangrijkste componenten nagetekend, en later alle andere componenten ingevuld. Daarna heb ik alle sporen en doorverbindingen erbij getekend. Vervolgens heb ik dit aan de andere kant van het papier gedaan voor de onderkant van de print, zodat de boven en onderkant precies in elkaar passen. Op deze manier heb ik de gehele print overgebracht op papier (zie afb. 3 op de volgende pagina). Doordat je tijdens het natekenen en volgen van de sporen intensief bezig bent met de print krijg je steeds meer inzicht in hoe alles verbonden is met elkaar en wat de afzonderlijke onderdelen van het schema ongeveer moeten worden. Een ding wat me opviel was dat de circuits achter de twee telefoonaansluitingen vrijwel identiek waren. Daardoor kon ik me concentreren op één gedeelte. En door de twee helften te vergelijken was het ook makkelijker te zien hoe het circuit in elkaar zat. Voor de originele tekening zie bijlage 1 (Tiptel Componentenopstelling/Sporenplan). Als je de tekening in het licht houdt kun je alle sporen volgen zonder het papier om te hoeven draaien, iets wat met de printplaat zelf niet mogelijk is.

Page 5: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

4

Afb. 3 – De print op papier

2.2 Componenten determineren Nu het sporenplan bekend is wordt het tijd voor de volgende stap. Om een schema te kunnen tekenen moet natuurlijk wel duidelijk zijn wat voor componenten er gebruikt zijn. Nu komt de tekening ook weer goed van pas, want ik heb alle componenten een eigen code gegeven. Hierdoor is in de componentenlijst makkelijk te zien welke componenten er allemaal gebruikt zijn, en is tijdens het tekenen van het schema de kans klein dat ik per ongeluk hetzelfde component 2 keer gebruik. Om de waardes van de kleine componentjes af te kunnen lezen heb ik eerst eens een tijdje achter de microscoop gezeten. De waardes van SMD componenten zijn erg lastig te achterhalen heb ik wel gemerkt. Bij de weerstanden valt het nog wel mee: Op een weerstand staan 3 getallen, de eerste 2 geven de waarde aan en het laatste cijfer staat voor het aantal nullen. 122 betekend bijvoorbeeld 1K2, en 1R0 is 1Ohm. De transistoren zijn wat moeilijker te achterhalen, maar na wat speurwerk op internet heb ik een site gevonden waar alle codes te vinden zijn. Als je bijvoorbeeld zoekt op 1A zijn er een aantal verschillende componenten mogelijk, door hun datasheets te bekijken en of ze in de rest van het circuit passen is te achterhalen welk component het zou moeten zijn. Het moeilijkste component was toch wel de SMD-condensator, in de meeste gevallen staat hier niet eens een code op. Een manier om achter dit soort componenten te komen is door de datasheet van bijvoorbeeld een IC erbij te pakken en te kijken wat het aanbevolen aansluitschema voor componenten bevat. Vaak is het circuit zoals het aangegeven staat in een datasheet ook in het apparaat toegepast.

Page 6: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

5

2.3 Schema tekenen Tenslotte kan het stroomkringschema gemaakt worden. Het is best moeilijk om een punt te vinden waar je begint met tekenen, waar ik naar gezocht heb was een punt met een bepaalde ‘functie’. Een pootje van een IC bijvoorbeeld. Je weet dan wat de functie van deze pin is, dus wat er daarvoor gebeurt, en je kan dan het schema verder uitbouwen. Ik ben eerst begonnen te werken vanaf de IC’s. Alleen later bleek dat dit net een stap te ver was en dat het echt ging om wat er daarvoor gebeurde.

Toen ben ik vanaf de andere kant begonnen, bij de aansluitingen van de telefoonlijn. Ik heb steeds een spoor gevolgd tot aan een component, en dan weer verder vanaf de andere pootjes van dit component. Op die manier ging ik steeds door, totdat ik weer uitkwam bij bijvoorbeeld een pootje van een IC, of een voedingsaansluiting. De eerste versie van het schema was nog niet echt duidelijk, alle verschillende schakelingen stonden door elkaar en soms was een gedeelte aan de ene kant van het papier verbonden met een circuit ergens aan de andere kant. Door de verschillende functies en schakelingen te achterhalen kon ik het schema steeds duidelijker maken. Toen ik het voor de derde keer getekend had (zie afb. 4) waren er al echt een aantal aparte schakelingen ontstaan waaronder de dc/dc converter, gerealiseerd door middel van een H-brug, het gedeelte waar de audio-signalen opgevangen en gedecodeerd werden, en nog een H-brug waar met de opgewekte spanningen een ring signaal op de lijn gezet kon worden.

Afb. 4 – Verschillende versies van het schema

Page 7: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

6

3. De Ag1170

Alle functies die bij de Tiptel door middel van losse componenten gerealiseerd zijn zitten bij de Ag1170 geïntegreerd in één handig IC (zie afb. 5). Dit brengt vele voordelen met zich mee, zoals ruimtebesparing op de print, kostenbesparing en eenvoudige reparatie. Dit IC zou ook in de PSTN to IP converter gebruikt kunnen worden en dat is precies wat ik uit moest gaan zoeken.

Afb. 5 – De Ag1170

Als eerste heb ik de datasheet doorgelezen en uitgezocht hoe het IC precies werkte. Ik heb uitgezocht wat de functies van de verschillende pootjes zijn en hoe ze aangestuurd moeten worden. Ook heb ik aan de hand van het voorgestelde aansluitschema in de datasheet een schema getekend en gekeken hoe het geheel zou werken. Ik zal nu globaal uitleggen hoe de Ag1170 werkt. Hier zie je een blokschema van het IC. De afkorting SLIC staat voor ‘Subscriber Line Interface Circuit’, dus een interface tussen de telefoonlijn en een circuit wat het audiosignaal verder verwerkt. Vin en Vout zijn de in- en uitgaande geluidssignalen. De telefoonlijn wordt aangesloten op TIP (A) en RING (B).

Een groot voordeel van de Ag1170 is dat het IC slechts een voedingsspanning van 5V nodig heeft. De benodigde hoge spanningen worden via een interne dc/dc converter opgewekt.

Page 8: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

7

Voor het prototype dat ik gemaakt heb waren een aantal functies nodig, die zal ik hier wat uitgebreider bespreken.

- Off-hook detectie Tijdens het testen van het prototype is er een telefoontoestel direct aangesloten op de Ag1170. Als de hoorn van het toestel opgepakt wordt, moet dit door de microcontroller gesignaleerd worden. Wanneer de stroomkring van de lijn gesloten wordt, en er een lijnstroom gaat lopen, wordt pin 5 (SHK) hoog. Deze pen is direct aangesloten op een poort van het microcontroller-board en is softwarematig ontdenderd, dit is om te zorgen dat korte pulsen geen vals signaal opleveren.

- Ringing signal Een andere interessante functie van mijn prototype is het opbellen van het aangesloten toestel. Hiervoor moet er een ring-signaal op de lijn worden gezet wat telkens 1 seconde aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, deze functie wordt aangestuurd via pin 4 (RM) en pin 3 (FR). Eerst wordt RM (Ringing Mode) hoog gemaakt, vervolgens wordt F/R (Forward/Reverse) met de gewenste frequentie geschakeld (+/- 25Hz). Er moet dus een blokgolf van ongeveer 25 Hz op komen te staan. Een belangrijk ding waar op gelet moet worden is dat wanneer de hoorn opgepakt wordt (SHK hoog), RM binnen 500ms laag gemaakt moet worden. Hier zie je de pin-indeling van de Ag1170:

Page 9: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

8

4. De CMX605

Vervolgens kreeg ik een datasheet van de CMX605. Dit is een Digital Line to POTS Interface, waarbij POTS staat voor Plain Old Telephone Service (het geschakelde telefoonnetwerk ofwel PSTN). Dit IC bevat een uitgebreide toongenerator en een DTMF-encoder/decoder. De aansturing en uitlezing gebeurt serieel via de zogenaamde C-bus. In het prototype wordt de CMX605 gebruikt om tonen op te wekken zoals de kiestoon, om de juiste frequentie van F/R te genereren en om DTMF-tonen die vanaf het toestel komen te decoderen.

Hierboven zie je het blokschema van de CMX605, ik zal nu een paar onderdelen uitleggen die ook in het prototype gebruikt worden.

- C-Bus Dit onderdeel zie je rechts bovenin het blokschema, de C-Bus bestaat uit 5 pennen: SERCK, COMDATA, REPDATA, CSN en IRQN. Via deze bus kan de CMX605 communiceren met de microcontroller.

§ SERCK = serial clock (klokpuls) § COMDATA = command data (input data vanaf de uC) § REPDATA = reply data (output data naar de uC) § CSN = chip select (activeer communicatie) § IRQN = interrupt request (interrupt aanvraag)

Hoe de C-Bus aangestuurd wordt staat verder beschreven in hoofdstuk 6.3.

Page 10: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

9

- DTMF Tone Decoder Als er een DTMF-toon gedetecteerd wordt op de ingang wordt er een interrupt request gegenereerd door IRQN laag te maken. Via een van de registers is dan uit te lezen wat voor toon het is. Hieronder zie je een tabel met de DTMF-tonen en bijbehorende data.

- TONEFSK Dit is de uitgang waar alle tonen op komen te staan, deze pin wordt via een ontkoppelcondensator aangesloten op de ingang van de Ag1170.

- RING Als er voor bepaalde lage frequenties gekozen wordt dan komt deze frequentie niet op de TONEFSK-uitgang, maar op de RING-uitgang te staan. Een voordeel hiervan is dat deze uitgang nu rechtstreeks op de F/R ingang van de Ag1170 aangesloten kan worden. Als laatste nog even het schema van de CMX605, zoals je kan zien zijn er maar weinig externe componenten nodig.

Page 11: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

10

5. Het Prototype

Nu alle verschillende onderdelen onderzocht zijn en de werking van de gebruikte componenten duidelijk is kan het prototype gemaakt worden. Het doel van dit printje is om te laten zien dat de Ag1170 werkt zoals verwacht, en dat via de CMX605 een aantal tonen verstuurt en ontvangen kunnen worden. 5.1 Blokschema Hier zie je het blokschema van het prototype met de twee IC’s. Het blok met de naam uC is het microcontroller-board, wat dit is wordt zo in hoofdstuk 5.4 uitgelegd.

5.2 Globale werking De telefoon wordt aangesloten op A en B, dit is de analoge telefoonlijn. Vin en Vout staan direct in verbinding met deze lijn. Als er op het toestel een toets ingedrukt wordt dan komt het DTMF-signaal op Vout en de ingang van de CMX605 te staan., via de C-Bus is deze toon dan weer als data in te lezen door de microcontroller. Dit kan ook andersom, om een signaal op de lijn te zetten moet via de C-Bus een toon geselecteerd worden in een ‘toon-veld’ van de CMX605 waarna dit signaal via Vin van de Ag1170 op de lijn gezet wordt. Om het toestel op te bellen wordt RM eerst hoog gemaakt waarna via de CMX605 een blokgolf op F/R gezet wordt. Omdat de RING uitgang van dit IC in rust laag is, en de F/R ingang van de Ag1170 in rust hoog moet zijn, zit hier een inverter tussen. Verder kan via SHK gekeken worden of de hoorn van de haak is.

Page 12: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

11

5.3 Stroomkringschema Omdat er vrij weinig extra componenten nodig zijn lijkt het schema in sommige opzichten wel wat op het blokschema. Een aantal dingen die erbij komen zijn het kristal van de CMX605, de ontkoppelcondensatoren tussen de IC’s en de ontstoring van de voedingsspanning. Een speciaal component is de BLM21, dit onderdeel zorgt ervoor dat de hoge frequenties uit de voedingsspanning gefilterd worden. Zie bijlage 2 (Stroomkringschema prototype) voor het volledige schema.

Hier zie je enkele foto’s van het door mij vervaardigde prototype (zie afb. 6 en 7). De CMX605 is uitgevoerd als SMD. Dit IC zit op een apart stukje printplaat, en is verbonden met de rest van de schakeling via draadverbindingen. Als bijlage 5 zijn als extraatje nog 2 uitvergrote foto’s toegevoegd.

Afb. 6 – Onderkant print

Afb. 7 – Bovenkant print

Page 13: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

12

5.4 De ’51 PLUS’ microcontroller kaart Omdat de aansturing van de schakeling nogal complex is wordt er gebruik gemaakt van een microcontroller kaart (zie afb. 8). Het grote voordeel van een microcontroller is dat je de werking van een schakeling snel aan kunt passen door nieuwe software te downloaden. Doordat ik tijdens het testen veel volgens de trial-and-error methode gewerkt heb is dit dan ook vaak voorgekomen. Het werken met deze microcontroller kaart was vergelijkbaar met wat we op school met de Bitsim gedaan hebben.

Afb. 8 – De ‘51 PLUS’ microcontroller kaart

In het prototype dient de microcontroller kaart als interface tussen de bediener en de schakeling. Via de LED’s is uit te lezen of de hoorn opgenomen is, of er gebeld wordt en wat voor DTMF toon er gedetecteerd wordt. En door de schakelaars in te drukken kunnen er tonen verzonden worden. De microcontroller is van de 8051 familie. De software die erin draait is hoofdzakelijk geschreven in C, sommige gedeeltes waarbij precieze timing nodig is zijn nog wel in assembly (machinetaal) geschreven. Hoe de software in elkaar zit en hoe het programma precies werkt staat beschreven in het volgende hoofdstuk.

Page 14: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

13

6. Software

De hardware is nu klaar, maar om een werkend prototype te krijgen is er nog meer nodig. Er moet nog software geschreven worden voor in de microcontroller, dit gebeurt in C. Het is de eerste keer dat ik met deze programmeertaal gewerkt heb, en omdat ik dit eerst heb moeten aanleren was dit een erg leerzaam onderdeel. 6.1 Functies Ik ben begonnen met het bepalen van de functies van de software, hier zie je een aantal functies die met de microcontroller-kaart gerealiseerd zijn:

• SHK ontdenderen en Off-hook conditie detecteren • Kiestoon op de lijn zetten • De CMX605 resetten en initialiseren • Communicatie met de CMX605 via de C-Bus • Data omzetten van parallel naar serieel en andersom • DTMF-tonen op de LED’s laten zien • Toestel oproepen na het indrukken van een schakelaar • Een pulserend Ring-signaal op de lijn zetten

(Hiervoor zijn timers nodig) • Toon verzenden bij het indrukken van een schakelaar

6.2 Programma Structuur Diagram De volgende stap was het maken van een Programma Structuur Diagram, dit is een handig hulpmiddel bij het schrijven van de software. Het programmaverloop wordt duidelijker en er is te zien welke subroutines er gemaakt kunnen worden. Zie bijlage 3 voor het uitgewerkte Programma Structuur Diagram. 6.3 Communicatie via de C-Bus Een onderwerp waar ik extra aandacht aan wil besteden is de communicatie met de CMX605. Zoals al in hoofdstuk 4 beschreven stond heeft dit IC een seriële databus, de zogenaamde C-Bus. Het volledige communicatieprotocol inclusief de juiste timing heb ik zelf ontworpen aan de hand van de datasheet. Het was een behoorlijke uitdaging, maar het gaf daarom ook een grote voldoening om het uiteindelijk te zien werken. Op de volgende bladzijde staat een afbeelding met de registers van de CMX605. (zie afb. 9)

Page 15: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

14

Afb. 9 – De registers van de CMX605

- RESET Register Door dit adres te selecteren wordt de CMX605 ge-reset, vervolgens moet er minimaal 50ms gewacht worden zodat het IC zich kan stabiliseren.

- SETUP Register Via dit register kunnen een aantal functies aan- of uitgeschakeld worden, bitje 7 wordt bijvoorbeeld laag gemaakt omdat de extra OpAmp niet gebruikt wordt.

- MODE Register Dit register bevat, naast een aantal andere functies, 2 bits waarmee het gewenste ‘toon-veld’ geselecteerd kan worden. De CMX605 bevat 4 toon-velden die elk weer een selectie van verschillende tonen bevatten, onder andere de kiestoon van 350Hz.

- TXTONES Register Als het juiste toon-veld geselecteerd is kan het specifieke adres van de toon in dit register neergezet worden.

- STATUS Register Dit is het enige register wat uitgelezen kan worden. Wanneer er een DTMF signaal gedetecteerd is wordt bit 5 hoog, hierdoor wordt IRQN omlaag getrokken (aanvraag van een interrupt). In bit 0 t/m 3 staat vervolgens aangegeven welke DTMF toon er gedetecteerd is.

Page 16: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

15

Zowel de microcontroller als de CMX605 werken met 8 bits brede registers, maar de C-Bus is serieel. Het is dus nodig om de data om te zetten van parallel naar serieel en andersom, dit is ook in de software verwerkt. Hieronder zie je het gedeelte uit de datasheet waar de timing van de C-Bus beschreven staat. Alles uitleggen zou te ingewikkeld worden, maar het plaatje geeft toch een beetje een indruk hoe de bus ongeveer werkt. CSN wordt eerst laag, de chip wordt geselecteerd. Vervolgens wordt de data ingeklokt bij elke opgaande flank van Serial clock. Tussen zenden en ontvangen, en tussen de verschillende transacties, moet een korte tijd gewacht worden

6.4 De Software Als het goed is heb je nu zo ongeveer door wat de software allemaal kan, nu is het ook makkelijker om het programma te lezen. De volledige software is te vinden in bijlage 4. Tenslotte zie je hier nog een foto die gemaakt is tijdens het schrijven en testen van de software (zie afb. 10).

Afb. 10 – Software ontwikkeling

Page 17: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

16

7. Testen

Toen alle hardware en software compleet was kon begonnen worden met testen. Hier zie je een foto van de testopstelling met de meetapparatuur, een telefoontoestel en het prototype (zie afb. 11).

Afb. 11 – De testopstelling

Het testen ging voornamelijk volgens de trial-and-error methode. Door het apparaat maar gewoon op te starten en te kijken bij welke handeling het anders loopt dan verwacht zijn problemen op te sporen. Door dit probleem dan uit te zoeken en op te lossen kom je steeds een stap verder. Als er een fout was lag dit in de meeste gevallen aan de software, dit is gelukkig makkelijk en snel aan te passen. Als de fout in de hardware zat, bijvoorbeeld toen ik de telefoon niet over kon laten gaan. Moest ik met behulp van de oscilloscoop gaan meten waar de fout zat en of het signaal wel goed doorkwam. Later bleek dat er in het schema een foutje zat. Toen heb ik, in plaats van een condensator, een inverter in de vorm van een IC geplaatst tussen de RING output van de CMX605 en de F/R ingang van de Ag1170. (zie ook het blokschema in hoofdstuk 5.1)

De leukste momenten waren toch wel het horen van de kiestoon bij het oppakken van de hoorn en het rinkelen van de telefoon, ik had van te voren niet verwacht dat ik in staat was om zelf een operationele telefoonlijn te kunnen maken.

Page 18: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

17

8. Conclusie

De belangrijkste conclusie die ik toch wel kan trekken is dat ik heel erg veel geleerd heb tijdens dit project. Ik ben bezig geweest op HTS niveau en heb veel zelfstandig naar oplossingen en informatie gezocht, ik heb aan ‘reverse engineering’ gedaan, ik heb leren programmeren in C, nieuwe componenten leren kennen, zelf een programma geschreven voor seriële communicatie, fouten opgespoord en opgelost in de hard- en software en een aantal weken lang de sfeer geproefd op de afdeling Research & Design. Ik ben er ook achter gekomen dat dit wel het werk is wat ik later zou willen gaan doen. Het is op zo’n niveau dat je goed moet nadenken, bijvoorbeeld met het schrijven van software of het tekenen van een schema, maar tegelijkertijd kan het ook voorkomen dat je aan het solderen bent aan een prototype. Dus op hoog niveau, en toch direct met het eindproduct bezig. Uiteindelijk heb ik een werkend prototype gemaakt en aangetoond dat de Ag1170 inderdaad gebruikt kan worden in de PSTN to IP converter. Het project is geslaagd!

(Hier zie je alle aantekeningen die ik gemaakt heb tijdens het project, alles bij elkaar wel meer dan 50 kantjes A4 papier)

Page 19: PSTN to IP Converter - open4u.nlopen4u.nl/Landstede/BPV/Documenten/PSTN2IP.pdf · aan is en dan weer 3 seconden uit. De Ag1170 is in staat om dit signaal zelf te genereren, De Ag1170

18

9. Bronnen

Hier zie je een lijst met alle documentatie die ik gedurende het project gebruikt heb: Ø Het boek: Programmeren in C

Ø Datasheets:

§ Ag1170 § CMX605 § PSB2163 § CM8870 § ‘Altera’ Programmable Logic Device § Diverse andere datasheets van verschillende componenten

Ø Internet:

§ www.digichip.com § www.google.nl (voor alle kleine vragen)