Ik wil graag 16 controllers (Atmel) aan elkaar knopen voor parallele onderlinge communicatie. Hierbij wil ik de databus (P0) en databus (P2) 'aan elkaar hangen'.
Verder nog wat control-lijnen van P3 die samen een bus vormen.
Kan dit zonder meer of zie ik wat over het hoofd?
Ik doel dan op fan out/in en capaciteiten.
elmowww
PA0EJE - www.eje-electronics.nl - e.jongerius[aapje]eje-electronics.nl - EJE Electronics - Elektronica/firmware ontwikkeling
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
TWI ofwel I2C gebruiken: dat is daarvoor bedoeld mits ze allemaal op hetzelfde bordje zitten.
Als je ze verder uit elkaar zitten, zul je naar een industriele bus moeten a la RS485 ofzo...
parallele bussen zijn beetje passé want vreten lijnen en PCB ruimte...
I2C is te traag voor deze toepassing.
Ik heb een overvloed aan PCB-ruimte, dus dat is gelukkig geen issue.
Ik denk trouwens dat er op mainboards (ook PCI e.d.) ook nog genoeg parallele bussen te vinden zijn of loop ik achter?
Op 25 februari 2009 11:51:13 schreef elmowww:
Tuurlijk kan dat.Maar of je je gewenste snelheden gaat halen...
Wat is de maximale snelheid die gehaald kan worden dan?
[Bericht gewijzigd door Henry S. op (34%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
parallele bussen zijn beetje passé want vreten lijnen en PCB ruimte...
Parallel bussen zoals de PSP zijn natuurlijk wel veel sneller, wat soms doorslaggevend is...
Wat is de maximale snelheid dan?
Betere vraag: welke snelheid heb je nodig?...
[Bericht gewijzigd door Arco op (21%)]
Op 25 februari 2009 16:36:56 schreef Arco:
[...]
Parallel bussen zoals de PSP zijn natuurlijk wel veel sneller, wat soms doorslaggevend is...
Wat is de definitie van die PSP?
Ik wil voor deze toepassing Atmel gebruiken ivm A/D conversie en ontwikkelomgeving e.d.
Op 25 februari 2009 16:36:56 schreef Arco:
[...]
Parallel bussen zoals de PSP zijn natuurlijk wel veel sneller, wat soms doorslaggevend is...
[...]
Betere vraag: welke snelheid heb je nodig?...
Snap ik 
Ik wil van 16 microcontrollers in 1 ms 8 inputs binnenhalen.
[Bericht gewijzigd door Henry S. op (34%)]
zover ik kan tellen zijn dat 16 bytes op 1ms => 128000bps In Fast mode gaat I2C toch nog een stuk hoger denk ik ?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
zover ik kan tellen zijn dat 16 bytes op 1ms => 128000bps
Dat klopt natuurlijk niet helemaal.
Via i2c is de minimale lengte per transmission start+cmdbyte+ack+databyte+ack+stop = 20 bits.
16 * 1000 * 20 = 320000 bits p/s.
PSP = Parallel Slave Port...
Het is alleen jammer dat de Atmel die ik toepas geen I2C en ook geen SPI aan boord heeft...
Het moet dus parallel lijkt me.
[Bericht gewijzigd door Henry S. op (55%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Kun je dan niet een wat uitgebreidere controller gebruken? (Helemaal geen SPI of I2C is wel erg 'basic'...)
Als het een bestaand ontwerp is, is dat natuurlijk moeilijk.
I2C is speciaal voor inter-ic-communicatie bedoeld...
(Afhankelijk van de toepassing kun je misschien ook 1 controller met 16 seriele port expanders gebruiken)
@nikneem: welke atmel heb jij dan?
volgens mij hebben ze allemaal I2C eigenlijk tot en met de tiny's toe... alleen de tiny 11 of 12 niet gelofo ik, maar die is dacht ik obsolete aan het raken..
[Bericht gewijzigd door High met Henk op (28%)]
Ik doel dan op fan out/in en capaciteiten.
Je zou kunnen denken aan Atmellen die continue hun waarden op de bus zetten, buffer er tussen (74LS244/245 of zo), zet die in tri-state, en laat de "master" een rondje maken en ze allemaal even uitlezen.
Groeten, Bram
Ja, maar ik had maar snel even gerekend om een groffe schatting te krijgen. I2C in fastmode is 400kbps. dus dat lukt nog eh . Er bestaat ook zoiets als software I2C, maar dat je daar die snelheden mee haalt geloof ik precies nie direct.
Als je je master SPI geeft. En je hangt hier een tellertje aan. (een goeie auwe 74 huppeldepup)zo kunnen de slaves aan de hand van die uitgang zien of "zij aan de beurt zijn" en dan laat je hun de data sturen. Als de master interrupt heeft ontvangen dat SPI data ontvangen is ga je naar devolgende..
[Bericht gewijzigd door The Dutchman op (39%)]
RoelA
Resistance is futile (If < 1 Ohm)
Op 25 februari 2009 16:36:16 schreef NikNeem:
[...]
Ik denk trouwens dat er op mainboards (ook PCI e.d.) ook nog genoeg parallele bussen te vinden zijn of loop ik achter?
PCI is al weer ingehaald door Pci Express:
PCIe, unlike previous PC expansion standards, is structured around point-to-point serial links
En de ouderwetse IDE bus hebben ze ingeruild voor sata:
Serial ATA host-adapters and devices communicate via a high-speed serial cable.
Verder hebben we natuurlijk ook nog firewire en usb, die halen ook redelijke snelheden 
Seriële links zijn dus weer helemaal hip 
@NikNeem: Lees http://www.circuitsonline.net/forum/faq#replys en http://www.circuitsonline.net/forum/faq#topickicks eens door!
Ik denk dat ik iets mis.
Doe ik iets fout?
Op 25 februari 2009 17:25:20 schreef Arco:
Kun je dan niet een wat uitgebreidere controller gebruken? (Helemaal geen SPI of I2C is wel erg 'basic'...)
Als het een bestaand ontwerp is, is dat natuurlijk moeilijk.
I2C is speciaal voor inter-ic-communicatie bedoeld...
(Afhankelijk van de toepassing kun je misschien ook 1 controller met 16 seriele port expanders gebruiken)
Klopt wat je zegt.
Ik gebruik de CC03. Dit is een type met 8 A/D converters aan boord. Zit ik nogal aan vast dus...
[Bericht gewijzigd door Henry S. op (86%)]
Op 26 februari 2009 00:15:39 schreef NikNeem:
[...]Ik denk dat ik iets mis.
Doe ik iets fout?
Ja, begin eens met lezen. Die links post ik niet voor niks en zijn prima te lezen zonder rechtenstudie.
[Bericht gewijzigd door Henry S. op (18%)]
Ik begrijp het echt niet. Sorry van mijn kant.
En natuurlijk heb ik het gelezen.
Heb ik teveel gereageerd binnen 24 uur? Ik heb toch ook niet offtopic gereageerd en/of gekickt zonder een antwoord of iets dergelijks?
[Bericht gewijzigd door Henry S. op (33%)]
Moeite met lezen?
- je kickt je eigen topic ipv je posts te editten, dat geldt ook voor meerdere reakties.
- Je quote op elk antwoord, dat heeft geen zin, quoten doe je gericht en alleen als het nodig is.
Zo moeilijk is de FAQ toch niet opgesteld?
Misschien moet ik het toelichten wat mijn denkwijze is vwb quoten en reageren.
Ik antwoord op meerdere 'sub-onderwerpen' binnen dit onderwerp omdat er meerdere oplossingsrichtingen zijn.
Naar mijn idee quote ik om te antwoorden op de vraag die aan mij gesteld wordt, zodat ik daar ook een gericht antwoord op kan geven.
Hierdoor wordt de discussie naar mijn mening overzichtelijker en kan de lezer direct zien waarop er gereageerd wordt.
Ik zal er volgende keer meer op letten en dus niet meer quoten en antwoorden in één reactie.
PS Ik heb geen moeite met lezen, maar misschien interpreteer ik de FAQ op een andere manier.
Op 26 februari 2009 00:40:41 schreef NikNeem:
Naar mijn idee quote ik om te antwoorden op de vraag die aan mij gesteld wordt, zodat ik daar ook een gericht antwoord op kan geven.
Maar binnen één reaktie, ipv diverse onder elkaar te zetten.
Ik zal er volgende keer meer op letten en dus niet meer quoten en antwoorden in één reactie.
Ik heb niet gepost dat je niet moet quoten... Gericht quoten, dus niet de post die er net boven staat.
Kijk maar hoe je posts gewijzigd zijn.
PS Ik heb geen moeite met lezen, maar misschien interpreteer ik de FAQ op een andere manier.
En mijn posts blijkbaar ook.
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
tsss. 16 controllers 8 bits . dat zijn 16 kakrakters. 1mS is 1/1000 seconde .. mij lijkt dat dit met een stomme uart kan... gewoon round robin draaien en klaar.
zet na elke uart een transistortje met open collecotr. wired or poortje maken. 1 invertje erachter en klaar. geef elke contoller een 'home' address en draaien maar.
de hoofdcontroller moet enkel 1 byte sturen met het 'address'. de juiste controller antwoordt dan automatisch.
kind kan de was doen
Meeste AVR's kun je in Multi-processor Communication Mode zetten, geen hardware nodig gewoon UART's aan elkaar knopen.
Is nog makkelijker dan een kind de was laten doen.
[Bericht gewijzigd door Henry S. op (62%)]
Is er voor die multi-processor mode nog extra hardware nodig of moet ik, zoals 'free_electron' aangeeft, een wired or maken?
@free_electron
ik moet dan wel op minimaal 115k2 gaan zitten om die 16 datatransfers in 1 ms te halen