• No results found

Emwiro Trådlös Kommunikationsmodul: "An embedded, intelligent and wireless relay module"

N/A
N/A
Protected

Academic year: 2022

Share "Emwiro Trådlös Kommunikationsmodul: "An embedded, intelligent and wireless relay module""

Copied!
67
0
0

Loading.... (view fulltext now)

Full text

(1)

Emwiro Trådlös Kommunikationsmodul

”An embedded, intelligent and wireless relay module”

Kandidatuppsats 10p 2007 Högskolan i Halmstad

Sektionen för Informationsvetenskap, Data- och Elektroteknik

Robert Ehn, Elektroteknik

Amir Kozarcanin, Datorsystemteknik

(2)
(3)

Förord

För att sammanfatta och avsluta den treåriga utbildning inom Elektroteknik samt Datorsystemteknik som givit kunskap för en kandidatexamen har ett examensarbete utförts på uppdrag av Emwitech AB. Valet föll på det här examensarbetet då det innefattade en stor del av de kunskapsområden utbildningen behandlat med ett inbyggt system i centrum och som mål en färdig produkt i form av en trådlös kommunikationsmodul som i framtiden kan sättas i produktion.

Varje lång vandring innebär nya upptäckter som hänrycker vandraren men bjuder även på hinder som måste övervinnas för att stigens ände skall nås. De som hjälpt oss genom svårigheterna och uppmuntrat vår resa mot de mål vi satt upp riktar vi vår tacksammhet.

Vi vill tacka vår handledare Anders Åhlander vid Högskolan i Halmstad för det stöd han givit oss under projektets gång och för det tålamod han visat. Vi vill tacka vår uppdragsivare Emwitech AB och Patrick Broberg som erbjöd oss ett spännande projekt vilket har gett oss möjlighet att nyttja våra samlade kunskaper från vår utbildning. Vår tacksamhet går även till Börje Dellstrand för den tid han givit oss under projektets gång samt alla de på Emwitech och högskolan som hjälpt oss på den spännande resa som nu når sitt mål.

Vi vill speciellt tacka våra familjer och vänner för det stöd de givit oss under arbetets gång och alltid funnits där för oss när vi behövt de.

Robert Ehn Amir Kozarcanin

(4)
(5)

Sammanfattning

Projektet syftar till att utveckla en kommunikationsmodul till ett trådlöst larmsystem.

Kommuikationsmodulen integrerar ett inbyggt system som kommunicerar via en radiomodul utvecklad av företaget Emwitech AB. Kommunikationsmodulen har som uppgift att styra externa detektorer och periferienheter. Utvecklingen av hårdvaran har skett i Altium Designer vilket har resulterat i en prototyp. Prototypen inkluderar avancerad teknik såsom programmerbar logik och mikroprocessorer. Mjukvaran utgör intelligensen i systemet och ansvarar för att larmsystemet arbetar enligt de standarder som finns för hög säkerhet.

En utredning med avsikt att välja kärnan i systemet har utförts och ett flertal aktuella teknologier har analyserats och vägts mot varandra.

Abstract

The purpose of this project is to develop a communication module for a wireless alarm system. The communication module integrates an embedded system which communicates via a radio module developed by Emwitech AB. The communication modules task is to control external detectors and periferal units. The hardware was developed in Altium Designer and a prototype was the result of that development. The prototype utilizes advanced technology in the shape of programmable logic and micro processors. The system software constitute the intelligence of the system and is in charge of the alarm system following the technical specifications that definines high security.

A study was performed with the intentions of selecting the core of the system. A diverse selection of current technologies was analyzed and weighted against each other in the study.

(6)
(7)

Rapportöversikt

Denna rapport är främst riktad till individer med minst tre år teknisk ingenjörsutbildning bakom sig.

Rapporten innehåller dock förklaringar till tekniska uttryck och förkortningar för att möjliggöra ökad förståelse av dess innehåll.

Rapporten erbjuder följande kapitelindelning för att åskådliggöra dess innehåll på ett läsbart och intressant sätt.

1 Inledning

Det här avsnittet ger en introduktion till det projekt rapporten behandlar. Upplägget är sådant att bakgrunden, problemställningen och målet med projektet beskrivs stegvis.

2 Teori

Detta avsnitt innehåller de utvärderingar som genomförts inför valet av teknologier. Avsnittet är uppdelat i tre delar där varje del behanlar ett teknologiområde. De olika delarna har en introduktion sedan presenteras de alternativ som finns och slutligen sammanfattas alla alternativen i ett överskådligt format.

3 Metod

Metod beskriver de tekniker som använts för att utföra projektet och de val som gjorts. En utförlig beskrivning av hårdvaran finns även med här.

4 Resultat

Presentation av projektets resultat återfinns i detta avsnitt och utifrån projektets mål förklaras vad som uppnåtts.

5 Slutsats och diskussion

Analys och reflektion av projektets resultat och utförande behandlas här. De tankar som funnits under projektets gång och de val som gjorts diskuteras utifrån projektets förutsättningar.

6 Referenslista

Källhänvisningar till de litterära verk som utgör den teoretiska grunden till detta projekt.

7 Bilagor

De mest vesäntliga dokument för utförandet av projektet så som kretsscheman och datablad.

(8)
(9)

Innehållsförteckning

Förord...1

Sammanfattning...3

Abstract...3

Rapportöversikt...5

Innehållsförteckning...7

1 Inledning...1

1.1 Problemformulering...1

1.2 Syfte...1

1.3 Avgränsning...1

2 Teori...2

2.1 Styrlogik...2

2.1.1 AVR... ...3

2.1.2 PIC... ...5

2.1.3 Programmerbar logik... ...6

2.1.4 Sammanfattning... ...11

2.2 Bussar...11

2.2.1 I2C... ...11

2.2.2 SPI... ...13

2.2.3 Microwire... ...14

2.2.4 Sammanfattning... ...14

2.3 Nätdel...15

2.3.1 Klassiska nätdelar... ...15

2.3.2 Switchade Nätdelar... ...18

2.3.3 Sammanfattning... ...21

3 Metod...23

3.1 Val av teknologi...23

3.1.1 Styrlogik... ...23

3.1.2 Kommunikationsbuss... ...24

3.1.3 Nätdel... ...25

3.2 Utvecklingsmiljö...25

3.2.1 Hårdvarudesign... ....25

3.2.2 VHDL... ...26

3.2.3 C programmering... ...26

3.2.4 Utvecklingskort... ...26

3.3 Framtagen mjukvara...27

3.4 Framtagen hårdvara...27

3.4.1 Formfaktor... ...27

3.4.2 PIR gränssnitt... ...27

3.4.3 Sabotagedetektor... ...30

3.4.4 Periferistyrenhet... .30

3.4.5 Radiomodul... ...31

3.4.6 Nätdel... ...32

3.4.7 Oscillator... ...33

4 Resultat...35

5 Slutsats och diskussion...37

6 Referenslista...39

7 Bilagor...41

(10)
(11)

1 Inledning

Utvecklingsbolaget Emwitech AB utvecklar tekniska lösningar för den globala säkerhetsmarknaden.

Företaget utvecklar ett eget övervakningssystem kallat Emwiro som bygger på en avancerad plattform med funktionalitet för hög säkerhet och avancerad övervakning av villor samt företag.

Plattformen nyttjar ett flertal egenutvecklade teknologier så som radiomoduler med multihoppteknik och kameror med avancerad bildbehandling.

Övervakningssystemet Emwiro använder idag PIR-detektorer (Passiv Infraröd Strålning) för att detektera människor. Dessa detektorer är egenutveckavlade och nyttjar de teknologier som finns i Emwitechs plattform för övervakningssystem. Flera stora producenter inom säkerhetsteknologi tillverkar liknande detektorer med egna tekniska lösningar som har andra egenskaper än de detektorer Emwitech nyttjar i dagsläget. Att kunna integrera dessa detektorer i Emwiro vore önskvärt då systemet skulle öka sitt aktionsområde med de specialdetektorer som finns tillgängliga.

1.1 Problemformulering

För att interagera med andra företags detektorer måste en brygga införas i systemet. Bryggan ska omvandla de signaler detektorerna använder sig av och förmedla de via radionätverket Emwiro arbetar i. Även styrning av andra enheter skall inkluderas i samma brygga och en avancerad trådlös kommunikationsmodul ska därmed vara resultatet.

1.2 Syfte

Projektet har som uppgift att utveckla en trådlös kommunikationsmodul som kan användas som tillbehör till Emwiro larmsystem. Kommunikationsmodulen behöver flera olika delar för att utföra de uppgifter som är specifierade. Kommunikationsmodulen behöver spänningssättas och styras samt interfacet mot detektorn måste specifieras och konstrueras.

Styrningen av kommunikationsmodulen ska ske med någon typ av processor eller programmerbar logik. De olika teknikerna behöver undersökas och utvärderas för att kommunikationsmodulens funktionalitet skall vara optimal.

Både hårdvara och mjukvara ska konstrueras enligt de krav som finns i Svensk Standard [1] som behandlar de egenskaper larmsystem måste besitta.

1.3 Avgränsning

Kommunikationsmodulen ska utvecklas med enbart en detektor som referens, detektorn som väljs ut i detta syfte ska vara typisk för de detektorer som kan vara intressanta att integrera i Emwiro.

(12)

2 Teori

En undersökning av styrlogik, kommunikationsbuss samt nätdel måste utföras. Utredningen skall resultera i de teknologier som skall integreras i kommunikationsmodulen. Utredningen har delats upp i tre delar där varje punkt utreds och analyseras.

2.1 Styrlogik

Ett antal tekniker har valts ut för att utgöra den studie som ska leda fram till lämplig teknik för det inbyggda system som skall konstrueras. Valet av dessa tekniker utgår ifrån preferenser från uppdragsgivaren, tidigare kunskaper om teknologin samt de krav en realisering ställer på hårdvaran.

De tekniker som valdes ut för undersökningen var enklare mikrokontroller samt programmerbar logik som uppfyllde de krav som satts upp i projektformuleringen. En viktig aspekt i urvalsprocessen var att den teknik som valdes var lämplig för massproduktion i en slutgiltig version av kommunikationsmodulen. Undersökningens utförande var av teoretisk karaktär då tid saknades för en empirisk studie av de olika alternativen.

Mikrokontroller

Mikrokontroller med 8 bitars instruktioner har valts då dessa är små och strömsnåla men inte har så stora beräkningskapaciteter. Två ledande företag inom det här marknadssegmentet är Atmel Corporation och Microchip Technology som tillverkar AVR respektive PIC. Båda dessa mikrokontroller innehåller processorer som arbetar enligt Harvardmodellen som illustreras på Figur 1. Harvardmodellen går ut på att programminne och dataminne är separerade från varandra vilket innebär att man använder två systembussar, en för data och en för program. Genom att göra på detta vis har man ökat processorns prestanda och komplexa beräkningar är möjliga trots små beräkningskapaciteter [2].

Figur 1: Harvardmodellen med separata bussar för program och dataminne.

Data

Minne Processor Program

Minne

(13)

Programmerbar logik

Ett alternativ till mikrokontroller är programmerbar logik. Anledningen till att programmerbar logik används är att de kan utföra uppgifter mer resurssnålt då konfigurationen är specifik för uppgiften.

En krets innehållande konfigurerbar hårdvara kan var väldigt enkel med ett fåtal celler som utför uppgiften optimalt. Det finns ett fåtal företag som är stora på programmerbar logik där Xilinx står i spetsen med nästan 50% marknadsandel [3] och ligger bakom många av de innovationer som styrt utvecklingen av teknologin.

2.1.1 AVR

Processorers instruktionsuppsättning kan vara konstruerad enligt RISC (Reduced Instruction Set Computer) eller CISC (Complex Instruction Set Computer) [2][4]. RISC består av ett mindre antal lika stora instruktioner. Utmärkande för denna uppsättning är den snabba hårdvaruimplementering av styrenheten i processorn. Till skillnad från RISC består CISC av fler instruktioner som är enkla att implementera. Syftet med CISC är att underlätta konstruktionen av kompilatorer, vilket betyder att kompilatorn, på ett enkelt sätt väljer instruktioner som är optimala för läget. En karakteristisk olikhet mellan RISC och CISC uppsättningar är instruktionernas storlek. I CISC uppstår olika stora instruktioner på grund av att de är så komplexa, detta medför att flera operationsord används för att beskriva de. Vid användning av CISC tar det 1 till 10 klockcykler att utföra en instruktion medan vid användning av RISC tar det 1 klockcykel.

AVR-arkitekturen

Företaget Atmel Corporation grundad 1984 och utvecklar mikrokontroller som delas in i tre grupper. Dessa baseras på följande arkitekturer, AVR 8-bits RISC, ARM 32-bit RISC och AVR32 32-bits RISC/DSP (Digital Signal Processing). Mikrokontroller förutsätts vara fullständiga datorsystem som inkluderar processorer i små integrerade kretsar, ha inbyggt minne och I/O (In och Ut) bussar. I detta projekt kommer AVR familjen att stå i fokus, AVR familjen indelas i tre grupper, Tiny AVR, megaAVR och ASSP AVR. Tiny AVR karakteriseras av att ha färre antal periferenheter, ha ett Flash minne med storlek 1-8 kB och består av en kapsel med 8-20 pinnar. Till skillnad från Tiny AVR har megaAVR ett bredare utbud av integrerade periferenheter. megaAVR disponerar även ett större Flash minne med en kapacitet på kapacitet 4-256 kB och består av 28-100 pinnars kapsel.

ASSP AVR är megaAVR utökad med applikationsspecifika periferenheter som exempelvis USB (Universal Serial Bus) eller LCD (Liquid Crystal Display) drivning.

Gemensamt för alla processorerna i AVR familjen är att de delar samma grundarkitektur och instruktionsuppsättning, vilket gör att programkoden kan återanvändas mellan de olika processorerna utan att den behöver modifieras, se Figur 2. AVR processorerna bygger på Harvardmodellen har instruktionsuppsättning av typen RISC. Instruktionernas storlek i AVR familjerna är exakt 16 bitar, detta bestämdes för att noggrant kunna beräkna antal klockpulser ett program behöver för att utföras.

(14)

AVR minne

Alla processorer i AVR familjen är utrustade med programminne, dataminne och permanentminne.

Programminnet består av FLASH minne och kategoriseras som icke flyktligt. Det innebär att informationen bibehålls trots avsaknad av ström. Denna egenskap medför att minnet används för att lagra exekverbara koder och konstanter.

Dataminne i AVR familjen består av tre separata nivåer av läs/skriv minne. Den lägsta nivån innehåller 32 generella register, vilket gör att beroendet av externa register minskar i hög grad och ger möjlighet till att skriva snabba program. Dessa register används till att lagra lokala och globala variabler men också till temporär data som används då program exekveras. Nästa nivå består av 64 I/O (in- och utdata) register, vilka används som gränssnitt mot I/O enheter och periferienheterna på mikrokontrollerna.

Den tredje nivån är integrerade SRAM (Static Random Access Memory) som finns hos de flesta AVR processorerna och används vanligtvis till stackutrymme. SRAM, statiska RAM är snabba minnen och så kallade flyktiga minnen vilket innebär att de behåller sin information så länge de har spänning och inte behöver uppdateras.

PROM minnet (Programmable Read Only Memory) är i likhet med FLASH minnet ett icke flyktigt minne. Minnets innehåll kan enbart läsas, lagring och ändring av minnet sker enbart genom användningen av specifika elektriska PROM brännare. En annan variant av PROM minne är EEPROM (Electrically Erasable PROM). Denna sorts minne karakteriseras av att kunna raderas med en elektrisk spänning. EEPROM används till variabler som måste behålla sina värden även om strömmen slås av. I AVR processorerna kan data lagras på två sätt i EEPROM minnet. Dels genom definition av datasegment i programmet eller genom att lagra data i EEPROM minnet under tiden programmet körs. Lagring genom definition av datasegment i programmet används då man vet att data inte kommer att förändras medan programmet körs. I annat fall krävs det en programkod som

Figur 2: AVR mikrokontroller nyttjar flera olika typer av minnen och bussar för att bygga upp en arkitektur enligt Harvardmodellen.

Stack pekare

Program Räknare

SRAM

Program FLASH

Instruktions Register

Instruktions Dekoder Generella

Register X Y Z Status

Register ALU

Kontroll Ledningar

(15)

Avbrott

De avbrott som finns i AVR processorerna har samma prioritet, dvs. ett avbrott kan inte ge upphov till ett annat avbrott. Två avbrott kan ske samtidigt och för att avgöra vilken som ska exekveras först använder man sig av prioritets tabeller. De avbrott som förekommer i AVR processorerna är asynkrona, vilket innebär att tiden då avbrottet inträffar inte blir känd

Timer

En mycket användbar hårdvara i mikrokontroller är timern. Timern är en räknare som med olika hastigheter kan räkna upp och ner timer-register. Timern är mest användbara vid användning av avbrott. Avbrottet sker då räknaren räknat ner till noll eller då räknaren har räknat upp till det maximala värdet och då slår om och börjar på noll igen. Hastigheten bestäms av processorn men den kan även skalas ner till lägre hastigheter.

Kommunikation

SPI (Serial Peripheral Interface) och UART (Universal Asynchonus Reciver Transmitter) är två sätt som gör det möjligt för AVR processorerna att seriellt kommunicera med andra mikrokontroller eller enheter [2][4]. För seriell kommunikation med UART används ledningar med benämningen RXD (Recive Data) och TXD (Transmit Data). UART används för kommunikation med förhållandevis långa avstånd. SPI används normalt sätt till kommunikation där avståndet mellan enheterna är kort och tidskraven är hårdare än för kommunikation med UART.

2.1.2 PIC

PIC processorerna är mikrokontroller som tillverkas av företaget Microchip Technology. I likhet med AVR finns det ett stort utbud av olika varianter PIC mikrokontroller exempelvis 8-bitar och 16- bitar familjer. PIC processorerna har en likartad uppbyggnad oavsett serie.

Bland de PIC processorer som påminner om 8-bitar RISC AVR arkitekturen har PIC18F2585/2680/4585/4680 [5] valts ut för närmare granskning. PIC processorernas arkitektur är av Harvardtypen med RISC instruktionsuppsättning där varje instruktion är 16 bitar lång. PIC processorer är utrustade med program, data och permanentminne. Programminnet är som i AVR familjen ett FLASH minne som kan omprogrammeras. Dataminnet består av SRAM minne där varje register har 12 byte lång adress.

Permanentminnet som består av ett EEPROM och har ingen direkt adress vilket gör att åtkomsten till minnet sker genom register som tillhör SFR (Special Function Registers).

Timers

PIC processorerna har ett flertal timers med olika uppgifter, de flesta timers är ekvivalenta med de som finns i AVR och enbart små skillnader finns.

(16)

Avbrott

Likt AVR använder sig PIC av avbrott för att utföra uppgifter. Avbrotten initieras via specifika register och kan aktiveras av intern hårdvara, programmkod samt externa pinnar.

Kommunikation

De PIC processorer som har undersökts har tre protokoll som kan användas för att seriell kommunikation med omvärlden, MSSP (Master Synchronous Serial Port), CAN (Control Area Network) och UART. MSSP protokollet används för kommunikation mellan PIC processorn och andra enheter eller mikrokontroller. MSSP protokollet kan fungera som antingen SPI eller I2C (Inter-Integrated Circuit). CAN skapades för att PIC processorer ska kunna kommunicera med andra enheter eller mikrokontroller i brusiga miljöer.

2.1.3 Programmerbar logik

Programmerbar logik eller PLD (Progrannable Logic Device) är uppbyggd av makroceller, vilka i sin tur består av kombinatorisk logik och vippor. I varje makrocell kan en liten logisk booelsk ekvation byggas. I makrocellerna finns matriser där alla förbindningspunkter kan brännas till slutna förbindelser eller förbli orörda och därmed öppna förbindelsepunkter. Detta gör att olika kombinationer av logik kan skapas. Förbindningspunkterna förbinder matrisens ledningar med varandra. De skapas med hjälp av PLD mjukvaran och kan omkonfigureras flera gånger. Detta betyder att man undgår äldre konstruktionssätt där man var tvungen att konstruera nya kretskort för att ändra funktionaliteten i systemet. Det finns flera olika sätt att beskriva hur logiken skall sammankopplas i en PLD och dessa kallas HDL (Hardware Description Language).

De tre vanligaste PLD är SPLD (Simple PLD), CPLD (Complex PLD) och FPGA (Field Programmable Gate Array) [6].

VHDL

På 1980-talet påbörjades utvecklingen av VHDL (Very high speed integrated circuit HDL) av det amerikanska försvarsdepartementet. Anledningen var att man ville åstadkomma ett standardiserad språk för att kunna beskriva elektroniksystem. År 1987 standardiserades VHDL av IEEE (Institute of Electrical and Electronics Engineers) och är idag ett mycket populärt språk.

VHDL är ett kraftfullt och flexibelt hårdvaruprogrammeringsspråk som används till specificering, verifiering och konstruktion av elektronik . Konstruktionen som görs är oberoende av den teknologi som ska användas, vilket innebär att byte av teknologi med automatiska verktyg är möjligt. Språket stödjer flera utvecklingsmetodiker så som top-down och bottom-up. VHDL används till felhantering samt verifiering av modeller utan att känna till implementeringssätt.

(17)

Eftersom VHDL språket är en standard kan koden för simulering på ett enkelt och smidigt sätt flyttas mellan olika konstruktionsverktyg. Standarden är dock enbart för simulering, vid konstruktion är det svårare med flyttning av koden mellan olika teknologier. En annan möjlighet som VHDL ger är att man kan arbeta på högre abstraktionsnivå än den traditionella grindnivån. Vid traditionell schemakonstruktion måste man hålla reda på timing, area och andra viktiga teknologispecifika delar, medan man i VHDL inte behöver bry sig om de detaljerna i beteendebeskrivningen utan kan göras i efterhand med optimeringsverktyg [7].

SPLD

Om man jämför de olika PLD som finns på marknaden är SPLD den enklaste och billigaste av dem.

SPLD är vanligtvist uppbyggt med 12 eller fler ingångar och mer än 10 utgångar. Det omfattar konfigurerbara logiska grindar, programmerbara förbindningspunkter och minnesvippor. SPLD kan delas in i två modeller, en med utformningen av en PLA (Progammable Logic Array) och en med utformningen av en PAL (Programmerbar Array Logic) [6]. Olika kombinationer av OCH och ELLER grindar på programmerbara plan bildar konstruktionen av PLA, se Figur 3.

På samma sätt som hos PLD har OCH-ELLER grindmatrisen möjlighet att bränna in en anslutning på varje förbindelsepunkt. En PLA påminner om ROM (Read Only Memory) men skilljer sig i hur storleken på dom bestäms. Antalet insignaler och utsignaler från AND planen och antalet utsignaler från ELLER planen utgör tillsammans storleken på en PLA. Att bestämma storleken på detta sätt gör det enkelt att avgöra det utrymme som PLA behöver.

Ett ROM består av ett nät av kolumner och rader och kan enbart läsas. För att förbinda en rad med en kolumn används en diod som antingen släpper genom strömmen eller inte, beroende på vilken spänning som ligger över den. På så sätt får man olika kombinationer av kolumner och rader. Detta påminner om funktionaliteten hos en PLA.

Figur 3: Enkel PLA där slutna förbindelsepunkter utgör booelska ekvationer.

A B C X Y

Ingångar Utgångar

Sluten förbindelsepunkt Öppen förbindelsepunkt

Y = ( A * B ) + C' X = ( A * B ) + C

(18)

PLA kretsar finns i två olika utföranden, mask programmable och field programmable. Skillnaden mellan de är att den första programmeras av tillverkaren meden den senare programmeras av användarna. Fördelen med PLA är att de är flexibla på grund av att båda planen är programmerbara, dock är de dyra och fördröjningen av signalen från ingången till utgången är relativt hög vilket gör PLA långsamma [6][8][9].

På grund av de höga priserna och den långsamma hastigheten utvecklades PAL, se Figur 4. Den stora skillnaden mellan PLA och PAL är att PAL har ett fast ELLER plan. Vilket innebär att det är bara AND planen som är programmerbar, PAL karakteriseras av att ha mindre antal förbindelsepunkter och färre kombinationer än PLA [6][8][9].

CPLD

CPLD består av ett stort antal makroceller av PAL typ integrerade i samma kapsel, se Figur 5. Alla makrocellerna är kopplade till en programmerbar kopplingsmatris vars uppgift är att förbinda makrocellerna. Den har även som uppgift att utgöra förbindelsen mellan alla makroceller och styrsignalen. Makrocellerna består av en mängd I/O portar som är anslutna till CPLD kretsens externa ben och kan konfigureras så att nästan alla ben är tillgängliga för vilken intern signal som helst [6].

Formgivningen av logiken i en CPLD sker på ett enkelt och smidigt sätt med VHDL. Efter att formgivningen har genomförts används utvecklingsmiljön för CPLD kretsar för att optimera, anpassa och simulera designen. CPLD kan omprogrammeras flera gånger vilket göra att ändringar i konstruktionen kan enkelt utföras, implementeras och testas på nytt. Denna möjlighet gör att det blir låga kostnader för användaren. Formfaktorn på en CPLD är relativt liten, men trots det har den högt antal grindar. CPLD kan ha många ingångar och har korta ben till ben fördröjningar [8][9].

Figur 4: Enkel PAL där permanenta förbindelsepunkter bränns in med PLD mjukvara.

A B C X Y

Ingångar Utgångar

Sluten förbindelsepunkt Öppen förbindelsepunkt

Y = ( A * B ) + C' X = ( A * B ) + C

Permanent sluten förbindelsepunkt

(19)

FPGA

FPGA är programmerbara grindmatriser och deras uppbyggnad skiljer sig från CPLD och SPLD.

En FPGA består av CLB (Configurable Logical Block), I/O Block, DDL (Delay Locked Block) , RAM minne samt en kopplingsmatris. En sådan krets är avbildad på Figur 6.

Ett konfigurerbar logiskt block består av fyra logiska celler, där varje cell består av en fyraingångars LUT (Look Up Table) och en vippa, se Figur 7. En LUT har som uppgift att driva utgången på det konfigurerbara logiska blocket eller ingången på vippan. En LUT består av en sanningstabell som innehåller alla möjliga ingångskombinationer och deras bestämda utgångssignaler.

Figur 5: Uppbyggnaden av CPLD kan illustreras på ovanstående sätt.

Makrocell av PAL typ

I/O koppling Makrocell

av PAL typ

Makrocell av PAL typ Makrocell

av PAL typ

I/O koppling I/O

koppling

I/O koppling

Kontrollsignalkopplingar

Programmerbar Kopplingsmatris

Figur 6: FPGA är uppbyggt av en stor mängd CLB samt I/O och Block RAM.

DLL

CLB R

A M

CLB CLB CLB CLB

CLB CLB CLB CLB CLB

I/O L o g i k

I/O Logik

(20)

I/O blocken kontrollerar data mellan I/O pinnarna och den interna logiken. Denna länk är anpassad för ett stort antal signalstandarder men den ska även kunna känna igen olika minnen och bussar.

För att funktionaliteten i FPGA ska vara korrekt måste alla block vara synkroniserade. Avstånd till blocken varierar och det kan ställa till med problem om klockpulserna inte kommer fram till alla block samtidigt. För att undvika detta problem används DDL block. DDL fördröjer den externa klocksignal som är kopplad till varje internt block. Fördröjningen skall vara exakt en klockpuls.

Routing används till utformningen av interconnection och utgör konstruktionen av FPGA.

Interconnection består av metalledningar och programmerbara förbindelsepunkter som sammankopplar signaler mellan logiska block och I/O. Två avgörande faktorer i routing är partitionering och placering. Placering används för lokalisering av specifika lägen på CLB i FPGA.

Partitionering används till att dela upp logiken i FPGA till individuella funktioner som sedan placeras i individuella CLB. Med hjälp av routing bestäms den längsta vägen mellan blocken och det är den sträckan som avgör hastigheten för hela konstruktionen.

Det RAM minne som finns inkluderat på ett FPGA krets får vanligtvis sin information från något annat externt minne då kortet spänningsätts. Detta tillåter att FPGA kan konfigureras på olika sätt beroende på vilken funktion man vill att den ska kunna utföra. Det finns två varianter av FPGA, omprogrammerbara SRAM baserade och OTP (One Time Programmable). SRAM baserade måste omprogrammeras varje gång FPGA spänningssätts men i gengäld kan konfigurationen alltid ändras.

OTP behåller alltid den konfiguration som först skrivs.[6][8].

Sammanfattningsvis kan det sägas att skillnaden mellan CPLD och FPGA ligger i hur deras arkitektur är uppbyggd. CPLD är uppbyggd av macroceller av typen PAL medan FPGA är uppbyggda av programmerbara grindmatriser. En FPGA kan ha uppemot några miljoner logiska grindar medan CPLD har några tusentals.

Figur 7: Logisk cell bestående av en fyraingångars Look Up Table och en D-Vippa 4

ingångars LUT

D-Vippa

Ingångar Utgång

Klocksignal

(21)

2.1.4 Sammanfattning

Alla de tekniker som undersökts har låg strömförbrukning och är därför intressanta alternativ. Av de olika typerna av programmerbar logik används idag framförallt CPLD och FPGA. FPGA har utvecklats till stora kretsar med miljontals konfigurerbara logiska block och används huvudsakligen till komplexa uppgifter. CPLD har utvecklats åt ett annat håll där fysisk storlek och enklare uppgifter ligger i fokus.

Mikrokontroller innehåller hela system med processorkärnor minne och periferienheter. Dessa är väl lämpade att användas då periferienheterna nyttjas men de fall då de inte används medför de högre kostnad samt högre effektförbrukning.

2.2 Bussar

För överföring av data mellan radiomodulens AVR processor och den sryrlogik som kommer att placeras på kommunikationsmodulen krävs det någon typ av kommunikation. Det som finns tillgängligt på radiomodulen är möjligheten till en seriell eller parallell kommunikationsbuss.

Utifrån det val som görs av styrlogik måste passande kommunikationsbuss väljas. De vanligaste typerna av kommunikationsbussar för den här typen av applikation har valts ut för att se vad som behövs för antingen implementera den mest lämpliga av dessa eller en realisering av ett eget gränssnitt. De som har som valts ut är I2C, SPI samt Microwire som alla används i inbyggda system [10].

2.2.1 I2C

I2C är ett seriellt gränssnitt som skapades för 20 år sedan av företaget Philips. Syftet med I2C var att skapa en enkel kommunikationsbuss mellan olika enheter som befann sig på ett och samma kretskort. Idag används I2C som standard och är lämpligast att användas inom inbyggda system där avståndet mellan enheterna är relativt kort [11].

Standard kommunikationshastigheten är 100 kbit/s, men I2C stödjer även hastigheterna 400 kbit/s som är ”fast mode” och 3,4Mbit/s som är ”high speed mode”.

Bussen är endast uppbyggd av två bussledningar som har benämningen SDA (Serial Data Line) och SCL (Serial Clock Line), se Figur 8. SCL är bussens klocka som används till att klocka in och ut data från och till de anslutna enheterna. SDA är en dubbelriktad ledning som används för att transportera seriell data. I2C bussen stödjer uppkoppling av ett stort antal enheter, där varje enhet identifieras med 7 bitars unikt adress. Enheterna kan antingen vara master eller slave. Normalt styrs SCL av master enheten/enheterna men kan även påverkas av slave om ”clock stretching” finns tillgänglig. Clock stretching tillåter slave enheterna att sakta ner busshastigheten eller stoppa klockan genom att hålla SCL låg. Gemensamt för master och slave är att båda kan ta emot och sända data.

(22)

Dataöverföringen börjar med ett startkommando och avslutas med ett stoppkommando.

Startkommandot initieras genom att man låter SDA vara låga samtidigt som SCL är hög, medan stopkommandot initieras genom att man låter SDA vara hög samtidigt som SCL är hög. Överföring av data på SDA är endast möjlig då SCL är låg. SDA och SCL är anslutna till pull-up motstånd, vilket innebär att de är aktivt höga då ingen data sänds. Se Figur 9 för illustration av dataöverföring.

Efter att startkommandot initierats skickar sändaren, som antingen är master eller slave, en 7 bitar lång adress som är unik för den enheten som den vill kommunicera med. När enheten med den unika adressen hittats skickar sändaren en bit som ser till att mottagaren vet om den ska ta emot eller sända data. När mottagarenheten mottagit adressen och skriv/läs biten sänder den ACK tillbaka till sändaren. Detta sker genom att den låter SDA ledningen gå låg. ACK är bekräftelse till sändaren som förmedlar att överföringen gått rätt till. När sändaren får ACK börjar den sända data. När all data har sänts skickar sändaren stopkommandot till mottagaren för att tala om till den att den har sänt färdigt [11], se Figur 10.

När master är sändare och slave mottagare väntar master på den sista ACK ska anlända för att sedan skicka stopkommandot. När slave är sändare och master mottagare sänder inte master ACK efter att

Figur 8: I2C bussen använder sig av endast två ledningar, SDA samt SCL.

Central Mikrokontroller

Periferienhet Periferienhet Periferienhet

SDA SCL

Figur 9: Överföringen av data via I2C börjar och slutar med ett speciellt kommando där både SDA och SCL är involverade.

Start Stopp

SDA

SCL

Figur 10: I2C kommunikation där master enheten addresserar slavenheterna som sedan sänder data.

S Slave address R

/ W

A C K

Data

A C K

Data

A C K

F

(23)

2.2.2 SPI

SPI är en seriell synkroniserad full duplex buss framtagen av Motorola. Full duplex innebär att kommunikation kan ske i båda riktningarna samtidigt. Syftet med att SPI var att skapa en höghastighets kommunikationsbuss som inte krävde användning av många signaler. I likhet med I2C används SPI i många processorer och mikrokontroller där avståndet mellan enheterna är relativt kort [12][13]

Vid användning av SPI krävs fyra signaler, klocka SCLK (Serial CLocK), SS (Slave Select), MOSI (Master data Output, Slave data Input) och MISO (Master data Input, Slave data Output) Det är master som styr signalerna SCLK och SS, se Figur 11.

När master vill kommunicera med någon av slave enheterna måste den välja rätt slave select signal, vilket innebär att det för varje slave enhet som är ansluten till systemet måste det finnas en slave select signal tillgänglig, se Figur 12.

SCLK signalen synkroniserar kommunikationen mellan enheterna och är alltid kopplad till alla enheter vare sig de kommunicerar med master eller inte. Det är upp till slave enhetera att hantera klocksignalen på ett korrekt sätt. På MOSI och MISO signalerna överförs data mellan slave enheterna och master enheten.

Figur 11: Fyra signaler används vid överföring via SPI.

Master Slave

SCLK MOSI MISO SS

Figur 12: En SPI buss med flera anslutna slavenheter använder separarata ledningar för addressering.

Master Slave1

SCLK MOSI MISO SS1

Slave2

SS2

(24)

MOSI överför data från master till slave medan MISO från slave till master. Master initierar den data som ska överföras, genererar klockan och väljer slave enheten den vill sända data till. Master skiftar 8 bitar data i taget samtidigt som slave också kan skifta 8 bitar data till master.

Klockparametrarna CPOL (Clock POLarity) och CPHA (Clock PHAse) har som uppgift att avgöra om skrivning eller läsning av data ska ske på klockpulsernas positiva eller negativa flank. När master vill sända data måste den se till att polariteten och fasen är rätt inställda. När både fasen och polariteten är noll läses data på klockans positiva flank och data kan ändras på den negativa flanken.

Vid de fall polariteten är noll och fasen är ett gäller läses data på den negativa flanken och skrivs på den positiva. När polariteten är ett och fasen noll läses data på klockans negativa flank och skrivs på den positiva. Vid händelsen att båda är ett gäller det motsatta. För att kunna kommunicera på ett korrekt sätt måste både master och slave använda samma kombination av parametrar.

2.2.3 Microwire

Microwire är ett seriellt gränsnitt utvecklat av företaget National Semiconductor. Gränssnittet är uppbyggt av tre signaler SI (Serial Input), SO (Serial Output) och SC (Serial Clock). Data klockas av processorn via SO signalen till de anslutna enheterna och tas emot från dem via SI. Läsning av data sker på den positiva flanken. I likhet med SPI används en slave select signal för val av enhet processorn vill kommunicera med. Fördelen med Microwire och SPI är att dataöverföring sker snabbare jämfört med I2C. Detta på grund av att I2C använder adressering av enheter vilket innebär att adressen måste skickas innan man kan överföra data. Eftersom Microwire och SPI är uppbyggda på likartat sätt är det vanligt att båda finns implementerat i många enheter [10]

2.2.4 Sammanfattning

Sammanfattningsvis kan sägas att Microwire och SPI är snabbare än I2C. Vid användning av dem överförs data i MHz hastigheter medan I2C har tre olika mode som är standard 100kHz, fast 400kHz och high-speed 3,4MHz. I2C använder sig av två signaler, Microwire av tre signaler och SPI av fyra signaler. De två senaste har dessutom en slave select signal till varje slave enhet som ansluts. Antalet enheter som kan anslutas till de olika bussarna varierar också. Microwire och SPI kan ha så många enheter som det finns slave select signaler tillgängliga. I2C bussen har 127 unika adresser som enheter kan använda sig av.

(25)

2.3 Nätdel

Dagens marknad nyttjar ett antal olika tekniska lösningar för att omvandla och reglera spänningar till de spänningsnivåer som används av elektriska komponenter. Ett flertal av de har använts under många år och har låg verkningsgrad vilket inte är önskvärt i en modern produkt. Kostnaden och storleken på nätdelen är viktiga punkter som måste beaktas då kommunikationsmodulen ska kunna sättas i produktion och då måste leva upp till de krav som ställs på den öppna marknaden.

De tekniker som finns kan delas in i flera kategorier där tekniken bakom är det som huvudsakligen skiljer dem åt. Den klassiska metoden utnyttjar en transformator samt en regulator för att reglera spänningen till rätt nivåer, i den här rapporten kallas dessa klassiska nätdelar. Mer moderna lösningar använder kretsar som genererar högfrekventa pulståg som sedan används för att inducera rätt spänningsnivå. Både dessa typer av nätdelar har nackdelar och fördelar som måste vägas mot varandra då lämplig lösning ska konstrueras.

2.3.1 Klassiska nätdelar

Traditionella lösningar använder ofta en transformator med låg verkningsgrad för att omforma spänningen till en nivå som sedan likriktas och regleras av andra komponenter. Det är inte bara den effektförlust som sker som är ett problem utan även på sättet det sker. Spolarna i transformatorn ger upphov till ett magnetfält som kan störa övriga komponenter genom induktion och måste därför avskärmas. Effektförlusten ger även upphov till termisk strålning som värmer upp omgivningen och till följd av detta förändras de elektriska egenskaperna för övriga komponenter. De material som används för att konstruera en transformator är huvudsakligen koppar till spolarna och järn till kärnan. Dessa är dyra att använda i de mängder som behövs och en transformator är därför en väldigt dyr komponent att använda.

Efter likriktningen måste spänningen anpassas till en korrekt nivå då en transformator ofta levererar en spänning som skiljer sig i viss mån från den som är önskvärd. En regulator används därför för att justera spänningsnivåerna. Regulatorerna finns i många olika versioner där den stora skillnaden är om de är återkopplade eller förlitar sig på en fast spänningsreferens. De med fast spänningsreferens används i enklare konstruktioner där regleringsbehovet är litet medan de med återkoppling används i de fall där lasten kan variera och spänningen måste anpassas.

Zenerregulatorn

Ett enkelt sätt att reglera spänningen på är med en zenerregulator som finns avbildad på Figur 13.

Lasten parallellkopplas med en backspänd zenerdiod som då håller en konstant spänning så länge strömmen är tillräckligt stor. En resistor i serie med zenerdioden förser den med den ström som krävs. Nackdelen med det här är att om lasten förändras så behöver serieresistorn anpassas för den nya lasten. Den här typen av regulering kan endast användas då enkla laster ska drivas då strömmen som flyter genom zenerdioden och matningsspänningen påverkar spänningsnivån som regulatorn lämnar på utgången.

(26)

Serieregulatorn

En annan typ av regulator som kan användas är en serieregulator som enkelt konstrueras som den på Figur 14, serieregulatorn har en emitterföljare för att reglera spänningen över lasten. Basströmmen är ungefär samma ström som flyter genom zenerdioden och minskar därmed påfrestningarna zenerdioden utsätts för.

Majoriteten av strömmen kommer att ledas via transistorn och därmed varierar det mindre genom zenerdioden och spänningsnivån håller en jämnare nivå än zenerregulatorn. Spänningsnivån som serieregulatorn lämnar är lägre än den nivå som ligger över zenerdioden då basemitterspänningen ligger i serie med lasten och sänker därmed spänningen över lasten med den potentialen. För större strömmar kan transistorn kompleteras med en Darlingtonkoppling och minska strömmen genom zenerdioden mer men det kommer även att sänka spänningen på utgången mer. Då den här kopplingen ärver många av sina egenskaper från zenerregulatorn ärver den även delvis nackdelarna.

Spänningsnivån är fortfarande beroende av storleken på lasten samt spänningen på ingången.

Serieregulatorn och zenerregulatorn saknar metoder att reglera utspänningen och för att lösa det måste en återkoppling introduceras i regulatorn som styr spänningsnivån. Utspänningen från en återkopplad lösning ska förblir konstant oavsett om lasten förändras. Den här typen av regulator kallas linjärregulator och förekommer i många olika versioner och är ofta förpackade tillsammans med skyddskretsar som förhindrar ett för högt strömuttag eller för hög temperatur i kapseln.

Figur 14: Serieregulator där transistorn Q leder strömmen till lasten

Dzener R

Last Vs

Q

Figur 13: Zenerregulatorn använder en zenerdiod för att bestämma spänningen över lasten RL.

Dzener R

Last Vs

(27)

Linjärregulatorn

Några vanligt förekommande typer av linjärregulatorer är LDO (Low Dropout Regulator), STD (STandarD regulator) samt Quasi-LDO. De arbetar alla enligt samma princip men transistorn eller transistorerna som har som syfte att leda strömmen skiljer sig åt med mål att ge regulatorn olika egenskaper. En LDO-regulator kan ses på Figur 15.

En operationsförstärkare används som komparator för att jämföra utspänningen med en referensspänning. Utsignalen från komparatorn styr en NPN-transistor som i sin tur styr den transistor eller de transistorer som har som syfte att leda strömmen till lasten från spänningskällan.

LDO används då ett så litet spänningsfall som möjligt vill uppnås, batteridrivna applikationer är en typisk sådan. Endast en PNP-transistor används för att leda strömmen till lasten från spänningskällan. Spänningsfallet blir därmed endast kollektor-emmiterspänningen över transistorn vilket typiskt brukar vara 0,1 till 0,7 volt. Nackdelen med den här typen av regulator är att strömmen som kan flyta genom regulatorn inte kan var så högt då transistorn som används begränsar uttaget.

För att öka strömmen genom regulatorn så kopplas en NPN-transistor till PNP-transistorn och en större ström kan därmed styras. Den här typen av regulator kallas Quasi-LDO då den ger högre spänningsfall än en LDO men ändå inte så högt spänningsfall som en så kallad standardregulator.

Spänningsfallet kommer att vara bas-emmiterspänning från NPN-transistorn samt kollektor- emitterspänningen från PNP-transistorn vilket fortfarande är lågt, cirka 0,9 till 1,5 volt.

För att kunna öka strömmen ännu mer så Darlingtonkopplas NPN-transistorn med ännu en NPN- transistor och en standardregulator eller STD konstrueras därmed. Standardregulatorn har ett typiskt spänningsfall på kollektor-emitterspänningen från PNP-transistorn samt fallet över båda NPN- transistorernas bas-emmitter. Det spänningsfallet är 1.7 till 2.5 volt och används därför endast när spänningskällan kan ge tillräckligt hög spänning, däribland nätanslutna lösningar. Anledningen till att den här är standardregulatorn är för att basströmmarna är mindre än hos de två LDO och Quasi- LDO regulatorerna och därmed även förlusteffekterna.

Figur 15: Linjärregulator av LDO-typ, i kretsen används en komparator som återkoppling.

R Last

Vs

Q NPN Q PNP

R2 R1

Vref

(28)

Sammanfattning

De klassiska nätdelarna använder alltså en transformator följt av en likriktare och till sist en spänningsregulator. Både transformatorn och regulatorn har effektförluster i form av framförallt värme som måste kylas bort och nätdelen måste dimensioneras för att tillgodose tillräcklig effekt för att täcka förlusterna. I sin tur ökar kostnaden både för att producera produkten samt kostnaden för att driva den. Fördelarna med en sådan lösning är att utvecklingstiderna är korta och produkten har väldigt hög pålitlighet så länge kylningen är dimensionerad korrekt.

2.3.2 Switchade Nätdelar

Växlande nätdelar eller switchade som de vanligtvis kallas utnyttjar induktansen hos en spole för att generera den spänning som är önskvärd. Spänningen över spolen är beroende av hur fort strömmen genom den förändras, desto snabbare förändring desto högre spänning enligt induktionslagen [Formel 1]. Spänningen över en spole är enbart beroende på strömförändringen så en likspänning med konstant ström orsakar ingen potentialskillnad över spolen. strömmen genom spolen kan inte förändra sitt värde direkt utan att en oändlig spänning ligger över den. Spänningen kan dock förändras direkt.

v= Ldi dt

Formel 1: Induktanslagen

För att ändra hastighetsförändringen hos strömmen kan frekvensen bytas ut eller så kan förhållandet mellan längden på negativ och positiv halvperiod modifieras. En förändring av halvperiodernas förhållande uppfattar induktorn som en annan frekvens och ger upphov till en annan spänning.

Fördelen med en förändring av halvperioderna är att en fast frekvens är lätt att skapa med en enkel oscillatorkrets till skillnad från frekvensmodulering som kräver variabla oscillatorkretsar.

Både frekvensmodulering och halvperiodbreddsmodulering konstrueras med logiska grindar och får då prefixet puls och de två moduleringstermerna heter därmed pulsfrekvensmodulering samt pulsbreddsmodulering. De logiska grindarna lämnar en fyrkantspuls som vanligtvis styr en BJT (Bipolar Junction Transistor) eller en MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) som agerar brytare för strömmen genom induktorn. Beroende på effektbehov och kostnad sitter transistorn integrerad i samma kapsel som moduleringskretsen tillsammans med skyddskretsar

De switchade nätdelarna finns i både återkopplat format och utan återkoppling. De utan återkoppling har fast frekvens och pulsbredd medan de med återkoppling varierar enligt pulsfrekvensmodulering eller pulsbreddsmodulering och i speciella fall enligt båda. Uppbyggnaden av de återkopplade regulatorerna skiljer sig inte från de som saknar återkoppling utan det är moduleringskretsen som är konstruerad för att hantera återkopplingen. Återkopplingen sker vanligtvis med en direkt elektrisk koppling men då pulsbredsmoduleringskretsen behöver skyddas eller mer noggrann regulering vill uppnås kan en galvaniskt åtskild återkoppling användas.

(29)

Likspänningsomvandling är den vanligaste typen av switchning som både kan sänka och höja upp spänningen beroende på kretsarnas konfiguration. Växelspänning till likspänning omvandling innebär ofta komplexa lösningar och till följd av det används istället likspänning till likspänning omvandling tillsammans med en likriktare kopplad till växelspänningskällan.

Buck-regulatorn

Buck-regulatorn används då likspänningsnivån ska minskas. En pulsbredsmodulator styr en transistor som öppnar och stänger för inspänningen. Då transistorn är öppen ligger spänningen över induktorn och skillnaden mellan inspänningen och utspänningen orsakar att strömmen genom induktorn ökar. Strömmen leds till lasten och till kondensatorn och försörjer därmed lasten med energi och laddar upp kondensatorn. När transistorn är stängd fösvinner matningsspänningen till induktorn men strömmen kan inte förändras direkt och tvingar därmed spänningen att ligga kvar.

Strömmen leds genom lasten och genom dioden vilket ger en konstant spänning över lasten.

Kondensatorn hjälper spolen genom att urladdas genom lasten och den totala strömmen genom lasten är induktorströmmen plus kondensatorströmmen. Strömmen kommer att variera lite genom lasten och ett litet rippel finns med och induktorn måste därför väljas för att strömmen ska vara tillräckligt stor under hela cykeln. På Figur 16 har en enkel Buck-regulator avbildats.

Boost-regulatorn

En Boost-regulator används då spänningsnivån skall höjas, en sådan regulator finns illustrerad på Figur 17. Det är önskvärt då spänningsmatningen är av lågvoltskaraktär exempelvis batteri med få seriekopplade celler. Då transistorn är öppen leds strömmen genom induktorn vilket tvingar upp strömmen. Kondensatorn matar samtidigt ut ström genom lasten och tillbaka till sin andra sida för att hamna i oladdat tillstånd. Då transistorn är stängd minskar strömmen genom induktorn och en postiv potential upstår vilket öppnar dioden. Kondensatorn laddas då upp och strömmen leds även genom lasten. Alltså är strömmen genom lasten kondensatorströmmen då transistorn är öppen och kondensatorströmmen plus induktorströmmen då transistorn är stängd.

Figur 17: Boost-regulator

Last

Vs Q C

D L

PWM

Figur 16: Buck-regulator

Last Vs

Q

C D

L

PWM

(30)

Buck-Boost-regulatorn

En inverterande regulator eller en Buck-Boost-regulator så som den på Figur 18 producerar en inverterad utspänning som kan vara lägre eller högre än inspänningen. Det här öppnar för möjligheten att regulera inspänningar som varierar över och under den önskade spänningen. När transistorn är öppen leds strömmen genom induktorn vilket ökar strömmen genom den.

Kondensatorn leder ström genom lasten under den här perioden. Då transistorn stängs laddar spolen upp kondensatorn via dioden och matar samtidigt lasten. Matningsströmmen till lasten är därför kondensatorströmmen då transistorn är öppen och induktorströmmen minus uppladdningsströmmen till kondensatorn då den är stängd.

Flyback-regulatorn

Flyback-regulatorn som finns på Figur 19 använder en transformator för att bygga upp spänningen.

Polariteten på utspänningen kan väljas genom att vända på sekundärlindningen vilket kan vara värdefullt i en del applikationer. På sekundärsidan kan flera lindningar placeras med olika antal varv och därmed kan flera olika spänningar skapas med samma pulsbreddsmoduleringskrets och transistor. Problemet med att använda samma styrmekanism är att kretsen är återkopplad från en lindning och den kommer att indirekt regulera alla lindningarna och felaktiga spänningar kan uppstå. Detta kan avhjälpas med ytterliggare en uppsättning regulatorkretsar på de lindningar som ej har återkoppling. När transistorn leder ökar strömmen i lindningen på primärsidan och en spänning på sekundärsidan induceras. Spänningen på sekundärsidan ökar strömmen genom spolen.

Kondensatorn laddar ur då detta sker och lasten får sin ström därifrån. Då transistorn slutar leda laddas sekundärsidan av transformatorn ur och laddar upp kondensatorn samt levererar ström till lasten. Flyback-regulatorn påminner mycket om Buck-Boost-regulatorn men många punkter skiljer dem åt, möjligheten till flera sekundärspänningar och en galvaniskt åtskild krets är två av de.

Figur 18: Buck-Boost-regulator

Last Vs

Q

C D

L PWM

Last Vs

Q

C D

PWM T

(31)

Frekvenserna som används till switchade nätdelar sträcker sig från kilohertz till megahertz vilket kan skapa störningar som påverkar annan elektronik. För att bli av med problemet måste filter placeras på utgången och komponenterna måste placeras på ett sådant sätt att signalbanorna hindras från att agera som antenner. Det kan även göras genom skärmning med jordplan på kretskortet samt med korta signalvägar som minskar antennverkan. Frekvenserna som används bör vara åtskillda från de frekvenser som används av övrig elektronik för att minimera att signalerna påverkas.

Induktorn eller transformatorn kan kompletteras med sekundära lindningar som enbart fungerar som skydd mot elektromagnetisk interferens. Filter kan placeras på utgången som tar hand om de övertoner som undslipper kretsen.

På ett kretskort finns alltid så kallade parasiter. Parasiterna kan manifestera sig som kapacitanser, induktanser och resistanser och oftast som en kombination av dessa. De parasitiska effekterna uppstår då ledningsbanorna formas på ett sådant sätt att de påminner om de elektriska komponenterna som bär de ovanstående egenskaperna. Exempelvis kan två prallella ledningar bilda en kondensator där luften och kretskortslaminatet bildar dielektrikum. Vid höga frekvenser såsom vid switchning ökar påverkan från parasiterna och effekten kan vara ödesdigen för systemets funktion. Eleminering av parasiter är därför viktig för att säkerställa funktionaliteten och det görs genom att placera kretsar och ledningar så att ledningsbanorna blir korta och och separerade på lämpligt sätt.

Sammanfattning

För att summera de switchade nätdelarna kan det sägas att de har hög effektivitet med låg värmeförlust. De klarar av att leverera spänningar som är högre än inspänningen även om det är en likspänningskälla som används. Utspänningen är möjlig att placera på de flesta potentialnivåer.

Kretsarnas komplexitet bidrar till att de linjära regulatorerna ofta väljs. Men de nya krav på energibesparing som finns har bidragit till att fler och fler tillverkare presenterar switchade lösningar med pulsbredsmodulering till låga kostnader. De switchade lösningarna har funnits sedan 1960-talet och är väl dokumenterade, Switching Power Supply Design & Optimization [14] är en bra bok i ämnet som behandlar de flesta typer av switchade nätdelar och de formler som berör deras funktion.

2.3.3 Sammanfattning

De klassiska nätdelarna och de switchade nätdelarna bär båda på egenskaper som är intressanta.

Fördelarna måste vägas mot nackdelarna för att en lämplig lösning ska kunna väljas och konstrueras. För att förenkla urvalsprocessen jämförs de egenskaper som är av betydande grad för kommunikationsmodulen med de egenskaper som de olika uppbyggnaderna innehar.

(32)

Switchade nätdelar Fördelar

Låg kostnad

Hög effektivitet

Liten kretskortsarea Nackdelar

Elektromagnetisk strålning

Höga frekvenser

Lång utvecklingsprocess

Höga krav på komponenter Klassiska nätdelar

Fördelar

Få skillnader mellan olika varianter

Kan konstrueras med komponenter med hög tolerans i komponentvärdena

Beprövad teknik Nackdelar

Stor kretskortsarea och volym

Hög kostnad

Stor energiförlust

Hög temperatur

Elektromagnetisk strålning från transformatorn

Beroende på vilka krav som ställs på produkten som nätdelen skall användas till så har teknikerna olika relevans. Om kort utvecklingstid och utvecklingskostnad är dom mest väsentliga bör de klassiska teknikerna väljas. Om formfaktorn ska minimeras och kostnaden per enhet är viktigast är de switchade nätdelarna mer intressanta men inte det självklara valet då de elektriska störningarna måste tas i beaktning. Då effektförlust tas med i beräkningarna är de switchade lösningarna de som presterar bäst med breda marginaler.

Tillverkarna av transformatorer och linjärregulatorer är många och deras lösningar liknar varandra till sådan grad att priset och tillgänglighet avgör vilken lösning som väljs. Däremot skiljer sig de switchade lösningarna från varandra och tillverkarna har alla olika lösningar. Många mindre företag såsom Power Integrations och Torex har specialiserat sig på pulsbredsmoduleringskretsar och erbjuder referensdesigner för alla deras produkter som är certifierade enligt effektförbrukning och andra tillverkningskrav. Större företag såsom Maxim-Dallas och National Semiconductors har breda produktportföljer men erbjuder inte samma utförliga information om deras produkter.

(33)

3 Metod

Under metod finns beskrivet hur urvalsprocessen av teknologi gick till, vilka redskap som använts samt hur hårdvaran ser ut.

Figur 20 visar kommunikationsmodulens generella uppbyggnad så som den specificerats.

3.1 Val av teknologi

Utifrån de resultat utredningsfasen gav har lämpliga teknologier valts för att styra, spänningssätta samt kommunicera med kommunikationsmodulen. Olika typer av utvärderingar har skett och resulterat i de resultat som presenteras.

3.1.1 Styrlogik

Mikrokontroller av typen PIC valdes bort ganska snabbt då uppdragsgivaren anser att Microchips produkter inte lämpar sig för proffesionella applikationer. Även AVR valdes bort under utredningsfasen då en PLD är betydligt billigare.

CPLD valdes därför att storleken på uppgiften var liten och krävde enbart enklare beräkningskapacitet, även möjligheten att styra signalerna så att de passar in optimalt med övrig elektronik var en egenskap som bidrog till att kraven på formfaktorn kunde hållas.

Valet föll på en CPLD från Xilinx ur XC9500XL serien med 72 makroceller då den var mest kostnadseffektiv och arbetar med 3.3 volt vilket medför väldigt energisnål drift. Anledning till att Xilinx valdes är att tidigare kunskap finns om deras produkter samt att Emwitech önskar använda komponenter från de tillverkare de redan nyttjar idag. En ytmonterad version med 44 ben och 36 I/O pinnar som är mer än nog för det behov som finns i kommunikationsmodulen valdes ut.

Figur 20: Uppbyggnaden av Emwiro Trådlös Kommunikationsmodul där all datakommunikation är illustrerad med pilar.

I/O PIR Nätdel

Radio

I2C

Styrlogik RF

CPU Pereferi-

styrenhet

(34)

3.1.2 Kommunikationsbuss

Under utredningsfasen implementerades de olika bussarna i VHDL kod och deras funktionallitet utvärderades, eftersom Microwire liknar SPI valdes att enbart implementera SPI. Det visade sig snabbt att den CPLD som valts var för liten för att använda någon av de bussar som utvärderats.

Valet föll därför på en egenutvecklad kommunikationsbuss som ansvarar för kommunikationen mellan den CPLD som är monterad på kommunikationsmodulen och den CPU som sitter monterad på Emwinode radiomodul För att minimera behovet av utrymme i CPLD valdes en parallell överföring som inte nyttjar några seriel till parallell omvandlande skiftregister som nyttjar många vippor.

Bussen ansvarar för att överföra ett antal kommandon i båda riktningarna mellan de båda anslutna enheterna. Bussen inkluderar både hårdvara i form av ledningsbanor som finns avbildade på Figur 21 och anslutningspunkter med speciella krav på avbrott samt mjukvara som sänder informationen med ett eget definierat protokoll med de kommandon som krävs för att styra de enheter som är anslutna till CPLD eller CPU. Implementation av ett profillager på radiomodulen var ett krav men även funktionalitet på CPLD som kan hantera protokollet.

DATA0-2 Data består av tre ledningar på vilka information kan överföras i båda riktningar enligt det protokoll som specificeras i mjukvaran. När WRITE är låg skrivs information av CPLD och när den går hög skrivs informationen av CPU och läses av CPLD.

WRITE Ledningen WRITE sätts hög när CPU har information som ska skickas. När CPLD känner av att WRITE är hög går den i

läsartillstånd och läser av bussen. När WRITE är låg skriver CPLD till bussen.

ACK Ledningen ACK används av CPLD för att informera CPU att den har läst av bussen och att allting har gått bra. Detta görs genom att sätta ACK hög, vilken vanligtvis är låg.

INTERRUPT INTERRUPT signalen används för att flytta CPU ur energisparläget den befinner sig då ingen radiokommunikation sker.

Figur 21: Bussen använder sig av totalt 6 signaler för överföring av data.

CPU CPLD

WRITE ACK DATA0 DATA1 DATA2 INTERRUPT

(35)

3.1.3 Nätdel

En switchad nätdel valdes därför att formfaktorn skulle vara liten och enheten energisnål. Emwitech önskar övergå till en sådan lösning i alla deras produkter för framtidssäkring. Valet föll på två kretsar med syfte att sänka spänningen. Den ena är en Flyback-regulator och den andre en Buck- regulator. Pulsbredsmoduleringskretsen som har valts ut för Flyback-regulatorn är en Linkswitch- XT med betäckning LNK362 från Power Integration. Effekten den lämnar ut är 2W vilket är det som krävs av kommunikationsmodulen med goda marginaler. Anledningen till att just den här kretsen har valts är att den har hög effektivitet och låg kostnad. Efter 12 volt regleringen skett sker ännu en reglering ner till 3,3 volt med en Buck-regulator. Kretsen som valts för det kommer från Torex Semiconductor. Anledningen till att en Buck regulator valts är för att spänningsnivån behöver inte ändras så mycket och en billig lösning sköter jobbet lika bra som en dyr då lasten inte är så stor.

Den kretsen som valts heter X9220 och precis som Linkswith-XT använder den av sig av återkoppling

3.2 Utvecklingsmiljö

Utvecklingen av kommunikationsmodulen har skett i flera olika utvecklingsmiljöer. Anledningen till att flera olika valts är att hårdvaran kräver schemaritning och kretskortsdesign som finns i ett program medan mjukvaran till AVR processorn och konfigurationsfilerna till CPLD kräver sina egna miljöer där programmeringsprogram, kompilatorer och speciell hårdvara för testning ingår.

3.2.1 Hårdvarudesign

Då hårdvarans konstruktion skulle ske stog valet mellan de program högskolan använder och det program Emwitech använder. Högskolan i Halmstad använder Cadence verktyg i utbildningen där schemaediteraren och simuleringsverktyget Capture CIS och programmet för kretskortsdesign OrCAD ingår. Emwitech använder ett program från Altium som heter Protel 2004 som idag har blivit ersatt av Altium Designer som innehåller samma funktionalitet.

Då Emwitech använder Altiums programvaror var det ett önskemål att filerna skulle lämnas över efter konstruktion i ett format som går att öppna och editera i den miljön vilket både Cadence och Altiums produkter klarar. Valet föll till slut på Altium Designer då det programmet håller en högre standard i verktyg och användarvänlighet än vad Cadence motsvarighet gör.

I Altium finns alla delar integrerade i en miljö och växling mellan olika program för olika uppgifter är ej nödvändigt, dokument öppnas under en ny flik i programmet och fler dokument kan arbetas med samtidigt. Ett projekt i Altium skapas efter en tydlig struktur där specifika filer måste ingå. Den första filen har som syfte att samla alla de andra filerna och underlätta vid hantering av designdokument, den typen av fil kallas för projekt. I projektet placeras två typer av bibliotek, det ena innehåller komponenter och en beskrivning av deras fysiska attribut. Den andra typen av bibliotek beskriver de avtryck som placeras på kretskortet för placering av komponenter, de avtryck kallas footprints.

References

Related documents

The problem is twofold. The first problem is that shared resource conges- tion leads to performance degradation since processes may not be optimally allocated on the available

Här finns en översiktlig redovisning för övergången från en fokusering på en­ skilda byggnader och monument till ett intresse fOr bebyggelsemiljöer och

Uppsiktsansvaret innebär att Boverket ska skaffa sig överblick över hur kommunerna och länsstyrelserna arbetar med och tar sitt ansvar för planering, tillståndsgivning och tillsyn

De sammanfallande skrivningarna visar på allmän överensstämmelse mellan det regionala utvecklingsprogrammet och översiktsplanerna när det gäller energifrågan för

När nya lösningar krävs inför ett nytt DLL-projekt så utvecklas de inom ramen för detta projekt, men tas sedan över av konceptägaren så att lösningarna lever vidare för

The meeting is a joint meeting announced to the members of the Danish Society of Otolaryngology Head and Neck Surgery (DSOHH), Danish Society of Ophthalmology, Danish Society

intresserade av konsumtion av bostadstjänster, utan av behovet av antal nya bostäder. Ett efterfrågebegrepp som ligger närmare behovet av bostäder är efterfrågan på antal

Syftet med uppdraget var att utforma en socialtjänst som bidrar till social hållbarhet med individen i fokus och som med ett förebyggande perspektiv ger människor lika möjligheter