Hur många LCDs kan jag koppla till en PIC?
-
- Inlägg: 2
- Blev medlem: 6 mars 2007, 23:17:18
- Ort: Göteborg
Hur många LCDs kan jag koppla till en PIC?
Hallå alla!
Är ny på detta forum. Skönt med ett forum som är på svenska! Jag vill passa på att be om ursäkt ifall jag (nån gång i nutiden/framtiden) uttrycker mig otydligt. Ifall ni inte förstår riktigt vad jag menar, så tveka inte att be mig omformulera frågan eller försöka beskriva problemet/frågan närmare!
Ska börja med premiärfrågan:
Hur många LCDs kan jag koppla till en och samma PIC?
Jag är svagt medveten om att vissa saker går att lösa med hjälp av multiplexers m m, men vet inte riktigt om det fungerar i det här fallet för mig.
Ska dra mitt fall lite snabbt:
Jag har 16 switchar (fotpedalsswitchar) som jag vill koppla till ett kretskort som hanterar MIDI (Musical Instruments Digital Interface). Då jag kan byta mellan 128 "program" på detta kretskort (från externt håll) så har jag möjlighet till att ändra funktion för varje switch. Lite jobbigt dock att försöka memorera vad varje switch har för funktion under varje enstaka program (16 * 128 = 2048).
Tanken är då att jag skulle ha en PIC som "lyssnar" på mitt MIDI-kretskort (alltså lyssnar efter programbyten) och som visar/uppdaterar en liten beskrivande text på en LCD vid varje switch.
Denna uppdatering av texten är ju inte något som kommer att ske för jämnan i realtid på sådant sätt att det är tidskritiskt, så jag funderar på ifall man kan lösa det med nån form av multiplexer eller liknande?
OBS, har INTE införskaffat mig nån/några LCDs än så det är ingen idé att fråga mig om specar på dem (för jag vet inte, men tar tacksamt emot förslag!!!). Har egentligen bara fått ändan ur såpass mycket att jag har införskaffat mig en pic-programmerare (Olimex / PIC-ICD2).
Har inte heller funderat eller löst allting runt omkring det hela, frågar egentligen för att försöka komma fram till ifall det går att göra detta och om det är värt att försöka sig på det.
Tack på förhand för att ni lyssnar/svarar!
Mvh Micke
Är ny på detta forum. Skönt med ett forum som är på svenska! Jag vill passa på att be om ursäkt ifall jag (nån gång i nutiden/framtiden) uttrycker mig otydligt. Ifall ni inte förstår riktigt vad jag menar, så tveka inte att be mig omformulera frågan eller försöka beskriva problemet/frågan närmare!
Ska börja med premiärfrågan:
Hur många LCDs kan jag koppla till en och samma PIC?
Jag är svagt medveten om att vissa saker går att lösa med hjälp av multiplexers m m, men vet inte riktigt om det fungerar i det här fallet för mig.
Ska dra mitt fall lite snabbt:
Jag har 16 switchar (fotpedalsswitchar) som jag vill koppla till ett kretskort som hanterar MIDI (Musical Instruments Digital Interface). Då jag kan byta mellan 128 "program" på detta kretskort (från externt håll) så har jag möjlighet till att ändra funktion för varje switch. Lite jobbigt dock att försöka memorera vad varje switch har för funktion under varje enstaka program (16 * 128 = 2048).
Tanken är då att jag skulle ha en PIC som "lyssnar" på mitt MIDI-kretskort (alltså lyssnar efter programbyten) och som visar/uppdaterar en liten beskrivande text på en LCD vid varje switch.
Denna uppdatering av texten är ju inte något som kommer att ske för jämnan i realtid på sådant sätt att det är tidskritiskt, så jag funderar på ifall man kan lösa det med nån form av multiplexer eller liknande?
OBS, har INTE införskaffat mig nån/några LCDs än så det är ingen idé att fråga mig om specar på dem (för jag vet inte, men tar tacksamt emot förslag!!!). Har egentligen bara fått ändan ur såpass mycket att jag har införskaffat mig en pic-programmerare (Olimex / PIC-ICD2).
Har inte heller funderat eller löst allting runt omkring det hela, frågar egentligen för att försöka komma fram till ifall det går att göra detta och om det är värt att försöka sig på det.
Tack på förhand för att ni lyssnar/svarar!
Mvh Micke
Välkommen hit! 
Nån form av bussprotokoll skulle nog funka galant. I2C skulle nog klara uppgiften. Du behöver då bygga en avkodare till varje displaymodul. Varje sådan har en egen adress på bussen, och sen är det upp till "huvud"-picen att skicka rätt grej till rätt adress
Flera PIC-processorer har dessutom inbyggt hårdvarustöd för I2C vilket underlättar.
Finns givetvis fler protokoll, men I2C är väl det bussprotokoll jag labbat mest med så jag nöjer mig med att prata om det jag kan

Nån form av bussprotokoll skulle nog funka galant. I2C skulle nog klara uppgiften. Du behöver då bygga en avkodare till varje displaymodul. Varje sådan har en egen adress på bussen, och sen är det upp till "huvud"-picen att skicka rätt grej till rätt adress

Flera PIC-processorer har dessutom inbyggt hårdvarustöd för I2C vilket underlättar.
Finns givetvis fler protokoll, men I2C är väl det bussprotokoll jag labbat mest med så jag nöjer mig med att prata om det jag kan

Annars så skulle DOG displayer(t.ex. http://www.lawicel-shop.se/shop/ har dessa) som kör SPI och använda t.ex. en 4 till 16 demultiplexer 74HC154.
Då kan du hänga på 16 DOG displayer på 7 pinnar.
Edit: räknade fel på pinnarna, kräver 7 pinnar
Då kan du hänga på 16 DOG displayer på 7 pinnar.
Edit: räknade fel på pinnarna, kräver 7 pinnar
Senast redigerad av Micke_s 7 mars 2007, 00:32:42, redigerad totalt 1 gång.
-
- Inlägg: 7122
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
I²C vill jag definitivt avråda ifrån till detta! Det viktiga är inte nödvändigtvis antalet ledare till displayen men deras störtålighet!
Men vad är "lång avstånd"? 1m? 10m? 100m? 1Km? Det betyder ju jäkligt mycket för val av teknik.
Jag har fixat störningsfri seriell kommunikation över 650m nergrävd KULO-kabel men det var inte hur enkelt som helst!
Men vad är "lång avstånd"? 1m? 10m? 100m? 1Km? Det betyder ju jäkligt mycket för val av teknik.
Jag har fixat störningsfri seriell kommunikation över 650m nergrävd KULO-kabel men det var inte hur enkelt som helst!
-
- Inlägg: 2
- Blev medlem: 6 mars 2007, 23:17:18
- Ort: Göteborg
Hej igen!
Wow, vilken snabb "service". Ni är helt grymma!
Micke_S:
Vad är SPI??? Mums... DOG-displayerna är hur snygga som helst!!!
Mindmapper:
Avstånden blir inte långa (beror på definitionen på långa avstånd förstås). Allt skall byggas i ett gemensamt chassi (B: 714mm * H: 486mm) och med de switchar som det handlar om, så hamnar displayerna inom ett område på 714mm * 180mm.
Sodjan:
Antal tecken är 8 tecken minimum har inte funderat så mycket över detta än dock. Så det kan komma att ändras. Avstånd (LCD -> öga) är väl min längd antar jag... (175-180 nånting). Det finns inga plast/plexiglas displayfönsterramar som kan användas som "förstoringsglas"?, eller det kanske blir konstig förstoring?
Micke_S:
Hastigheterna är det föga imponerande 31,250 baud rate, eller vad det heter.
Tack till er alla för era kvicka svar (keep´em coming!)
/micke
Wow, vilken snabb "service". Ni är helt grymma!
Micke_S:
Vad är SPI??? Mums... DOG-displayerna är hur snygga som helst!!!
Mindmapper:
Avstånden blir inte långa (beror på definitionen på långa avstånd förstås). Allt skall byggas i ett gemensamt chassi (B: 714mm * H: 486mm) och med de switchar som det handlar om, så hamnar displayerna inom ett område på 714mm * 180mm.
Sodjan:
Antal tecken är 8 tecken minimum har inte funderat så mycket över detta än dock. Så det kan komma att ändras. Avstånd (LCD -> öga) är väl min längd antar jag... (175-180 nånting). Det finns inga plast/plexiglas displayfönsterramar som kan användas som "förstoringsglas"?, eller det kanske blir konstig förstoring?
Micke_S:
Hastigheterna är det föga imponerande 31,250 baud rate, eller vad det heter.
Tack till er alla för era kvicka svar (keep´em coming!)
/micke
SPI är ett seriellt synkront gränssnitt(uart är asynkront)
http://en.wikipedia.org/wiki/Serial_Per ... erface_Bus
Titta under "SPI bus: single master and three slaves" där har du något liknande det du vill bygga.
Fast med 74HC154 som expanderar antal Slave select från processorn med minimalt antal pinnar använda.
http://en.wikipedia.org/wiki/Serial_Per ... erface_Bus
Titta under "SPI bus: single master and three slaves" där har du något liknande det du vill bygga.
Fast med 74HC154 som expanderar antal Slave select från processorn med minimalt antal pinnar använda.