Ik ben bezig met een project waar ik verschillende printen, allen voorzien van een PIC, van data moet voorzien.
De data komt uit een 'moederprint', ook voorzien van een PIC. Deze print moet uiteindelijk de kleine printen een voor een van data voorzien, en dat zo snel mogelijk.

Ik heb nu een aantal mogelijkheden om dit aan te pakken, maar mijn voorkeur gaat uit naar directe UART communicatie of 8bit parallele databus.
Ik heb helaas weinig plek meer om eventuele driverICs (RS232, RS485, linedrivers etc) bij te plaatsen.
Het liefst wil ik op TTL niveau werken, omdat alles op 5V draait.

De printen liggen tussen de 1 meter en 3 meter van de moederprint. In de toekomst zou dit wel eens 6 meter kunnen worden.

Wat zou ik nu, uitgaande van directe UART-koppeling of 8bit bus, aan transmissiesnelheden kunnen behalen?
Eventuele tips mbt soort bekabeling zijn ook welkom.

Veel kleiner dan een RS485 driver kun je het nooit krijgen, dat is alleen een DIL8 ictje. Zal ook wel in SMD te krijgen zijn, is ie nog kleiner. Je kunt ook denken aan een current-loop verbinding maar daar heb je minimaal een transistor voor de led en een optocoupler voor nodig, dat neemt meer footprint in beslag dan RS485 en heeft 4 draden nodig (grotere connector?) terwijl RS485 er maar twee nodig heeft. Met RS485 kun je hogere baudrates aan dan de meeste controllers kunnen leveren.

Wordt er ook gevoed vanuit de moederprint en/of zijn er nog andere stroomkingen in het spel ?

Beetje late response, het was echt te lekker in de zon :), maar bedankt voor de reacties.
Ik ga toch maar een RS485 drivertje ertussen zetten; een soic8 kan ik nog wel kwijt.
Het wordt de MAX488, en heb hier meteen een vraagje bij.

Ik verwacht mijn data rond de 115kB te versturen.
Ik ben van plan afgeschermde CAT5 kabel met RJ45 plug te gebruiken.
Als ik uitga van deze snelheid en kabel: Welke waarde zal ik voor de afsluitweerstanden moeten kiezen?
Of kan ik deze, gezien de relatief korte kabel lengte, gewoon weglaten?

Ben benieuwd naar reacties.

EDIT:
@Aart: De moederprint voorziet de dochterprinten van 5V via een aparte voedingskabel. Er lopen dus 2 kabels naar elke dochterprint.

[Bericht gewijzigd door DIY op (11%)]

Welke waarde zal ik voor de afsluitweerstanden moeten kiezen?

Ik zou altijd voor een terminator kiezen.

http://www.maxim-ic.com/appnotes.cfm/appnote_number/763/

Groeten, Bram

[Bericht gewijzigd door bprosman op (12%)]

De afsluitweerstand moet gelijk zijn aan de karakteristieke impedantie van de transmisielijn en is onafhankelijk van de snelheid of afstand, hoewel hij alleen relevant is bij hogere snelheden / grotere afstanden.
Als de verbinding nog geen transmissielijn is doet het er niet toe.

Cat5-pairs zijn 100 ohm. Ik denk dat RS485 een goede keuze is bij deze opzet :)

@Aart: Zeg je nu dat ik afsluitweerstanden van 100 ohm nodig heb, of dat het niet nodig is, gezien de afstand en snelheid?
Ik kan natuurlijk de weerstanden sowieso in mijn boardontwerp plaatsen en ze uiteindelijk weglaten als het toch niet nodig is.

Als je ze op de print zet moet er ook weer een jumper bij, alleen de uiteinden van de lijn worden getermineerd. Zie het door bprosman gelinkte artikel.

Ik zou hem liever gewoon op de laatste doorlus-uitgang van de keten plaatsen (a la DMX), dan zijn ze goed zichtbaar wat fouten voorkomt.

Als je toch CAT5 erheen trekt, hou je daar niet toevallig 2 lijntjes van over voor de voeding? Dan hoef je maar 1 draad te trekken naar een printje. Ik weet echter niet hoeveel draden je voor I2C nodig hebt...

Voeding en data altijd gescheiden houden heb ik geleerd :)

Dat is niet gunstig, problemen ontstaan juist door gnd-verschillen.

Als je single-ended werkt dus altijd signaal en gnd bij elkaar houden, hier bij een symmetrische verbinding heb je van dat soort dingen geen last mits je binnen de common-mode specificaties (7V uit mijn hoofd) van de receiver blijft.

De dochterborden worden serieel van data voorzien. Dit ga ik dus via RS485 doen, met full duplex mogelijkheid.
Hierdoor ben ik 4 draden van de CAT5 kwijt.

Daarnaast krijgen die bordjes ook allemaal nog een trigger aansluiting en een acknowledge voor deze trigger (2 extra I/O-s dus).
Aangezien het trigger signaal op ongeveer 20kHz zal lopen (en de bijbehorende acknowledges dus ook), denk ik ook dit verhaal via RS485 te laten verlopen.
Daardoor heb ik geen aders meer over in de CAT5, dus de voeding moet apart aangeleverd worden.

Bijkomend probleem:
Het wordt hierdoor alleen onmogelijk om de CAT5 te daisy chainen. De acknowledges moeten namelijk individueel terugkomen op het moederbord. Het trigger signaal is voor alle dochterborden wel hetzelfde.

Zit nu te kijken hoe het mogelijk gaat worden om 8 RS485 bussen aan te leggen; met een gemultiplexte UART op het moederbord.
Ik heb alleen het idee dat ik het mezelf onnodig moeilijk aan het maken ben...

Ok, apart dus. Maar even als reactie op de anderen, ik snap dat het ongunstig is maar blijkbaar kan het juist wel goed want er worden steeds meer projectjes op deze manier gedaan. Ik heb al flink wat projectjes online gezien waarbij de voeding via cat5 doen. Sterker nog, ze voeden zelfs draadloze routers enzo op deze manier draadloos (in de hobby dus).