Programmera PIC12F615 med MAX232 och labplatta?
Programmera PIC12F615 med MAX232 och labplatta?
Jag har hittills använt Renesas R8C/13 till mina MCU projekt, men det blir overkill och för bökigt att sätta in en sån i nästa projekt. Jag har sneglat lite på PIC12F615 och undrar hur den skall programmeras. I hårdvaruväg, klarar jag mig med en Windowsmaskin --> Serieport --> MAX232 --> PIC12F615 + 12V och 5V spänningskälla (sådär i princip) för att programmera? Eller måste det till mer komplicerad styrning av ICSPDAT pinnen?
Styrningen måste ske enligt "Programming Specification" som finns (ska finnas)
på varje krets produktsida hos www.microchip.com. Jag skulle inte säga att
det är ett dokument som man dyker ner i som PIC-nybörjare. Och
generellt sätt så är det väldigt få förrutom de som konstruerar
programmerare som har anledning att läsa det.
Den *kan* fungera att köra "pin-wigglers" som styr PGC/PGD direkt,
med de flesta seriösa programmerare har en lokal processor.
på varje krets produktsida hos www.microchip.com. Jag skulle inte säga att
det är ett dokument som man dyker ner i som PIC-nybörjare. Och
generellt sätt så är det väldigt få förrutom de som konstruerar
programmerare som har anledning att läsa det.
Den *kan* fungera att köra "pin-wigglers" som styr PGC/PGD direkt,
med de flesta seriösa programmerare har en lokal processor.
12F615 har, vad jag har kunnat hitta i flashningsdatabladet vid en snabbgenomläsning, ingen funktion för intern timing.
Detta betyder att Du måste kunna shifta ut ett kommando, vänta en exakt tid och sedan skifta ut ett till. Det är inte enkla pulser som en monovippa kan klara, utan riktiga kommandosekvenser som skall ut.
Kan Du åstadkomma detta under Windows så går det, om inte så är det nog en WISP som gäller.
Edit: Tiden det skall väntas är 3 millisekunder. Denna är angiven som minimitid med ett streck i de andra kolumnerna. Om detta innebär man kan vänta längre utan att skada kretsen tycks inte framgå av databladet.
Detta betyder att Du måste kunna shifta ut ett kommando, vänta en exakt tid och sedan skifta ut ett till. Det är inte enkla pulser som en monovippa kan klara, utan riktiga kommandosekvenser som skall ut.
Kan Du åstadkomma detta under Windows så går det, om inte så är det nog en WISP som gäller.
Edit: Tiden det skall väntas är 3 millisekunder. Denna är angiven som minimitid med ett streck i de andra kolumnerna. Om detta innebär man kan vänta längre utan att skada kretsen tycks inte framgå av databladet.
Jo jag har skummat igenom Memory Programming Specification men kunde inte avgöra om ICSPDAT pinnen är multiplexerad IN och UT under programmering, eller om den är enbart IN. Om den är multiplexerad går den ju inte att driva med en MAX232 rakt av.
Jag har inte för avsikt att börja bygga nån egen SW/HW lösning för att programmera, utan undrade bara om programmering låter sig enkelt göras på en "labbplatta" med nån färdig SW, istället för att skaffa Wisp eller någon annan lösning. Min applikation är så simpel att det skulle kännas naturligt att koppla upp programmeraren på en labbplatta...
Marta: Inte borde väl timing (i princip) vara nåt problem när kretsen har en dedikerad klockpinne...?
Jag har inte för avsikt att börja bygga nån egen SW/HW lösning för att programmera, utan undrade bara om programmering låter sig enkelt göras på en "labbplatta" med nån färdig SW, istället för att skaffa Wisp eller någon annan lösning. Min applikation är så simpel att det skulle kännas naturligt att koppla upp programmeraren på en labbplatta...
Marta: Inte borde väl timing (i princip) vara nåt problem när kretsen har en dedikerad klockpinne...?
bos: Förvisso
, men tanken var att bygga själva programmeraren på labbplatta.
Efter att ha studerat Memory Programming Specification lite närmare är nog ICSPDAT pinnen både IN och UT, men det borde ändå fungera med en MAX232 om man kopplar ett motstånd (t.ex. 4k7) mellan MAX232 utgången och ICSPDAT. Då kan ju både PIC och MAX agera utgång utan att kortsluta varandra. Ett antal frågor har dykt upp:
1. Vad finns det för (gratis) programmeringsmjukvara för serie eller parallelporten som skulle fungera med denna form av direkprogrammering?
2. I Memory Programming Specification TABLE 2-1 står det: "Note 1: In the ... PIC12F615 ... , the programming high voltage is internally generated. To activate the Program/Verify mode, voltage of VIHH and a current of IIHH (see Table 7-1) needs to be applied to MCLR input."
Sen I Table 7-1 står det ändå att VIHH skall vara mellan 10 och 13 volt. Så hur är det? Behövs 10-13 volt på MCLR?
3. Fungerar in-cirquit debugging från MPLAB med Wisp, eller måste man skaffa MPLAB ICD2 för att kunna debugga?

Efter att ha studerat Memory Programming Specification lite närmare är nog ICSPDAT pinnen både IN och UT, men det borde ändå fungera med en MAX232 om man kopplar ett motstånd (t.ex. 4k7) mellan MAX232 utgången och ICSPDAT. Då kan ju både PIC och MAX agera utgång utan att kortsluta varandra. Ett antal frågor har dykt upp:
1. Vad finns det för (gratis) programmeringsmjukvara för serie eller parallelporten som skulle fungera med denna form av direkprogrammering?
2. I Memory Programming Specification TABLE 2-1 står det: "Note 1: In the ... PIC12F615 ... , the programming high voltage is internally generated. To activate the Program/Verify mode, voltage of VIHH and a current of IIHH (see Table 7-1) needs to be applied to MCLR input."
Sen I Table 7-1 står det ändå att VIHH skall vara mellan 10 och 13 volt. Så hur är det? Behövs 10-13 volt på MCLR?
3. Fungerar in-cirquit debugging från MPLAB med Wisp, eller måste man skaffa MPLAB ICD2 för att kunna debugga?
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Kan bara hålla med Sodjan, varför?
Men vissa saker förstår jag mig inte på. Vissa vill bygga en programmerare på ett krångligt sätt, vissa vill bygga en processor av logikkretsar. Någonstans i världen sitter en man och portar kod till den första utgåvan av Linuxkärnan...
Jaja det är mycket man inte förstår.
Men vissa saker förstår jag mig inte på. Vissa vill bygga en programmerare på ett krångligt sätt, vissa vill bygga en processor av logikkretsar. Någonstans i världen sitter en man och portar kod till den första utgåvan av Linuxkärnan...
Jaja det är mycket man inte förstår.

> OK, förstår tanken. Men varför ???
Om en fungerande programmerare är trivialt enkel, då föredrar jag i det här experimentstadiet att bygga den på en labbplatta. En annan orsak är att jag kanske lär mig nåt på kuppen. Hittills har jag inte byggt ett enda elektronikprojekt för produktion eller för att tjäna pengar, utan enbart för att samla på mig kunskap och praktisk erfarenhet.
> Ska du bara göra ett enda PIC projekt någonsin ?
Kanske, kanske inte. Beror på om jag blir förälskad i dehär små PICarna.
Om en fungerande programmerare är trivialt enkel, då föredrar jag i det här experimentstadiet att bygga den på en labbplatta. En annan orsak är att jag kanske lär mig nåt på kuppen. Hittills har jag inte byggt ett enda elektronikprojekt för produktion eller för att tjäna pengar, utan enbart för att samla på mig kunskap och praktisk erfarenhet.
> Ska du bara göra ett enda PIC projekt någonsin ?
Kanske, kanske inte. Beror på om jag blir förälskad i dehär små PICarna.
