Wisp628 + PIC16F688. Wbus-fel

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

Jag blir verkligen inte klok på detta problem.

Jag programmerade en PIC-krets 2-3 gånger, sedan fick jag nedanstående felmeddelande.
Trodde först att det var glapp i min koppling och rev därför allt och började om på annat ställe på labbplattan.
Samma fel ändå. Tryckte/puttade på komponenter och sladdar. Ingen skillnad.
Bytte då till en annan PIC-krets. Då fungerade det direkt.
Programmerade om den 2-3 gånger utan att röra labplattan. De första gångerna fungerade det.
Sedan... Samma felmeddelande igen.




xwisp2w go ledbel~1.hex
xwisp2 version 1.9.0 for Windows (Apr 08 2006, Open Watcom C 1.40)
File ledbel~1.hex loaded and is Intel Hex format conforming
Detected programmer: Wisp628, firmware version 1.09
Detected target: 16F688 revision 01 (ID=1181)
Target erased
Transferring program to 16F688 via Wisp628
Transferring program memory...000000 : 2841Wbus command failure
Write-Verify operation failed after 0.18 seconds, rc 21!
xwisp2 failed after 1.55 seconds, rc 21!



("000000 : 2841" syns bara när jag kopierar felmeddelandet till en fil.)
Jag vet att det är en gammal Wisp2w-version, men jag vågar påstå att det inte är orsak till felet.




Uppkoppling:
Jag har testat två olika labplattor. Nya och fräscha labsladdar.

Tyvärr tog batteriet i kameran slut innan jag hann ta en skarp bild,
men jag tror nästan att den här beskrivningen är nästan lika god som en bild:

PIC-kretsen med en keramisk konding på 100nF närmast PIC-kretsens matningspinnar.
I hålen efter kondingen sitter sladdar till matningspänning (från Woltcraft labagg inställt på 5,0V)
och Wisp'ens röda och svarta sladdar. Röda vid PIC-kretsens pin1 och svarta vid pin14.
I de yttersta matningspännings-hålen sitter sedan en 100µF elektrolytkonding.

Wisp'ens gula sladd (MCLR) till PIC-kretsens MCLR-pinne (pin4).
Motstånd på 10k ohm (uppmätt till 9,64k ohm) i hålet efter den gula sladden, kopplad till pin1 på PIC-kretsen (+5V).
Wisp'ens blå sladd (ICSPDAT) i labplatta-hålet närmast PIC-kretsens pin13.
Wisp'ens lila sladd (ICSPCLK) i labplatta-hålet närmast PIC-kretsens pin12.

De enda sladdarna (förutom de till Wisp'en) är alltså de som går till lab-agget.
Resten av labplattan är tom.
That's it.


Här finns hex-filen om någon vill prova.


Koden är gjord i MikroBasic som ett test.
Inget speciellt. Konfigurerar interrupt, i/o mm och ändrar på PORTC längst ner i koden.
Config-biten MCLRE är satt till "1", dvs "MCLR pin function is MCLR."

Kod: Markera allt

'Konfigbitarna syns inte i koden i Mikrobasic, men är satta såhär:
'BOD = 0. MCLRE = 1. PWRTE = 1. WDT = 0. INTRC_OSC_NOCLKOUT = 1.


sub procedure Init
    TRISA = %00110000 ' Allt till utgångar, bortsett från RA4 + RA5.
    TRISC = $00 ' Alla till utgångar.
    
    PORTA = $00
    PORTC = $FF


    INTCON.GIE = 1    'Global interrupt enable bit  <--
    INTCON.PEIE = 1   'Enable unmasked peripheral interrupts <--
    INTCON.T0IE = 0   'Disable the Timer0 interrupt
    INTCON.INTE = 0   'Disable the RA2/INT external interrupt
    INTCON.RAIE = 0   'Disable the PORTA change interrupt
    INTCON.T0IF = 0   'Timer0 did not overflow
    INTCON.INTF = 0   'RA2/INT external interrupt did not occur
    INTCON.RAIF = 0    'None of the PORTA-pins have changed state
    
    PIE1.EEIE = 0     'Disable the EE write complete interrupt
    PIE1.ADIE = 1     'Enable the ADC-interrupt <--
    PIE1.RCIE = 0     'Disable the EUSART receive interrupt
    PIE1.C2IE = 0     'Disable the comparator C2 interrupt
    PIE1.C1IE = 0     'Disable the comparator C1 interrupt
    PIE1.OSFIE = 0    'Disable the oscillator fail interrupt
    PIE1.TXIE = 0     'Disable the EUSART transmit interrupt
    PIE1.TMR1IE = 0   'Disable the Timer1 overflow interrupt

    PIR1 = $00        'Cleara alla interrupt
    PIR1.ADIF = 0     'AD interrupt clear <--

    PCON = %00000011  'Ingen Ultra Low-power Wake-up, BOR, POR eller BOR
    
    OSCCON.6 = 1  '8MHz IRCF2
    OSCCON.5 = 1  '8MHz IRCF1
    OSCCON.4 = 1  '8MHz IRCF0
    OSCCON.OSTS = 1   'Intern oscillator
    OSCCON.SCS = 1    'Intern oscillator
    
    WPUA = $00        'Inga pull-up
    IOCA = $00        'PORTA Interrupt-on-change disabled
    
    T1CON.TMR1ON = 0  'Timer1 avstängd
    
    CMCON0.CM2 = 1    'Comparators avstängda
    VRCON.VREN = 0    'CVref powered down

    ANSEL = %00000100 'AN2 (pin 11) analog. Resten digitala
    ADCON0.ADFM = 1   'Högerjusterad AD
    ADCON0.VCFG = 0   'Vdd som referens
    ADCON0.CHS2 = 0   'Channel: AN2 (pin 11)
    ADCON0.CHS1 = 1   'Channel: AN2 (pin 11)
    ADCON0.CHS0 = 0   'Channel: AN2 (pin 11)
    ADCON0.GO_DONE = 0 'AD-conversion completed/not in progress <--
    ADCON0.ADON = 0    'ADC disabled <--

    ADCON1.ADCS2 = 0  'AD Conversion clock: Fosc/32 = 250kHz
    ADCON1.ADCS1 = 1  'AD Conversion clock: Fosc/32 = 250kHz
    ADCON1.ADCS0 = 0  'AD Conversion clock: Fosc/32 = 250kHz

    TXSTA.TXEN = 0    'EUSART transmit disabled
    RCSTA = $00       'EUSART port disabled
    BAUDCTL.ABDEN = 0 'Auto-baud detect disabled
    
    WDTCON.SWDTEN = 0 'WDT turned off
    
end sub



Main:
    Init
    while true
          PORTC = %11111110
          delay_ms(250)
          PORTC = %11111101
          delay_ms(250)
          PORTC = %11111011
          delay_ms(250)
          PORTC = %11110111
          delay_ms(250)
          PORTC = %11101111
          delay_ms(250)
          PORTC = %11011111
          delay_ms(250)
    wend
end.

Det enda jag i nuläget kan tänka mig är att jag haft sådan utmärkt tajming att det
trots allt har blivit något glapp i labplattorna just vid 2a/3e programmeringen av de
två PIC-kretsar jag har testat med...
Men att jag inte kan få det att fungera igen får mig att tvivla lite på det.

Jag har förresten sökt på "Wbus command failure" på forumet och läst de trådar som dykt upp.
Tyvärr har jag inte hittat någon lösning där.


Som ni kanske förstått så undrar jag nu vad problemet beror på. :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av sodjan »

> Jag vet att det är en gammal Wisp2w-version,

Xwisp2 ? Eller vad är det du kör ? Hur som helst, fixa det. Innan dess finns
det ingen större anledning att läsa resten av inlägget. Det hade
tagit mindre tid att fixa det än att skriva hela ditt inlägg.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

Jo jag menade xwisp2w istället för "Wisp2w".

Hur som helst så har jag uppgraderat nu, med följande felmeddelande som resultat:


c:/xwisp2w/xwisp2w go ledbel~1.hex
xwisp2 version 1.9.6 for Windows (Dec 11 2008, Open Watcom C/C++ 1.70)
File ledbel~1.hex loaded and is Intel Hex format conforming
Detected programmer: Wisp628, firmware version 1.09
Recommendation: Upgrade your Wisp628 firmware to at least version 1.11
Target: 16F688 revision 01 (ID=1181)
Target erased
Transferring program to 16F688 via Wisp628
Transferring program memory... 0%Wbus command failure
Write-Verify operation failed after 0.18 seconds, rc 21
xwisp2 failed after 1.62 seconds, rc 21
Press 'Enter' to continue:



Skillnaden mellan felmeddelandena är alltså att det nya programmet (xwisp2w)
rekommenderar att jag ska uppgradera PIC-kretsen i min Wisp628.

Uppgradering av en mjukvara rekommenderar uppgradering av en annan,
som kräver ytterligare hårdvara (PIC16F648A) för att kunna uppgraderas.....

Kör jag "xwisp2w" så ser jag att 16F688 kräver Wisp628 firmware v1.10

Så nu har jag uppgraderat till ytterligare två problem.
Tja, dagen började väl för bra antar jag...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av sodjan »

> rekommenderar att jag ska uppgradera PIC-kretsen i min Wisp628

OK, har du en 16F648A så är det bara att göra det.

> som kräver ytterligare hårdvara (PIC16F648A)

Nej, varför tror du det ?

> Kör jag "xwisp2w" så ser jag att 16F688 kräver Wisp628 firmware v1.10

Då så. Uppgradera.
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

>> rekommenderar att jag ska uppgradera PIC-kretsen i min Wisp628

>OK, har du en 16F648A så är det bara att göra det.

Det hade jag gjort om jag haft en 16F648A.


>> som kräver ytterligare hårdvara (PIC16F648A)

>Nej, varför tror du det ?

För att jag saknar en extra 16F648A.


>> Kör jag "xwisp2w" så ser jag att 16F688 kräver Wisp628 firmware v1.10

>Då så. Uppgradera.

Kan inte. Se ovan. :D
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av sodjan »

Ah, shit, jag läste fel. Jag tyckte att du sa att du behöver
en Wisp648. Ah, OK, om du saknar en 16F648A så blir det lite
svårt. Jag kan kolla om jag har någon kvar och skicka över en.

Eller :
http://elektronikforumet.com/forum/view ... 7&start=31
:-)
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

Intressant tajming av ElectricMan. :)

Men då köper jag en Wisp648.

Får se om det löser problemet eller om jag får anledning att dra upp tråden igen.
Om det löser problemet så är det lite intressant att jag lyckades programmera
två olika 16F688 2-3 gånger vardera innan felen visade sig.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av sodjan »

Ja, jo, det är lite underligt. Kanske att det finns en förklaring
i de Release Notes som Rob Hammering har på sin hemsida. Det
kan ha varit något som i och för sig har haft stöd men som har
varit buggigt...

Ska jag kolla efter en 16F648A senare i dag ?
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

Det får du gärna göra. :) :tumupp:


Jag ska se om jag hittar något i hans Release notes.
Det är alltid intressant att veta vad saker beror på.
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av ElectricMan »

JimmyAndersson skrev:Intressant tajming av ElectricMan. :)
Men då köper jag en Wisp648.

....
;)

Vill ju bli av med de, roligare att bygga saker av pengarna än att ha de i en byrålåda... :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av sodjan »

> > Ska jag kolla efter en 16F648A senare i dag ?

> Det får du gärna göra.

Gjort, och jag hade inga extra 648A.
Det mesta åkte nog med till ElectricMan när han
tog över mina Wisp648 prylar. Du kan ju kolla
om han har något extra 648A...
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av ElectricMan »

Svar Nej! :)
Användarvisningsbild
JimmyAndersson
Inlägg: 26586
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Wisp628 + PIC16F688. Wbus-fel

Inlägg av JimmyAndersson »

Glömde berätta att problemet löste sig efter att jag bytt till en Wisp648.
Passade även på att uppgradera Wisp2w.


Båda PIC16F688 fungerar felfritt.
Skriv svar