DA-omvandling, oftast PWM William Sandqvist En DA-omvandlare tar stor plats på processor- chippet. Den vanligaste DA-lösningen är i stället.

Slides:



Advertisements
Liknande presentationer
William Sandqvist Simulera med ModelSim ModelSim kan användas till att simulera VHDL-kod, för att avgöra om den är "rätt" tänkt. Man kan.
Advertisements

IE1206 Inbyggd Elektronik F1 F2
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Många studenter använder en LCD-display till sin programmeringsuppgift
Funktioner och programorganisation
William Sandqvist Störskydd William Sandqvist
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
#include void fun(char s[]) { int i=-1; while(s[++i]!=0) { if('a'
PICKit2 programmer-to-go
William Sandqvist Programmet onoffred.c.
Arrays Indicerade variabler.
William Sandqvist Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist
William Sandqvist PIC Comparator Tips 'n Tricks William Sandqvist
C-programmering ID120V William Sandqvist Länkad lista
Komparatorn en 1 bits AD-omvandlare
Realtidsprog. - Anders Arvidsson1 Realtidsprogrammering En introduktion – Implementering (med exempel från PIC)
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
William Sandqvist Digitalt oscilloskop William Sandqvist
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar.
William Sandqvist C:s minnesmodell.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Modulär programutveckling
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
William Sandqvist Låskretsar och Vippor Låskretsar (latch) och vippor (flip-flop) är kretsar med minnesfunktion. De ingår i datorns minnen.
William Sandqvist PIC PIC (Peripheral Interface Computer) är en datorkrets med ”allt i ett”. Prog Mem. Programminnet är 2048 instruktioner.
William Sandqvist PIC 16F628 Timers William Sandqvist
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
William Sandqvist Räknare En räknare är en speciell typ av sekvensnät som registrerar antalet inkommande klockpulser. Registreringen sker.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Språket för inbyggda system 2
Anders Sjögren Filer - långtidslagring. Anders Sjögren Filtyper i DOS talet ett ( intx=1; ) lagrat i en –textfil, (en sekvens av tecken ( bytes )) enligt.
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
William Sandqvist Lab 3 Några slides att repetera inför Lab 3 William Sandqvist
Programmering i C# Laborationer.
William Sandqvist Flera saker samtidigt? /* Blink1: 1s ON - 1s OFF */ /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */
William Sandqvist DA-omvandling, oftast PWM.
William Sandqvist Övning 6 Seriekommunikation - serieport William Sandqvist
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 5: Syntaxanalys (parsning) Syntaxanalysens mål Tillvägagångssätt och komplexitet Syntaxanalys.
William Sandqvist Är Du bra på for-loopar? Ge triangelns höjd: 12 1> * > *** > *****
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering.
Kronljusströmställaren 0, 1, 2, 3
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist Tillståndsmaskiner  Moore-automat  Mealy-automat William Sandqvist
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist LP-filter, simulering med PSpice.
Shannon dekomposition
IF1330 Ellära Växelströmskretsar j  -räkning Enkla filter F/Ö1 F/Ö4 F/Ö6 F/Ö10 F/Ö13 F/Ö15 F/Ö2F/Ö3 F/Ö12 tentamen William Sandqvist F/Ö5.
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
IE1206 Inbyggd Elektronik F1 F2
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
IF1330 Ellära F/Ö1 F/Ö2 F/Ö3 Strömkretslära Mätinstrument Batterier
Språket för inbyggda system. C:s verktygslåda är välfylld! William Sandqvist
IE1206 Inbyggd Elektronik Transienter PWM Visare j  PWM CCP KAP/IND-sensor F1 F3 F6 F8 F2 Ö1 F9 Ö4F7 tentamen William Sandqvist PIC-block.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
IE1206 Inbyggd Elektronik F1 F2
William Sandqvist ECU, Engine Control Unit Idag styrs bilmotorerna av en ECU. Så här skulle en PIC-processor kunna användas som en ”mini-ecu”!
Microprocessor / Microcontroller
Grundläggande signalbehandling
Presentationens avskrift:

DA-omvandling, oftast PWM William Sandqvist En DA-omvandlare tar stor plats på processor- chippet. Den vanligaste DA-lösningen är i stället en pulsbreddsmodulator. Många komponenter ”märker” ingen skillnad mellan ett stabilt analogt värde eller medelvärdet från snabba pulser.

DA-omvandling, oftast PWM William Sandqvist

TIMER0 William Sandqvist

PWM-program William Sandqvist #define DUTY 128 void main( void) { TRISC.5 = 0; /* PORTC.5 is output */ OPTION = 0b ; /* 256 prescale */ while (1) /* forever */ { char i; if (TMR0 < DUTY ) PORTC.5 = 1; else PORTC.5 = 0; } } Problem. Behöver programmet göra något mer så får det ske mellan TIMER0 tick’en!

CCP-enhet William Sandqvist Det finns ett uppenbart behov av en självgående enhet för generering av PWM. CCP-enheten kan programmeras till detta! CCP  Capture  Compare  PWM

PWM William Sandqvist DutyCycle Frequency CCPR1L PR2 8+2 bitar

TIMER2 William Sandqvist TIMER2 är en 8-bit räknare (upp till modulo 256). Den har en prescaler från processorklockan, och ett register PR2 som kan ”förkorta” räknecykeln – den räknar då ”modulo PR2”. Detta ger många möjligheter till att ställa in TIMER2 Output frekvensen.

PWM f 1kHz D 50% William Sandqvist Antag att vi behöver generera en PWM-signal med f 1 kHz och dutycycle 50% (någon som gillar jämna siffror)

PWM f 1kHz D 50% William Sandqvist PWM-mode CCP1-pin TRISC.5=0; Två extra bitars DutyCycle upplösning (minst signifikanta bitar) Tio bitars upplösning har man när PR2=255. Lägre värde ger reducerad upplösningen enligt formeln:

PWM f 1kHz D 50% William Sandqvist

Ex. Vilken DutyCycle? William Sandqvist PR2 = 208; CCPR1L = 137; DC1B1 = 1; DC1B0 = 1; ?

Ex. Vilken DutyCycle? William Sandqvist PR2 = 208; CCPR1L = 209; DC1B1 = 1; DC1B0 = 1; ? Fungerar inte! CCPR1L får aldrig vara större än PR2 !

PWM f 1kHz D 50% William Sandqvist TRISC.5=0; /* CCP1 output */ T2CON = 0B ; /* prescale 1:4 */ CCP1CON = 0B ; /* PWM-mode */ PR2 = 249; /* f_pwm 1000 Hz */ CCPR1L = 125; /* Duty 50% */ CCP-enheten är självgående – all processortid kan användas till annat.

PWM till StepUp William Sandqvist Vid laborationen kommer Du att behöva 100V för att tända en glimlampa! 5V 100V L

PWM till motorer William Sandqvist Ett annat vanligt användnings- område för PWM är till motorstyrning – vi återkommer till det.

William Sandqvist