van 10 parallele digitale signalen naar serieel en weer terug

Arco

Special Member

CD4067 1-to-16 en een CD40161 counter kan ook.
Omdat je toch 16 bits hebt dan, kun je een start en stopbit gebruiken voor synchronisatie, die altijd '1' zijn.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

ik vind (CD4067 1-to-16 en een CD40161) dat ook geen verkeerde optie, maar mijn kennis op het gebied van hoe dat werkend te krijgen is beperkt. Iets van een schema?

eerste vraag: hoelang moet dit draaien en hoelang moet er support bij zitten? wat als de IC's binnenkort obsolete worden? alternatieven?

ik zou gewoon 2 arduino's of dergelijke nemen (3€), 11ingangen lezen en doorsturen via RS232 is peanuts (RS/TX zit er al op).
code is 2keer niks en veel kans dat het gewoon al online staat ergens.

ik hou van werken ..., ik kan er uren naar kijken

Maar ook de optie van de schakeling uit Elektuur scoort wat mij betreft erg hoog. Ik heb veel liggen van de 74-serie!

mijn doel is de bekabeling van mijn treinbaan te verminderen. Met name het uitlezen van seinen en wissels middels leds op het bedieningspaneel vreet kabelcapaciteit en ik prober daarom met minder draad meer signalen te verwerken. Dat kan misschien wel oplopen tot 200 signalen. Voor mij staat open of ik dan tig 16bits schakelingen parallel bouw of dat er 254 signalen via een seriële aansturing gaan.
Mijn ervaring van het vragen stellen hier is dat hoe specifieker ik de vraag onderbouw de oplossingen "wilder" worden. Daarom zocht ik in eerste instantie naar een simpele oplossing voor het verzenden van 16 signalen.

Hubie

Special Member

Op 10 maart 2020 12:26:20 schreef bprosman:
De meeste shift registers die ik ken in TTL of CMOS zijn max 8-Bit breed. Voor 10 bits moet je ze al in cascade gaan zetten met wat bijkomende logica.

Een 74LS150 'leest' 16 ingangen in en gooit dat serieel op 1 pootje( poortje)weer naar buiten.
Of zie ik dat verkeerd?
TS heeft maar 10 bits nodig en kan er dus ook een start en stop bit aanknopen.
Heb je nog 4 bits over.

ik ga uit van 16 signalen. Uitbreidbaar tot 254. De titel (zag ik later) heb ik fout gedaan, maar kan ik niet wijzigen.

bprosman

Golden Member

mijn doel is de bekabeling van mijn treinbaan te verminderen. Met name het uitlezen van seinen en wissels middels leds op het bedieningspaneel vreet kabelcapaciteit

Kun je dan niet beter poorten maken die je via een bus uit kunt sturen of in kunt lezen a la een PCF 8574 ?
Ooit heb ik voor een magazijn kleine modules gemaakt die op voorraadbakken zaten en led's, displays moesten aansturen en knoppen moesten inlezen. Dat zijn kleine "nodes" geworden op een RS485 bus.
De module kun je bij de wissel, sein etc zetten en via 2 draden met het bedieningspaneel laten communiceren.

Maar ik geef toe, dat is "wilder" dan gevraagd in je openingspost.

De jongere generatie loopt veel te vaak zijn PIC achterna.
Arco

Special Member

De 4067 is vergelijkbaar met de 74150, alleen is het voordeel dat 'ie bidirectioneel is (je kunt 'm aan beide zijden gebruiken, is een analoge multiplexer)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Hubie

Special Member

Op 10 maart 2020 22:06:18 schreef Herms Lunenborg:
ik ga uit van 16 signalen. Uitbreidbaar tot 254. De titel (zag ik later) heb ik fout gedaan, maar kan ik niet wijzigen.

254? Wss bedoel je 256,maar dat word dan wel een bak vol met TTL ic's

Een leuke uitdaging die ik niet uit de weg ga.

Kijk als het doel duidelijk is, dan kunnen we helpen mee optimaliseren buiten 100% op jou openingsvraag te concentreren.

1 draad is leuk, maar eigenlijk wil je per 200 signalen zo min mogelijk draden.

Verder zeg je van ttl geen verstand te hebben en microcontrollers ook niet.

Tja. Dan moet je toch iets gaan leren.

Als we dan voor arduino gaan is het zaak om twee programmas te maken. Bv:
T = readser ();
If t & 0xbf == myid
If t & 0x40 PORTB = reaser ();
Else writeser (PINB &0x7f)

Dit is het programma in de slaves. Iedere slave doet nu 7 bits hetgeen iets simpler is dan 14 of 16 bits. Er is ruimte voor 64 slaves.

Het is eenvoudig uit te breiden met code om een max 485 DE signaal te sturen.

De master scant alle read-slaves en stuurt het door naar de bijbehorende writeslave. Of eigenlijk makkelijker. De readslave stuurt zijn eigen writeslave.

Writeser ( myid + 0xc1); writeser (PINB & 0x7f)

Nu trigger je een read van module 4 die dan zelf een write van module 5 doet.

Ik zit op mijn mobiel, dus lastig typen....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Hubie

Special Member

Op 10 maart 2020 22:50:25 schreef Arco:
De 4067 is vergelijkbaar met de 74150, alleen is het voordeel dat 'ie bidirectioneel is (je kunt 'm aan beide zijden gebruiken, is een analoge multiplexer)

De TS springt van 16 opeens naar 256,ja,ok 16 x 16 =

256

mel

Golden Member

Wat is er mis met een gewone UART? 2 van die dingen en een clock,enige rand ic,s en klaar.de ene zend van par, naar serieel, en de andere ontvangt gewoon andersom..

u=ir betekent niet :U bent ingenieur..

Hij kan best toch maar een controller gebruiken.
Bij zo'n multiplexer moet je ook de 4 selectiebits meesturen, dat maakt dat je minimaal zeker 6draden nodig hebt om 16 ingangen te versturen (4 select + data +GND).
Nog altijd een besparing in draden maar een heel ingewikkelde interface.

Maar zoals altijd, een programma schrijven vraagt toch wel enige ervaring en tijd.
Om van nul te beginnen is dat even moeilijk als gelijk welke andere oplossing.

Voor de TS een leuke uitdaging waarvan hij later nog veel genieten zal hebben.

Ik heb een tijdje geleden zoiets gemaakt met 2x 16F628a (8 ingangen, uart2400b) en een Midi interface (opto's) maar dan veel trager (100/sec).
Het idee kwam uit een ander topic van iemand die vanuit een tractor een aantal ventielen wilde besturen.
Het zit nog altijd in testfase...

Een paar weken geleden een paar 16F1527's gekocht om dat uit te breiden maar het is er nog altijd niet van gekomen wegens gebrek aan tijd en goesting, het zal iets zijn voor in de quarantaine tijd ;)

LDmicro user.

Op 9 maart 2020 23:22:16 Eén draad voor de dataoverdracht en één draad voor de clock. En miszchien nog een voor de latch.

En hoe lang moeten die draden worden? Het licht een beetje aan je klok snelheid maar het kan niet te lang worden.

De draden zijn maximaal 10 meter, best wel lang. Ik denk dat de kloksnelheid erg laag mag zijn, het zijn geen snelle signaal-wisselingen.
Mijn kennis/inzicht voelt zich het lekkerst bij Elektuur jaren 70 tot 80, dus als Aart een titel weet van het artikel zou ik geholpen zijn. Anders doorzoek ik gewoon alle halfgeleidergidsen.
Dat ik in één keer overstap van 16 naar 256: mijn uitgangspunt is 16. Daar ben ik al erg mee geholpen. Maar als dezelfde schakeling - uiteraard uitgebreider - ook 256 signalen aan kan is het nog beter.

bprosman

Golden Member

Nu zit ik niet in de modelsporen maar als ik Google en snuffel in artikelen over de S88 bus gaat er een wereld voor me open.

De jongere generatie loopt veel te vaak zijn PIC achterna.

Dat klopt. Maar juist die techniek wil ik ver vanaf blijven. Uitlezing en bediening is dan verplaatst naar de PC en dat wil ik niet. Geef mij maar de jaren 80 techniek.

Op 11 maart 2020 13:02:06 schreef Herms Lunenborg:
..Geef mij maar de jaren 80 techniek.

Tot je een µcontroller oplossing ziet :)

Ga eens tegen het weekend dat 2x 16F628a programma omzetten voor 2x 16F886 en een 16bits dataoverdracht, dat is niet veel werk.

Je kunt er dan nog van doen wat je wilt, 2 geprogrammeerde pic's kun je kopen bij Voti alsook 2 kale printjes (DB047-PCB) als dat gewenst is.

LDmicro user.
bprosman

Golden Member

Uitlezing en bediening is dan verplaatst naar de PC

Nee hoor, je kunt nog steeds een "Analoog" paneel met lampjes , ledjes, schakelaars via een bus (RS485 oid) laten praten met al je nodes.
Dan heb je maar een 2 draads bus nodig.

Maar (en dat bedoel ik niet rot ) als je niet de kennis hebt om eea zelfstandig met jaren 70...80 kennis op te lossen / uit te voeren, kun je dan niet beter de tijd die je in die leercurve moet steken , steken in modernere technieken ?. En dat hoeft echt niet te zijn "alles naar de PC".

De jongere generatie loopt veel te vaak zijn PIC achterna.
fatbeard

Honourable Member

In TTL wordt de spoeling vandaag de dag wel dun, veel functies zijn obsolete.
Ik zal wel 'even' puzzelen hoe je dat met weinig CMOS-ICs kan oplossen, vind ik leuk. Zit toch ziek thuis...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Ik ga me uiteraard wel verdiepen in de techniek van de jaren 80, anders kom ik inderdaad nergens. En dat gaat wel lukken (met een beetje hulp van bijvoorbeeld Fatbeard).