CPU? (Læst 3943x)

Offline bok

  • Nyfødt El-Elsker
  • *
  • Indlæg: 10
  • Antal brugbare Indlæg: 2
    • Vis profil
CPU?
« Dato: Oktober 11, 2011, 13:03:27 »
Nu har jeg lige siddet og kigget lidt på nettet og kan ikke bestemme mig.
eneste krav er at den skal kunne programmeres via USB og ikke være alt for dyr
Så hvis nogen har tid, må i meget gerne svare på følgende:

1. Hvilken processorer bruger i til jeres hjemme projekter?
2. Hvor kan de købes, og hvad er prisen?
3. Hvad koster en USB programmer der passer til, og hvor kan den købes?


 

Offline pacman

  • Højpas filter
  • *****
  • Indlæg: 311
  • Antal brugbare Indlæg: 8
  • Jens Bauer (Forsøgs-person)
    • Vis profil
Sv: CPU?
« Svar #1 Dato: Oktober 11, 2011, 15:43:50 »
1. Hvilken processorer bruger i til jeres hjemme projekter?
2. Hvor kan de købes, og hvad er prisen?
3. Hvad koster en USB programmer der passer til, og hvor kan den købes?

De to mest populære er PIC og AVR, men der findes også ARM7.
Jeg er ikke selv PIC specialist, men har arbejdet i nogle år med AVR, som jeg er blevet meget glad for.

AVR kan programmeres fra Windows, Linux eller Mac.
PIC kan programmeres fra Windows og Linux, men jeg har endnu ikke fundet værktøj til Mac.

Her er et par sammenligninger med fordele og ulemper jeg har fundet:
AVR:
    Kan programmeres 10000 gange.
    1 MIPS per MHz. (MIPS = Million Instructions Per Second, dvs. 1:1 med clock-frekvensen)

PIC:
    Kan programmeres 100000 gange.
    1 MIPS per 4 MHz, så vidt jeg forstår; men jeg kan tage fejl her.

PIC kan fåes til lavere priser end AVR.

De begge er vældig udbredt.
Man kan købe dem hos de fleste elektronik-forhandlere.
Jeg ved at El-Supply, PC-Elektronik, RS, Farnell og Elfa alle har AVR. (RS og Farnell har de nyeste på lager; El-Supply plejer at kunne skaffe en hvilken som helst type). Jeg mener at alle disse forhandlere også har PIC.

Med hensyn til programmerings-interface, anbefaler jeg som standard AVRISPmkII, som er Atmels egen programmerings-interface.
Denne kan købes billigst hos El-Supply. Sidst jeg hørte prisen, var den på cirka 250 kr for den originale Atmel AVRISPmkII.
Men mange bruger hjemmebyggede interfaces, såsom USBASP, CrispAVR, og andre. Disse kan købes på eBay, men det er ikke altid at de er billigere end at købe den originale, pga. fragt og told (med mindre du køber den i EU). Bemærk: Kommer din varepris over 80 kr, skal du betale told og et ekstra gebyr til Post Danmark på 160 kr. Moms skal oveni. 80 * 1,05 + 160 = 244 kr.

Derudover er der ARM chips. Her vil jeg nævne ARM7. Du kan købe dem i løsvægt, de findes ikke i DIP, men oftest i TQFP pakninger, som kræver at man er en smule øvet med loddekolben. Du kan også købe færdige boards med ARM7 chips monteret.

AVR-priser:
    ATtiny koster omkring 10 kr (ned til 4-5 kr, hvis du køber mange, op til 15 kr, alt efter hvad model du vælger)
    ATmega koster normalt omkring 20-30 kr. ATmega vælges normalt, hvis du har brug for seriel kommunikation, da de har indbygget UART eller USART interface.

ARM-priser:
    En ARM7, fx. SAM7S321 koster omkring 45 kr. Den har 32k Flash hukommelse og 8K SRAM. Atmel SAM7 kan maks. køre 55MHz.
    En LPC210x med 8K flash og 2K SRAM fåes fra omkring 30 kr. Den kan køre 70MHz, andre varianter op til 80MHz.

Atmel's ARM7 (kaldet SAM7) kan programmeres fra Windows, Linux og Mac.
LPC210x kan programmeres fra Windows og Linux. I teorien burdet det også være muligt at programmere den fra Mac, da værktøjerne er cirka de samme.

Til ARM7 programmering har du brug for et JTAG-interface.
Her vil jeg meget stærkt anbefale Amontec's JTAGkey; de kan nemlig bruges til mange forskellige devices, såsom Xilinx, Altera, Cypress, Lattice, Atmel CPLD og FPGA (men også de få AVR som har JTAG).
Amontec's JTAGkey koster 29 Euro, men der skal told og fragt oveni. Hvis du ender med at ville have en Amontec JTAGkey, så kontakt mig, for jeg planlægger at bestille ihvertfald 2. Jo flere bestillinger, desto lavere fragtpris.

Men hvis du står og ikke ved om du skal starte med AVR eller ARM7, så anbefaler jeg AVR, for ARM7 er lidt mere indviklet, og kan give en masse bøvl, som kan stoppe dig i at komme videre.

Til programmering af AVR kan man på Windows, Linux og Mac OS X bruge open-source værktøjer:
Windows: WinAVR + gcc + avrdude
Linux: Favorit kode-editor + gcc + avrdude
Mac: Xcode (eller anden editor) + gcc + avrdude.

Med hensyn til ARM, er det lidt anderledes, her bruges open-source værktøjerne gcc og openocd.

På Windows er der yderligere Atmels egen software, både til SAM7 og til AVR.
Al den nævnte software er gratis og kan downloades fra nettet.

Jeg har ikke nævnt ARM9, for den er nok ikke god at starte med. Dér er du nødt til at få lavet et professionelt print, ofte med mellem 4 og 8 lag. Men chippen er rigtig god. Du kan dog købe et færdigt ARM9 modul til omkring 500 kr.

Da jeg aldrig rigtig har haft problemer med AVR, vil jeg lægge et godt ord ind for denne chip. :)

Med hensyn til PIC, så er der andre folk herinde, som er langt mere kvalificerede til at fortælle om disse (og måske også checke om jeg har lavet nogle fejl ovenfor).

 

Offline bws

  • Lavpas filter
  • ****
  • Indlæg: 261
  • Antal brugbare Indlæg: 24
    • Vis profil
Sv: CPU?
« Svar #2 Dato: Oktober 24, 2011, 17:46:58 »
Altså hvis det bare er til at lege med så ville jeg nok anbefale arduino et print med masser af open source systemer og tuoturials

Hvis du selv vil og kan lave din egen print vil nok anbefalde en atmega32, 64, 1208 og så brug en FTDI232 chip som kan lave en VCP over usb, hvorefter man kan finde rigtig mange finde bootloader eller værktøjer der kan programmere mcu'en

Mvh

 

Offline pacman

  • Højpas filter
  • *****
  • Indlæg: 311
  • Antal brugbare Indlæg: 8
  • Jens Bauer (Forsøgs-person)
    • Vis profil
Sv: CPU?
« Svar #3 Dato: Oktober 25, 2011, 07:14:59 »
Det eneste man behøver for at køre med en AVR microcontroller er...
1 stk. breadboard
1 stk. ATtiny/ATmega
1 stk. 4k7 modstand fra RESET til +5V
1 stk. programmerings-enhed (fx. USBasp eller AVRISPmkII)
1 stk. programmerings-adapter til breadboard (kan laves med en 2x3-pin header, en 1x6-pin stiftrække og et Vero-board.
1 stk. 5V strømkilde (fx. DC-adapter fra genbrugsbutikken).

Gerne nogle lysdioder og modstande til leg.
Samlet pris: omkring 100 kr, det kan sættes op på under en time.