Problem med extern interrupt på PIC18f4550

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med extern interrupt på PIC18f4550

Inlägg av sodjan »

Och "Amiga" är det det som kallas "D-SUB"?
Vilken linje är "interrupt pinnen från amigan" ???

Den enda PIC pinnen med interrupt är "RB2 -> P5 D-SUB"
och pinne 5 i D-SUB'en är en ingång *till* D-SUB'en, så det
kan inte komma något interrupt den vägen i alla fall.

Jag fattar inget, jag får inte ihop vad som är vad...

Du får nog beskriva det lite bättre och tydligare.
Kom ihåg att det är du som ber om hjälp, det är
inte någon annan som kräver att få hjälpa till. :-)
Så det är helt upp till dig att beskriva problemet så att
det går att förstå och eventuellt kunna hjälpa till.

*Ingen* av de länkade sidorna till nämner "interrupt" alls!
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Kaggen »

Har du koll på nivåerna som Icecap säger? På PS2 sidan du länkade till ser jag 7.2-9V (för vibration) och 3.3V och på CD32 sidan 5V, sedan vet jag inte vad din PIC jobbar på för spänning.

Så frågan är hur du matar hela härligheten och hur du löser 3.3V - 5V mellan PS2, CD32 och PIC?
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

sodjan skrev:Och "Amiga" är det det som kallas "D-SUB"?
Vilken linje är "interrupt pinnen från amigan" ???

Den enda PIC pinnen med interrupt är "RB2 -> P5 D-SUB"
och pinne 5 i D-SUB'en är en ingång *till* D-SUB'en, så det
kan inte komma något interrupt den vägen i alla fall.

Jag fattar inget, jag får inte ihop vad som är vad...

Du får nog beskriva det lite bättre och tydligare.
Kom ihåg att det är du som ber om hjälp, det är
inte någon annan som kräver att få hjälpa till. :-)
Så det är helt upp till dig att beskriva problemet så att
det går att förstå och eventuellt kunna hjälpa till.

*Ingen* av de länkade sidorna till nämner "interrupt" alls!
Försöker vara tydlig men är inte så bra på att förklara saker i text, blir en mental block där jag glömmer att ta med viktiga saker eftersom de är så självklara för mig.

D-SUB är om jag har förstått det rätt en form faktor för kontakdon, i det här fallet en nio pinnars kontakt som kopplas till amigans joystick port.

Är inte säker på att jag förstår hur du menar att P5 är en ingång till amigan, är det jag som configurerat den fel eller menar du att det är så amigan ser pinnen?
Om du kollar på schemat för cd32 handkontrollen så används P5 av amigan för att "meddela" kontrollen att den ska koppla bort sin output på P6 och istället använda den som klocka för serialöverföringen.

Det är ingen interrupt som så men när amigan driver P5 lågt så meddelar den att den tänker börja klocka knapptryckningarna över P9, skulle vilja fånga det beteendet.

Problemet kan nog enklast beskrivas som att jag kan mäta en puls på P5 från amigan när den inte är kopplad till PICen men så fort jag kopplar in den så försvinner plsen helt. Jag kan tvinga fram en interrupt i PICen om jag själv drar RB2 lågt så verkar inte vara där problemet ligger iaf.

Jag uppskattar självklart all hjälp jag får och försöker länka så mycket information som möjligt och svara på alla era frågor.
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

SeniorLemuren skrev:Kanske behövs pull down på ingången?
Jag försöker, skadar aldrig.
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Kaggen skrev:Har du koll på nivåerna som Icecap säger? På PS2 sidan du länkade till ser jag 7.2-9V (för vibration) och 3.3V och på CD32 sidan 5V, sedan vet jag inte vad din PIC jobbar på för spänning.

Så frågan är hur du matar hela härligheten och hur du löser 3.3V - 5V mellan PS2, CD32 och PIC?
Vibrationen är bortkopplad och används inte alls, jag kör PS2 kontrollen på 5 volt för jag såg andra som gjorde det och har inte haft några problem från den sidan, tror du det påverkar?
Allting drar sin ström från CD32an som bara är en variation på A1200 moderkortet som ska kunna ge ca 50ma på vardera joystick port, ska mäta vad hela kalaset egentligen drar ikväll, hade inga problem när jag körde den som "vanlig" amiga joystick i min A500 men har kopplat om lite små saker och ändrat i koden så lika bra att mäta igen.
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Icecap »

Det viktiga är att verifiera att allt faktisk fungerar korrekt.
* Går pinnen på PIC'en hög när den ska? Och är det högt nog?
* Går pinnen på PIC'en låg när den ska? Och är det lågt nog?
* Drar pinnen ström när man "tvingar" den hög hhv. låg?

Det är gissat en del i denna tråd utan att man har kommit närmre, alltså är det dags att skaffa lite vetskap istället för att anta. Att mäta är att veta!
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Om jag mäter utgången från amigan med logik analysatorn utan att den är kopplad till PICen så ser allting vettigt ut, mäter jag igen när den är kopplad så får jag ingen mätbar signal från amigan.
Har tyvärr inget oscilloskop så har svårt att mäta signal nivån men både PICen och analysatorn är väl standard TTL signaler så bör inte vara ett nivå problem från amigans håll.

Ska kolla hur mycket ström alltihopa drar och ska även mäta den individuella pinnen.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med extern interrupt på PIC18f4550

Inlägg av sodjan »

> mäter jag igen när den är kopplad så får jag ingen mätbar signal från amigan.

Om enda skillnaden är att PIC pinnen kopplas in så skulle jag säga
att den (PIC pinnen) är satt som utgång istället för ingång.

> Om du kollar på schemat för cd32 handkontrollen

Jaha! Så schemat är *inte* för det som du koppar PIC'en till!
Utan för det som PIC'en ska emulera/härma, så att säga...

Ja, då är det ju en helt annan sak... :-)

Är det enda som du ändrar att P5 koppas till PICen?
*Inget* andra pinnar i den kontakten som kopplas om?
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Haha, ja nu förstår jag förvirringen.
Det enda som ändras är om den kopplas till PICen eller inte ja, ska kolla mina settings igen men är ganska säker på att det är en input, får ju interrupts när jag manuellt kopplar RB2(INT2) till jord.
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Kollade med min amp meter, verkar som jag drar ca 20mA under "vanlig" användning, skulle dock kunna komma upp lite över 40mA om jag tryckte in alla knappa på ps2 kontrollen samtidigt men verkar inte vara det som orsakar problem iaf.
Ska mäta pinnen separat nu klistrar in en ny länk om amiga mus/joystick porten, den säger något om 470ohm på pot porten men jag antar att det bara är om man kör analoga på den eller?

http://old.pinouts.ru/Inputs/AmigaMouseJoy_pinout.shtml
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Hittade lite text om potx(P5) pinnen på amigan, den oroar mig.
Note for PIC16F84 users
This micro was created later than the 16C84. It was probably aimed to be its successor, since they're almost the same, with some minor exceptions. Microchip has also fixed a few design flaws of the 16C84. One of these bugfixes is related to the external interrupt pin (RB0/INT) of the chip. On the 16C84, this is a simple TTL compatible input, while the 16F84 has a Schmitt-trigger input when the pin is used as external interrupt source.

This interface design uses the chip's external interrupt capability. Unfortunately, the POTX signal that was enough for the 16C84 to sense an interrupt request, is too off for this Schmitt-trigger input :-(. What you see from this, that you can use the 16F84 as a 16C84 substitute - but the interface won't work in native 1351 mode at all! The same applies, BTW, for the 16CR84 chip.
Någon som kan förklara för mig vad en Schmitt-trigger är och varför den förstör för mig?
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Tror ni det skulle funka om jag använde någon av de andra b pinsen och körde interrupt on change? skulle ju få interrupts både på 1 och 0 men har nog tid att kolla det i interrupten.
Plinkington
Inlägg: 20
Blev medlem: 23 mars 2014, 00:37:10

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Plinkington »

Ha det funkar, kopplade den till RB4 och körde interrupt on change, funkar fin fint.

Tack så mycket för hjälpen allihopa.

har ett par frågor till om WDT och bit shifts men tänkte jag kunde ta dem i en ny tråd med bättre rubrik om det inte föredras att jag tar upp dem här.
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Problem med extern interrupt på PIC18f4550

Inlägg av Icecap »

Du frågade om schmitt-trigger - och det är en mycket bra grej många gångar. Det är ett "mellansteg" som gör att spänningen ska en bit över ett visst nivå innan den slår om till '1' på utgången av steget.
För att den ska slå om till '0' krävs att spänningen ska en it under samma nivå.

Slutsumman är att ett "tveksamt" spänningsnivå på en ingång blir antingen '0' eller '1' samt att lite brus inte får den att flippra mellan nivåerna.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem med extern interrupt på PIC18f4550

Inlägg av sodjan »

Jag förstår fortfarande inte hur inkopplingen av INT pinnen kunde få
signalen att ändras, även om det är en ST-ingång så ska den inte
p.g.a det belasta pinnen så att det "störs".

IOC kan du ställa så att det blir på valfri flank av signalen.
Skriv svar