Hallo allemaal,

Op de forum lees ik heel veel dingen over PIC maar ik heb nog jullie advies nodig. Ik wil graag PIC (in C en FPGA) leren programmeren en hiervoor zoek ik een pakket waarmee ik kan programmeren en exprimenteren.

Weet iemand welk pakket het best en goedkoop is? Ik zou het ook leuk vinden als die geschikt is om FPGA's te kunnen programmeren.

Alvast bedankt

Een PIC microcontroller is iets totaal anders als een FPGA van opzet. Een PIC is per definitie een microcontroller, een FPGA is een grote verzameling logische elementen en geheugens, waarbij de gebruiker zelf bepaald via programmering in VHDL/verilog welk circuit de FPGA zal implementeren. Sommige FPGA's bevatten echter een microprocessor intern, bv. een POWERPC bij sommige xilinx FPGA's, andere FPGA's hebben dit niet. In dit geval kun je wel een microprocessor 'programmeren' op een FPGA, een zogenaamde softcore. Hiertoe dient de FPGA wel over voldoende hardware-bronnen te beschikken, maar bij de moderne FPGA's is dit geen probleem meer.

Indien je beide wilt, en maar 1 platform wenst aan te schaffen, moet je dus voor een FPGA-platform kiezen, waarbij je dan zelf een softcore op je FPGA kunt zetten, die je dan kunt programmeren in C. Als je echter nog weinig van microcontrollers en FPGA's weet, zou ik dit zeker niet aanraden. Door de grote flexibilteit van FPGA's is het moeilijk om hier een mooie tutorial voor te schrijven die je stap-voor-stap uitlegt hoe je een LCD aanstuurt en dergelijke, want alles hangt af van hoe je een en ander realiseert op de FPGA. Je zit direct ook met een complexere architectuur met bussen om de randapparatuur met de processor te verbinden... Er zijn gelukkig wel wizards die je het meeste werk uit handen nemen bij het creëren van processors en dergelijke, maar het is toch wel een heel stuk complexer en er komt veel meer bij kijken dan wanneer je een standaard microcontroller-platformpje neemt.

Ik denk dat de beste keuze dus afhangt van je huidige ervaring met C en microcontrollers. Indien die nog vrij beperkt is, is het misschien goed om eerst te beginnen met een goedkoper microcontroller-platformpje met bijhorende tutorials in C, afgestemd op het platform, waardoor je heel snel je eerste stappen in de wereld van de microcontrollers onder de knie hebt. Daarna kun je overstappen op een geavanceerder (en complexer) FPGA-platform. Anders riskeer je dat je weken zit te ploeteren met de FPGA-software en hardware, zonder veel succes. Mijn ervaring met de verschillende FPGA-platformen (Xilinx/Altera) is dat de software vaak de wensen over laat. De core-business van die fabrikanten is hun hardware, niet de software. De laatste jaren zijn hun software-paketten wel verbeterd, maar er is nog veel verbetering mogelijk.

bedankt voor de reactie. Ik heb wel met xilinx op school gewerkt maar het was meer simulatiewerk. Je uitleg is helemaal duidelijk en ik zal voor gaan. Dus pic programmeren in C. weet je wat een goedkoop set is?

Microchip MPLab + C18 compiler downloaden. (gratis)
Als je tenminste met 18Fxx PIC's begint...

Als je mij vraagt wat ik een goed startersplatform vind (ik gebruik het zelf ook nog regelmatig uit gebruiksgemak), dan val ik wat in herhaling: dit platform vanwege het goede basisbord, uitbreidingsmogelijkheden, goede tutorials gebaseerd op de gratis MPLAB + C18 compiler waar Arco daarnet naar verwees, inclusief programmer en breadbord.

het lijkt me wel een goed platform...zijn er nog suggesties?

Qua test/ontwikkelboarden heeft Mikroelectronica ook de nodige keuze...

Mikroe heeft ook leuke experimenteerkits, met veel extra's zoals display's, SD kaarten, USB, toutchscreen, ...

Ze hebben ook eigen C compiler, maar je kan natuurlijk ook gewoon de MPLAB van microchip zelf gebruiken, in combinatie met het bord.

De displays en dergelijke zitten wel niet inbegrepen bij die borden van Mikroe, dus die moet je nog bijkopen:

"NOTE: Touch Screen, Pencil, DS1820, LCD, Serial Cable and GLCD are not included in the price !!!"

[Bericht gewijzigd door miredox op (51%)]

Niet te vergeten de compiler is gratis te gebruiken tot 2k aan ROM voor de 16f serie en 4k voor de 18f serie.

zijn er websites waar deze borden in Nederland verkrijgbaar zijn?

m00, vanwaar haal je die info?

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&no…

-> Enige beperking bij de gratis versie van de C18-compiler is dat enkele code-optimalisaties niet worden uitgevoerd, wat op zich geen grote beperking is: in die gevallen waar je echt het uiterste uit je PIC wilt halen, moet je toch overschakelen op assembler (die bereik je ook niet met code-optimalisaties)

edit: ach, je bedoelt waarschijnlijk de compiler van mikroe

einsteinovic, de meeste online websites hebben geen beperking op het land waar ze leveren. Je kiest natuurlijk wel best een webwinkel binnen europa, om de verzendingskosten te beperken, en de douane-kosten te vermijden.

Ze leveren ook gewoon aan België/Nederland hoor.

Ik bestel meestal bij http://www.tigal.com in Oostenrijk, gaat prima en snel...

Ik heb geen creditcard namelijk

Op 14 december 2009 15:23:01 schreef nick_elentrik:
Ze leveren ook gewoon aan België/Nederland hoor.

Bij dwengo kun je dacht ik ook overschrijven (Belgie) of via paypal betalen.

Bij tigal kun je gewoon een bankoverschrijving doen. (zonder extra kosten, omdat 't EU is)

Op 14 december 2009 13:17:28 schreef Arco:
Microchip MPLab + C18 compiler downloaden. (gratis)
Als je tenminste met 18Fxx PIC's begint...

En een PICkit2/3 aanschaffen.

Zie http://www.microchipc.com/ voor voorbeelden etc in C.

Het woord AVR is nog niet gevallen geloof ik. Ik ben erg gecharmeerd van AVR in C. Mooie ontwikkelomgeving en voldoende programmers voorhanden. Ook hele goedkope. AVRs zijn goed bij DickBest verkrijgbaar.

Op 14 december 2009 21:47:00 schreef flipflop:
Het woord AVR is nog niet gevallen geloof ik. Ik ben erg gecharmeerd van AVR in C. Mooie ontwikkelomgeving en voldoende programmers voorhanden. Ook hele goedkope. AVRs zijn goed bij DickBest verkrijgbaar.

Volledig mee eens, ik gebruik zelf ook C voor AVR's. Ik weet niet hoe het met de PICs zit, maar voor AVR heb je goede compilers, lib's (winavr, avrGCC, AVRstudio).

Voor PIC lijkt C minder uitgebreid, ik ben nu al een tijdje op zoek naar een goede compiler voor de 16F serie, maar die lijkt (buiten betalende compilers) niet te vinden.

AVR is zeker een goed alternatief als wil beginnen met C voor µC's

Als je C wilt programmeren is een AVR voor dezelfde prijs meestal een betere keuze. Verder heeft in ieder geval de IAR C compiler op de PIC18F bijvoorbeeld de beperking dat je geen arrays groter dan 256 bytes kunt gebruiken en dat het gebruik van een pointer tenminste 14 cycles kost tenopzichte van 1 cycle bij een AVR. Meer leesvoer: http://swerl.tudelft.nl/twiki/pub/Main/PastAndCurrentMScProjects/Thesi… zie vooral hoofdstuk 5 en figuur 6.1 en 6.2

Het schrijven van die thesis heeft me voor eens en voor goed van de PIC afgeholpen ;)

Een mooi startersplatform is de Arduino. Die kun je op diverse plekken online kopen, bijvoorbeeld op www.freeduino.eu. Bijkomend voordeel is dat er al een complete omgeving is met library, zodat je alleen maar de c code hoeft te typen.

AVR vs. PIC, de eeuwige discussie die al ontelbare keren is gevoerd.

Conclusie: het zijn verschillende architecturen, je kunt niet zeggen dat de een beter is dan de ander. Het hangt af van de toepassing die je voor ogen hebt, en van je persoonlijke voorkeur. Beide architecturen hebben voor- en nadelen.

Een van de vele vergelijkingen tussen beide bijvoorbeeld, hoewel reeds wat verouderd:
http://www.electricstuff.co.uk/picvsavr.html

Ondertussen zijn er reeds veel nieuwe microcontrollers uitgebracht, die beter overweg kunnen met sommige problemen...

Wat de ondersteuning van C voor PICs betreft, die is in mijn opinie minstens zo uitgebreid als voor AVR. Als je rondkijkt op forums, dan zie je bv. dat PICs globaal actiever worden gebruikt dan AVR's.
Gratis compilers voor 16F-pics zijn bv. hitec-C en CCS, beide de lite-versie en ondersteund in MPLAB. Die zijn meer dan goed genoeg voor de meeste projecten. Onder linux zijn er ook enkele goede compilers.

De prijzen voor PICs en AVRs zijn zeer gelijkaardig. Volgens velen zijn PICs trouwens goedkoper dan AVR's.

En wat is beter kwa code opbouw? PIC of AVR? kan iemand een uitleggen wat de voordelen van beide uCs zijn? en ik bedoel code opbouw, I/O, lezen van ADC enzo..

net ietsje sneller dan mijn vraag:p

Op 15 december 2009 10:26:33 schreef miredox:
AVR vs. PIC, de eeuwige discussie die al ontelbare keren is gevoerd.

Conclusie: het zijn verschillende architecturen, je kunt niet zeggen dat de een beter is dan de ander. Het hangt af van de toepassing die je voor ogen hebt, en van je persoonlijke voorkeur. Beide architecturen hebben voor- en nadelen.

Een van de vele vergelijkingen tussen beide bijvoorbeeld, hoewel reeds wat verouderd:
http://www.electricstuff.co.uk/picvsavr.html

Ondertussen zijn er reeds veel nieuwe microcontrollers uitgebracht, die beter overweg kunnen met sommige problemen...

Wat de ondersteuning van C voor PICs betreft, die is in mijn opinie minstens zo uitgebreid als voor AVR. Als je rondkijkt op forums, dan zie je bv. dat PICs globaal actiever worden gebruikt dan AVR's.
Gratis compilers voor 16F-pics zijn bv. hitec-C en CCS, beide de lite-versie en ondersteund in MPLAB. Die zijn meer dan goed genoeg voor de meeste projecten. Onder linux zijn er ook enkele goede compilers.

De prijzen voor PICs en AVRs zijn zeer gelijkaardig. Volgens velen zijn PICs trouwens goedkoper dan AVR's.