Utmaning: Är detta latch-up?
Postat: 10 oktober 2005, 19:31:10
Jag håller på med ett litet projekt som så småningom ska mynna ut i att kunna läsa ett FAT-filsystem på ett MMC/SD-kort. Använder just nu en PIC 16F688 som interfacear ett MMC-kort i SPI-mode. Jag driver den med 3.2 volt (ca) från två AAA-batterier.
För att kunna debugga prylen så har jag ett separat kort med en PIC 12F675 som driver en vanlig hederlig 2*16 LCD-display. Detta kort utgör alltså ett slags debugmodul, som jag så småningom har tänkt ha för att kunna mäta på timing, data etc från själva huvudkortet. Debugmodulen drivs med 5 volt, för att LCD:n ska bli glad.
Med hjälp av två ledningar (förutom jord), så klockar jag in debugutskrifter från 16F688 till 12F675, men här får jag lite mystiska problem: Om jag kör med "weak internal pull-up" på debugmodulen på dessa två ledningar så tvärhänger sig filsystemsmodulen (16F688) om jag försöker "sänka" någon av ledningarna. Det är precis som om PIC:en inte orkar med att sänka ingångarna på den andra PIC:en! Det funkar ett litet tag, men sedan låser sig 16F688:an och det hjälper inte ens att ta bort matningen från den! Man måste ta bort de två signalledningarna mellan PIC:arna. Det verkar som om signalledningarna alltså låser och på något sätt "strömförsörjer låsningen" så länge de är inkopplade!
Har jag ingen "weak pull-up" på debugmodulen blir det inga problem, samma sak om jag aldrig försöker sänka någon av ledningarna!
Jag har prövat att driva bägge korten med 5V men det gör ingen skillnad.
Efter att ha surfat en hel del på nätet så tycker jag att detta påminner om "latch-up-problemet". Kan någon hjälpa mig?
För att kunna debugga prylen så har jag ett separat kort med en PIC 12F675 som driver en vanlig hederlig 2*16 LCD-display. Detta kort utgör alltså ett slags debugmodul, som jag så småningom har tänkt ha för att kunna mäta på timing, data etc från själva huvudkortet. Debugmodulen drivs med 5 volt, för att LCD:n ska bli glad.
Med hjälp av två ledningar (förutom jord), så klockar jag in debugutskrifter från 16F688 till 12F675, men här får jag lite mystiska problem: Om jag kör med "weak internal pull-up" på debugmodulen på dessa två ledningar så tvärhänger sig filsystemsmodulen (16F688) om jag försöker "sänka" någon av ledningarna. Det är precis som om PIC:en inte orkar med att sänka ingångarna på den andra PIC:en! Det funkar ett litet tag, men sedan låser sig 16F688:an och det hjälper inte ens att ta bort matningen från den! Man måste ta bort de två signalledningarna mellan PIC:arna. Det verkar som om signalledningarna alltså låser och på något sätt "strömförsörjer låsningen" så länge de är inkopplade!
Har jag ingen "weak pull-up" på debugmodulen blir det inga problem, samma sak om jag aldrig försöker sänka någon av ledningarna!
Jag har prövat att driva bägge korten med 5V men det gör ingen skillnad.
Efter att ha surfat en hel del på nätet så tycker jag att detta påminner om "latch-up-problemet". Kan någon hjälpa mig?