Peripheral Interface Controllers - radioclub.nl · UART, I2C en SPI interface ... Concurrenten:...
Transcript of Peripheral Interface Controllers - radioclub.nl · UART, I2C en SPI interface ... Concurrenten:...
PPeripheraleripheralIInterfacenterface
CControllersontrollers
BRAC clubavond 5BRAC clubavond 5--1010--20072007PE2WDOPE2WDO
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 22
Programma Programma
IntroductieIntroductieWat is een PICWat is een PICWat heb je nodig om te beginnenWat heb je nodig om te beginnenPraktijkopdrachten:Praktijkopdrachten:
Voorbeeld met uitlegVoorbeeld met uitlegOpdrachtenOpdrachten
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 33
Wat is een PICWat is een PICProgrammableProgrammable Intelligent ComputerIntelligent ComputerGeneralGeneral Instrument (PIC1650)Instrument (PIC1650)PeripheralPeripheral Interface ControllerInterface ControllerPICmicroPICmicro©© van Microchip van Microchip TechnologyTechnologyHarvardHarvard chip architectuur (12,14, 16bit)chip architectuur (12,14, 16bit)RISC instructieset (ca. 35RISC instructieset (ca. 35--70 instructies)70 instructies)Huidige features:Huidige features:
ProcessorProcessorEEPROM (Flash) /RAMEEPROM (Flash) /RAMDigitale I/ODigitale I/OA/D A/D convertorsconvertors/PWM/PWMUARTUART, I2C en SPI interface, I2C en SPI interfaceTimers, sleepmodeTimers, sleepmodeRFRF--integratedintegratedEtc.Etc.((dsPICdsPIC))
Concurrenten:Concurrenten:
Motorola/68HCxxx, Motorola/68HCxxx,
AtmelAtmel/AVR,/AVR,
80518051
enzenz..
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 44
Wat is een PIC (2)Wat is een PIC (2)
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 55
Kiezen van het juiste typeKiezen van het juiste typeCriteria:Criteria:
IngebouwdeIngebouwde featuresfeaturesVerkrijgbaarheidVerkrijgbaarheidKostprijsKostprijsGebruiksgemakGebruiksgemakKwaliteitKwaliteit en en prijsprijs ontwikkeltoolsontwikkeltoolsBeschikbaarheidBeschikbaarheid informatieinformatieVoorbeeldVoorbeeld projecten/toepassingenprojecten/toepassingen
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 66
Overzicht gangbare Overzicht gangbare PICPIC’’ss::
10.0010 a/d, mssp256153616k34wdip 4018F452
9.0010 a/d, mssp2565128k34wdip 4018F442
9.0010 a/d, mssp256153616k34sdip 2818F252
8.3010 a/d, mssp2565128k34sdip 2818F242
9.505 a/d, mssp2563688k33wdip 4016F877
8.205 a/d, mssp2563688k22sdip 2816F876
7.505 a/d, uart1281924k33wdip 4016F874
7.005 a/d, uart1281924k22sdip 2816F873
4.005 a/d, mssp641282k22sdip 2816F872
5.905 a/d, uart641282k33wdip 4016F871
5.005 a/d, uart641282k22sdip 2816F870
3.505 d/a, uart, osc1282242k16sdip 1816F628
4.705 -64381k13sdip 1816F84A
1.905 a/d, osc128641k6sdip 812F675
1.605 osc128641k6sdip 812F629
1.801 osc-411k6sdip 812F509
Euro MIPSPeriferieEEPROMRAMMEMI/Obehuizingchip
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 77
Wat heb je nodig (1) ?Wat heb je nodig (1) ?VoorkennisVoorkennis/info:/info:
Idee/ontwerpIdee/ontwerpBasiskennis van Basiskennis van electronicaelectronicaEnige ervaring in programmerenEnige ervaring in programmerenDeviceDevice gegevens/datasheets gegevens/datasheets PICPIC’’ssVoorbeelden/cursusmateriaalVoorbeelden/cursusmateriaal
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 88
Wat heb je nodig (2) ?Wat heb je nodig (2) ?Enig gereedschap:Enig gereedschap:
Compiler/Compiler/editoreditor::-- BASIC (veel varianten, gratis demo versies op BASIC (veel varianten, gratis demo versies op wwwwww))
C/C++ C/C++ ,,,,Pascal Pascal ,,,,JAL (JAL (freewarefreeware))
AssemblerAssembler//editoreditor ((MicroChipMicroChip): ): MPLABMPLABMPASMMPASM
ProgrammerProgrammer (kopen/(kopen/zelfbouwenzelfbouwen))BreadboardBreadboard, , expirimenteerprintexpirimenteerprint of prototypeof prototype
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 99
Aan de gang (1)Aan de gang (1)Hardware opbouwen (Hardware opbouwen (breadboardbreadboard))
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1010
Aan de gang (2)Aan de gang (2)Software flowchart makenSoftware flowchart maken
StartStart
EindeEindeKlaar?Klaar?
InitialiseerInitialiseer PICPIC
Doe ietsDoe iets
Doe nog ietsDoe nog iets
..incinc--filefile
NN JJ
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1111
Aan de gang (3)Aan de gang (3)---- ================================================================================---- Program Program Voorbeeld1Voorbeeld1---- AuthorAuthor PE2WDOPE2WDO---- versionversion 1.01.0---- release release 1717--0808--20072007---- ------------------------------------------------------------------------------------ PurposePurpose Voorbeeld t.b.v. oefening1Voorbeeld t.b.v. oefening1---- BRAC PIC Avond 05BRAC PIC Avond 05--1010--20072007---- ------------------------------------------------------------------------------------ compiler compiler JAL V2.0 GNU open JAL V2.0 GNU open sourcesource---- ================================================================================
includeinclude 16f628 16f628 ---- Hardware configuratie PIC 16F628Hardware configuratie PIC 16F628var bit led1 is pin_b4 var bit led1 is pin_b4 ---- Definieer poort als bit variabeleDefinieer poort als bit variabeleconstconst tdelaytdelay = 250 = 250 ---- Definieer variabele voor vertragingstijdDefinieer variabele voor vertragingstijdpin_b4_pin_b4_directiondirection = output = output ---- Stel poort B4 in als uitgangStel poort B4 in als uitgang
ForeverForever loop loop ---- herhaal eindeloos tot aan einde loopherhaal eindeloos tot aan einde loopled1 = high led1 = high ---- zet Led1 aanzet Led1 aandelaydelay_1mS ( _1mS ( tdelaytdelay ) ) ---- wacht 250 x 1mSwacht 250 x 1mSled1 = led1 = lowlow ---- zet Led1 uitzet Led1 uitdelaydelay_1mS ( _1mS ( tdelaytdelay ) ) ---- wacht 250 x 1mSwacht 250 x 1mS
End loopEnd loop
11
22
33
Programmavoorbeeld in JALProgrammavoorbeeld in JAL
HEADERHEADER
INITIALISATIEINITIALISATIE
PROGRAMMA BODYPROGRAMMA BODY
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1212
Aan de gang (4)Aan de gang (4)Software code Software code editenediten/saven/savenCompilerenCompilerenFouten herstellen/debuggenFouten herstellen/debuggenHEXHEX--codecode ““brandenbranden””Hardware/software samen bouwenHardware/software samen bouwenTesten en fouten herstellenTesten en fouten herstellenKlaar!Klaar!
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1313
PraktijkopdrachtenPraktijkopdrachten
1. 1. KnipperledsKnipperleds 15min15min2. 2. KnipperledsKnipperleds met met aan/uitaan/uit SWSW 15min15min3. Sequencer3. Sequencer 20min20min4. Sequencer/ID4. Sequencer/ID--erer ((callgevercallgever)) 45min45min
-- Met het BRAC prototype printjeMet het BRAC prototype printje-- VoorbeeldprogrammaVoorbeeldprogramma in JALin JAL
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1414
1. 1. KnipperledsKnipperleds
OpdrachtOpdracht 1:1:
laatlaat led1 en led2 led1 en led2 afwisselendafwisselend en en zichtbaarzichtbaarknipperenknipperen met met eeneen frequentiefrequentie van van ongeveerongeveer 2 Hz2 Hz..
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1515
2. 2. KnipperledsKnipperleds met met aan/uitaan/uit
OpdrachtOpdracht 2:2:
De De ledsleds zijnzijn normaalnormaal ((rustsituatierustsituatie) ) gedoofdgedoofd
ZodraZodra SW1 SW1 wordtwordt ingedruktingedrukt begintbegint led1 led1 tete knipperenknipperenLed 2 Led 2 blijftblijft gedoofdgedoofd..
ZodraZodra SW1 SW1 wordtwordt losgelatenlosgelaten dooftdooft led1 en led1 en begintbegintLed2 Led2 tete knipperenknipperen
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1616
3. Sequencer3. SequencerOpdrachtOpdracht 3:3:
In rust In rust zijnzijn allealle ledsleds uituit
Na Na hethet drukkendrukken van SW1 van SW1 gaangaan de de ledsleds 1 1 t/mt/m 4 in 4 in volgordevolgorde met met vertragingvertraging van ca. 100mSec. van ca. 100mSec. AanAan
Na Na loslatenloslaten van SW1 van SW1 gaangaan de de ledsleds in de in de omgekeerdeomgekeerde volgordevolgordeuituit met met eeneen vertragingvertraging van ca. 100mSec.van ca. 100mSec.
VoordatVoordat de de ledsleds uitgaanuitgaan is is erer gedurendegedurende 1 sec. 1 sec. eeneen audio audio toontoonvan ca. 1kHz van ca. 1kHz tete horenhoren via de buzzervia de buzzer
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1717
4. Sequencer/ID4. Sequencer/ID--erer ((callgevercallgever))OpdrachtOpdracht 4: 4:
pas sequencer software van de pas sequencer software van de vorigevorige opdrachtopdracht zozo aanaan datdatgedurendegedurende hethet ingedruktingedrukt houdenhouden jeje eigeneigen amateur call in amateur call in via de buzzer in via de buzzer in morsemorse hoorbaarhoorbaar wordtwordt
pas de timing pas de timing zozo aanaan datdat ditdit pas 5 sec. pas 5 sec. nana activerenactiveren van van SW1 SW1 voorvoor hethet eersteerst gebeurtgebeurt, , daarnadaarna iedereiedere 15 sec.15 sec.
bouwbouw volgendevolgende functiesfuncties in:in:SW2 open: SW2 open: callgevercallgever geactiveerdgeactiveerd ((mitsmits SW1 SW1 ingedruktingedrukt))SW3 open: roger beep SW3 open: roger beep geactiveerdgeactiveerd ((bijbij hethet lossenlossen van van SW1) SW1)
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1818
5. 5. VoorbeeldVoorbeeld: : eeneen digitaledigitale SWRSWR--metermeter
PIC16F876APIC16F876AProton PIC basic Proton PIC basic 2 2 analogeanaloge ingangeningangen (Fwd/Rev)(Fwd/Rev)LCD display 2x16LCD display 2x16LCD LCD toonttoont Pout en VSWRPout en VSWR
in in teksttekst (Pout links (Pout links bovenboven, VSWR links , VSWR links onderonder))alsals barbar--graph (1 per graph (1 per regelregel, , achterachter betreffendebetreffende teksttekst))alarm alarm uitganguitgang (LED (LED aanaan) ) bijbij SWR>1.5SWR>1.5PmaxPmax ca. 700W (SSBca. 700W (SSB--piekenpieken bijbij legal power)legal power)VSWRmaxVSWRmax ca. 1:6ca. 1:6
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 1919
PIC architectuurPIC architectuur
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 2020
Informatie/documentatie (1)Informatie/documentatie (1)Een willekeurige greep uit de grote hoeveelheid beschikbare docuEen willekeurige greep uit de grote hoeveelheid beschikbare documentatie & mentatie & informatie over informatie over PICPIC’’ss, , picpic--programmingprogramming, voorbeeldprogramma, voorbeeldprogramma’’s, software s, software resources etc.resources etc.
Fabrikant Fabrikant www.microchip.comwww.microchip.comhttp://buy.microchip.comhttp://buy.microchip.com
Algemene infoAlgemene infowww.circuitsonline.netwww.circuitsonline.nethttphttp://://www.wattystuff.netwww.wattystuff.net//wattystuff.htmwattystuff.htmwww.picbasic.orgwww.picbasic.orgwww.picbasic.nlwww.picbasic.nl
ResourcesResourcesJALJAL:: www.voti.nl/jalwww.voti.nl/jal Wouter van Wouter van OoijenOoijen
http://http://pic.flappie.nlpic.flappie.nl StefStef MientkyMientky
BASICBASIC:: http://www.myke.comhttp://www.myke.com MikeMike PredkoPredkowww.picbasic.nlwww.picbasic.nl FritsFrits KieftenbeltKieftenbelt (mini cursus) (mini cursus)
0505--1010--20072007 BRAC clubavondBRAC clubavond pag. pag. 2121
Informatie/documentatie (2)Informatie/documentatie (2)CompilersCompilersAsmAsm:: www.microchip.comwww.microchip.comJALJAL:: www.voti.nlwww.voti.nlJAL V2:JAL V2: httphttp://://www.casadeyork.comwww.casadeyork.com/jalv2/jalv2
httphttp://www.wattystuff.net/tiki/tikiindex.php?page=PIC+Micro://www.wattystuff.net/tiki/tikiindex.php?page=PIC+Micro
BASICBASIC:: www.sfcompiler.co.ukwww.sfcompiler.co.uk ((swordfishswordfish))www.crownhill.co.ukwww.crownhill.co.uk ((picbasicpicbasic pro)pro)
ProgrammersProgrammersPICkit2 PICkit2 www.microchip.comwww.microchip.comBobblickBobblick http://http://www.bobblick.comwww.bobblick.comICprogICprog http://www.ichttp://www.ic--prog.comprog.com
BoekeBoekennProgrammingProgramming and and customizingcustomizing PICmicroPICmicro microcontrollers (microcontrollers (MikeMike PredkoPredko, 1190p) , 1190p) PIC microcontrollers (Bert van Dam, 440p)PIC microcontrollers (Bert van Dam, 440p)