• No results found

UTVECKLING AV PROCESSORPLATTFORM

N/A
N/A
Protected

Academic year: 2021

Share "UTVECKLING AV PROCESSORPLATTFORM"

Copied!
93
0
0

Loading.... (view fulltext now)

Full text

(1)

UTVECKLING AV

PROCESSORPLATTFORM

Reg.kod: Oru-Te-EXA037-Mag101/07

Rahman Hassanzadeh

Magisterprogrammet i elektronik 240 hp

Örebro vårterminen 2007

Examinator: Dag Stranneby

DEVELOPMENT OF µP PLATFORM

Örebro universitet Örebro University

Institutionen för teknik Department of technology

(2)

Rahman Hassanzadeh Magisterprogrammet i elektronik i

Förord

Detta examensarbete, som har utförts under vårterminen 2007 på företaget Kitron Development AB i Karlskoga utgör avslutningen på min magisterprogramsutbildning inom elektronik vid Örebro universitet. Förhoppningen är att arbetet skall kunna användas inom företaget för dess framtida utveckling, samt ligga till grund för ett förnyat synsätt.

Examensarbetet har varit en givande utmaning där jag har fått möjligheten att sätta mig in i ett intressant men även komplext område. För att kunna genomföra och slutföra projektet har jag varit beroende av information från en mängd personer både inom och utanför företaget. Därför vill jag ta tillfället i akt och tacka de personer som genom kloka tips och varmt mottagande, har hjälpt och inspirerat mig att utföra mitt examensarbete. Här vill jag rikta ett stort tack till mina handledare Joakim Westman och Hans Nilsson för deras välvilja samt för all hjälp de har gett mig löpande under arbetets gång. Jag vill även framföra ett varmt tack till min examinator Dag Stranneby (professor i elektronikproduktion vid institutionen för teknik, Örebro universitet) för all hjälp och allt stöd.

Avslutningsvis är jag skyldig ett tack till Sune Bergelin (Programledare för magisterprogrammet i elektroteknik), min handledare på universitetet Thorbjörn Andersson (forskningsingenjör EPE), Bo-Lennart Silfverdal (forskningsingenjör AASS) som bidragit med synpunkter och nödvändig utrustning, Kennet Thoren (Cad ingenjör i Kitron AB i Jönköping och den enda kunniga i programmet OrCAD Capture inom Kitron) som vägledde mig via telefon. Samt alla andra som på ett eller annat sätt har bidragit till detta arbete genom värdefulla förslag och synpunkter.

Örebro den 10: e maj

__________________ Rahman Hassanzadeh

(3)

Rahman Hassanzadeh Magisterprogrammet i elektronik ii

Sammanfattning

Projektets syfte var att utveckla ett modulärt uppbyggt processorkort som är tänkt att fungera som en plattform för Kitron Development Karlskoga i utvecklingsprojekt av ett kontrollsystem främst i medicin- och industriprodukter. Processorkortet skall bestå av en kärna med de grundläggande funktionerna för ett kontrollsystem. Sedan skall det finnas färdiga moduler, maskinvaru- och programvarumässigt, att plocka in för att få just de funktioner man behöver för en speciell applikation.

Med avseende på utvecklingsspecifikationen och definitionen av huvudenheten valde jag en lämplig mikroprocessor (AT90CAN32) som kärna och interfacekretsar till angivna gränsytor. Konstruktionen genomfördes först i programmet MultiSim och ritades sedan om i programmet OrCAD Capture. Till mjukvarudelen användes programmeringsspråket C. Sedan skapades layouten i programmet Ultiboard.

Projektet har resulterat i att ett mönsterkort har tillverkats som kan hantera I/O-enheter, t.ex. D/A-omvandlare, tangentbord, display och serieporten RS-232. Dessa enheter skulle kommunicera med processorn. Applikationen avgör vad enheten skall användas till.

D/A-omvandlaren styrdes via SPI-kommando och resultatet avlästes på en voltmeter. Med hjälp av tangentbordet kunde jag skriva tecken som skickades till processorn, varifrån resultatet sändes vidare och blev synligt på displayen. Ett tangentbord användes för att skicka tecken till processorn som sände dessa vidare via RS-232 till en PC. I PC:n används ett terminalprogram för att ta emot tecken.

Genom projektet har en generell plattform tagits fram där man kan välja de funktioner man önskar (se byggblocket i figur 1).

(4)

Rahman Hassanzadeh Magisterprogrammet i elektronik iii

Abstract

The purpose of this project is to develop a modular processor card which is intended to work as a platform for Kitron Development Karlskoga. The modular processor card is meant to be used as a control system in development projects, mainly in medical and industrial products. The processor card will consist of a central unit with the basic functions for a control system. Furthermore there will be complete modules with machine commodity and programming, to pick exactly the necessary functions for a specific application.

With consideration to the specification of the development and the main unit, I chose an adequate microprocessor (AT90CAN32) as core and interface circuits to stated border areas. The construction is first completed in the program MultiSim and then remade in the program OrCAD Capture. The programming language C was used in the software model. Then a layout was created in the program Ultiboard.

The project has resulted in the manufacture of a pattern card that can manage I/O units, such as D/A-converter, keyboard, display and serial port RS-232. The purpose was that the units should communicate with the processor. The application decides what the main unit is used for.

The D/A-converter was governed through SPI commands and the result was shown on an instrument (voltage). With the keyboard I was able to write digits to the processor and the result was shown on the display. The keyboard was used to send digits to the processor and was then sent through RS-232 to the PC. In the PC, a terminal program was used to receive digits.

A general platform has been developed through this project, where you can choose which functions you wish to use (see the building block infigure no.1).

(5)

Rahman Hassanzadeh Magisterprogrammet i elektronik iv

Innehållsförteckning

1. Inledning --- 1 2. Bakgrund --- 1 2.1. Utvecklingsspecifikation --- 1 2.1.1. Standarder--- 1

2.2. Krav och syfte--- 1

2.2.1. Definition av huvudenheten --- 2 3. Arbetsgång--- 2 4. Hårdvarubeskrivning--- 2 4.1. Mikroprocessor --- 3 4.1.1. EEPROM --- 5 4.1.2. A/D-omvandlare --- 5 4.1.3. I2C--- 5 4.1.4. I/O--- 5 4.1.5. SPI --- 5 4.1.6. USART--- 5

4.1.7. Adress- & Databuss--- 6

4.2. USB-enhet --- 6 4.2.1. MAX3420E--- 6 4.3. Ethernet-enhet--- 7 4.3.1. ENC28J60--- 7 4.4. CAN-enhet --- 8 4.4.1. PCA82C251 --- 8 4.5. D/A-omvandlare --- 9

4.5.1. 8-bitars D/A-omvandlare (MAX533) --- 9

4.6. Keyboard-interface --- 10 4.7. RS-232 --- 11 4.7.1. MAX3232--- 11 4.8. RS-485 --- 12 4.8.1. LTC485CN --- 12 4.9. LCD-interface--- 13 5. Utförande --- 13 5.1. Verktyg --- 15 5.2. Kretsschema--- 15

5.2.1. Det kompletta schemat (Centrala enheten med anslutna enheter) --- 15

5.2.2. Mikroprocessorn och RS-232/RS-485 --- 17

5.2.3. Mikroprocessorn och USB--- 18

5.2.4. Mikroprocessorn och Ethernet --- 20

5.2.5. Mikroprocessorn och CAN --- 21

5.2.6. Mikroprocessorn och Tangentbord 4x4 --- 22

5.2.7. Mikroprocessorn och LCD --- 23

5.2.8. Mikroprocessorn och D/A-omvandlaren--- 24

5.3. Att programmera mikroprocessorn--- 25

5.3.1. AVR STK500 --- 26

5.3.2. AVR STK501 --- 26

5.3.3. Atmel AVR Dragon --- 27

5.4. Kortlayout --- 28

5.5. Mjukvarans funktion --- 28

5.5.1. RS-232-programmets funktion --- 28

5.5.2. Tangentbordets funktion --- 29

5.5.3. Programmets funktion för D/A-omvandlaren --- 31

5.5.4. LCD-displays funktion --- 33

(6)

Rahman Hassanzadeh Magisterprogrammet i elektronik v 6. Funktionstest av prototyper--- 36 6.1. Serieporten RS-232--- 36 6.2. Tangentbord --- 37 6.3. D/A-omvandlaren MAX533 --- 38 7. Slutsats --- 39 8. Käll- och litteraturförteckning --- 40 9. Appendix--- 42

Bilaga 1: Kopplingsschema i OrCAD Capture --- 42

Bilaga 2: Källkodsfiler--- 42

(7)

Rahman Hassanzadeh 1 Magisterprogrammet i elektronik

1.

Inledning

Kitron Development AB, där jag fick genomföra examensarbetet, är ett av Skandinaviens ledande företag inom utveckling, industrialisering och produktion för den professionella elektronikindustrin. Kitrons fokussegment är data/telekom, försvar/marin, medicin och industri. Uppdragen kan vara inom elektronik, optik och mekanik. Kitron både utvecklar och tillverkar produkter.

Kitron är lokaliserati Norge, Sverige och Baltikum [1].

2.

Bakgrund

Detta projekt grundar sig på att jag skall utföra ett examensarbete, för att fullfölja mina studier på magisterprogrammet i elektronik vid Örebro universitet. Projektet omfattar 30 poäng D-nivå motsvarande 20 veckors arbete. Arbetet utfördes till största delen i Kitrons lokaler i Karlskoga.

2.1. Utvecklingsspecifikation

Här nedan har jag angivit specifikationer som ska styra utvecklingen och Kitron Development AB har tillfört specifikationen.

2.1.1. Standarder

Följande kommunikationsstandarder ska vara kompatibla i plattformen: I2C 2.1 I2C bus specifikation 2.1 (Philips)

USB 2.0 Universal serial bus standard 2.0 CAN 2.0 CAN bus specifikation 2.0 (BOSCH) ISO 11898 CAN bus specifikation

IEEE 802 Ethernet standard

EIA232E RS232 standard

EIA485 RS485 standard

2.2. Krav och syfte

Syftet med detta examensarbete är att bygga en enhet på ett enkel- eller dubbelsidigt

mönsterkort med ytmonterande komponenter. Målet är även att få de anslutna periferierna att kommunicera med processorn. Utvecklingen skall uppfylla följande krav:

• Processorplattformen skall vara modulärt uppbyggd både hårdvaru- och mjukvarumässigt.

• Programmeringsspråket skall vara C.

• Komponenter skall i största möjliga mån väljas ur Kitrons komponentdatabas. • Enheten skall kunna matas med + 3,3V – (+12V) DC

• Effektförbrukningen skallvara max 1W • Oscillatorfrekvensen skall vara minst 20 MHz

(8)

Rahman Hassanzadeh 2 Magisterprogrammet i elektronik • Temperaturområde från – 40 till + 85 grader

2.2.1. Definition av huvudenheten

För att få en tydlig bild av huvudenheten ritades lämpligen ett byggblock med olika delar som kommer att beskrivas senare i avsnittet ”Hårdvarubeskrivning”(se bilaga 1, dokument 000).

Figur 1: Byggblock

3.

Arbetsgång

Arbetet består i att:

• Utveckla processorkort enligt företagets specifikation • Bygga en prototyp

• I förekommande fall ta fram drivrutiner • Ta fram dokumentation

Arbetet utförs till största delen i Kitrons lokaler i Karlskoga.

4.

Hårdvarubeskrivning

Inledningsvis utfördes en övergripande studie av de vanligast förekommande användbara komponenterna och materialen i uppgiften.

uP-Core USB CAN Keyboard-interface LCD-interface D/A A/D I2C RS232 I/O Power RS485 A& D bus Analog power EEPROM Ethernet

(9)

Rahman Hassanzadeh 3 Magisterprogrammet i elektronik

4.1. Mikroprocessor

Genom att studera specifikationen och få en helhetsbild av uppgiften har jag kommit fram till beslutet att välja mikroprocessorn AT90CAN32 [2].

Från början valde jag flera olika processorer, t.ex. Texas MSP430FG439 [3], PIC18F66J10 [4], MC9S08LC60 [5], AT91SAM7A2 [6], Atmega16 [7] och Atmega128 [8] och med hjälp av datablad jämförde deras egenskaper. Här nedan redovisas en del av processorernas

egenskaper. Jämförelsen har visat att processorn AT90CAN32 bäst uppfyllde projektets krav. Den hade både ett lågt inköpspris, var lättillgänglig i handeln och dessutom innehöll för arbetet nödvändiga funktioner. En annan anledning till valet av denna processor var att kompilatorn (GCC1) till Atmel-processorer är gratis och kan användas kostnadsfritt av studenter som arbetar med sitt examensarbete [9].

Processorn har följande egenskaper:

• Ett 32 kilobytes flashminne, som lätt kan omprogrammeras • 1 kilobytes EEPROM och 2 kilobytes intern SRAM

• 2 inbyggda USART som kan användas för seriell kommunikation • Inbyggd I2C, CAN controller, JTAG, SPI och A/D-omvandlare

• In- och utgångarna är grupperade i 7 block (A-G), varav block G består av fem portar och de övriga 6 blocken av åtta portar. Det betyder att processorn innehåller totalt 53 I/O pinnar av 64 ben (se figur 2).

Jag har studerat databladen för samtliga processorer och noterat att vissa utmärkande positiva egenskaper (sales features) är väldigt lika. Alla har många GPIO (General Purpose

Input/output) och för övrigt är det enstaka periferier som skiljer de olika processorerna åt. Den stora skillnaden mellan dem är pris, minnesstorlek och arkitektur. Det är ur kostnadssynpunkt lämpligt att ha CAN-controller i MCU och slippa ansluta fler yttre komponenter. Då faller bort alla utom MC9S08LC60 och AT90CAN32. Freescale MCU’n har keyboard och display control. Den är dessutom något billigare är Atmel.

Här nedan beskrivs processorernas för- och nackdelar: MSP430FG439

+ Låg strömförbrukning, 300 µA vid 1 MHz, 1.1 µA standby + Lågt pris för att vara en 16-bit MCU (Multipoint Control Unit) + Många periferifunktioner som t.ex. LCD-drivare

Avsedd för batteridrivna applikationer som mätinstrument och fjärrstyrning PIC18F66J10 + Känd MCU-arkitektur MC9S08LC60 + Lågt pris

(10)

Rahman Hassanzadeh 4 Magisterprogrammet i elektronik + Många periferifunktioner

- 8-bitars

Processorn har en generell MCU med många användningsområden.

AT91SAM7A2

+ Snabb 32-bit ARM7-kärna

+ Väldigt många periferifunktioner som t.ex. CAN Atmega 16 och Atmega 128

+ Känd MCU-arkitektur AT90CAN32

+ Känd MCU-arkitektur

+ Gott om perferifunktioner som t.ex. CAN

(11)

Rahman Hassanzadeh 5 Magisterprogrammet i elektronik

4.1.1. EEPROM

EEPROM står för Electrically Erasable PROM och fungerar som både läs- och skrivminne, vilket innebär att det kan programmeras och raderas elektriskt i den aktuella tillämpningen. I processorn AT90CAN32 finns ett inbyggt EEPROM på 1 kilobyte.

I processorn sker skrivning och läsning av EEPROM via följande I/O register: • EEAR (EEPROM Address Register)

• EEDR (EEPROM Data Register) • EECR (EEPROM Control Register)

4.1.2. A/D-omvandlare

A/D- omvandlare och D/A-omvandlare är en mycket viktig klass av kretsar. Givare från fysikaliska förlopp, såsom temperatur, ljud, tryck, ljus osv. ger analoga utsignaler som måste omvandlas i A/D-omvandlare för att kunna behandlas i datorer.

En Analog/Digital-omvandlare, A/D-omvandlare (eng. A/D Converter, ADC) omvandlar ett analogt ingångsvärde. I mikroprocessorn ingår en A/D-omvandlare.

A/D- och D/A-omvandlare förekommer i egna kapslar, men en kanske ännu viktigare förekomst är i mikrostyrkretsar, signalprocessorer och ASIC [10].

4.1.3. I2C

I2C står för Inter Integrated Circuits, ett seriellt kommunikationsgränssnitt som utvecklades av Philips. I2C är en tvåtrådsbuss som består av signalerna SDA (Serial Data), SCL (Serial Clock) och GND (Jord), kallas också TWI (Two Wire Interface).

4.1.4. I/O

Processorns I/O-port (inport/utport) ger möjlighet att kommunicera med andra enheter. I detta fall rör det sig om typiska analoga och digitala ingångar respektive utgångar. AT90CAN32 innehåller 53 I/O-pinnar. I min uppgift har en del av kommunikationen mellan olika enheter skett via I/O-pinnar, exempelvis tangentbord och display.

4.1.5. SPI

SPI står för Serial Peripheral Interface vilket betyder att det är ett seriellt gränssnitt. När en krets skall kopplas till processorn via SPI används fyra ledare (data in-, data ut- och två kontrollsignaler). För data in- och utsignaler i kretsar med SPI används beteckningarna MOSI (Master Out Slave In) och MISO (Master In Slave Out) på pinnarna. I fallet överföring är Master den enhet som skickar samt den som tar emot kallas Slave.

4.1.6. USART

USART står för Universal Synchronous and Asynchronous Serial Receiver and Transmitter. Processorn AT90CAN32 har två inbyggda USART. Via USART kan seriekommunikation skötas med processorn.

(12)

Rahman Hassanzadeh 6 Magisterprogrammet i elektronik I AVR finns flera kretsar med inbyggd USART/UART som använder följande register:

• UDR – USART Data Register • USR – USART Status Register • UCR – USART Control Register

4.1.7. Adress- & Databuss

Adressbussen överför de adresser som behövs för att komma åt minnesceller eller olika enheter i systemet. Databussen förmedlar data mellan de olika enheterna i systemet. I projektet har inga externa adress- och databussar använts.

4.2.

USB-enhet

USB står för Universal Serial Bus och det är en standard seriell bus. Version 2.0 stödjer hastigheter upp till 480 Mbit/s och 127 enheter kan anslutas till USB-host. USB-host är en generell USB-enhet (komponent) som omvandlar till seriell kommunikation. Gränssnittet består av fyra ledare, matningsspänning, jord och differentiell dataöverföring (D+ och D -).

4.2.1. MAX3420E

Jag har valt interfacekretsen MAX3420E, vilken används för att anpassa spänningsnivån eftersom mikroprocessorer arbetar med små spänningar och strömmar.

Anledningen till valet av denna interfacekrets är att den uppfyller USB-standarden och finns i företaget Kitrons bibliotek. Enligt projektets specifikation är ett av kraven att komponenterna i största möjliga mån skall väljas ur Kitrons komponentdatabas.

MAX3420E kan koppla upp sig till vilken mikroprocessor som helst som används av 3 eller 4 gränssnitt chip.MAX3420E-hårdvaran innehåller separata ”data in” (MOSI-Master Out Slave In) och ”data out” (MISO-Master In Slave Out).

Figur 13 visar en kringutrustning till MAX3420E som stöds av Vbus. Fördelen med denna konfiguration är att det inte krävs någon extern krafttillförsel. Vbus är specificerad från 4,75V till 5,25V, men en 3,3V-regulator krävs för att få MAX3420E att fungera. MAX6349TL fungerar utmärkt som en USB-regulator. Här nedan har jag angivit en del egenskaper hos MAX3420E [11].

• Mikroprocessorn är oberoende av USB-lösning.

• MAX3420E överensstämmer med USB-specifikationen 2,0. Det är viktigt eftersom om den blir monterad i en produkt, så måste den klara standarden USB 2,0.

• Integrerad höghastighetsanpassning • Kontroll av en intern D+ resistans • Programmerbart SPI-gränssnitt

• ESD-skydd på D+, D- och VBCOMP

(13)

Rahman Hassanzadeh 7 Magisterprogrammet i elektronik

4.3. Ethernet-enhet

Ethernet är en metod för datakommunikation i lokala nätverk och det är en standard av gruppen IEEE 802. Standarden IEEE 802:s specifikationer anger bland annat ett bussnät (bussnät är en nätverkskoppling, och bygger på att samtliga datorer kopplas i en gemensam buss) av typen CSMA/CD (Carrier Sense Multiple Access/Collision Detection är ett accessätt för att flera parter samtidigt ska kunna sända information på samma fysiska medium, t.ex. en kabel eller radiolänk) med basbandskoax som medium och en överföringshastighet på 10 Mbit/s.

4.3.1. ENC28J60

Jag valde kretsen ENC28J60 som är en 28 bens 10 Mbit Ethernet Controller som arbetar mot mikroprocessorn via SPI interface. Anledningen till att jag har valt denna krets är att den är användbar i Kitrons produktion.

Ethernet controller innehåller:

• IEEE 802.3 kompatibel Ethernet controller.

• Integrerad MAC (Medium Access Controller) och 10 Base-T PHY (Physical Layer) • Ethernet controller stödjer en 10BASE-T port (en typ av standard) med automatisk

polaritetskontroll och -korrigering.

• Stödjer både en full och en halv Duplex, för att kunna kommunicera med andra enheter.

• SPI gränssnitt med klockfrekvenser upp till 20 MHz, här är viktigt eftersom jag valde SPI som kommunikation buss från processor.

ENC28J60 är en Ethernet controller med en industri Standard Serial Peripheral Interface (SPI). Den är designad att tjänstgöra i ett Ethernetnätverk. ENC28J60 uppfyller allt av den IEEE 802.3-typen. Den fungerar på ett sätt där man kan filtrera för att begränsa inkommande paket. Den försörjer även en typ av intern DMA-modul för fast data genom en hårdvara som används i olika protokoll [12].

Ett enkelt blockdiagram av typen ENC28J60 som visas nedan (figur 3) är en typisk applikation för kretsen. Med ENC28J60 är två transformatorer och några passiva

komponenter allt som krävs för att förena mikrokontrollerna till ett Ethernetnätverk (se figur 14).

ENC28J60 innehåller olika funktionsblock:

1. Ett SPI-gränssnitt som utgör en kommunikationskanal mellan controllervärden och ENC28J60.

2. Controlregistrerare som används för att övervaka ENC28J60. 3. En Dual-port RAM mottar och sänder paketerad data.

4. Bussgränssnitt som tolkar data och mottar via SPI.

5. MAC (Medium Access Control) moduler som utför IEEE 802.3.

(14)

Rahman Hassanzadeh 8 Magisterprogrammet i elektronik Figur 3: ENC28J60 blockdiagram

4.4. CAN-enhet

CAN står för Controller Area Network och är en kommunikationsbuss som ofta används inom fordonsindustrin där det förekommer inbyggda system direkt för användning.

CAN är en internationell standard, definierad i ISO 11898, som är utvecklad av Bosch för bilindustrin men används även vid flera andra mobila industriella tillämpningar. Den maximala hastigheten på bussen är definierad till 1 Mbit/s. Högsta möjliga hastighet är kopplad till längden på bussen, beroende på hur lång tid det tar för signalerna att nå den nod som är längst bort från mål A till B [13].

4.4.1. PCA82C251

Kretsen PCA82C251 är ett interface mellan controller och den fysiskt aktiva CAN-bussen som är avsedd för applikationer upp till 1Mbaud och förekommeri bilar, lastbilar och bussar. PCA82C251 är då aktiv tillsammans med ISO 11898 som tillsammans bidrar med vissa skyddsfunktioner mot kortslutningar och övertemperaturer vilket ger en stabil drift och gör att flankernas stig- och falltid kan göras långsammare för att minska RFI2-störningar [14]. Egenskaper:

• Matningsspänning +4,5 till +5,5V

(15)

Rahman Hassanzadeh 9 Magisterprogrammet i elektronik • Max överföringshastighet 1 Mbaud

• Temperaturområde -40 till +125

Figur 4: PCA82C251 blockdiagram

4.5. D/A-omvandlare

En Digital/Analog-omvandlare, D/A-omvandlare (eng. D/A Converter, DAC) omvandlar, som namnet säger, ett digitalt ingångsvärde till ett analogt utgångsvärde. En digital insignal kan tillhöra antingen ett rent positivt talområde eller ett talområde med både positiva och negativa tal. En analog utsignal kan vara en spänning eller en ström, proportionell mot ett digitalt värde [10].

4.5.1. 8-bitars D/A-omvandlare (MAX533)

Produkten MAX533 är en 8-bitars D/A-omvandlare som kommunicerar med en

mikroprocessor via SPI. Data sänds i ett 4-bitars och ett 8-bitars paket eller som ett 12-bitars ord. Om 16-bitars ord används blir de 4 första bitarna ignorerade [15].

Vid spänningspåslag raderas den seriella datan och alla digitala till analoga (DACs) värden sätts till noll.

MAX533 har följande egenskaper:

• +2,7V till +3,6V för olika enkla uppgifter

• Väldigt låg energiförbrukning med 0,7 mA i arbetsläge samt 1 µA i viloläge. • Väldigt liten variant med 16 bens QSOP kapsel

• Utmatningsväg med buffertförstärkare samt omställning via spår till spår • 10 MHz seriellt gränssnitt, förenligt med SPI

(16)

Rahman Hassanzadeh 10 Magisterprogrammet i elektronik • Dubbel buffertregistrering för synkron uppdatering

• Seriell datautmatning

• Vid spänningspåslag återställs gränssnittet och lägger all data till noll. • Mjukvaruavstängning

• Asynkron hårdvara rensar och återställer alla interna register till noll.

Enligt projektets specifikationskrav ska enheten spänningsmatas med +3,3V, varvid upplösningen skall vara 20 mV. Med avseende på detta är MAX533 ett bra alternativ som klarar specifikationskravet (3,3/256 0,0129V 13 mV). Förutom ovannämnda egenskaper, är anledningen till valet av MAX533 att denna krets finns i företagets komponentdatabas. Figur 5 visar ett diagram för D/A-omvandlarens (MAX533) funktion.

Figur 5: MAX533 funktionsdiagram

4.6. Keyboard-interface

Jag har valt ett tangentbord med 16 knappar (4x4), alltså fyra rader och fyra kolumner. Tangentbordet skall kopplas till en port på processorn och jag har kopplat till port A i X-Y-matris. Kopplingen ska ske enligt nedanstående princip vilket betyder att anslutningsnummer 1-8 ska motsvara K1-K4 (1-4) och R1-R4 (5-8). Sedan skall det definieras som ingång i C-koden till processorn [16].

Anslutning nr: 1 2 3 4 5 6 7 8

(17)

Rahman Hassanzadeh 11 Magisterprogrammet i elektronik Egenskaper för Keyboard 4x4 Storlek 8,7 x 7,7 mm Brytförmåga 20 mA 24 V Kontaktresistans 200 Tryckkraft 1 N ± 0,3 N

Livslängd 1 x 106 per knapp

Arbetstemperatur -20 till + 60 °C

Dimensioner B65 x H69 x D9 mm

Panelhål B60 x H58 mm och 4st AE2,3 mm på

avstånd B60,0 x H59,0 mm Tabell 1: Egenskaper för keyboard 4x4

Figur 6: Tangentbord 4x4

4.7. RS-232

RS-232 är en seriell kommunikationslänk som arbetar med spänningsnivån. RS är en förkortning för Recommended Standard.

4.7.1. MAX3232

MAX3232 är interfacekrets till RS-232 som har 16 ben. Transceiver för +3,3 och +5,5V-system. Endast fyra stycken 0,1 µF kondensatorer behövs [17].

För att kunna kommunicera över RS232-porten används funktioner i programmodulen (se figur 7 och 12). Matningsspänning +3,3 till +5,5 V Strömförbrukning 0,3 mA typ Antal sändare 2 st. Antal mottagare 2 st. Överföringshastighet 120 kbps min

Tabell 2: Egenskaper för MAX3232

(18)

Rahman Hassanzadeh 12 Magisterprogrammet i elektronik

Figur 7: Typisk kretslösning (MAX3232)

4.8. RS-485

RS-485 är en seriell kommunikationslänk som arbetar med strömnivå samt en balanserad utgång och ingång.

4.8.1. LTC485CN

Interfacekretsen LTC485 valdes tack vare sin låga strömförbrukning (900 A max).

Mottagaren har en säkerhetsfunktion som garanterar en hög utgångsnivå när ingången lämnas öppen [18] (se figur 8 och 12).

(19)

Rahman Hassanzadeh 13 Magisterprogrammet i elektronik

4.9. LCD-interface

LCD står för Liquid Crystal Display och är ett samlingsnamn på skärmar som används till bland annat mobiltelefoner och bärbara datorer. LCD-displayen skall kopplas till utgångar på mikroprocessorn för att kunna överföra information (se figur 17).

Jag utvecklade plattformens mjukvara, så att den skulle fungera tillsammans med en alfanumerisk display. Tanken är att vid fortsatt utveckling av plattformen byta ut den

alfanumeriska displayen mot en grafisk. På hårdvarudelen kopplade jag in en grafisk display, vars fördel är att den kan visa grafiska kurvor, t.ex. trenden på en spänning [19].

Exempel på egenskaper för LCD-display

LCD MODULE GRAPHIC 64X100

Backlight type LED

Djup, display area 40.27mm

Djup, external 7.9mm Upplösning 64 x 100 Höjd, display area 40.27mm Display technology STN Höjd, pixel 0.51mm Längd / Höjd, external 79mm Voltage, supply 5V

Bredd, display area 52.95mm

Bredd, external 53mm

Tabell 3: Exempel på egenskaper för grafisk LCD

Figur 9: Exempel på LCD-display

5.

Utförande

Genom att ha studerat databladen till de enheter som ingår i projektet fick jag kunskap om hur olika kretsar fungerar och kommunicerar med varandra. Därefter valde jag att påbörja

schemaritningen. Som tidigare nämnts skulle kopplingsschemat, enligt företagets

kravspecifikation, ritasi programmet OrCAD Capture. På grund av att jag inte hade arbetat i OrCAD Capture tidigare, ritade jag kopplingar först i programmet MultiSim, vilket jag har arbetat med under mina studier vid Örebro universitet, särskilt vid genomförandet av mitt

(20)

Rahman Hassanzadeh 14 Magisterprogrammet i elektronik förra examensarbete inom ingenjörsprogrammet vårterminen 2006. Sedan ritades

kopplingsschemat om i OrCAD Capture.

Figur 10 nedan visar flödesdiagrammet över arbetet. Arbetet består av både hårdvaru- och mjukvarudelen och av deras utvecklingsverktyg. I diagrammet står beteckningen HW för Hardware (Hårdvara) och SW för Software (Mjukvara).

Figur 10: Flödesdiagram över arbetet

Utförande Utvecklingsverktyg HW

MultiSim (1) OrCAD Capture (2) 1. Egna komponenter gjordes/Foot print 2. Kopplingsschema ritades 1. Modifiering av komponentsymboler 2. Kopplingsschema ritades Utvecklingsverktyg Importering av kopplings- schema/nätlista SW Programmering C för gcc kompilatorn

Kompilering och länkning

Emulator för verifiering

Överföring till processorn Ultiboard/Allegro

Rita ledningar och göra layout

Funktion OK? NEJ

(21)

Rahman Hassanzadeh 15 Magisterprogrammet i elektronik

5.1. Verktyg

I figur 10 kan man se de verktyg som användes till både hårdvaru- och mjukvarudelen under utförandet av examensarbetet. Dessa var:

• MultiSim och OrCAD Capture • C-programmering

• Ultiboard/Allegro

5.2. Kretsschema

Ett kretsschema är en kopplingsbeskrivning som förklarar olika komponenters inbördes förhållande och deras elektriska förbindelse.

Först använde jag programmet MultiSim för att rita kretsschemat. Det är ett elektroniskt simuleringsprogram med vars hjälp analoga och digitala kopplingar kan simuleras.

På grund avatt storlek och utseende på en del av komponenterna inte var tillgängliga i MultiSim, var jag tvungen att skapa deras symboler innan jag kunde börja rita kretsschemat. Genom framtagning av datablad kunde de olika komponenternas symboler skapas med hjälp av funktionen Create Component. Där valdes layout only (footprint), eftersom komponenterna inte skulle simuleras. Det var viktigt att ange rätt antal ben, deras nummer, i vilken ordning de kom och deras package type, eftersom de senare skulle exporteras till programmet Ultiboard, där kretskortet skulle konstrueras.

När jag hade skapat alla komponentsymboler, ritade jag kretsschemat i programmet MultiSim. Vissa komponenters package type fanns intemed i MultiSim. Därför skrevs den in i Create

Component, för att det skulle bli möjligt att skapa komponenterna senare under samma namn i

Ultiboard.

Därefter ritades kopplingsschemat om i programmet OrCAD Capture, ett

schemaritningsprogram som genererar data för layoutverktyg, t.ex. Allegro. I OrCAD

modifierades de schematiska symbolerna för komponenterna som ingår i kopplingsschemat. För att förhindra störningar på matningsspänningen har jag använt kondensatorer. Genom att koppla dem mellan matningsspänning och jord, kan störningar på matningsspänning som påverkar funktionen i kretsschemat förhindras (se bilaga 3, dokument 002 eller figur 11).

5.2.1. Det kompletta schemat (Centrala enheten med anslutna enheter)

Jag har kompletterat kopplingsschemat genom att till processorn AT90CAN32 koppla inflera enheter som visas i figur 1 och beskrivs i följande avsnitt. Som ett nästa steg har jag förberett kopplingsschemat för att exportera det till Ultiboard och där göra layouten. I förberedelsen ingick att alla spänningskällor och jordpunkter tagits bort och istället har de kopplats ihop och

(22)

Rahman Hassanzadeh 16 Magisterprogrammet i elektronik sammanförts till en punkt (se bilaga 3, dokument 002). Alla delar som ingår i figur 11

redovisas separat både i MultiSim och OrCAD (se bilaga 1).

Till processorkärnan, AT90CAN32, kopplades ett resetkort (DS1233) som används för överföring i t.ex. mikroprocessorsystem. Resetutgången aktiveras då matningsspänningen sjunker under normal nivå. Kretsen befinner sig sedan i aktivt läge i ca 350 ms efter det att matningsspänningen återgått. När ett spänningsfall inträffar ställer sig kretsen i reset-läge (se bilaga 1, dokument 001).

Externa analoga signaler som kommer in på en komponent måste skyddas, enligt dokument 001 i bilaga 1. Av schemat framgår att två dioder och en 1 kohm-resistor har kopplats till den analoga signalen som går in i processorn. Det är ett sätt att skydda ingångarna. Om den är positiv kortsluts insignalen till + 3,3 volt och om den är negativ kortsluts den till jord.

(23)

Rahman Hassanzadeh 17 Magisterprogrammet i elektronik Figur 11: Det kompletta schemat

5.2.2. Mikroprocessorn och RS-232/RS-485

Kopplingsschemat nedan visar kopplingen mellan processorn AT90CAN32 och både RS-232 och RS-485. Båda kopplas till samma USART i processorn. Med hjälp av en switch kan man växla mellan dem. I OrCAD kopplades dem på var sitt blad (se bilaga 1, dokument 002 och 006).

I interfacekretsen till RS-485 brukar RE (Receiver Output Enable) och DE (Driver Output Enable) kopplas ihop och sedan kopplas till en inport på processorn. Trafik mellan två enheter

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) VC C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C4/ TC K ) P F3 (A DC 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A DC 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D5( TX C A N /X C K 1) P D7( T0 ) PD 4( IC P 1) X TA L1 P D6( R XC A N /T 1) XTA L2 V C C 1 R E S ET G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C6/ TD O ) P A 1( A D 1) P D1( S DA /IN T1 ) P D 2( R X D 1/ IN T2 ) P D3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 G P O U T0 G P O U T1 V LVL1 G N D G N D 1 G P O U T2 G P O U T3N.C. RES SCLK SS MISO MOSI GPX N.C.1 IN T G N D 2 G N D 3 D-D+ V C C VC C 1 V B CO M P N.C.2 XI XO N.C.3 GPIN0 GPIN1 GPW2 GPW3 U2 MA3420E IN GND (MR)SHOW RESET SET OUT U12 MAX6349LT V B U S D-D+ G ND U14 USB_CONNECTOR R2 33ohm R3 33ohm C9 4.7uF X2 HC-49/U_12MHz 2 1 C1010pF C11 10pF C13 100nF R4 10kohm R5 100kohm R7 170kohm C12 1.0uF C1 100nF VCC +3,3 V C2 100nF C3 100nF C4 100nF C5 100nF NC. SO SI SCK CS RESET VSSRX TP IN -TP IN + R B IA S V DD TX TP O U T-TP O U T+ V S S TX VDDRX VDDPLL VDDPLL1 VSSOSC OSC1 OSC2 VDDOSCLED B LE D A V D D V C A P VS S C LK O U T IN T U3 ENC28J60 R6 65ohm R1 65ohm D2 1BH62 D1 1BH62 C6 100nF J1 RJ-45 R8

75ohm R975ohm R1075ohm R1175ohm

C7 1.0nF R12 2.3kohm C8 10uF R13 49.9ohm R14 49.9ohm R15 49.9ohm R16 49.9ohm L1 FB T2 Transform T1 Transform C14 100nF IO1 C15 100nF X3 HC-49/U_25MHz C16 20pF C17 20pF R17 0ohm OUTB OUTA REF UP0 PDE LDAC CLR DOUT CS SCLK DIN DGND VDD AGND OUTD OUTC U1 MAX534 V1 3.3V C18 100nF GND RESET Vcc U4 DS1233 VIN VOUT GND U5 MAX6120 5V C19 100nF IV2 K 1 K2 K3 K4 R1 R2 R3 R 4 U8 Keyboard R18100kohm R19 100kohm R20 100kohm R21 100kohm R22 1.0kohm R23 1.0kohm R24 1.0kohm R25 1.0kohm VSS VDD D7 D6 D5 D4 D3 D2 D1 D0 /CS1 CS2 A0 RD /WR SI SCL P/S RES C86 LED-A N/C U6 LCD-grfisk C20 100nF IO3 TXD GND VCC RXD Vref CANL CANH RS U9 PCA82C251 C21 100nF R26 60ohm C22 100pF C23 100nF C1+ V+ C1-C2+ C2- V-T2OUT R2IN R2OUT T2IN T1IN R1OUT R1IN T1OUT GND VCC U10 MAX3232 IO4 IO5 IO6 C24 0.1uF C25 0.1uF C26 0.1uF C27 0.1uF C28 0.1uF S1 Key = A RO RE DE DI GND A B VCC U11 LTC485CN RX TX C29100nF C30 100nF X1 HC-49/U_8MHz C32 20pF 20pFC33 C31 12pF D3 1JH62 D4 1JH62 R27 1.0kohm 3V3 Analog_in Matningsspänning +12V C36 10uF C37 10uF C38 10uF C39 100nF VIN VOUT G N D U15 LM1117 C40 100nF 100nF C43 +5V C44 10uF C45 10uF VIN VOUT G N D U13 LM1117 C46 100nF 100nF C47 RXTX +3.3V +3.3V V6 3.3V V7 3.3V V8 3.3V V9 3.3V R29 1.0kohm V2 3.3V R30 1.0kohm R31 10kohm R32 0.0ohm R28 0.0ohm RS-232 RS-485 Ethernet (ENC28J60) CAN (PCA82C251) ) Grafisk display (LCD) Tangentbord 4x4 USB (MAX3420E) D/A-omvandlare (MAX533) Spänningsregulator Processor (AT90CAN32)

(24)

Rahman Hassanzadeh 18 Magisterprogrammet i elektronik av denna typ kan upprättas med en halv eller en full duplex. För halv duplex gäller att

information bara går åt ett håll i taget [20].

I LTC485CN, interfacekretsen till RS-485, har jag kopplat ihop RE och DE via ett noll ohms motstånd och sedan kopplat dem till ben 35 på port C i processorn.

Enligt databladet användes elektrolytkondensatorer i RS-232-kopplingen. En elektrolyt kondensator klarar av stora strömmar men är inte så bra på snabba förlopp.

Då bör man välja antingen en keramisk kondensator som klarar av snabba förlopp, men kan inte hantera stora strömmar, eller en tantalkondensator som klarar både och. Beroende på uppgiften väljer man alltså den typ av kondensator som uppfyller önskemålet (se figur 7, 8 och 12).

Figur 12: Processorn och RS-232/RS-485

5.2.3. Mikroprocessorn och USB

I nedanstående kopplingsschema (figur 13) har jag anslutit MAX3420E till AT90CAN32. Man kan observera att även följande signaler: MOSI, MISO, INT, SS och SCLK går mellan interfacekretsen MAX3420E (se bilaga 1, dokument 003) och AT90CAN32-processorns kärna (se bilaga 1, dokument 001).

C1+ V+ C1-C2+ C2- V-T2OUT R2IN R2OUT T2IN T1IN R1OUT R1IN T1OUT GND VCC U9 MAX3232 NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 VCC RX TX C5 0.1uF C1 0.1uF C2 0.1uF C4 0.1uF C6 0.1uF S1 RO RE DE DI GND A B VCC U1 LTC485CN Rx Tx C3 100nF C7 100nF R1 1.0kohm R3 0.0ohm R2 0.0ohm 3V3 DE

(25)

Rahman Hassanzadeh 19 Magisterprogrammet i elektronik Två resistorer på 33 ohm var, har kopplats till en USB-connector och fungerar som

skyddsmotstånd. USB är en strömmatad buss. Motstånden har avsiktligt valts med så låg resistans, så att deskall skydda kretsen vid kortslutning och inte påverka signalen.

Man kan ställa utgångarnas spänning mellan 1,71 och 3,6 volt och för att erhållaen spänning på 3,3 volt fick jag enligt nedanstående beräkningar fram R7 = 170 ohm.

Enligt databladet ingår i kopplingen, en spänningsregulator MAX6349TL som ger +3,3 volt. R7 som sätts till 170 ohm fick jag genom följande beräkningar:

Vout = Vset*(1 + R7/R6)

Vset = 1,23V (Referensspänning)

3,3 = 1,23*(1 + R7/100k ) => R7 = R6*(Vout/Vset -1) => R7 = 100k *(3,3/1,23 – 1) R7 = 168,29 (≈170 )

Figur 13: USB (MAX3420E) inkopplat till processorn

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 G P O U T0 G P O U T1 V L V L1 G N D G N D 1 G P O U T2 G P O U T3 N.C. RES SCLK SS MISO MOSI GPX N.C.1 IN T G N D 2 G N D 3 D -D + V C C V C C 1 V B C O M P N.C.2 XI XO N.C.3 GPIN0 GPIN1 GPW2 GPW3 U2 MA3420E IN GND (MR)SHOW RESET SET OUT U12 MAX6349LT V B U S D-D+ G N D U14 USB_CONNECTOR R233ohm R3 33ohm C9 4.7uF X2 HC-49/U_12MHz 2 1 C1010pF C11 10pF C13 100nF R410kohm R5 100kohm R7 170kohm C12 1.0uF C1 100nF VCC +3,3 V C2 100nF C3 100nF C4 100nF C5 100nF

(26)

Rahman Hassanzadeh 20 Magisterprogrammet i elektronik

5.2.4. Mikroprocessorn och Ethernet

I figur 14 visas Ethernets interfacekrets ENC28J60 som kopplades ihop med processorn. På samma sätt som i fallet med USB går det fem signaler mellan Ethernet och processorn via SPI.

Med i kopplingen finns även ett modulärt kontaktdon RJ-45 som används på TP-kablar (Twisted Pair, nätverkskabel). RJ-45 har stift för åtta stycken ledare (se bilaga 1, dokument 004).

TP-kabel är en signalkabel som består av ett par tvinnade ledare. De är tvinnade för att motverka störningar. I kopplingen nedan används L2/FB (Ferrite Bead) som kan ta bort högfrekventa störningar från RJ-45 eller Ethernet.

Med RBIAS (ben 10 på ENC28J60) kan man ändra nivån på utsignalen. Alla versioner av Ethernet specificeras av en transformator mot linjen som effektivt tar bort all likspänning innan avkodningen av data sker.

Ljusdioderna används för att se vad som händer. Framspänningsfallet för lysdioder brukar ligga mellan 1,4 och 2,5V. Ljusintensiteten beror på strömstyrkan, och i regel krävs det en ström på cirka 10-20 mA för att dioden ska lysa tillräckligt starkt [20].

För att få rätt ström genom ljusdioderna användes R1=R2=65 , och detta värde erhålls genom att beräkna R=1,3V/0,02A=65 .

(27)

Rahman Hassanzadeh 21 Magisterprogrammet i elektronik Figur 14: Mikroprocessorn och ENC28J60 (Ethernet)

5.2.5. Mikroprocessorn och CAN

Den här kopplingen visar PCA82C251, interfacekretsen till CAN, som inkopplats till mikroprocessorn. Alla CAN har samma hårdvarusnitt men själva programmeringen (protokollet) skiljer sig åt.

CAN har matningsspänning på +5V och processorn på +3,3V. För att få rätt

matningsspänning har jag valt att koppla spänningsregulatorn LM1117 som ger en utspänning av 3,3 volt.

Figur 15 visar att Rs (slope resistor input) via ett 1k ohm motstånd kopplades till processorn som skydd, för att processorn inte skulle gå sönder (se bilaga 1, dokument 005 och 010).

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 NC. SO SI SCK CS RESET VSSRX TP IN -TP IN + R B IA S V D D TX TP O U T-TP O U T+ V S S TX VDDRX VDDPLL VDDPLL1 VSSOSC OSC1 OSC2 VDDOSC LE D B LE D A V D D V C A P V S S C LK O U T IN T U1 ENC28J60 R1 65ohm R2 65ohm D1 1BH62 D2 1BH62 C1 100nF J2 RJ-45 R3

75ohm R475ohm R575ohm R675ohm

C2 1.0nF R8 2.3kohm C310uF R7 49.9ohm R9 49.9ohm R10 49.9ohm R11 49.9ohm L2 FB T1 Transform T2 Transform C4 100nF 3V3 C5 100nF X1 HC-49/U_25MHz C6 20pF C7 20pF R13 0ohm

(28)

Rahman Hassanzadeh 22 Magisterprogrammet i elektronik Figur 15: CAN (PCA82C251) och AT90CAN32

5.2.6. Mikroprocessorn och Tangentbord 4x4

Figuren nedan visar tangentbordet 4x4 (16 knappar) som kopplats till port A i mikroprocessorn.

Till de fyra kolumnerna kopplades ett motstånd på 100k som matades med + 3,3 volt, och till de fyra rader, som först jordades kopplades ett motstånd på 1 k .

Anledningen till att motstånden används är för att man ska kunna indikera nollor och ettor. Om motstånden inte används kommer signalen alltid att vara hög. Då erhålls inte någon signal alls. Så länge som man inte tryckt ner någon knapp är utspänningen lika med 3,3 volt, men om man trycker på någon knapp sker spänningsdelning som kan beräknas enligt följande:

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 TXD GND VCC RXD Vref CANL CANH RS U4 PCA82C251 C1 100nF R1 60ohm C2 100pF C3 100nF R3 10kohm R2 1.0kohm 5V VCC

(29)

Rahman Hassanzadeh 23 Magisterprogrammet i elektronik 3,3V * 100k /(100k + 1k ) 3,27V och 3,3V * 1k /(100k + 1k ) 0,033V. Detta betyder att 99 % av spänningen hamnar på 100 k motstånd och 1 % hamnar på 1 k motstånd (se bilaga 1, dokument 001 och 007).

När man kopplar tangentbordet till processorn behövs inte de fyra motstånden som kopplades till raderna. Istället kopplas de fyra raderna direkt till processorn.

Figur 16: Tangentbord 4x4 och processorn

5.2.7. Mikroprocessorn och LCD

Kopplingsschemat nedan visar att LCD har 22 ben och signalerna SCL, SI, /CS och CS går mellan processorn och displayen. D0-D7 är en dubbelriktad databuss vilket innebär att man kan både skicka och ta emot signaler. Det finns två CS-signaler (Chip Select) varav en skall vara låg och en hög.

I nedanstående kopplingsschema kopplade jag CS till två separata ben på processorn. Annars hade jag kunnat koppla båda två till ett ben på processorn genom att använda en inverterare. Ingångsdata och utdata är möjliga när CS1 är låg och CS2 hög.

Med hjälp av P/S kan man välja en seriell eller en parallell ingång. Jag har valt den seriella genom att sätta P/S låg (se bilaga 1, dokument 001 0ch 008).

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 K 1 K 2 K3 K4 R1 R2 R3 R 4 U5 Keyboard R9 100kohm R10100kohm R11100kohm R12100kohm R131.0kohm R141.0kohm R15 1.0kohm R161.0kohm 3.3V VCC

(30)

Rahman Hassanzadeh 24 Magisterprogrammet i elektronik Figur 17: Grafisk display och processorn

5.2.8. Mikroprocessorn och D/A-omvandlaren

Nedanstående koppling visar hur D/A-omvandlaren MAX533 har kopplats till en processor via SPI. Signalerna DIN, SCLK och CS (Data In, Klock Signal och Chip Select) går mellan processorn och D/A-omvandlaren.

Till ben 3 (REF), dvs. referensspänningen på D/A-omvandlaren valde jag att koppla

referensspänningen MAX6120 som har mycket låg strömförbrukning och ger en utspänning av1,2 volt. Syftet med användningen av referensspänningen är att få ett jämnt resultat utan variation (se bilaga 1, dokument 001 och 009).

MAX533 är en 8-bitars D/A-omvandlare som har en mattningsspänning om 3,3 volt vilket betyder att upplösningen är 3,3/256 0,0129V ( 13 mV).

Enligt projektets specifikation skall upplösningen vara 20 mV, vilket innebär att denna D/A-omvandlare uppfyller specifikationskravet.

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR) PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 VSS VDD D7 D6 D5 D4 D3 D2 D1 D0 /CS1 CS2 A0 RD /WR SI SCL P/S RES C86 LED-A N/C U3 LCD-grfisk C1 100nF 3V3

(31)

Rahman Hassanzadeh 25 Magisterprogrammet i elektronik D/A-omvandlare som har CS (Chip Select) behöver inte kopplas till I2C, eftersom I2C- kretsar har egna adresser.

I kopplingen nedan (figur 18) ses att D/A-omvandlaren består av fyra utgångar, en åtta bitars dataingång (D0-D7), två kontrollsignaler (C0-C1) och två adressignaler (A0-A1). Genom att mata in A0A1 väljer man utgångarna på D/A-omvandlaren (se figur 18 och 29).

Figur 18: D/A-omvandlaren (MAX533) som har kopplats ihop med processorn

5.3. Att programmera mikroprocessorn

Nedladdning av program till AVR kan göras på följande sätt:

1. Via SPI med dongle3 till parallellporten, serieporten eller USB-porten 2. Via JTAG-kontakten med AVR Dragon (Emulator)

3. Serial bootloader4, vanliga UARTEN i AVR

För att utveckla mjukvarudelen av projektet användes nedanstående utrustning:

AVR STK500, AVR STK501 och Atmel AVR Dragon [21]

3 En enhet som används mellan två hårdvaror för att på ett säkert sätt överföra information. 4 Ett program som laddar ett operativsystem från en lagringsenhet för data eller från ett nätverk.

NC(1) PE0(RXD0/PDI) PE1(TXD0/PDO) PE2(XCK0/AIN0) PE3(OC3A/AIN1) PE4(OC3B/INT4) PE5(OC3C/INT5) PE6(T3/INT6) PE7(ICP3/INT7) PB0(SS) PB1(SCK) PB2(MOSI) PB3(MISO) PB4(OC2A) G N D P A 0( A D 0) V C C P F7 (A D C 7/ TD I) P F5 (A D C 5/ TM S ) P F4 (A D C 4/ TC K ) P F3 (A D C 3) P F2 (A D C 2) P F1 (A D C 1) P F0 (A D C 0) A R E F G N D 1 A V C C PB5(OC1A) PB6(OC1B) P B 7( O C 0A /O C 1C ) P D 0( S C L/ IN T0 ) P A 2( A D 2) P D 5( TX C A N /X C K 1) P D 7( T0 ) P D 4( IC P 1) X TA L1 P D 6( R X C A N /T 1) X TA L2 V C C 1 R E S E T G N D 2 P G 4( TO S C 1) P G 3( TO S C 2) P F6 (A D C 6/ TD O ) P A 1( A D 1) P D 1( S D A /IN T1 ) P D 2( R X D 1/ IN T2 ) P D 3( TX D 1/ IN T3 ) PG0(WR)PG1(RD) PC0(A8) PC1(A9) PC2(A10) PC3(A11) PC4(A12) PC5(A13) PC6(A14) PC7(A15/CLKO) PG2(ALE) PA7(AD7) PA6(AD6) PA5(AD5) PA4(AD4) PA3(AD3) U7 AT90CAN32 OUTB OUTA REF UP0 PDE LDAC CLR DOUT CS SCLK DIN DGND VDD AGND OUTD OUTC MAX533 C8 100nF GND RESET Vcc U9 DS1233 VIN VOUT GND U1 MAX6120 5V C1 100nF 1V2 3.3V VCC

References

Related documents

Fastighetsägaren är enligt vattentjänstlagen skyldig att upplåta plats för mätaren samt lämna huvudmannen tillträde till fastigheten när denne vill kontrollera, ta ned eller

Övergången från filtrerings- och slussan- vändning till beredskapsläge görs enligt följande:.. - Öppna slusstältets dragkedjor helt och öppna kardborrbanden i dragkedjornas

This is a License Agreement between Miriam S Ramliden ("You") and Nature Publishing Group ("Nature Publishing Group") provided by Copyright Clearance

Denna Spheroidiska figuren giör jämwäl, at graderne från Linjen blifwa alt längre och längre; så at en grad under Polen borde vara 814 famnar eller något mera än en half

Förutom den bebyggelse som ligger inom korridoren behöver hänsyn tas till de bostadsmiljöer som ligger norr om Linghem närmast korridoren och bostäder söder om Stora Vänge..

Översikt, väg 677 genom Sikeå till höger i bild.... Ny pendlarparkering

En betesmark (2/800) med påtagligt naturvärde (objekt 40, NVI 2018) kopplat till flera äldre och grova ekar samt riklig förekomst av stenrösen påverkas av ny enskild väg� Den

(2008) redogör också för den rent praktiska skillnaden mellan dessa typer av beroende,       vilken innebär att alkohol, till skillnad från spel, innehåller substanser som