Lagra program externt (PIC)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> matseng

Tycker du klankar ner lite på PIC nu. Vad jag har fattat går nästan alla (nya?) PIC att programmera med ICSP. Många tuffare modeller finns det även bootloader till.

- - -

Hmm, 0,6mA strömförbrukning vid 2,4V. Måste räkna lite...
Om man helt sonika bortser från övriga komponenters strömförbrukning (som antagligen är många gånger större än själva processorns), så räcker två seriekopplade 1,2V 1200mAh batteri 2000h = ca 80dygn.
Jag är inte helt galet på det va?
Trodde faktist det skulle vara längre! Borde kanske ändå räkna in batteriernas självurladdning i den siffran? :P
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Ja, det stämmer att de flesta nya PIC'ar klarar av In Circuit Programming. Dock verkar det lite struligare implementerat än hos AVR. Man bahöver tillexempel en högre spänning än 5 volt på MCLR/VPP för att programmera via ICP, AVR klarar sig med 5 volt och kan därför göras hårdvarumässigt mycket enklare.

Fast det är egentligen inte hela världen, bara möjligheten finns. När man väl lärt sig att bygga sin konstruktion ICP-kompatibel så kommer man aldrig att vilja gåtillbaka till extern bränning igen.

Rent mjukvarumässigt är 14-bittars PIC'arna mycket jobbigare att skriva kod för pga att den bara har ett "working-register" istället för 16, men å andra sidan är kretsarna bra mycket billigare än AVR's motsvarigheter, vilket är viktigt för många applikationer.

Tror att tidsberäkningen stämmer ganska så bra, men man måste nog som sagt var ta hänsyn till självurladdningen som för nicd och nimh kan uppgå till såpass mycket som 25% per månad. Man kan ju oxo förbättra tiden en del genom att köra med dom nya 2000mAH-batterierna istället för 1200mAH.

Genom att sätta PIC'en i sleep/standby-läge och bara vakna upp ett antal gånger i sekunden eller tillochmed enbart vid ett externt interrut man man ju sänka medelströmförbrukningen till långt under 0.6 mA. Den drar ju <0.1uA i standby - fast det är nog med timers och sådant avstängt.
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Det finns vissa PIC:ar som kan programmeras med antingen 5V eller 12V men jag har för mig att man inte får använda interna pull-ups på data- å klock-pinnarna då.
Johan.o
EF Sponsor
Inlägg: 2387
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

Inlägg av Johan.o »

http://www.microchipc.com/PIC16bootload/

Mycket bra, kör in programmet direkt via USARTEN på
din PIC.
Fungerar mycket bra!
Kanske kan vara användbart även i ditt fall?

MVH/ Johan
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

matseng skrev:Ja, det stämmer att de flesta nya PIC'ar klarar av In Circuit Programming. Dock verkar det lite struligare implementerat än hos AVR. Man bahöver tillexempel en högre spänning än 5 volt på MCLR/VPP för att programmera via ICP, AVR klarar sig med 5 volt och kan därför göras hårdvarumässigt mycket enklare.
Om det är bootloadern Du syftar på så fungerar det fint med 5V på MCLR.

/Fredde
Användarvisningsbild
Melker
Inlägg: 410
Blev medlem: 26 maj 2003, 22:17:34
Ort: Umeå

Inlägg av Melker »

Boot Loader och ISP är inte samma sak... För att använda Boot Loadern så krävs ju en extra kod i processorn som säger från vad och hur datan ska läsas som tex från ett externt Flash som man gör själv. ISP (ICP) står ju för In circuit/system Programming och är ett sätt att programmera kretsen med seriell överföring, men kräver ingen extra kod i processorn (som man själv behöver göra iaf).
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

Då är jag med! Låter ju ganska smidigt! Innebär det att man inte alls behöver en brännare?
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Det beror väl på vad du menar med brännare. Du behöver en krets som kan skicka de rätta signalerna ill PICen.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> fredde76

Du måste bränna in bootloadern en gång i processorn, men sedan behöver du inte bränna mer för att byta program.
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

Jo, det vet jag! Men nu var det ju inte någon bootloader. Räcker det alltså med kretsens spänningsnivå för att programmera den? Jag menar, sen första gången jag använde bootloadern så kan jag inte begripa hur jag orkade med projekten innan!!!!!

/Fredde
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Oavsett om det är bootloader, ICP med 5 volt eller 12 volt så är det fullständigt underbart att kunna bränna ner ändringar i koden på 20 sekunder genom att bara koppla in en 6-polig kabel på kortet (eller 3 polig om man kör booloader via rs232).

Att behöva att plocka ut chippet och stoppa ner det i brännaren för omflashning är "ganska" ok, så länge man har en bra sockel i bygget och det inte är en 40 pinnars krets. Den 12f675 (8-pinnars) som jag leker med just nu kan jag dra ur sin sockel med fingrarna så det är ganska smidigt iallfall.

Jag ser med fasa tillbaka på hur det var för ett par år sedan då jag använde pic'ar utan flash. Plocka ur, lägg i UV-raderaden i 10 minuter, stoppa in i brännaren, bränn, stoppa tillbaka i bygget. prova. Upprepa detta 23 ggr på en dag så upptäcker man att det är ganska så jobbigt.

Innan 1-chipsarnas tid så byggde jag med 8051 och Z80. Då hade man externt (UV)-EPROM som man gjorde samma sak med som på icke-flash-pic'arna (plocka ur, uv-radera, bränn...) . Men å andra sidan så hade jag då också en eprom-emulator som emulerade dom typ 10 vanligaste eprommen och som man kunde ladda ner koden i till ett ram-chip i emulatorn via seerieporten på datorn. ICP för 15 år sedan :-)
Användarvisningsbild
fredde76
Inlägg: 117
Blev medlem: 28 oktober 2003, 21:17:40
Ort: Uppsala

Inlägg av fredde76 »

Uhuu!!! Tur att den tiden är förbi!!! Som Du skriver så är det ju fantastiskt smidigt numera! Gör en ändring och skicka över skiten bara...typ som att SMS:a över skiten! :D

/Fredde
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> fredde76

Körde du inte med ICSP innan?
Jag är nykomling, så jag började direkt med ICSP och har inte provat något annat, det är inget fel på det ju. Jag tycker det verkar jobbit med bootloader eftersom man behöver en MAX å snnat mojs extra i kretsen man bygger. ICPS är ju bara en extra kontakt och några sladdar :)
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

$stiff
Max232 kretsen och alla dom komponenterna har du i din "programerings kabel"
Sedan har du bara en kontakt på det slutgiltiga målet.

Så samma kabel kan du använda till många projekt.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Jaha, minsann. Jag har inte tänkt i de banorna faktist. Trodde man behövde en MAX232 för varje projek man byggde :doh:
Skriv svar