Samenvatting
In het kader van het afstuderen is een schakeling ontworpen, die analoge meetwaarden digitaal over een glasvezel verzendt. De schakeling is ontworpen volgens een van te voren bepaald concept. De ontwikkelde schakeling is beoordeeld op de prijs en bruikbaarheid. Omdat de schakeling niet aan de eisen, die werkelijk gebruik stelt, voldoet, zijn er alternatieven aangegeven.
1. Inleiding
In het afgelopen jaar is onderzocht, hoe met behulp van glas vezels spanningen gemeten kunnen worden. Het was de bedoeling, om glasvezelsystemen in convertors te gebruiken. Gedurende het afstudeerwerk heb ik een meetsysteem gebouwd.
Verder is er aandacht besteed aan een aantal randgebieden. De afstudeeropdracht ging uit van een electrisch metend systeem dat de informatie digitaal over de glasvezel zou verzenden. Vandaar redelijk veel tijd is besteed aan de A/D-conversie. in de appendices is een bepaald type A/D-convertor, de tracking, uitgebreid doorgelicht.
1.1. De opdracht
De opdracht was een onderzoek naar de transmissie van meetsignalen over een glasvezelverbinding door middel van deltamodulatie teneinde common-mode storing te elimineren en een volledige galvanische isolatie te bereiken.
In de originele opdracht was sprake van een systeem met 10 bits data, 1Mbaud zendfrequentie. Bovendien werd er uitgegaan van een digitale koppeling met vervolgschakelingen. De vervolgschakeling bestaat in werkelijkheid slechts uit een D/A-convertor.
Bovendien werd er een mogelijke realisatie voorgesteld. Die mogelijkheid bestond uit een tracking A/D-convertor, een glasvezel verbinding en een ontvanger. Een schakeling met een dergelijke opbouw is ontworpen en doorgemeten. Omdat het niet mogelijk is om op deze manier aan de specificaties te voldoen zijn een tweetal alternatieven beschreven.
1.2. Randgebieden
Er is ook aandacht besteed aan een aantal randgebieden. Zo is het optisch meten van de spanningen beschreven. Deze methode wordt op het ogenblik gebruikt bij de KEMA voor het meten in electrisch storende omgevingen.
Natuurlijk is de tracking A/D-convertor uitgebreid beschreven. Allerlei mogelijkheden, zoals de fixed stepsize en een tweetal continu variabele stepsize algoritmen staan beschreven in de appendices.
Ook is aandacht besteed aan een regelalgoritme voor de spanning op resonante condensatoren, die de nadelen van de gebouwde schakeling ondervangt. Deze regeling hebben we First Phase Predictor genoemd. in de appendices wordt een eerste aanzet gegeven tot die regeling.
1.3. Opbouw van het verslag
In het verslag zelf heb ik me zo veel mogelijk beperkt tot de afwegingen en principes van de schakeling. Vaak zijn uitgebreidere achtergrondinformatie en gedetailleerde beschrijvingen in de appendices opgenomen.
Achterliggende theorie, zoals de beschrijvingen van de verschillende soorten tracking A/D-convertors, en de randgebieden, zoals het optisch meten van spanningen, zijn in de appendices opgenomen.
Het verslag zelf begint met het ontwerp van een schakeling, zoals die gesuggereerd was in de afstudeeropdracht. Deze schakeling is doorgemeten en wordt geëvalueerd. Tenslotte worden een tweetal alternatieven gegeven, die een aantal nadelen moeten ondervangen.
2. Probleemstelling
2.1. Inleiding
Electronische convertors worden steeds vaker met complexe regelingen uitgevoerd. Deels omdat het functioneren van de convertor dit eist (zoals bij serie-resonante systemen), deels vanwege de toepassingen (zoals robot-armen).
Dergelijke complexe regelingen zijn relatief gevoelig voor grote storingen, zoals common mode spanningen. Zeker wanneer de regeling direct ingrijpt op het functioneren van de convertor, is het nodig om hier extra aandacht aan te besteden.
Het is ook mogelijk om de regeling galvanisch te scheiden van de werkelijke convertor. De gegevens, die voor de regeling nodig zijn, kunnen dan bijvoorbeeld over een glasvezel verzonden worden. Door dan het meetcircuit klein te houden, kunnen de storingen van de convertor grotendeels buiten de deur worden gehouden.
Ook moet de nodige aandacht besteed worden aan de nauwkeurigheid van de meting. Het meetcircuit wordt namelijk opgenomen in een teruggekoppeld systeem. Fouten in de terugkoppeling hebben een grote invloed op de performance van het systeem.
2.2. De eisen aan de schakeling
Bij het uitreiken van de afstudeeropdracht zijn een aantal eisen opgesteld, waaraan de ontworpen schakeling zou moeten voldoen. Een aantal eisen is bijgesteld om de bruikbaarheid van de schakeling te vergroten
De eerste eis is het meetbereik. De schakeling moet een meetcircuit vormen voor electrische spanningen (+ 800V). Dit komt overeen met de te verwachten spanning op een resonante condensator. Als een schakeling een kleiner meetbereik heeft, kan dit eenvoudig met een weerstandsdeler ondervangen worden.
De ingang en de uitgang moeten galvanisch gescheiden zijn door een glasvezel. De baudrate over de glasvezel moet minimaal 1Mbaud zijn. in de ontworpen schakeling is dat 3Mbaud, wat ook nog aan de lage kant is.
2.3. Nog enige opmerkingen
Het was de bedoeling om de schakeling zo goedkoop te maken, dat deze zonder bezwaar in de meeste omzetters geplaatst zou kunnen worden. Deze overweging is slechts gedeeltelijk meegenomen bij het ontwerp. in het hoofdstuk redesign is aangegeven hoe de kosten geminimaliseerd zouden kunnen worden.
3. Globaal ontwerp
3.1. Inleiding
In principe zijn er verschillende methodes van elektrisch meten. We zouden bijvoorbeeld kunnen proberen om in het lineaire gebied van de glasvezel-zender en -ontvanger te werken. Verder is een glasvezel helemaal niet nodig. Het is ook mogelijk om de signaaloverdracht via opto-couplers te laten lopen.
De keuze was echter al op voorhand gemaakt. We zullen ons dus beperken tot een systeem, dat de spanningen digitaal over een glasvezel verzendt.
3.2. De A/D-convertor
Omdat het signaal digitaal over de vezel verzonden wordt, is het nodig het analoge signaal (de spanning) om te zetten in een digitaal equivalent. Hiervoor gebruiken we een A/D-convertor.
Er zijn verschillende soorten A/D-convertors, waarvan we er een aantal zullen beschouwen[2}). Allereerst de successieve approximatie. Dit is zonder meer de meest gebruikte methode. De uiteindelijke representatie van het analoge signaal wordt iteratief bepaald door halvering van intervallen. Deze manier van omzetten heeft een aantal nadelen. De meeste A/D-convertors van deze soort zijn relatief traag. Bovendien komt bij ieder sample een flank van de helft van het meetbereik voor.
Als tweede zullen we de Flash A/D-convertor bekijken. Deze bestaat uit een groot aantal comparators (257 voor 8 bits). Het grote voordeel van deze A/D-convertor is de snelheid. Als sample rate kan 16MHz aan gehouden worden. Het nadeel is de beperkte uitbreidbaarheid. Voor een extra bit moet men rekenen op een verdubbeling van het aantal comparators.
De derde convertor die we bekijken is de Tracking A/D-convertor. in zijn eenvoudigste vorm bestaat hij uit een teller en een comparator. Als het analoge signaal groter is dan zijn representatie wordt 1 bij de representatie opgeteld, anders wordt er 1 van afgetrokken. ingewikkeldere versies kunnen op allerlei manieren hun stapgrootte veranderen. Aan dit type A/D-convertor is nogal wat aandacht besteed. Een uitgebreide behandeling staat in de appendices.
Natuurlijk zijn er nog andere manieren, met hun eigen voor en nadelen. We zullen hier nog de ramp en compare noemen, die geen D/A-convertor nodig heeft, en de dual slope, die een relatief grote precisie/prijs verhouding heeft. Zij zijn echter vanwege hun traagheid niet interessant.
3.3. Seriële verzending
Nadat het analoge signaal digitaal is gemaakt, moet het over de glasvezel verzonden worden. Vanwege de prijs van de glasvezelcomponenten zal dit serieel moeten gebeuren. Seriële data-overdracht heeft een aantal specifieke problemen.
De ontvanger moet weten wanneer de data begint. De gebruikelijke manier hiervoor is het toevoegen van start- en stopbits. De ontvanger "locked" dan op deze bits, en kan daardoor bepalen wat de werkelijke data is. Als de combinatie van de stop- en startbits voorkomt in de data, is het mogelijk dat de ontvanger daarop locked. Hoe meer start- en stopbits, hoe betrouwbaarder de overdracht.
Een andere functie van de start- en stopbits is de synchronisatie van de zender en ontvanger. Doordat beide in principe asynchroon gekoppeld zijn, kunnen er kleine verschillen in klokfrequentie optreden. Deze kunnen dan tijdens de start- en stopbits worden weggepoetst.
3.4. De ontvanger
Het laagspanningsgedeelte ontvangt nu het seriële signaal. De ontvanger moet dit weer omzetten in een analoog signaal. Dat gebeurt met behulp van ontvangstlogica en een D/A-convertor.
De ontvangstlogica is opgebouwd rond een schuifregister. Dit schuifregister schuift de serieel verzonden databits een voor een naar binnen. Een toestandsmachine in een EPLD bepaalt wanneer geschoven mag worden.
3.5. De voeding
Er moet ook enige aandacht besteed worden aan de voeding van het hoogspanningsdeel. Deze voeding moet namelijk galvanisch gescheiden worden van het laagspanningsdeel. Bovendien mogen de effecten van de common-mode spanningen aan de ingang niet doorwerken naar het laagspanningsdeel.
Hiervoor is een standaard oplossing gekozen. De voeding van het hoogspanningsdeel wordt gevoed via een trafo met een kleine capaciteit. Dit is een hoogfrequent trafo. De primaire zijde wordt gestuurd via twee FET’s, die op hun beurt weer gestuurd worden uit wat digitale logica. Doordat de trafo een behoorlijke luchtspleet heeft, is de symmetrie van de sturing niet echt belangrijk. 3.6.Globaal ontwerp
We kunnen nu een globaal ontwerp van de schakeling maken.
De schakeling kunnen we in twee delen splitsen. Het eerste deel, voor de glasvezel, zullen we het hoogspanningsdeel noemen. Het tweede deel, na de vezel, noemen we laagspanningsdeel.
Het hoogspanningsdeel is onderverdeeld in de al eerder besproken blokken, de A/D-convertor en de seriële zender. Voor de A/D-convertor zullen we er een van het tracking type nemen.
De seriële zender bestaat uit een multiplexer en een glasvezelzender. De glasvezelzender en ontvanger zijn als setje gekocht, en zullen verder als black box beschouwd worden. De multiplexer zal ook een aantal start- en stopbits moeten toevoegen.
Het laagspanningsdeel bestaat uit een seriële ontvanger en een D/A-convertor. De seriële ontvanger zet het signaal van de glasvezel om in een parallel uit te lezen byte. De D/A-convertor tenslotte, zet dit digitale signaal weer om in een analoog signaal, dat toegevoerd kan worden aan een regeling.
In dit ontwerp is de voeding niet getekend. Het is duidelijk, dat de sturing ervan door het laagspanningsdeel verzorgd wordt. Stabilisatie van de spanning moet echter aan de hoogspanningskant gebeuren.
Hiermee besluiten we het globale ontwerp. in het volgende hoofdstuk zullen we de blokken nader bekijken.
4. Ontwerp van de schakeling
4.1. Inleiding
Nadat we een globaal ontwerp van de schakeling hebben gemaakt, kunnen we de onderdelen uitwerken. in dit hoofdstuk komen de verschillende onderdelen aan bod.
Allereerst zullen we de A/D-convertor behandelen. Dit is een Turbo-tracking A/D-convertor. Een preciese beschrijving van de algoritme staat in de appendices.
Vervolgens zullen we de seriële zender en ontvanger beschrijven. We zullen zien, op welke manier de zender en ontvanger een relatief hoge baudrate (1/2 klokfrequentie) haalt met behulp van z.g.n. dual klok-mode.
De D/A-conversie is het volgende onderdeel. Deze is relatief eenvoudig, omdat van standaard schema’s gebruik gemaakt kan worden.
Tenslotte komt de voeding aan bod. Alhoewel we gebruik gemaakt hebben van een bestaand schema, is het toch noodzakelijk om hier enige opmerkingen over te maken.
4.2. A/D-conversie
In het onderstaande figuur is het principe van de A/D-convertor afgebeeld:
Dit type noemen we een dual stepsize, Turbo tracking-A/D-convertor, of ook wel gewoon Turbo. De turbo counter is een teller met twee stapgroottes, 1 en 4. Via de bovenste comparator wordt gekeken of de teller op moet tellen of moet aftrekken. Dit signaal noemen we up/down. Verder moet de turbo=-counter weten wanneer hij de stapgrootte 1 of 4 moet aannemen. Dit gebeurt met behulp van de onderste twee comparators.
De turbocounter heeft twee uitgangen, een voor de D/A-convertor en een voor de rest van de schakeling. Dit is nodig omdat het uitlezen van de samples met een andere frequentie kan gebeuren dan de teller nodig heeft om het signaal te volgen.
De turbocounter heeft nog een extra aantal ingangen gekregen, die extra functies kunnen uitvoeren. Hieronder staat een lijst van de ingangen en hun functies:
Ingangssignalen van de turbo-counter
|
i
|
Inhibit. Bepaalt of de teller mag tellen.
|
|
u
|
Up. Bepaalt of de teller omhoog of omlaag telt.
|
|
h
|
High. De teller is te hoog, dus grotere stappen.
|
|
l
|
Low. De teller is te laag, dus grotere stappen
|
|
ld
|
LoaD. Laad de uitgangsregisters.
|
|
m
|
Min. Zet de teller op z’n minimum stand (Ox00).
|
|
z
|
Zero. Zet de teller op de nul-stand (Ox80).
|
|
x
|
maX. Zet de teller op de maximum stand (Oxff).
|
De signalen m, z en x worden gebruikt voor het ijken van de schakeling.
De logica is geïntegreerd in een programmeerbaar device, EPLD genaamd(1). De EPLD voorkomt dat grote hoeveelheden losse TTL-IC’s gebruikt moeten worden. De listing van een aantal mogelijkheden staan in de appendices.
De turbocounter is aangesloten op een D/A-convertor. De D/A-convertor heeft een analoog uitgangssignaal, dat tussen de 0 en 2.5V ligt. Dit signaal wordt versterkt tot een signaal van +4.5V. Dit gebeurt met een eenvoudige opamp.
De offset en versterking van de opamp kunnen met behulp van potmeters worden bijgeregeld. Om deze juist in te kunnen stellen kan men gebruik maken van de m, z en x ingangen van de turbocounter.
De uitgang van de versterker wordt dan weer toegevoerd aan de drie comparators, waarvan de functie reeds beschreven is.
4.3. Seriële verzending
De uitgang van de turbo-counter waar de samples uit komen wordt verbonden met de seriële zender. Deze seriële zender bestaat uit een EPLD en een kant en klare glasvezel zender. De kant en klare glasvezel zender is voor ons niet interessant.
De zender-EPLD heeft een aantal functionele blokken. Het belangrijkste is de multiplexer. in ons geval hebben we een multiplexer met 11 ingangen. Acht ervan worden gebruikt door de data-bits. De overige worden in beslag genomen door de start en stop bits. in ons geval zijn dat 00 en 1.
Deze start- en stopbits worden voor twee dingen gebruikt. Om te beginnen geven ze aan waar de data begint. Het is duidelijk, dat de ontvanger deze informatie nodig heeft als er asynchroon gewerkt wordt. Bovendien geven de start- en stopbits de ontvanger de gelegenheid om zijn synchronisatie aan te passen. Hieronder wordt het toestandsdiagram van de ontvanger gegeven.
De ontvanger werkt met twee clockmodes. De data voor de controller, de toestandsmachine van hierboven, wordt binnen gehaald op de negatieve flank en de databits op de positieve flank. De toestandsmachine zelf loopt op de positieve flank. De databits zijn dus altijd van een eerder tijdstip dan de controlesignalen.
De ontvanger wacht op het voorkomen van de 001-combinatie (q0). Deze combinatie is dus 6 klokpulsen lang. De toestandsmachine telt drie klokpulsen nullen (q0,q1; q1,q2; q2,q3;), en wacht dan tot het startbit komt (q3). Dat komt dan meestal na 1 klokpuls. Eventueel verschil in klokfrequentie tussen de zender en ontvanger wordt op deze plaats opgevangen.
Het startbit is weer twee klokpulsen lang (q3,q4; q4,ct;). Bovendien wordt tegelijk een externe teller opgestart, die tot 16 telt. Met het laagste bit van deze teller wordt bepaald op welk tijdstip de datalijn gesampled moet worden. Het een en ander is in onderstaand figuur nog eens weergegeven in relatie tot de klok van de ontvanger.
In dit figuur zijn de volgende signalen getekend:
|
clk
|
de klok van de ontvanger,
|
|
dz
|
de data als uitgang van de zender; deze lijn is niet geklokt,
|
|
do
|
de data voor de ontvanger, geklokt op de positieve flank,
|
|
co
|
de control-signalen voor de ontvanger, geklokt op de negatieve flank.
|
De data wordt gesampled op 2n + 1/2 klokpuls later dan de detectie van het start-bit. Deze data wordt dan een schuifregister ingeschoven. Als alle bits ontvangen zijn, wordt de data in een tweede register geladen. Dit is gedaan om de digitale uitgang stabiel te houden.
Aan het eind van de keten vinden we nog een D/A-convertor. Deze verzorgt de analoge versie van het signaal.
4.4. De voeding
De voeding van het deel dat onderhevig is aan common-mode spanningen mag slechts een geringe capaciteit naar het laagspanningsdeel hebben. Dit om te voorkomen dat de effecten van die common-mode spanningen toch nog doordringen.
Hoogfrequent trafo’s hebben die lage capaciteit. De trafo, die in de schakeling zit, heeft bijvoorbeeld 15pF. Dit komt doordat er relatief weinig windingen nodig zijn, en de windingen betrekkelijk ver uit elkaar liggen (m.b.v. linnen-tape).
Voor toepassingen, die hogere eisen stellen aan de common-mode rejectie, moet men de windingen nog verder scheiden, of twee trafo’s achter elkaar plaatsen.
Voor de voeding hebben we een bestaand schema genomen. De voedingsspanning uit dit bestaande schema hebben we gehalveerd. Bovendien is er een iets grotere kern gebruikt voor de trafo.
We hebben nu het hele ontwerp besproken. Alle gedetailleerde informatie staat in de appendix. Daar zijn ook de schema’s te vinden.
5. Performance en evaluatie
5.1. Inleiding
We hebben het ontwerp van de schakeling besproken. Nu moeten we echter nog kijken, in hoeverre de schakeling in werkelijkheid aan de eisen voldoet. We zullen zien, dat de schakeling niet practisch toepasbaar is, en wel om de volgende redenen:
-
de schakeling maakt te veel fouten bij de verzending en ontvangst van de glasvezel-signalen,
-
de schakeling heeft een te grote vertragingstijd.
De glasvezel is echter wel bruikbaar in andere situaties. Men kan bijvoorbeeld overstappen op een andere regelalgoritme voor de condensatorspanning. Een voorbeeld van een dergelijke regeling (de First Phase Predictor) staat in de appendices.
Ook is het mogelijk om de convertor op lagere frequentie te laten lopen. Dit is echter niet de trend bij huidige convertors.
om een werkelijke evaluatie van de schakeling te kunnen geven was het nodig om hem te bouwen. De schakeling is gebouwd op twee euro-kaart gaatjesboorden, een voor het hoogspanningsdeel en een voor het laagspanningsdeel.
5.2. Meetinstrumenten
Bij het maken van de schakeling en voor het verrichten van metingen hebben we een groot scala aan meetapparatuur gebruikt. We zullen de gebruikte apparaten beschrijven, en bij sommige wat commentaar geven.
Allereerst de logicanalyzer. Dit was een 16-kanaals logicanalyzer van Gould. Minimum sample tijd was 10ns. De logicanalyzer werd gebruikt bij het debuggen van de schakeling. Zo’n apparaat is nodig om snel digitale schakelingen te kunnen onderzoeken. Het was dan ook een uitkomst, dat we hem van de vakgroep schakeltechniek mochten lenen. Als er meer digitaal gewerkt gaat worden, moet de aanschaf van een L.A. overwogen worden.
De sinus generator was een Wavetek VCG, model III.
We hebben drie digitale multimeters gebruikt, een Fluke 8010A digimeter voor het grovere werk en een Metravo 5D en een M2402 van BBC voor het fijnere werk. De meters van BBC hadden ook de mogelijkheid om wisselspanningscomponenten van gelijkspanningen te meten e.‚d..
De metingen zijn gedaan met twee scopes van Philips. Een langzame en een snelle. De langzame was een PM3233 met een tr (stijgtijd) van 35ns, en de snelle was een PM3265 met een tr van 2,3ns. Alle werkelijke metingen zijn gedaan met de PM3265, terwijl de PM3233 voornamelijk werd gebruikt voor controle op bepaalde signalen (is de ingang nog een sinus e.d.).
5.3. De metingen
De uitgang had een hoog ruisniveau. Dit was ongeveer 0.1V (op de 2.5V ), dus zo’n 4% (10LSB!). Deze ruis was voornamelijk het gevolg van bitfouten. Vooral de ontvanger bleek aanleiding te geven tot bitfouten. (Vergelijk 0.1V ruis bij een electrisch afgeschermde ontvanger met 1V ruis bij niet een afgeschermde ontvanger.)
Om de transmissie zo goed mogelijk te maken, werden de uit einden van de glasvezel gepolijst. De invloed van het polijsten was echter niet zo dramatisch als de afscherming.
Voor de opname van de grafieken werden de volgende schakelingen gebruikt:
Er zijn twee turbo-counters gemaakt met verschillende tweede stapgroottes, 4 en 8. De meeste metingen zijn met tweede stapgrootte 4 gedaan. Tenzij anders vermeld is dit dan ook impliciet aangenomen.
Als eerste is gekeken hoe lineair de schakeling is voor gelijkspanning. Over een gebied van 9V zijn daarvoor meetpunten genomen.
|
Gelijkspanningsmeting
|
||||
|
Ui
|
Uo
|
|
Ui
|
Uo
|
|
-4.5
|
0.11
|
|
0.5
|
1.39
|
|
-4.0
|
0.29
|
|
1.0
|
1.51
|
|
-3.5
|
0.44
|
|
1.5
|
1.64
|
|
-3.0
|
0.55
|
|
2,0
|
1.76
|
|
-2.5
|
0.67
|
|
2.5
|
1.95
|
|
-2.0
|
0.79
|
|
3.0
|
2.00
|
|
-1.5
|
0.91
|
|
3.5
|
2.13
|
|
-1.0
|
1.04
|
|
4.0
|
2.43
|
|
-0.5
|
1.15
|
|
4.5
|
2.45
|
|
0.0
|
1.26
|
|||
Het verband tussen in- en uitgangsspanning is dus goed lineair, zoals in de grafiek te zien is.
De toepassing was echter niet voor gelijkspanning, maar voor wisselspanningen. Daarom zijn er een aantal metingen gedaan om het wisselspanningsgedrag van de schakeling te bekijken.
Allereerst moeten we laten zien, hoe de wisselspanning aan de uitgang er uit ziet. Dit doen we met een "single shot" op de PM3265 en een Polaroid camera. De turbo-counter had bij deze foto een tweede stapgrootte van 8.
Voorbeeld van een uitgangsspanning (Uj=2V; f=20kHz)
Het is te zien, dat het signaal uit losse samples bestaat doordat de sample frequentie niet hoog genoeg is. Verder zien we, dat er van tijd tot tijd bitfouten gemaakt worden. Tenslotte is de zendsample frequentie niet gelijk aan de teller-sample frequentie, zodat de onzekerheid omtrent het sample tijdstip even groot is als de teller-sampletijd. in het hoofdstuk over redesign is opgenomen hoe men van deze problemen af kan komen.
Voor de wisselspanningskarakteristiek vonden we de volgende tabel:
|
Wisselspanningsgedrag
|
||||
|
Ui
|
Uo
|
|
Ui
|
Vo
|
|
0.6
|
o.17
|
|
2.0
|
0.49
|
|
0.8
|
0.21
|
|
2.2
|
0.53
|
|
1.0
|
0.25
|
|
2.4
|
0.58
|
|
1.2
|
0.30
|
|
2.6
|
0.62
|
|
1.4
|
0.34
|
|
2.8
|
0.70
|
|
1.6
|
0.33
|
|
3.0
|
0.73
|
|
1.8
|
0.44
|
|
3.2
|
0.78
|
De spanningen zijn effectieve waarden en zijn aan de ingang symmetrisch rond 0V. Het zijn bovendien sinussen van 1kHz. De schakeling zal moeten werken rond de 20kHz. De gebruikte meters hebben echter ook een bovengrens in frequentie, en daarom is voor 1kHz gekozen.
Via de scoop is nog een frequentiemeting gedaan. ingang 2Vrms. De scoop geeft dan over het frequentie gebied van 1kHz tot 20kHz een spanning met 1.4Vpp. Opgemerkt moet worden, dat Uo bij 20kHz vrijwel een driehoek is. We kunnen dus stellen dat 20kHz de absolute bovengrens is. Deze meting is ook gedaan met als tweede stapgrootte 8. De uitgangsspanning bleef tot 37kHz vlak, waarbij de uitgangsspanning bij 35kHz grotendeels een driehoek was. De beoordeling, of de uitgangsspanning sinusvormig is, is moeilijk te doen bij deze frequenties. Daarom is de uitgang van de D/A-convertor uit het hoogspanningsdeel in de beoordeling meegenomen.
Tenslotte zijn er nog metingen gedaan om de looptijd van de schakeling te meten. Dit hebben we gedaan door, met behulp van Lissajous figuren, de phase draaiing te meten. Dit hebben we gedaan bij 5, 10, 15 en 20kHz. Bij de zelfde begin- en eindpunten werden de verticale openingen van de ellipsen gemeten in het midden van de x-as.
De verticale lengte van de ellips op de y-as was 5cm. De looptijd kan dus gevonden worden met
waarbij f de frequentie is waarbij gemeten wordt, t de looptijd en O de opening van de ellips.
|
Looptijden
|
||
|
f
|
O
|
Tloop
|
|
5kHz
|
1.0cm
|
6.4us
|
|
10kHz
|
2.5cm
|
8.3us
|
|
15kHz
|
3.5cm
|
8.2us
|
|
20kHz
|
4.0cm
|
7.4us
|
Bij de laatste waarde (20kHz) moet worden aangetekend, dat U0 dan geen sinus meer is, maar grotendeels driehoek.
5.4. Kosten
De kosten van de schakeling zijn enigzins uit de hand gelopen. Dit komt door de prijs van de EPLD’s. De verwachting, dat deze devices goedkoper zouden worden, is (nog) niet uitgekomen, integendeel, ze zijn zelfs duurder geworden.
Als richtprijs is een globale berekening te geven:
|
A/D-conversie
|
120,-
|
|
Seriële verzending
|
35,-
|
|
Glasvezel
|
300,-
|
|
Ontvangst en D/A-conversie
|
70,-
|
|
Totaal
|
525,-
|
Deze prijzen zijn erop gebaseerd, dat in het ontwerp wisbare EPLD’s gebruikt worden. Als niet-wisbare EPLD’s gebruikt worden, komt het totaal zo’n 50 gulden lager uit.
5.5. Evaluatie
Voor werkelijk gebruik zijn er een aantal eisen met betrekking tot lineariteit, looptijd, maximale frequentie en fout percentage. Met behulp van de metingen kunnen we zien in hoeverre de schakeling aan deze eisen voldoet.
Bij de berekeningen wordt uitgegaan van de kennis uit de appendices. Met name de inhoud van de appendix over de A/D-conversie zal in verschillende berekeningen opduiken.
5.5.1. Lineariteit
De schakeling is goed lineair. Dat was ook wel te verwachten, omdat de gebruikte D/A-convertors van het zelfde type zijn. De gelijkspanningsmeting geeft dit goed aan.
De meting van de effectieve waarden geeft enigzins aan, in hoeverre de schakeling kan volgen. Het is daar echter geen geldig criterium voor (zie appendix). Zij geven niet de lineariteit aan, ook al is het verband tussen in- en uitgangsspanning lineair. Dit heeft te maken met de manier waarop de schakeling gebruikt gaat worden. Als er slechts een universeelmeter of andere meter voor effectieve waarden op aangesloten wordt, is de schakeling ook nog goed lineair.
5.5.2. De looptijd
De gemeten looptijd is 8.3us. Dit is voor de meeste toepassingen te groot. De conventionele Vc-piek predictor introduceert zelf namelijk ook een looptijd. De twee looptijden samen zouden de werking van de convertor kunnen verstoren.
Waar komt deze looptijd vandaan? Deze looptijd is in twee delen te splitsen, te weten
-
de frequentie-afhankelijke en
-
de frequentie-onafhankelijke
Het frequentie-afhankelijke gedeelte is afkomstig van de turbo A/D-convertor. in de appendix over de tracking A/D-convertors is uitgelegd, hoe deze afhangt van de frequentie en het criterium om over te schakelen naar een grotere stap.
Juist het criterium voor de stapvergroting zorgt hier voor de extra vertragingstijd. Als extreem voorbeeld hebben we dit criterium rond de 60VU (Volt Units, zie de appendix voor de definitie) gelegd, terwijl de tweede stapgrootte 8 bleef. Op de opgaande flank van de sinus lieten we het criterium ongewijzigd, zodat het uitgangssignaal en het ingangssignaal op het zelfde punt beginnen. We krijgen dan het volgende beeld:
In de figuur zien we een sinus als ingangssignaal. De A/D-convertor probeert de sinus te tracken met stapgrootte 1. Doordat het criterium te groot is afgesteld, wordt te laat overgeschakeld op de stapgrootte 8. Hierdoor krijgen we een verschuiving van de nuldoorgang, die te vertalen is in een looptijd.
Het frequentie onafhankelijke gedeelte zit voornamelijk in de zend- en ontvangstlogica. Deze heeft namelijk een aantal klokpulsen nodig om het gehele sample te ontvangen. Als we de weg van een sample volgen vinden we:
|
Digitale vertraging
|
|
|
omschrijving
|
klokpulsen
|
|
Laden uitgangsregisters A/D-convertor
|
1
|
|
Zenden van het sample
|
16
|
|
Flipflop aan de uitgang van de multiplexer
|
1
|
|
Synchronisatie van de ontvanger
|
1
|
|
Laden uitgangsregisters ontvanger
|
1
|
|
Totaal
|
20
|
Een klokpuls is 0.16us, dus de vertraging van de zender/ontvanger is rond de 3.3us.
De A/D-convertor heeft dus een vertragingstijd van rond de 5us. Theoretisch zou dat kleiner moeten zijn. Er moet echter bij de instelling van het criterium rekening gehouden worden met stabiliteit en ruis.
5.5.3. Maximale frequentie
De A/D-conversie heeft een maximale frequentie. Voor de maximale frequentie is in de appendices een formule gegeven. Deze was:
waarin
de tweede stapgrootte is. Deze tweede stapgrootte is
bij de twee proef EPLD’s 4 resp. 8. Voor de stapgrootte van 4
vonden we een fmax van iets onder de 20kHz. Als we dit volgens de
theorie uitwerken vinden we met een amplitude van 100VU:
waarbij
gegeven is in 1/kloktic. Omdat de A/D-conversie met
de halve klokfrequentie gebeurt (1 kloktic = 2 klokpulsen),
vinden we voor de lengte van een kloktic
Voor de
in de SI-eenheden vinden we dan:
Hierbij is aangenomen dat de spanning practisch het volledige bereik (+100VU) beslaat. Het werkelijke bereik is 111 VU. De omzetting van Volt Units in Volt is op zich niet interessant.
Voor de turbo-counter met als tweede stapgrootte 8 geldt een zelfde berekening. We vinden hier:
De bruikbaarheid bij deze hogere frequentie’s is beperkt. De sample-rate aan de uitgang is namelijk 6.144MHz/22 = 280kHz. Bij 38kHz hebben we per periode van de sinus dus nog slechts zo’n 7 samples over. Het is dus te betwijfelen of op grond hiervan gebruik gemaakt kan worden van de conventionele regel-algoritmen.
5.5.4. Bruikbaarheid
De schakeling is als zodanig niet geschikt voor gebruik in de huidige convertors. De looptijd is te groot, en er worden te veel fouten gemaakt, wat te vertalen is in een hoge ruisspanning.
In de volgende hoofdstukken zullen we een aantal wijzigingen bespreken en hun effecten bekijken. Het gebruik van glasvezel is echter niet meer zo vanzelfsprekend als aan het begin van het afstuderen.
6. Redesign
6.1. Inleiding
In elk ontwerp worden keuzes gemaakt, die later slecht uitkomen. Een aantal moet direct gecorrigeerd worden om het functioneren van de schakeling niet in gevaar te brengen. Andere behoeven slechts te worden bijgesteld.
Uiteindelijk komen er dan bijstellingen op bijstellingen. Door andere keuzes in het begin te maken, waren deze bijstellingen niet nodig geweest.
In dit hoofdstuk worden de ontwerpkeuzes geëvalueerd. Voor een aantal zal een alternatief geboden worden. Ze zijn echter niet uitgevoerd.
6.2. Snelheid
De snelheid van de schakeling laat nogal te wensen over. Er zijn een aantal wijzigingen mogelijk die de snelheid verhogen. We zullen er drie bespreken.
6.2.1. A/D-conversie
De A/D-conversie introduceert een looptijd. Deze looptijd is inherent aan de algoritme van de A/D-convertor. Door de A/D-conversie op de gewone klok te laten lopen, kan deze looptijd gehalveerd worden. Er zijn dan echter andere comparators en een andere D/A-convertor nodig, die de snelheidsvergroting aankunnen. De deling van de klokfrequentie is namelijk nodig om de werking van de comparators met de D/A-convertor te verzekeren.
Het is logischer om een andere A/D-convertor te nemen. Als alternatief bestaat de flash-A/D-convertor. Populaire flash A/D's halen makkelijk een samplerate van 16MHz. Op het ogenblik kan de glasvezelzender dat nog niet verwerken. De samples introduceren dan geen echte looptijd. Bovendien is de positie van de samples dan altijd bekend.
Ook kan men een fixed stepsize tracking-A/D-convertor nemen. Deze heeft namelijk niet de vertragingstijd die inherent is aan een tweede stapgrootte. Hij kan dan op een hoge frequentie draaien. Als we snelle comparators en een snelle A/D-convertor gebruiken, is een klokfrequentie van 25MHz mogelijk, waardoor de maximaal te volgen frequentie rond de 40kHz komt te liggen.
6.2.2. De verzending
Ook de verzending is niet ideaal. Dit is grotendeels te danken aan de prijs van de glasvezels. Doordat deze zo hoog is, is het nodig om alle informatie asynchroon over een glasvezel te sturen.
Een manier om de duur van de verzending te verkleinen is de beperking van het aantal bits. Op het ogenblik hebben we een resolutie van 8 bits. We sturen 3 start/stopbits mee. Totaal dus elf bits, met een snelheid van 3Mbaud. Als we de resolutie terug brengen naar 6 bits reduceren we de transmissie tijd met zo’n 18%.
Het verlies van de twee bits lijkt dramatisch. Echter, de huidige klokfrequentie van een besturing is 2MHz. Als we de amplitude van de condensatorspanning 100VU stellen en de convertor frequentie op 20kHz vinden we dat op het grootste gedeelte van de resonante puls het verschil tussen twee samples groter is dan vier. Hieruit volgt, dat het verlies in precisie niet zo erg is als het lijkt. Bovendien is de ruis van de glasvezel al meer dan 4LSB.
Ook zouden we kunnen denken aan een synchroon startende klok voor de ontvanger. De klok wordt dan echter veel gecompliceerder. De snelheidswinst is een factor twee.
Als we echter opto-couplers gebruiken, kunnen het hoogspanningsdeel en het laagspanningsdeel gesynchroniseerd worden. We kunnen dan met de hele klokfrequentie zenden, in plaats van de halve. Bovendien zijn de start en stopbits dan niet meer nodig.
Maar als er toch opto-couplers gebruikt worden, kan er ook overgestapt worden naar parallel zenden. De snelheidsbeperking wordt dan de A/D-conversie en niet de transmissie.
Als het scheidend vermogen voor common-mode spanningen van opto-couplers te laag wordt geacht, kan men denken aan zelf geconstrueerde glasvezel zenders en ontvangers.
Ook kan men denken aan een half-parallel systeem. Zo kan de klok van het laagspanningsdeel naar het hoogspanningsdeel gevoerd worden. Via twee vezels (een voor de oneven bits, een voor de even) kan dan de data verstuurd worden.
7. Alternatief zonder vezel
7.1. Inleiding
Er is reeds gezegd, dat de glasvezel niet meer zo vanzelf spreekt, als in het begin van het afstuderen. Daarom zal ik een ontwerp presenteren zonder glasvezel.
Het in dit hoofdstuk beschreven ontwerp maakt gebruik van een flash-A/D-convertor met zes bits resolutie. De flash-A/D-convertor haalt een frequentie van 16MS/s. De samples worden parallel over zes opto-couplers verzonden. Een zevende opto-coupler zorgt voor de klok van de flash-A/D.
De prijs van dit systeem is lager dan die van het ontwikkelde systeem. De resolutie is echter ook twee bits lager. Eventueel kunnen een grotere A/D-convertor (tot 8 bits) en extra opto-couplers gebruikt worden. De tijd resolutie is een factor 30 hoger.
7.2. Ontwerp
Op de volgende bladzijde staat een globaal ontwerp van een parallel-zendend systeem. Het voedingsgedeelte is niet getekend, omdat er hiervoor toch weer het zelfde schema uit de kast kan worden getrokken.
Er is weer het onderscheid te maken tussen het hoogspanningsdeel en het laagspanningsdeel. Het hoogspanningsdeel bestaat weer uit een A/D-convertor en een zender. De zender bestaat hier uit een aantal opto-couplers met hun sturing.
Voor de A/D-convertor hebben we een flash-type gekozen, omdat deze niet de, aan de turbo inherente, looptijd heeft. Bovendien hebben we slechts zes bits resolutie. Een flash met zes bits resolutie is niet alleen veel goedkoper, maar heeft ook twee opto-couplers met sturing minder nodig, in vergelijking met een acht bits versie.
De ontvanger bestaat uit de ontvangstzijde van de opto-couplers. De ontvanger bepaalt ook, wanneer er samples genomen moeten worden. Hiervoor is een aparte opto-coupler opgenomen. Al met al ziet de schakeling er simpel uit.
Natuurlijk moeten voor werkelijke toepassing aan de in- en uitgang opamps geplaatst worden om de juiste spanningsverhoudingen te krijgen. De fabrikant van de A/D- en D/A-convertors geeft in zijn databoek aan hoe dit moet gebeuren.
7.3. Prijs
We hebben nu een systeem, dat weliswaar twee bits minder precies is, maar wel een factor 30 sneller. Hoe zit het nu met de prijs?
Voor een flash A/D-convertor van zes bits betalen we zo’n £105,-. De opto-couplers (3kV d.c., 1kV/us, 10Mbaud) kosten rond de acht gulden. Met een D/A-convertor erachter komen we uit rond de £180,-.
Het blijkt dus, dat een parallelle opzet goedkoper is dan een seriële.Het prijsverschil is gedeeltelijk te danken aan de verminderde precisie en voor een ander deel aan het ontbreken van zend- en ontvangstlogica.
Componentenlijst van het parallelle systeem
|
Item
|
Quantity
|
Reference
|
Part
|
cem-code
|
|
1
|
1
|
ic2
|
D/A
|
los bestellen
|
|
2
|
1
|
ic1
|
ZN440
|
los bestellen
|
|
3
|
1
|
ic3
|
7400
|
01.709.1000
|
|
4
|
1
|
r1
|
390
|
02.110.3339
|
|
5
|
2
|
r2,r3
|
470
|
02.110.3347
|
|
6
|
1
|
c1
|
390pF
|
03.111.0339
|
|
7
|
1
|
c2
|
100uF
|
03.215.9310
|
|
8
|
7
|
o1,o2,o3,o4,o5,o6,o7
|
6N135
|
01.372.4350
|
|
9
|
1
|
x
|
6.144MHz
|
03.910.0614
|
8. Alternatief met vezel
8.1. Inleiding
Alhoewel de glasvezel niet meer zo vanzelfsprekend is, behoeven we hem nog niet weg te gooien. Er zijn namelijk een aantal verbeteringen mogelijk, die de snelheid ongeveer verdrievoudigen en het grootste gedeelte van de looptijd wegnemen.
Overigens kan het raadzaam zijn om wat meer aandacht aan de vezel transmissie zelf te besteden. Het is namelijk best mogelijk, dat met losse componenten voor een zelfde prijs een betere performance gehaald kan worden, zij het dan misschien over kortere afstanden.
8.2. Ontwerp
In dit hoofdstuk bespreken we een ontwerp van een serieel zendend systeem. Het stuurt 6 databits / sample over de glasvezel, en 3 start/stopbits. De data komt uit een flash-A/D-convertor.
De schakeling lijkt veel op de gebouwde schakeling. De tracking A/D-convertor is vervangen door een flash. De flash heeft geen go of load nodig, maar wel een sample- opdracht. De uitgangsregisters kunnen dus ook vervallen.
De zender-multiplexer hoeft in plaats van acht slechts zes databits te verzenden. Hierdoor kunnen vier toestanden verdwijnen.
De klokfrequentie wordt 18.4MHz. De EP310 kan dit namelijk wel aan (in tegenstelling tot de EP1210). Hierdoor kunnen we met 9.2Mbaud over de glasvezel zenden. Dit levert ons 9.2 /(6 databits +3 start/stopbits) = 1 MSample/sec. op, tegen nu 3.07/11 =280kS/sec. We zitten dan ruim een factor drie hoger.
De ontvanger kan in wezen het zelfde blijven. Het tellen ven de databits gebeurde al extern. Alleen de interactie tussen de teller en receiver EPLD moet veranderen. De EPLD kan niet meer wachten op RCO. in plaats daarvan zal hij reageren op de stand elf. Na afloop moet hij de teller resetten.
8.3. Kosten
Wat gaat zo’n glasvezelsysteem kosten? De kosten wijzigen nauwelijks ten opzichte van het gebouwde systeem. De prijs van de zes-bits flash-AD-convertor is ongeveer gelijk aan de acht bits turbo. Het grootste gedeelte van de schakeling blijft ongewijzigd, althans qua onderdelen. Als richtprijs kan dus weer fl.525,- worden aangehouden.
Mocht de glasvezel vervangen worden door een opto-coupler, dan daalt de prijs tot zo’n fl.250,-.
Componentenlijst voor het tweede alternatief
|
Item
|
Quantity
|
Reference
|
Part
|
cem-code
|
|
1
|
1
|
ic10
|
ZN428
|
los bestellen
|
|
2
|
1
|
ic1
|
ZN440
|
los bestellen
|
|
3
|
2
|
ic4A, ic4B
|
7474
|
01.710.0074
|
|
4
|
1
|
ic3
|
74LS00
|
01.710.2000
|
|
5
|
3
|
ic6,ic8,ic9
|
74LS163 01.710.2163
|
|
|
6
|
1
|
ic7
|
74LS322
|
01.510.2322
|
|
7
|
2
|
ic2,ic5
|
EP310
|
01.727.2112
|
|
8
|
2
|
r1,r2
|
470
|
02.110.3347
|
|
9
|
1
|
c1
|
470pF
|
03.111.0347
|
|
10
|
1
|
x1
|
18.432MHz
|
03.910.1843
|
9. Conclusie
Het werken met glasvezels is niet de simpele oplossing die het in het begin leek. de gebruikte glasvezel is duur en relatief gevoelig voor storingen.
De oplossing, zoals die aan het begin gesuggereerd werd, voldoet helemaal niet. Het gebruik van tracking A/D-convertors introduceert te veel vertragingstijd om nog toegepast te kunnen worden op dit gebied. Hoewel ik nogal wat tijd besteed heb aan de tracking A/D-convertors, moet ik hun gebruik toch afraden.
Het is mogelijk om de huidige schakeling in combinatie met de, in de appendix beschreven, First Phase Predictor te gebruiken. Ik heb in de appendix echter alleen een aanzet willen geven tot de ontwikkeling ervan.
Voor gebruik in de huidige omstandigheden is het eerste alternatief, parallelle transmissie, misschien het aantrekkelijkst. De eenvoudige opzet maakt het mogelijk om het geheel compact te bouwen (b.v. op een eurokaart). De gevoeligheid voor common-mode spanningen is echter nogal afhankelijk van het gebruikte type opto-coupler.
Mocht er behoefte zijn aan ongevoeligere schakelingen (voor common-mode), dan kan het tweede alternatief gekozen worden. Er moet dan wel aandacht besteed worden aan de glasvezel. Het gekochte setje van Hirschmann is te gevoelig voor invloeden van buitenaf. Bovendien is het duur. Eventueel kan gedacht worden aan een eigen constructie voor de glasvezeltransmissie.
De vraag dient zich dan aan, waarom de PTT, bijvoorbeeld, wel glasvezels gebruikt. Daar wordt gewerkt met echt glas, terwijl wij vanwege de prijs met plastic werken. Tussen de centrales wordt de communicatie met custom IC’s geregeld. Met duurdere vezels en ECL is dan een hogere baudrate te halen.
Voor datalijnen naar een eindgebruiker komt de baudrate niet boven de 144kBaud (gegevens: 5ESS-PRX centrale van APT). Er wordt gebruik gemaakt van fout-corrigerende codes. De reconstructie van spraak is niet zo fase-gevoelig als onze meetsignalen, waardoor volstaan kan worden met een lagere samplerate.
A. Optisch meten
A.1. Inleiding
Men kan niet schrijven over het meten met glasvezels zonder het optisch meten te beschouwen. Optisch meten wordt gebruikt in omgevingen die aanleiding geven tot veel storing (zoals het nagloeien van vermogensschakelaars). Het is echter niet de bedoeling hier te diep op in te gaan, omdat dit slechts zijdelings te maken heeft met het werkelijke afstudeer project.
De belangrijkste referentie’s van het optisch meten van spanningen kan men vinden bij de KEMA.
A.2. Principe
Een aantal optisch isotrope materialen wordt onder invloed van
een elektrisch veld anisotroop. Een voorbeeld hiervan is bismutgermanaat
Als een dergelijk kristal tussen twee
polaroid filters wordt geplaatst, blijkt dat er een verband is
tussen het elektrisch veld, in de onderstaande tekening opgewekt
door een condensator, en de lichtsterkte aan de uitgang.
De gemeten lichtsterkte aan de uitgang is echter niet lineair.
Het blijkt dat de lichtsterkte evenredig is met (1-cos a), waarbij a evenredig is met het elektrisch veld. Als er echter twee
sensoren gebruikt worden, een in de richting output ellips (
in mV) en een er loodrecht op (
in mV), dan blijkt
waarbij k varieert tussen de 0.03 en de 0.2 cm/kV en
en
de uitgang van de licht-gevoelige sensoren zijn op een willekeurige
schaal.
Voor de cellen, zoals de KEMA die gebruikt gelden de volgende gegevens:
|
Range
|
670V
|
|
Noise level
|
0.1V, 1kHz bandwidth
|
|
10V, 10MHZ bandwidth
|
Helaas zijn er nog een aantal andere problemen, die voortkomen uit het gebruik ven de kristallen. Als belangrijkste zijn er het piëzo-electrische effect en de elektrische oscillatie. Beide blijken grotendeels te verdwijnen, als het kristal op een bepaalde manier wordt geslepen.
A.3. Conclusie
Het optisch meten van spanningen is goed mogelijk. Men moet dan gebruik maken van speciale apparatuur, die echter niet zo duur hoeft te zijn (b.v. een LED als lichtbron). Sensoren van dit type zijn helaas nog niet kant en klaar in de handel.
Het probleem is echter het slijpen van kristallen. De kristallen moeten zo geslepen worden dat de licht bron en de uitgangsvezels makkelijk aan te koppelen zijn (zonder te veel verlies).
De sensoren zijn nog niet te koop. Een prijsindicatie is daarom moeilijk te geven.
B. Tracking A/D-convertors
B.1. Inleiding
Tijdens het ontwerp van de schakeling werden een aantal A/D-convertors genoemd. Tijdens het afstuderen is nogal wat aandacht besteed aan een bepaald type, namelijk de tracking A/D-convertor. in deze appendix zullen we een aantal tracking A/D-convertors behandelen. Ook zullen we onze keuze, de Turbo, toelichten.
Bovendien zullen we een aantal simulaties van de algoritmen laten zien. Tenslotte zullen we de problemen met de bouw van een Fixed step aanstippen en een aantal meetgegevens presenteren.
In deze appendix worden geen SI-eenheden gebruikt. Dat zou namelijk onhandig rekenen zijn. in plaats daarvan gebruiken we de eenheden bit en klokpuls.
De gegevens in de literatuur zijn tamelijk beperkt. Tracking A/D-convertors worden weinig toegepast, omdat vaak multiplexers voor de A/D-convertor worden geplaatst. Dit is niet goed mogelijk bij tracking A/D-convertors, omdat deze uitgaan van een continue signaal.
B.2. Het principe
Voordat we beginnen met berekeningen en simulatie resultaten, zullen we eerst het principe van de tracking A/D-convertor uit- leggen.
In zijn meest eenvoudige vorm bestaat de tracking A/D-convertor uit een teller, een D/A-convertor en een comparator. De com- parator vergelijkt de ingang met de digitale representatie, in bepaalt dan of de teller omhoog of omlaag moet tellen. Alle andere versies zijn hiervan afgeleid.
Er zijn een aantal verbeteringen aan te brengen. Allereerst kunnen we de teller ook de keuze geven niet te tellen. Als de spanning op de ingang namelijk minder dan een bit verschilt, gaat het hierboven beschreven ontwerp heen- en weer tellen. Hieraan is verder geen aandacht besteed.
Ook kunnen we op een aantal manieren de stapgrootte van de teller beinvloeden. De hierboven beschreven versie noemen we in goed nederlands fixed stepsize. We kunnen echter ook twee stapgroottes nemen. Als de ingang dan ver van de representatie verwijderd is, kan er met grote stappen heen gelopen worden. Dit noemen we een dual stepsize, door mij tot Turbo gedoopt.
Tenslotte kan er voor de stapgrootte een apart register genomen worden. Dit kan b.v. een teller of een schuifregister zijn. We noemen de A/D-convertors dan counting step respectievelijk shifting step.
B.3. Mathematische achtergronden
B.3.1. Definities
Het is altijd prettig om met vastgestelde termen te werken. Daarom zullen we nu de termen die we gebruiken definieren.
|
Afstand
|
Onder afstand tussen twee signalen verstaan we het
verschil in waarde, die de gedigitaliseerde signalen
zouden hebben. Omdat we als eenheid de VU (= 1Bit
spanningsverschil) gebruiken, is dit altijd een integer.
|
|
c
|
De waarde van het uitgangssignaal van de A/D-convertor.
|
|
Ingeleide
beslissing
|
Het besluit (b.v. om op te tellen of af
te trekken) moet eerder (meestal 1/2 klokpuls) eerder
genomen worden dan de handeling kan geschieden. Zie ook
momentane beslissing.
|
|
Inhaal effect
|
Het effect wat ontstaat als de uitgang van een
Turbo meer dan een referentie verschilt van de
spanningswaarde.
|
|
Momentane
beslissing
|
Beslissing (om op te tellen of af te
trekken) komt op het moment waarop de handeling zal
moeten geschieden.
|
|
S
|
Stapgrootte. Bij sommige algoritmen is deze variabel.
|
|
U
|
De te meten spanning.
|
|
Volgen
|
Onder volgen verstaan we het houden van een afstand die
kleiner is dan de maximale stapgrootte die de
A/D-convertor op dat ogenblik kan maken.
|
|
VU
|
Volt Unit, het spanningsverschil dat overeen komt met
een bit.
|
B.3.2. De fixed step
Voor het maximaal te volgen signaal geldt:
Hoe komen we nu aan deze formule? Allereerst is de maximale stap 1. Door nu te stellen dat er op het moment van de klokpuls pas beslist wordt, of er opgeteld of afgetrokken moet worden, komen we dus tot het vorige resultaat. Het is echter zo, dat de sigalen naar de besturing gesynchroniseerd moeten worden. Dit gebeurt met een tegengestelde klok. De werkelijke beslissing om op te tellen of af te trekken valt dus een halve klokpuls eerder. De feitelijk toelaatbare helling wordt hierdoor niet kleiner, maar de gesommeerde absolute fout wel.
We kunnen voor de fixed-stepsize ook proberen een lineair model op te stellen. Dit is alleen mogelijk, omdat er geen vreemde sprongen in de stapgrootte aanwezig zijn. We zullen zo’n model ook opstellen voor de counting-step. Voor de turbo en de shifting step is dat echter onmogelijk.
De geldigheid van dit model is echter zeer beperkt. Het dient alleen ter bepaling van de gedachten. Wel kan men zien, dat de fixed-stepsize altijd stabiel is.
Wat is de maximale frequentie voor een fixed-stepsize? Als we de
schakeling uitvoeren met TTL-tellers, is hiermee een klokfrequen-
tie van 25MHz te halen. We vinden dan dt=40ns. We nemen aan dat
het ingangssignaal
is. We vinden dan dat W=0.01 (maximaal). De maximale frequentie wordt dat 1.6mHz. Dit is 1/klok-
puls. Voor de maximale frequentie in SI-eenheden vinden we 40kHz.
B.3.3. De Turbo
Omdat geen lineair model van de Turbo te maken is, zullen we eerst de algoritme van de turbo bepalen:
for(EVERY CLOCKCYCLE) {
if (abs(c-U) > 4)
S=7;
else
S=1;
if (c>U)
C-=S;
else
C += S;
}
De Turbo lijkt op de fixed step, maar de maximale stapgrootte is beduidend groter (hier 7), zodat geldt:
Belangrijk om te weten is, dat de fout bij bepaalde afgeleiden groter is dan bij andere. Laten we b.v. aannemen dat dU/dt=1.01. Dan slaat de turbo pas na een groot aantal stappen aan. De mathematische formule voor het verband tussen dU/dt en n (het aantal stappen voordat de turbo aanslaat) is:
mits
Deze formule is eenvoudig te verifieren door de effecten te tekenen. De 4 is de afstand waarbij de turbo aanslaat. in ons voorbeeld vinden we dus n=400. Voor de gesommeerde fout vinden we dan:
Deze formule geeft de oppervlakte aan van de driehoek die gevormd wordt door het signaal, de lijn U=t (maximale helling zonder turbo) en de turbo-sprong.
n de figuur zien we twee driehoeken. Een gevormd door de ingangsspanning, de lijn t=n en de tijd as, de ander gevormd door de teller waarde (C), de lijn t=n en de tijd as. Het verschil tussen deze driehoeken is de fout.
Deze formule is alleen geldig als dU/dt constant is, en geeft slechts de fout weer over de tijd t=0 tot t=n. Als dU/dt niet constant is, wordt de berekening beduidend lastiger, en zullen we onze toevlucht moeten nemen tot computer simulaties (dat is dus ook gebeurd).
De fout bij sinussen is deels te vertalen in een looptijd.
Doordat het een tijdje duurt voordat de turbo aanslaat, zullen de
nuldoorgangen in tijd verschoven worden. De looptijd is
afhankelijk van de grootte van de turbo-sprong, het criterium
waarop de turbo aanslaat en de grootte van de afgeleide van
In de volgende figuur zien we een sinus, en de representatie
ervan. Om het effect van de looptijd te illustreren is het
criterium om de tweede stapgrootte te kiezen iets vergroot. De
sinus op de ingang was rond de 100 VU bij een frequentie van rond
de 5MHz.
Voor bepaling van de looptijd doen we de volgende aannames:
-
de looptijd is constant,
-
de looptijd wordt alleen veroorzaakt door de later startende turbo-sprong,
-
is bij benadering sinusvormig.
We berekenen de looptijd op de neergaande flank. Als ingangssignaal kiezen we
De turbo slaat aan als
Criterium is de waarde waarbij de turbo aanslaat. We noemen dit
criterium
Voordat de turbo aanslaat geldt
We
vinden dan de volgende formule:
Stellen we bijvoorbeeld dat W=0.04, A=100 en
dan vinden we
voor de looptijd t= 3.2. Omdat de schakeling synchroon is, wordt
dit t=4. (W=0.04 is te vergelijken met een sinus van 20kHz en een
klok van 3MHz.) Vaak zal het criterium echter groter moeten
worden afgesteld dan de tweede stapgrootte.
B.3.4. De counting step
In plaats van een vaste tweede stapgrootte kunnen we er ook een teller zetten. De algoritme van de counting step is dan:
for (EVERY CLOCKCYCLE) {
if ( c-u > s )
s++;
else
s--;
c -= s;
}
Doordat de teller van de stapgrootte ook negatief kan worden, is het niet nodig om te kijken of opgeteld of afgetrokken moet worden. Dit bespaart weer een comparator.
Van de counting-step kunnen we weer een lineair model maken, met de zelfde restricties als bij de fixed-stepsize. Ook hier volgt weer uit het lineaire model dat de counting step in principe stabiel is (voor zover het lineaire model geldig is).
De counting step en de shifting step zijn van een hogere orde dan de fixed stepsize en de turbo. Dit is het eenvoudigst te laten zien bij de counting step.
We zien, dat door de stapgrootte in een teller te zetten, dat
Bij de fixed en turbo zagen we al, dat dS/dt de maximale afgeleide van de spanning is. We vinden dus voor de maximaal te volgen spanning:
We zien hier ook, dat het begrip "volgen" voor de counting step niet meer gerelateerd is aan de optredende fout.
B.3.5. De shifting step
De shifting step heeft een schuifregister waarmee de stapgrootte bepaald wordt. De stapgrootte kan op die manier verdubbeld of gehalveerd worden. De algoritme is als volgt:
for (EVERY CLOCKCYCLE) {
if (abs(c-u) > 25)
s *= 2;
else
s /= 2;
if (c > u )
c -= s;
else
c += s;
}
De shifting step kan instabiel worden. Het criterium voor het verdubbelen van de stap is van grote invloed op de stabiliteit (echter ook op de snelheid...). De instabiliteit kan beperkt worden door de stapgrootte te begrenzen.
Bovendien is gebleken, dat het foutsignaal in de meeste gevallen van de zelfde orde grootte is als die van de turbo. Het blijkt echter zeer lastig om een analytische uitdrukking te vinden.
B.4. Ervaringen met de bouw van een proefmodel
Om te zien of de simulaties en de opgesteld theorie kloppen hebben we een tracking A/D- convertor gebouwd. Hiermee hebben we een aantal problemen gevonden en opgelost. Bij het bouwen wilden we eerst gebruikmaken van snelle comparators (4Mhz). Deze bleken snel te oscilleren. Mede vanwege de status van de schakeling (proef) werd er besloten op veel lagere frequentie te werken.
Vanaf het begin aan werd de schakeling in een vastgestelde volgorde samengesteld, en stap voor stap door gemeten. De volgorde was:
-
c-registers;
-
D/A-convertor;
-
comparators
-
koppeling van de comparator aan het c-register.
Omdat we in dit proefmodel slechts werkten met spanningswaardes zoals die uit de D/A-convertor kwamen, verdwenen de 4VU’s die voor de vergelijking nodig waren in de ruis weg. Bovendien bleken de gebruikte comparators enige hysterese te hebben.
Bij de proefopstelling maten we de ingangsspanning van de A/D- omzetter en de uitgangsspanning van de D/A-omzetter. Deze uit- gangsspanning is namelijk een analoge maat voor de inhoud van het c-register. Beide werden zichtbaar gemaakt op de oscilloscoop.
Bij de meting werden de volgende apparaten gebruikt:
-
Philips pulsgenerator PM5712
-
Sinus generator Wavetek VCG Model III
-
Philips scoop PM3233
-
digitale multimeter Fluke 8010A
-
Analoge multimeter Unigor
Het ingangssignaal van de A/D werd ingesteld op 2V(piek-piek)+1V DC. Dit werd voor elke meting gedaan. De klok werd ingesteld op 100kHz en vervolgens opgeregeld. Zodra de nuldoorgangen op de scoop zichtbaar verschilden was de maximale frequentie bereikt. De meting werd drie maal herhaald. Als maximaal te meten frequentie vonden we 160Hz, 155Hz en 150Hz.
Volgens de theorie wordt dit
of
We weten dat:
Met een klok van 100kHz is dt = 10 us, dus
Met een sinus met een amplitude van 1 V vinden we:
Het blijkt, dat de meetresultaten redelijk overeenstemmen met de theorie. Hierbij moeten we wel opmerken dat tijdens het meten de signalen op het oog zijn beoordeeld.
B.5. De simulatie
Om de convertor-algoritmen op hun merites te beoordelen, is een BBC-BASIC programma geschreven, dat de convertors simuleert. Het programma reset de convertor en laat hem dan over twee periodes van een sinus met een amplitude van 100 lopen. De gevonden fouten staan in de tabel hieronder.
De kolom STEPS geeft het aantal stappen aan, dat de convertor doet in de twee periodes van de sinus. SUM is de gesommeerde absolute fout op de sample tijdstippen, gemiddeld over het aantal stappen. MAX is de maximale afstand tot het signaal. Bij de foutberekening is geen rekening gehouden met fasedraaiing.
Resultaten van de simulatie.
|
STEPS
|
FIXED
|
TURBO
|
SHIFT
|
COUNT
|
||||
|
|
SUM
|
MAX
|
SUM
|
MAX
|
SUM
|
MAX
|
SUM
|
MAX
|
|
10
|
98.02
|
94.11
|
58.42
|
88.11
|
60.15
|
95.11
|
82.62
|
95.11
|
|
20
|
50.17
|
57.78
|
11.30
|
51.78
|
20.57
|
58.78
|
24.94
|
58.78
|
|
30
|
25.50
|
39.67
|
3.73
|
33.67
|
19.78
|
40.67
|
10.24
|
40.67
|
|
40
|
11.68
|
29.90
|
1.84
|
23.90
|
6.81
|
30.90
|
5.68
|
30.90
|
|
50
|
6.20
|
23.87
|
1.21
|
17.87
|
3.89
|
24.87
|
3.46
|
24.87
|
|
60
|
3.77
|
19.79
|
0.83
|
13.79
|
8.77
|
20.79
|
1.92
|
20.79
|
|
70
|
2.54
|
16.86
|
0.76
|
10.86
|
8.48
|
17.86
|
1.92
|
17.86
|
|
80
|
1.85
|
14.64
|
0.62
|
8.64
|
8.25
|
15.64
|
1.70
|
15.64
|
|
90
|
1.43
|
12.92
|
0.58
|
6.92
|
2.42
|
13.92
|
1.73
|
13.92
|
|
100
|
1.17
|
11.53
|
0.56
|
5.53
|
0.91
|
12.53
|
1.03
|
12.53
|
|
110
|
0.99
|
10.40
|
3.54
|
4.40
|
1.31
|
11.40
|
1.09
|
11.40
|
|
120
|
0.88
|
9.45
|
0.55
|
3.45
|
4.16
|
10.45
|
1.67
|
10.45
|
|
130
|
0.79
|
8.65
|
0.53
|
2.65
|
4.13
|
9.65
|
0.71
|
9.65
|
|
140
|
0.73
|
7.96
|
0.51
|
1.96
|
4.11
|
8.96
|
1.41
|
8.96
|
|
150
|
0.68
|
7.37
|
0.51
|
1.37
|
4.09
|
8.37
|
1.39
|
8.37
|
|
160
|
0.65
|
6.85
|
0.51
|
0.85
|
4.07
|
7.85
|
0.69
|
7.85
|
|
170
|
0.62
|
6.39
|
0.50
|
0.61
|
4.06
|
7.61
|
0.67
|
7.39
|
|
180
|
0.60
|
5.98
|
0.50
|
0.98
|
1.08
|
6.98
|
0.73
|
6.98
|
|
Loe
|
0.58
|
5.61
|
0.50
|
0.61
|
1.07
|
6.61
|
0.71
|
6.61
|
|
200
|
0.57
|
5.28
|
0.50
|
0.72
|
1.06
|
6.28
|
0.70
|
6,28
|
|
210
|
0.56
|
4.98
|
0.50
|
1.02
|
0.57
|
5.98
|
0.55
|
5.98
|
|
220
|
0,55
|
4.71
|
0.51
|
1.29
|
0.56
|
5.71
|
0.55
|
5.71
|
|
230
|
0.54
|
4.46
|
0.51
|
1.54
|
0.55
|
5.46
|
0.55
|
5.46
|
|
240
|
0.54
|
4.23
|
0.51
|
1.77
|
0.55
|
5.23
|
0.55
|
5.23
|
Ter orientatie: de gebruikte A/D-convertor heeft een klok van 3MHz. De ingangsspanning is 20kHz, wat ons rond de 25 stappen per periode, dus 50 per dubbele periode oplevert.
Het blijkt dus, dat de turbo niet alleen veel eenvoudiger qua opzet is, maar ook betere resultaten geeft dan de shift en de count.
Verder kan men in de tabel een piek in de fout zien rond de 110 stappen per dubbele sinus. Deze piek is het gevolg van het net niet/net wel vergroten van de stap, als dit net wel/net niet moet.
B.6. Listing van het simulatie-programma
10 MODE3
20 PRINT "STEPS FIXED TURBO SHIFT" COUNT"
21 PRINT " SUM MAX SUM MAX MAX SUM MAX"
30 FOR STP$=10 TO 1000 STEP1O
31 @%=&303
32 PRINT ,STP%;
40 @%=&020208
50 PROCSIN
6O FOR I%=0 TO STP%
70 U=100*SIN(4*PI/STP%)
8O PROCADFIX
9O SUMMAX=SUMMAX+ABS(C%-U)
10O IF ERMAX<ABS(C%-U) THEN ERMAX=ABS(C%-U)
11O NEXT
120 PRINT, SUMMAX/STP%, ERMAX;
130 PROCSIN
140 FOR I%=0 TO STP%
150 U=100*SIN(4*PI/STP%)
160 PROCADTURBO
17O SUMMAX=SUMMAX+ABS(C%-U)
180 IF ERMAX<ABS (C%-U) THEN ERMAX=ABS (C%-U)
190 NEXT
200 PRINT,SUMMAX/STP%, ERMAX;
210 PROCSIN
220 FORI%=0 TO STP%
230 U=100*SIN(4*PI/STP%)
24O PROCADSHIFT
250 SUMMAX=SUMMAX+ABS (C%-U)
260 IFERMAX<ABS (C%-U) THEN ERMAX=ABS (C%-U)
27O NEXT
280 PRINT, SUMMAX/STP%,ERMAX;
290 PROCSIN
300 FORI%=0 TO STP%
310 U=100*SIN(4*PI/STP%)
320 PROCADCNT
330 SUMMAX=SUMMAX+ABS (C%-U)
340 IF ERMAX<ABS (C%-U) THEN ERMAX=ABS (C%-U)
350 NEXT
360 PRINT, SUMMAX/STP%, ERMAX;
37O PRINT
380 NEXT
390 END
40O DEFPROCADFIX
41O IF U>C% THEN C%=C%+1 ELSE C%=C%-1
420 ENDPROC
430 DEFPROCADTURBO
440 IFU>C%+4 THEN C3%=C%+7: ENDPROC
450 IFU>C% THEN C%=C%+1:ENDPROC
460 IFU<C%-2 THEN C%=C%-7 : ENDPROC
470 C%=C%-1: ENDPROC
480 DEFPROCADSHIFT
490 LOCAL SN%
5OO IF ABS(C%-U)>S% THEN SN%=2*S% ELSESN%=S%/2
51O IF SN3<1 THEN SN%=1
520 IF SN%>256 THEN SN%=256
530 IF C%<U THEN C%=C%+S% ELSE C$=C%-S%
540 S%=SN%
550 ENDPROC
560 DEFPROCADCNT
570 LOCAL SN%
580 IF C%+S%<U THEN SN%=1+8% ELSE SN%=S%-1
590 IF SN%>256 THEN SN%=256
6OO IFC%<U AND S%%>0 THEN C%=C%+S%
61O IFC%>U AND S%<0 THENC3=C%+S5%
620 8%=SN%
630 OENDPROC
640 DEFPROCSIN
650 C%=0
660 S%=0
670 ERMAX=0
680 SUMMAX=0
690 ENDPROC
C. Ontwerp hoogspanningsdeel
C.1. Schema’s
C.2. Inleiding
Op de vorige bladzijde staat het ontwerp van de A/D-convertor en de zender. Daar de meeste overwegingen al eerder beschreven staan, zullen we ons hier beperken tot het uitleggen van de realisatie.
C.3. Meetsysteem (hoogspanningsdeel)
In de eerste figuur is het globale ontwerp opgenomen. Het ontwerp is op een andere manier uitgesplitst dan in het verslag. Het hierboven getekende schema sluit meer aan bij de realisatie van het ontwerp.
Als we de weg van het ingangssignaal volgen, komen we eerst bij de comparators. Deze zijn een onderdeel van de A/D-convertor. De camparators verzorgen de stuursignalen (u/d, tool, tooh) voor de turbo-counter, door de ingangswaarde te vergelijken met de uitgang van de D/A-convertor.
Deze signalen sturen de Turbo-counter, die in het blok ‘Digital logic’ zit. In dit blok zit ook de zenderlogica. De zenderlogica verzorgt een signaal ‘out’ dat de glasvezelzender stuurt. Aan de glasvezelzender zullen we weinig aandacht besteden, omdat deze als kant en klaar setje is gekocht.
De uitgang van de Turbo-counter (b0-b7) zijn weer de ingang van de D/A-convertor. De D/A-convertor maakt hier dan weer een signaal c van, dat vergeleken wordt met de ingangswaarde.
Tenslotte is als los blok de power supply getekend. Deze verzorgt de voeding van de afzonderlijke delen.
C.4. Digitale logica
De digitale logica bestaat uit drie delen. Allereerst zien we, dat de ingangssignalen gesynchroniseerd worden. Dit gebeurd met behulp van een register (ic21) dat op de inverse klok geladen wordt. De uitgangen worden toegevoerd aan de Turbo-counter (ic22). Functioneel bestaat de Turbo-counter uit drie blokken, een counter low-nibble, een high-nibble en een uitgangsregister. In de onderstaande figuur staat het blokdiagram.
Het laagste nibble telt met twee stapgroottes. in eerste in- stantie zijn dat 1 en 4 (bO en b2). Het is echter eenvoudig om andere stapgroottes te kiezen (als voorbeeld: 1 en 8, zie EPLD- listings) .
Als extra ingangen zien we min, max en zero. Deze zetten het byte in de tellers op de gewenste stand (Ox00, Oxff en 0x80). De ingangen zijn nodig voor het afregelen van de D/A-conversie.
Het high-nibble is een gewone teller, met weer de extra set en preset ingangen. De EPLD geeft parallel een waarde af (Alida aan de D/A-convertor aangeboden wordt.
De zenderlogica (ic23) verwacht gedurende het zenden een stabiel byte op de ingang. Dit wordt bereikt door de uitgangsregisters door de zenderlogica te laten besturen.
De zenderlogica bestaat uit een teller en een multiplexer. De teller geeft aan welke ingang de multiplexer moet gebruiken. De multiplexer heeft, behalve de databits, ook de start- en stopbits als ingang. Hieronder is het blokdiagram weergegeven.
Zowel de Turbo-counter als de zenderlogica zijn geïntegreerd in EPLD’s. De listings kunnen in de betreffende appendix gevonden worden.
C.5. D/A-conversie
De D/A-conversie bestaat uit een D/A-convertor (ic31) en een opamp (ic32). De D/A-convertor is een ZN428E. Dit ic verzorgt zijn eigen referentiespanning.
De opamp schaalt de uitgang van de D/A-convertor naar + 4.5 V. Dit is de maximale spanning die de comparators aankunnen. De nul-waarde kan worden bijgesteld met potmeter p32. Deze nulwaarde kan worden afgeregeld door de Turbo-counter de nulwaarde te geven (de ingang z hoog maken). :
Vervolgens kan de amplitude van het signaal ingesteld worden met p31. Weer kan de Turbo-counter hiervoor het juiste signaal leveren. De ingang x moet dan hoog gemaakt worden. De uitgang c kan dan tot 4.5 V geregeld worden.
C.6. Comparators
De comparators verzorgen de control-signalen voor de Turbo-counter. Het op/neer signaal wordt verkregen door het ingangssignaal te vergelijken met de uitgang van de D/A-conversie (e) .
Voor de te hoog (tooh) en te laag (tool) signalen is het nodig om een offset te geven aan c. Hiervoor wordt een optelschakeling gebruikt. De criteria kunnen worden ingesteld met behulp van de potmeters p11 en p12.
C.7. Power supply en klok
Het vermogen, dat het hoogspanningsdeel vergt, wordt geleverd via een trafo. Deze wordt door het laagspanningsdeel gestuurd met een relatief hoge frequentie. Vandaar dat we snelle diodes en kleine condensatoren gebruiken. De stabilisatie wordt verzorgd door ic1 en ic2
De klok wordt verzorgd door ic3. Ic3 wordt gebruikt als kristal- oscilator. Met behulp van de twee overige poorten (3c en 3d) wordt de uitgang gebufferd en geïnverteerd.
Meet systeem (hoogspanningsdeel)
|
Item
|
Quantity
|
Reference
|
Part
|
cem-code
|
|
1
|
3
|
IC11, IC12, IC13
|
LM360
|
01.608.7602
|
|
2
|
1
|
IC1
|
LM7805
|
01.675.7805
|
|
3
|
1
|
IC2
|
LM7905
|
01.675.7905
|
|
4
|
1
|
IC32
|
TL074
|
01.605.0742
|
|
5
|
1
|
IC31
|
ZN428E
|
los bestellen
|
|
6
|
1
|
IC3
|
7400
|
O1.709.1000
|
|
7
|
1
|
IC21
|
74LS163
|
01.727.2112
|
|
8
|
1
|
IC23
|
EP310
|
Los bestellen
|
|
9
|
1
|
IC22
|
EP1210
|
Los bestellen
|
|
10
|
1
|
R31
|
390
|
02.110.3339
|
|
11
|
2
|
R1,R2
|
470
|
02.110.3347
|
|
12
|
8
|
R11, R12, R13, R14, R15, R16 ,R17, R18
|
3k9 02.110.3439
|
|
|
13
|
4
|
R21, R22, R23, R32
|
4k7
|
02.110.3447
|
|
14
|
3
|
R34, P11, P12
|
10K
|
02,110.3510
|
|
15
|
1
|
R33
|
15K
|
02.110.3515
|
|
16
|
1
|
P31
|
10K pot
|
02.410.5510
|
|
17
|
1
|
P32
|
5K pot
|
02.,410.5450
|
|
18
|
1
|
C5
|
470pF
|
03.111.0347
|
|
19
|
2
|
C3, C4
|
10OnF
|
03.148.4610
|
|
20
|
2
|
C1, C2
|
1uF
|
03.250.6110
|
|
21
|
1
|
C31
|
100uF
|
03.215.9310
|
|
22
|
1
|
X1
|
6.144MHz
|
03.910.0614
|
|
23
|
4
|
D1,D2,D3,D4
|
BYV28100
|
01.423.2810
|
|
24
|
1
|
Hirschmann glasvezelzender
|
||
D. Ontwerp laagspanningsdeel
D.1. Schema’s
D.2. Het laagspanningsdeel
Het laagspanningsdeel bestaat uit twee gescheiden delen. Het ene deel ontvangt de signalen van het hoogspanningsdeel, het andere verzorgt de voeding van het hoogspanningsdeel.
De ontvanger bestaat uit een glasvezelontvanger, die deel uitmaakt van een kant en klaar setje. De data uit de glasvezelontvanger wordt toegevoerd aan de receiver logica. Deze zet het seriële signaal om in een parallel signaal.
De D/A-conversie zet dit digitale signaal om in een analoog signaal. Er wordt tevens gezorgd, dat de uitgang op de juiste schaal is.
De powersupply voor het hoogspanningsdeel bestaat uit een kleine invertor. Het is het zelfde schema als gebruikt wordt in de pulstrappen.
D.3. Klok en voeding
De electronica van de ontvanger heeft een gestabiliseerde voeding nodig van 5V. De omvormer voor de voeding van het hoogspanningsdeel heeft echter meer spanning nodig. We laten de invertor dan ook lopen op een niet extra gestabiliseerde voeding, terwijl we voor de ontvanger een aparte stabilisatie hebben aangebracht (ic10 en ic12).
De klok is weer een kristaloscilator met buffers.
D.4. De ontvanger logica
Het principe van de ontvanger is reeds in het verslag beschreven.
Het binnenkomende datasignaal wordt op de twee klokken gesynchroniseerd (ic20). De negatief geklokte data gaat naar de receiver EPLD (ic21). De positief geklokte gaat naar het schuif- register (ic23).
De receiver laat het aantal databits door een externe teller (ic22) tellen. Als een ander aantal databits gebruikt wordt, kan deze teller door een andere teller vervangen worden. De eindstand wordt bepaald met de RCO, de geldigheid van de data wordt afgeleid van het laagste bit.
Als alle databits geladen zijn, worden de uitgangsregisters (ic24 en ic25) geladen. Deze zorgen voor een stabiele uitgang om de D/A-convertor aan te sturen.
D.5. De D/A-conversie
De D/A-conversie verschilt nauwelijks van die in het hoogspanningsdeel. Het ijken kan weer gebeuren met behulp van de zero, max en min ingangen van de turbo=counter in het hoogspanningsdeel.
D.6. De voeding van hoogspanningsdeel
Voor de voeding van het hoogspanningsdeel is een standaard schema gebruikt. De voeding is in wezen de zelfde als in de pulstrappen.
De gebruikt trafo heeft een nog redelijk veel capaciteit (15pF). Als dit te veel blijkt te zijn, is het mogelijk om de windingen verder uit elkaar te leggen, of twee trafo’s in serie te zetten.
D.7. Onderdelen
|
Item
|
Quantity
|
Reference
|
Part
|
|
1
|
1
|
ic10
|
LM7805
|
|
2
|
1
|
ic12
|
LM7905
|
|
3
|
1
|
IC32
|
TLO74
|
|
4
|
1
|
IC31
|
ZN428E
|
|
5
|
1
|
IC41
|
4013
|
|
6
|
1
|
IC40
|
4049
|
|
7
|
1
|
ic11
|
7400
|
|
8
|
1
|
IC20
|
7475
|
|
9
|
3
|
IC22,IC24,IC25
|
74LS163
|
|
10
|
1
|
IC23
|
74LS322
|
|
11
|
1
|
IC21
|
EP310
|
|
12
|
2
|
R42,R43
|
100
|
|
13
|
1
|
R31
|
390
|
|
14
|
2
|
R10,R11
|
470
|
|
1S
|
1
|
R32
|
4K7
|
|
16
|
1
|
R33
|
10K
|
|
17
|
2
|
R41,R40
|
12K
|
|
18
|
1
|
R34
|
27K
|
|
19
|
1
|
P31
|
10K pot
|
|
20
|
1
|
P32
|
5K pot
|
|
21
|
2
|
C42,C43
|
150pF
|
|
22
|
3
|
C11,C40,C41
|
470pF
|
|
23
|
3
|
C10,C12,C31
|
100uF
|
|
24
|
1
|
X10
|
6.144MHz
|
|
25
|
2
|
Q40,Q41
|
IRFD113
|
|
26
|
1
|
L1
|
L
|
|
27
|
2
|
U1,U2
|
10V
|
E. EPLD-listings
E.1. Inleiding
EPLD’s zijn programmeerbare logische devices van de firma ALTERA. Het systeem om deze devices te kunnen programmeren is van de zelfde firma.
De software die de firma levert is zeer gebruikers onvriendelijk. De bijgeleverde ’shell’ vreet geheugen, zodat het pakket minimaal 640k nodig heeft.
Vaak moet uren gezocht worden naar een fout, die met behulp van een goede parser snel te vinden zou zijn. Als voorbeeld noemen we
de foutmelding "Node missing source". Vaak blijkt het software pakket "missing ;'" te bedoelen. Dat kost de eerste keer dus wat tijd.
De software kan ook niet wat de fabrikant beweert. De state- machine entry, bijvoorbeeld, kan alleen eenvoudige machines aan. Zodra het zo moeilijk wordt dat zo’n ontwerp tool handig zou zijn, laat hij het afweten, zodat alles alsnog met de hand uit- gewerkt moet worden.
Na de desillusie die de statemachine entry te weeg bracht, hebben we afgezien van het simulatie pakket. Als dit in dezelfde stijl geschreven is als de rest van de software, kunnen we het zelf be- ter op een regenachtige middag doen.
E.2. De turbo-counter
Er zijn drie soorten turbo-counter ontworpen, elk met hun specifieke voor en nadelen. De eerste hebben we 'no stop" genoemd. Het is een teller met de stapgroottes 1 en 4. Er zit geen stop op, zodat hij van Oxff naar Ox00O doortelt. Deze teller is vooral handig bij het testen van de schakeling. Hij produceert namelijk een zaagtand, die het mogelijk maakt de analoge elektronica te bekijken.
De tweede turbo counter is er een met stop en de stapgroottes 1 en vier. Het is de bedoeling dat deze nauwkeurig is. In tegen- stelling tot de vorige is het ook de bedoeling dat hij in bedrijf gebruikt kan worden. Er worden tijdens het zenden en ontvanger echter zoveel fouten gemaakt, dat dit niet nuttig is. De metingen in het hoofdstuk over performance zijn met deze EPLD gedaan.
Om de snelheid te verhogen is er een EPLD gemaakt met een grotere tweede stapgrootte, namelijk 8. Met voor de rest de zelfde schakeling kan dan een ongeveer dubbele frequentie gevolgd worden, uiteraard met inlevering van precisie.
E.3. De multiplexer
De multiplexer bestaat uit een teller en een multiplexer. Beide zijn in een EPLD gepropt. De multiplexer geeft aan de turbo- counter aan wanneer hij een nieuw sample verwacht. Bovendien ver- zorgt hij een go-signaal, dat de turbo-counter in staat stelt om met een lagere klok te werken dan de systeemklok.
E.4. De ontvanger
Tenslotte is het grootste gedeelte van de ontvangerbesturing ook in een EPLD gezet.
F. De First Phase Predictor
F.1. Inleiding
Gedurende het afstuderen zijn er nogal wat twijfels gerezen over de practische toepassing van de meetschakeling. De schakeling zou te traag zijn voor de toepassing in huidige peak voltage predictor. Dat is hij ook.
Er zijn echter regel algoritmen te vinden, die niet de continue spanningsoverdracht nodig hebben. in deze appendix willen we een van die regelprincipes aanstippen. We hebben hem First Phase Predictor genoemd, omdat hij slechts de duur van de eerste fase uitrekent.
Het is echter geen kant en klare oplossing. Ik wil hier alleen het principe aangeven, om te laten zien, dat zelfs een trage glasvezel verbinding (orde van 10*resonantie frequentie) bruikbaar zou zijn.
F.2. Grondgedachte
Wij zullen in deze appendix een conventionele serie-resonante convertor als model nemen. Dit betekent, dat de zelf-inductie geconcentreerd is in één spoel. Aan ontwikkelingen als het resoneren op commutatie spoelen is geen aandacht besteed.
Een resonante convertor werkt met bij benadering sinus-vormige spanningen en stromen. De resonantiefrequentie is binnen bepaalde tijdsintervallen de maximale frequentie van die (co)sinussen. Volledigheidshalve moeten we vermelden, dat het overstappen tussen de intervallen wel aanleiding geeft tot hogere harmonischen.
Wij zijn echter alleen geïnteresseerd in het tijdsinterval dat we eerste fase zullen noemen. in de door ons beschouwde convertor is dat de diode-fase. We nemen aan, dat we die naar eigen behoefte kunnen opstarten.
Volgens de informatie theorie is het nemen van 2 samples per periode voldoende om een sinus-vormige spanning te kunnen reconstrueren (Shannon). De twee samples bezitten voldoende informatie, om de frequentie, de amplitude en de fase te berekenen.
Doordat we de diode-fase zelf opstarten, is de fase van de sinus al bekend. Ook de frequentie is bij benadering bekend. Tenslotte zijn we niet geïnteresseerd in de hele sinus, maar in maximaal een halve periode.
Het is daarom aannemelijk, dat we met een sample per halve periode toe kunnen. Dat kan ook. uit de, aan het begin van de resonante puls genomen, samples van de spanningen kunnen we de tijdsduur van de diode fase berekenen. We kunnen dan die tijdsduur aftellen en daarna overschakelen.
F.3. Berekening
Voordat we de berekening van de tijdsduur van de diode fase presenteren, zullen we eerst een aantal termen definieren en ons model van de resonante convertor bepalen.
Om met het laatste te beginnen: we beschouwen alleen de
resonantie kring. We stellen dat de inductie en de capaciteit in
de kring constant zijn, en bovendien de ohmse weerstand in de
kring nul is. Onze kring sluiten we aan op twee spanningen,
en
Onze condensatorspanning noemen we
De waarde aan het
begin van de resonante puls noemen we
waarde aan het eind
van de puls noemen we
Het een en ander is nogmaals geresumeerd in onderstaand figuur.
We zullen ons bij de berekeningen beperken tot de opgaande puls. We weten uit de theorie van de resonante convertor, dat in de diode fase geldt:
en in de thyristor fase:
waarbij
en
de duur van de diode fase, respectievelijk de
thyristor fase is. Op het moment van overschakelen
geldt:
Als we naar de stroom-vergelijkingen kijken, zien we, dat voor
alle mogelijke
en
hun sinussen groter dan nul zijn. We
vinden dus:
zolang
Iets dergelijks geldt ook voor de spanningen. De voorwaarden zijn
hier echter iets gecompliceerder. We kunnen echter stellen, dat,
zolang
we de spanningsvergelijking kunnen kwadrateren.
We vinden dan, na enig rekenwerk:
Door optelling kunnen we dan
vinden. We vinden dan:
In principe is dus de duur van de eerste fase vastgesteld. We
kunnen dan
met behulp van een teller aftellen.
Men zou nu, met behulp van reeks-ontwikkelingen kunnen proberen
een eenvoudigere versie voor
te vinden. De formule kan niet
direct in een EPROM gezet worden, omdat de eprom dan te groot
wordt.
F.4. Variatie in td
Omdat de digitale logica in vele gevallen synchroon is, is het
noodzakelijk te kijken naar het effect van variatie van
. We
voeren hiervoor een analyse uit op de formule voor
Voordat we hiermee beginnen, voeren we echter een aantal variabelen in die het schrijfwerk beperken. We stellen:
Al deze variabelen zijn in principe bekend.
We nemen nu aan, dat het overschakelen niet op tijdstip
maar
op tijdstip
gebeurt. De eindwaarde van de condensator
spanning wordt dan
Verder nemen we aan dat
klein
is (practisch: de kloktrequentie van de regeling is veel groter
dan de resonante frequentie).
Als we deze waarden invullen vinden we:
Na enig rekenwerk volgt dan:
Hierin uit is de
te elimineren. We krijgen dan:
Oftewel:
Een getallen voorbeeld:
|
Als we stellen:
|
dan vinden we:
|
en is:
|
|
|
|
|
F.5. Conclusie
Het is wel degelijk mogelijk om met behulp van één sample-tijdstip de spanning op de condensator te regelen. De afgeleide formule is echter te ingewikkeld om direct digitaal uit te rekenen. Er zal dus naar een benadering gezocht moeten worden.
De afgeleide formule heeft slechts een beperkte geldigheid. Er wordt uitgegaan van een convertor, die de diode fase voor de thyristor fase heeft. Bovendien is alle zelfinductie geconcentreerd. Er moet wel nagegaan worden in hoeverre dit model overeenkomt met een eventueel te bouwen convertor.
Er moet opgemerkt worden, dat de convertor niet meer bij te regelen is, als er kortsluiting op de uitgang komt. De huidige predictor nemen de problemen, die optreden tijdens de diodefase wel mee.
Men kan ook de stuurspanning van de resonante kring continu tussen verschillende spanningen schakelen. We hebben dan niet meer te maken met twee fases per resonante puls, maar desnoods met oneindig veel. De selectie van de spanningen kan dan de condensatorspanning binnen bepaalde grenzen houden, waarmee de noodzaak van een predictor vervalt.
G. Computer gebruik
G.1. Inleiding
Gedurende mijn aanwezigheid bij de vakgroep is er het een en ander aan computer apparatuur gekocht. Omdat in het begin er geen enkel beleid was met betrekking tot het gebruik ervan, heb ik ge- meend mij hier mee te moeten bemoeien. De grootste bemoeienissen van mij waren met een Tulip MS-Dos computer.
In deze appendix zal ik de directory structuur en de inrichting van een aantal programma’s uitleggen. Dit om te voorkomen dat niemand na mijn afstuderen meer weet wat er waar en waarom.
Smartwork, Wordmark Composer, Aplus, UNIX, MS-Dos, Orcad en Tulip zijn trademarks.
Login is een programma van K.H.C. van Houten (public domain).
De Quick editor is een ASCII-editor
Rogue, PC-Nethack en Blast zijn public domain programma’s.
HDlock is een bij de hardcard geleverd programma.
G.2. Directory structuur
De directory structuur is afgeleid van het UNIX operating system. Een aantal namen is hier ook van afkomstig (bin‚etc,tmp). De computer kent een drietal pakket-directories, die direct onder de root hangen. Ditszd jn:
-
smart, voor smartwork,
-
wmc, voor wordmark composer, en
-
aplus, voor altera werk.
De programma’s van altera zijn geïnstalleerd, ondanks dat er te weinig vermogen uit de voeding van de computer komt.
De overige directories hebben de volgende betekenis:
|
dos
|
Hierin staan alle MS-DOS programma’s, zoals link, exe2bin en dergelijke.
|
|
etc
|
Administratie.
|
|
sys
|
System files en drivers. Onder sys staan de MS-DOS drivers, zoals ansi.sys. Onder \sys\orcad staan de printer- en screen drivers van orcad.
|
|
bin
|
Binaries. uitvoerbare programma’s. De subdirectories zijn de verschillende pakketten.
|
|
lib
|
Libraries. Alle libraries staan hieronder. Op het ogenblik zijn dit orcad en turbo-c libraries.
|
|
usr
|
Onder usr staan de users. Bovendien staan er een aantal tools en programma’s voor users en wat spelletjes. Elke user heeft recht op een eigen directory hier. Zodra een user weg is, kan zijn directory worden opgeruimd.
|
|
tmp
|
Alle tijdelijke "junk". Alles wat in tmp staat is vogelvrij.
|
G.3. Login
De Tulip is een multi-user computer (er werken meerdere mensen op). Het is daarom nodig, dat niet iedereen alles maar overal neerzet. Iedereen heeft daarom een eigen directory.
Het login-programma zet de gebruiker direct in zijn directory. Maar het doet meer. Het checkt ook, of het de gebruiker kent. Overigens maakt login geen aanspraak op enige veiligheid.
Wat doet login precies? Eerst leest het z’n configuratie file. Daarin staat waar de file met de logins en hun home directory staat, en de prompt. Bij ons is dat \etc resp. Welcome to MS-dos on the VE-Tulip. Vervolgens wacht het tot een gebruiker zich meld. Zodra de gebruiker zijn naam heeft ingetypt, zet login een paar Dos-variabelen, gaat naar de home directory van de user, en voert daar login.bat uit.
Login.bat is een file dat de user zelf moet schrijven. In mijn login.bat roep ik ced aan. Hier kan men ook programma’s als smartkey en sidekick instaleren.
Met behulp van logout wordt login weer opgestart. De laatste user moet inloggen onder "down". in de login.bat van deze user staat de shut-down procedure (nu: HDLOCK).
Login en logout houden de residente stack schoon met behulp van MARK en RELEASE. Het is niet de bedoeling dat gebruikers gedwongen worden om bepaalde programma’s op de stack te hebben. Men moet dus nooit sidekick e.d. in de autoexec zetten. Laat dit over aan de gebruiker en zijn login.bat.
Als speciale gebruiker kennen we '"new'. Deze kan gebruikt worden
om nieuwe gebruikers te installeren. De procedure is dan als volgt:
|
q logins
|
edit het file met de logins.
|
|
|
In het rijtje voegt men nu de loginnaam van de gebruiker toe, en zijn home-directory, op de zelfde manier als de anderen. Vervolgens saved men de file (f2).
|
|
md <naam van de homedirectory>
|
b.v.: md \usr\pietje
|
|
|
Daarna uitloggen met logout.
|
Een gebruiker verwijderen gaat via de zelfde gebruiker. Nu echter wordt de regel met de gebruiker verwijderd (ctrl-Y). De troep kan men weghalen met rm -r <homedirectory> U krijgt dan de vraag: Are you sure you want recursive remove?, waar u y op antwoord.
G.4. Orcad
De tulip heeft geen muis. Daarom is orcad uitgerust met een aantal macro’s. Het is daardoor mogelijk snel acties te ondernemen, die anders veel cursor werk vergen.
Verder heb ik me enigsinds beziggehouden met het programma partlist. Dit is instaat om complete bestellijsten af te leveren, inclusief CEM-code. Hiervoor moet de CEM-code in het file CEM.COD staan. De componentenlijsten in dit verslag zijn ook afkomstig van partlist.
Een partlist kan gemaakt worden met parts.bat. De mogelijkheden zijn:
|
parts sheetname
|
voor uitvoer naar het scherm
|
|
parts sheetname file
|
voor uitvoer naar het file
|
|
parts sheetname prn
|
voor uitvoer naar de printer.
|
Als in de uitvoer van partlist <<WARNING>> part not in include file voorkomt, dan moet deze toegevoegd worden aan het file CEM.COD. Dit kan met de quick-editor. Om een beetje orde in het file te houden moet de volgende volgorde gebruikt, worden:
-
analoge IC’s
-
CMOS, 40-serie
-
TTL, in volgorde bij hun familie
-
andere digitale IC’s
-
R‚ gevolgd door instelbaar
-
C, idem
-
leds, optocouplers en displays
Nog een slot opmerking over het gebruik van partlist. Kijk voor het tekenen van de schema’s CEM.COD door, zodat je de juiste benaming van de componenten gebruikt (dus 150pF in plaats van 150p of 150Pf).
G.5. Spelletjes
Waarom spelletjes op een computer, die toch voor serieus werk bedoeld is? We gaan er van uit dat steeds meer studenten en medewerkers zelf in het bezit komen van een MS-dos computer. Zij kunnen dan zonder gewetenswroeging een drietal spelen meenemen. Zo kunnen ze thuis ook wat serieus doen.
Op de Tulip staan een drietal spelletjes, die vrijelijk gecopieerd mogen worden. Het zijn:
-
rogue
-
PC-nethack
-
Blasten
Rogue en Nethack zijn Dragons & Dungeons-achtige spelletjes. Nethack is vele malen gecompliceerder dan rogue. Bij nethack kun je kiezen uit verschillende karakters, je hebt een hondje enzovoorts.
Blasten is een arcade-game. Het is een spel dat afgeleid is van Meteors. Leuk, maar veel meer dan schieten is het niet.
De files die bij rogue en blasten horen staan in de desbetref- fende directories. Bij nethack hoort ook het TERMCAP-file uit de directory \etc. (opm.: voor 2floppy systemen moet er een ramdrive C aangemaakt worden met in C:\etc het termcap-file.) Lees voordat je PC-nethack meeneemt ook de helpfiles even door.
H. Litteratuur
[1] Altera corporation: The logical alternative. Altera corporation, 1985
(Everything You Always Wanted To Know About EPLDs And Were Afraid To Ask.)
[2] Ferranti: databoek.
(Ferranti geeft in zijn databoek een uitleg over de verschillende A/D-conversie algoritmes.)
[3] J.B.Klaassens: Electronic energy conversion with a switched series-resonant network operating at high frequency. Dutch efficiency bureau, 1986
(Het standaard werk dat iedereen op de vakgroep moet lezen. Een uitvoerige beschrijving van serie resonante convertors.)
[4] Henk Huisman: Een serie-resonante DC-meerlijnenkonvertor. Afstudeerverslag Nr. VE 84 A 96, 1984
(Beschrijving van een serieresonante convertor, zoals gebruikt in de berekeningen van de FPP.)
[5] Henk Huisman: interne memo’s over Piek voltage predictie.
[6] JH.J.M.Hulshof ‚ W.R.Rutgers, A.H.v.d.wey: Optical voltage sensor: applications in electric power systems. KEMA, 1987
(Een beschrijving van optische spanningssensoren)
[7] JW.R.Rutgers, H.J.M.Hulshof, I.J.Laurensse, A.H.v.d.Wey: Optical sensors for de measurement of electrical current and voltage. KEMA Scientific & Technical Reports, 1987
(Een beschrijving van optische sensoren.)