Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[EL][Project]DigiBus: ontwerp probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo;

Ik ben bezig met een digitale baybus te ontwerpen.
De bedoeling is om o.a ventilatoren/relais/sensoren te sturen; zowel de periferie instellen als uitlezen. Wat handig is als je een WC-setup hebt waarbij je de pomp, 10 ventilatoren, een 4-tal sensoren, een paar ccfl's wilt uitlezen/bedienen.

Hiervoor maak ik gebruik van een µC-board gebaseerd op de motorola68000 cpu.

Ik maak gebruik van de 6821PIA om de I/O's te controleren

De baybus zal ook beschikken over de aansturing van de 8*32 LCD via een 6551 ACIA. Hiermee kan ik dus de status van alle I/O's zien op dit LCD.

Nu gebruik het systeem van adressering om zo over 32 I/O's te beschikken.
Hiervoor heb ik dus maar 5 uigangen van de PIA nodig.
Hiervoor heb ik een 5-to-32 decoder ontwerpen met behulp van een paar 74LS128 ic's. Nu heb ik dus 32 uitgangen ter beschikking.


Mijn probleem:

Ik wil ook de status inlezen.
Ik heb dus ook 32 aparte ingangen nodig die ge-encodeerd moeten worden naar 5 ingangen.

Hoe kan ik gemakkelijk met de 74LS148 '8-to-3 priority encoder'- IC, een encoder bouwen van 32-to-5 ?

  • PCR
  • Registratie: Juni 2001
  • Laatst online: 10-11 11:22

PCR

Heb je wat datasheets van die chips?

Codedivision | Freedom Internet


  • PCR
  • Registratie: Juni 2001
  • Laatst online: 10-11 11:22

PCR

Hmm, opzich trouwens wel een leuke chip. :)

Maar goed naar jouw probleem:

Het lijkt me moeilijk worden om van 32 naar 5 te gaan. Maar je kunt met behulp van de waarheidstabel in de datashaat misschien wel een functie in elkaar zetten met in je achterhoofd jouw idee?

Codedivision | Freedom Internet


  • Punksmurf
  • Registratie: September 2002
  • Laatst online: 06-01-2024
mss kan je wat met i²c chippies doen, ben ik ook mee bezig (laat ik zo zeggen, het idee is er en de chippies ook al een half jaar, maar nog steeds niet gesoldeerd :P) alleen dan zonder µc
dan heb je minder uitgangen nodig en kan je ook uitlezen enzo :)

met een hamer past alles


  • PCR
  • Registratie: Juni 2001
  • Laatst online: 10-11 11:22

PCR

Punksmurf schreef op 21 April 2003 @ 12:51:
mss kan je wat met i²c chippies doen, ben ik ook mee bezig (laat ik zo zeggen, het idee is er en de chippies ook al een half jaar, maar nog steeds niet gesoldeerd :P) alleen dan zonder µc
dan heb je minder uitgangen nodig en kan je ook uitlezen enzo :)
Hoeveel ingangen en hoeveel uitgangen praat je dan over?

Codedivision | Freedom Internet


  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Bij een 5-naar-32 encoder geef je met de 5 bits aan de ingang aan welke poort aan de uitgang actief wordt. Er kan slechts één poort tegelijk actief worden. Als je 32 ingangssignalen wilt doorsturen naar 5 ingangen is de kans dat slechts één signaal tegelijk hoog/laag is klein.

Is het geen idee om gebruik te maken van een databus: 5 adres lijnen om aan te geven welk apparaat je aan sluit, een lijntje om aan te geven of je van dat adres wilt lezen of schrijven en een aantal datalijnen om de data over te sturen. (Voorbeeld: handyboard)

Een I2C interface is een nog mooiere optie. Je hebt dan slechts 2 lijntjes van je uPC nodig en er zijn veel verschillende I/O chips verkrijgbaar (zie overzicht PHILIPS)

Toevoeging: met standaard I2C I/O ic'tjes kun je op een eenvoudige manier 8*16=128 bidirectionele I/O poorten creeren. Met het gebruik van afwijkende IC's en/of cascade structuren zelfs nog véél meer.

[ Voor 11% gewijzigd door AFR op 21-04-2003 13:18 ]


Verwijderd

Topicstarter
AFR schreef op 21 April 2003 @ 13:16:
Bij een 5-naar-32 encoder geef je met de 5 bits aan de ingang aan welke poort aan de uitgang actief wordt. Er kan slechts één poort tegelijk actief worden. Als je 32 ingangssignalen wilt doorsturen naar 5 ingangen is de kans dat slechts één signaal tegelijk hoog/laag is klein.

...
Dit is wat ik juist wil :)

Als je bv 7 ingangen hoog maakt, zal diegene met de hoogste prioriteit op de uitgang komen te staan.

Verwijderd

Topicstarter
Iemand al een idee? ;)

  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Verwijderd schreef op 21 April 2003 @ 13:45:
[...]
Dit is wat ik juist wil :)

Als je bv 7 ingangen hoog maakt, zal diegene met de hoogste prioriteit op de uitgang komen te staan.
Alhoewel dit mogelijk is met een 74xx128 IC lijkt me dit een beetje amateuristisch. Zou persoonlijk liever voor een algemene I2C of een mooie Adress/Data/RW-bus gaan die ook in de toekomst beter uitbreidbaar is en bovendien minder externe componenten kost.

Met de 74xx128 zou je het als volgt kunnen doen:
Gebruik 4 IC's om de 32 uitgangen te creeren. Gebruik de GS uitgang van elk ic om het ic met de lagere-prioriteit ingangen te activeren als alle ingangen met een hogere prioriteit niet actief zijn. Sluit alle uitgangen op een gemeenschappelijke bus aan. Een 5e 74xx128 kun je gebruiken om te kijken welke van de 4 GS ingangen actief is. Je hebt nu een 32-naar-5 encoder.

Verwijderd

FYI

The MAX7300 compact, serial-interfaced, I/O expansion peripheral provides microprocessors with up to 28 ports. Each port is individually user configurable to either a logic input or logic output.
Each port can be configured as either a push-pull logic output capable of sinking 10mA and sourcing 4.5mA, or a Schmitt logic input with optional internal pullup. Seven ports feature configurable transition detection logic, which generates an interrupt upon change of port logic level. The MAX7300 is controlled through an I2C™-compatible 2-wire serial interface, and uses four-level logic to allow 16 I2C addresses from only two select pins.

The MAX7300AAX and MAX7300AGL have 28 ports and are available in 36-pin SSOP and 40-pin QFN packages, respectively. The MAX7300AAI and MAX7300ANI have 20 ports and are available in 28-pin SSOP and 28-pin DIP packages, respectively.

http://www.maxim-ic.com
Pagina: 1