Fler portar på PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Fler portar på PIC

Inlägg av SeniorLemuren »

Detta är en teoretisk fråga än så länge. Sitter och leker med ett 8 bitars skiftregister. 74LS164.
Tänker så här. Om man matar in ett 8 bitars tal i kretsen så kunde man styra ett antal reläer med ett fåtal portar från PIC:en.

Portar som behövs är, en för reset, en för klockan och en för data in. Problemet är ju emellertid att om skiftregistret är direktkopplat till reläerna (via transistorer) så kommer de ju att fladdra till när man laddar registret.

Man skulle då behöva en 8-bitars latch som håller bitarna medan man laddar skiftregistret och släpper på när alla bitar är på plats. Det kunde gå till så att man alltid skickar en etta först till skiftregistret och låter den biten tala om för latchen när det är klart att lägga ut byten. (Den första biten kommer ju fram till sista porten på shiftregistret sist.)

Det innebär att man kan koppla 7 st reläer med hjälp av 3 bitar, ingen bra utdelning tycker jag.
hur brukar man göra?
gkar
Inlägg: 1585
Blev medlem: 31 oktober 2011, 15:28:29
Ort: Linköping

Re: Fler portar på PIC

Inlägg av gkar »

Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fler portar på PIC

Inlägg av SeniorLemuren »

Då slipper jag latchen men åker på en pinne mer från PIC för att styra den inbyggda latchen så nettot blir väl det samma? (4 pinnar till 8 reläer eller 3 pinnar till 7 reläer.)

Edit: Har en liknande liggande 74LS299
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46954
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Fler portar på PIC

Inlägg av TomasL »

Varför inte en processor med fler portar i stället?
janno
Inlägg: 434
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Fler portar på PIC

Inlägg av janno »

Eller så kan man använda en MCP23S17 I/O-Expander (16st extra I/O) fungerar med SPI eller I2C beroende på vilken version man köper och då har man ha både in och utgångar. Den tar min 3 befintliga (man kan kanske klara sig på 2, om man inte ska läsa från kretsen, inget jag prövat) I/O men man kan koppla 8st utan att behöva använda ytterligare I/O för CS.

/J
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46954
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Fler portar på PIC

Inlägg av TomasL »

Använder mig av 74HC7541 för ingångar och 74HC573 för utgångar, på det sättet kan jag multiplexa alla digitala signaler på samma port, med ett fåtal kontrollsignaler.
Just nu totalt ett 50-tal signaler på en 16-bitarsport samt en 8 bitars kontrollport.
Det hade naturligtvis gått med färre kontrollsignaler, men jag har funktionsavgränsat kontrollsignalerna.
Användarvisningsbild
AndLi
Inlägg: 18271
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Fler portar på PIC

Inlägg av AndLi »

Behöver du fler utgångar än vad ett shiftregister ger seriekopplar du bara fler! Så 8 eller 160 utgångar drar lika många pinnar på uC.
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fler portar på PIC

Inlägg av SeniorLemuren »

TomasL skrev:Använder mig av 74HC7541 för ingångar och 74HC573 för utgångar, på det sättet kan jag multiplexa alla digitala signaler på samma port, med ett fåtal kontrollsignaler.
Just nu totalt ett 50-tal signaler på en 16-bitarsport samt en 8 bitars kontrollport.
Det hade naturligtvis gått med färre kontrollsignaler, men jag har funktionsavgränsat kontrollsignalerna.
Men du måste väl ändå ha en SIPO och en PISO tillsammans med dessa? Vill man ha både in och utgångar vore det väl mer effektivt att använda tex. PCF8584?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46954
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Fler portar på PIC

Inlägg av TomasL »

Nja, inte i min situation, eftersom jag ändå har en 16-bitars databus med 4 kontrollsignaler.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Fler portar på PIC

Inlägg av Swech »

Problemet är ju emellertid att om skiftregistret är direktkopplat till reläerna (via transistorer) så kommer de ju att fladdra till när man laddar registret.
Nej. De kommer inte att fladdra till. Det går alldeles för fort för att dina relä skall hinna
reagera.

MEN. tänk på att det är ett elände att ha skiftregister som styr utgångar om dessa
är kritiska. t.ex. relä som styr en motor eller liknande. Vid uppstart så kan skiftregistret anta en slumpmässig inställning och om din PIC av någon anledning
inte startar så får du okontrollerade utgångsfunktioner.
Använd dem heller för t.ex. lysdioder mm. men styr alltid funktioner direkt från processorn

Swech
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fler portar på PIC

Inlägg av SeniorLemuren »

Ok. då är det ju inte i närheten av den lösning jag behöver. Jag har ingen 16-bitars buss. :)

På din fråga varför inte en uC med flera portar är svaret att jag ville bygga på ett befintligt system och vill inte byta ut uC.
Användarvisningsbild
SeniorLemuren
Inlägg: 8424
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fler portar på PIC

Inlägg av SeniorLemuren »

Swech skrev:MEN. tänk på att det är ett elände att ha skiftregister som styr utgångar om dessa är kritiska. t.ex. relä som styr en motor eller liknande. Vid uppstart så kan skiftregistret anta en slumpmässig inställning och om din PIC av någon anledning inte startar så får du okontrollerade utgångsfunktioner.
Använd dem heller för t.ex. lysdioder mm. men styr alltid funktioner direkt från processorn

Swech
En möjlighet är väl att lägga skiftregistrets resetingång låg med pull down och låta PIC sätta den till ett. I det fallet är ju alltid shiftregistret 0-ställt ända till PIC går igång?
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Fler portar på PIC

Inlägg av Swech »

javisst men då försvinner ju en pinne till på PIC

Swech
Användarvisningsbild
YD1150
Inlägg: 1974
Blev medlem: 29 oktober 2010, 22:41:10

Re: Fler portar på PIC

Inlägg av YD1150 »

En CMOS 4094 seriell in parallell ut, har inbyggd latch.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Fler portar på PIC

Inlägg av sodjan »

> En möjlighet är väl att lägga skiftregistrets resetingång låg med pull down...

Det finns speciella shift/latch kretsar där man "by design" har byggt in
ett säkert läge vid power-on. Jag minns inte exakt, men det kanske
var TI som hade något. Det är alltså inte vanlig standard "74" logik.
Men jag kan inte hitta dom just nu, så jag kan minnas fel... :-)

Fördelen med de olika "port expanders" som finns är ju att man kan
blanda in och ut portar lite som man vill, de fungerar alltså lite som
en av de vanliga portarna på processorn och har ofta även interrupt
logik så att en ändring på en pinne kan dra ett interrupt mot processorn.
En annan fördel är att pinnarna normalt har ett känt läge vid power-on.
Nackdelen är en lite mer komplex programmering och man kan kanske inte
"köra" pinnarna riktigt lika snabbt som en enkelt shiftregister.
Skriv svar