counter naar shift register

Hallo allemaal, ik heb een probleem met mijn huidige cmos-project: ik wil de uitgangen van een 74192-teller verbinden met de selectie-ingangen van een 4557 variabel schuifregister. Ik wil een oscillator gebruiken als een klok op de up en down ingangen van de 74192-teller om verschillende registerlengten in te stellen. Ik heb dipschakelaars aangesloten om de teller / registerlengte vooraf in te stellen. inmiddels begrijp ik dat de ingangen ingangen vh schuifregister aab massa moeten zitten op het monent dat ze niet actief zijn. Hier is het gedeelte van mijn schema met de tellers en het register.
EDIT: hier het hele schema in betere resolutie: https://www.dropbox.com/s/0c7in4lckprd87h/Photo%2013-03-2019%2C%2020%2…

[Bericht gewijzigd door estebandito op vrijdag 15 maart 2019 00:46:27 (10%)

Arco

Special Member

Pull-up weerstanden aan de switches weghalen/doorverbinden (of iets van een paar honderd ohm maken)
En pull-down weerstanden aan de 74192 ingangen...

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

Op 14 maart 2019 21:41:00 schreef Arco:
En pull-down weerstanden aan de 74192 ingangen...

TTL kun je niet "pull-downen" althans zullen we zeggen dat het niet het beoogde effect heeft.
Je haalt never nooit je Vil level, de ingangen zijn open emitter, of je moet er maar een paar 100 ohm aan hangen naar GND. Dan kun je de ingang niet meer sturen met een andere TTL/CMOS gate. Kortom -> foei.

Verder werkt die hele kermis met diodes niet, ten eerste haal je het minimaal nodige hoog niveau niet wat bij CMOS 3V moet zijn, TTL zit worse case ergens rond de 2.5V en de diode overgang gaat er nog af.
Ten tweede floaten de ingangen van de 4557 (en andere CMOS ICS) en moet je daar nog pull-downs aan hangen. PS: Hier kan het wel want een CMOS ingang heeft nagenoeg geen input current.

De combi D17/D16 bijvoorbeeld werkt helemaal niet: de ingang p5 van de 74192 is altijd hoog omdat deze door de interne open emitter omhoog getrokken wordt.

Don't kill the messenger: Dit hele schema gaat helaas never nooit werken.
Wat wel kan is alles als CMOS uitvoeren en op alle diode knooppunten een wat hoogohmige weerstand naar GND leggen. Dan heb je kans dat het werkt, maar fraai is het niet.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Hee Henri, dat van die diodes had ik ook al bedacht inderdaad dus die ga ik weghalen

Dan heb je een hele bak OR gates nodig of je moet je schakeling anders gaan bouwen.

Wat wil je eigelijk bereiken? Die 4557 is wel een exoot en waarschijnlijk nog niet eens meer ergens te krijgen.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Op 15 maart 2019 00:33:58 schreef henri62:
[...]

Don't kill the messenger: Dit hele schema gaat helaas never nooit werken.
Wat wel kan is alles als CMOS uitvoeren en op alle diode knooppunten een wat hoogohmige weerstand naar GND leggen. Dan heb je kans dat het werkt, maar fraai is het niet.

Een schema dat niet werkt is lig niet een idee dat onmogelijk is :)
Dan moet het schema dus op de schop...

Op 15 maart 2019 00:46:32 schreef henri62:
Dan heb je een hele bak OR gates nodig of je moet je schakeling anders gaan bouwen.

Wat wil je eigelijk bereiken? Die 4557 is wel een exoot en waarschijnlijk nog niet eens meer ergens te krijgen.

Ik wil een schakeling die gevarieerde, willekeurig-achtige loops en patronen genereert die uiteindelijk gebruikt moeten worden worden om videoswitches en audiobronnen te gaten: twee verschillende klokken worden naar de ingangen van een schuifregister gevoerd; de één maakt een patroon en de andere 'wist' bits van het patroon via een xor-poort die de registeruitgang terugvoert naar zijn invoer; ondertussen blijft een klok op de UP of DOWN counter de duur van de loop veranderen door de lengte van het register te vergroten of verkleinen, waardoor het uitvoerpatroon zal variëren. Het idee is dat dit wijzigen vd register lengte ook handmatig kan, net als het schakelen tussen UP of DOWN tellen met een langzame klok of manueel moet kunnen. De hoofduitgang en de geïnverteerde uitgang worden aan verschillende xor-poorten toegevoerd om nog meer variaties te creëren. die Xor uitgangen gaan dan nog een 4051 multiplexer in waar drie klokken nóg een extra uitgang creëren. Elk van deze uitgangen moet weer gebruikt kunnen worden om de ingangsklokken te moduleren aan het begin van de cyclus ... Nou. Dat is het idee: een grote hoeveelheid quasi willekeurige chaotische patronen maken om audio en video switches mee aan te sturen.

ps een 4557 heb ik al

Ik wil een schakeling die gevarieerde, willekeurig-achtige loops en patronen genereert die uiteindelijk gebruikt moeten worden worden om videoswitches en audiobronnen te gaten: twee verschillende klokken worden naar de ingangen van een schuifregister gevoerd; de één maakt een patroon en de andere 'wist' bits van het patroon via een xor-poort die de registeruitgang terugvoert naar zijn invoer; ondertussen blijft een klok op de UP of DOWN counter de duur van de loop veranderen door de lengte van het register te vergroten of verkleinen, waardoor het uitvoerpatroon zal variëren. Het idee is dat dit wijzigen vd register lengte ook handmatig kan, net als het schakelen tussen UP of DOWN tellen met een langzame klok of manueel moet kunnen. De hoofduitgang en de geïnverteerde uitgang worden aan verschillende xor-poorten toegevoerd om nog meer variaties te creëren. die Xor uitgangen gaan dan nog een 4051 multiplexer in waar drie klokken nóg een extra uitgang creëren. Elk van deze uitgangen moet weer gebruikt kunnen worden om de ingangsklokken te moduleren aan het begin van de cyclus ... Nou. Dat is het idee: een grote hoeveelheid quasi willekeurige chaotische patronen maken om audio en video switches mee aan te sturen.

Zo dat wordt nogal een klus. Ik zou hier een kleine CPU voor inzetten. Wil je echt discreet doen dan moet je denk ik beginnen met het uitschrijven van de benodigde logische functies, die vervolgens vereenvoudigen (met Karnau misschien?) en omzetten naar bestaande logica. Wat ook niet handig is, is het door elkaar gebruiken van de verschillende logica families. Houd het bij TTL of bij mos ic's. Door elkaar gebruiken kan wel zolang je rekening houd met de verschillende spanningniveau's, stromen en ingangscapaciteiten van de families. Je maakt het dan wel lastiger. En je had vroeger ECL, TTL en DTL waar later nog de CMOS families bij kwamen. Het kan door elkaar gebruikt worden maar niet zomaar. Pull down weerstanden waren bijvoorbeeld nogal ongebruikelijk om de al genoemde redenen. Op school was bij mij zelfs alleen de pull up toegestaan.

Ha estebandito,

Voorop gesteld dat ik de totale schakeling niet kan overzien maar als het gaat om een random generator dan gebruik je wel veel chipies :o
Voor de random generator gebruik ik een ruisgenerator een clipper en een schuifregister meer niet.
Heb je geen blokschema als overzicht van de bouwstenen?

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Op 15 maart 2019 09:25:25 schreef electron920:
Ha estebandito,

Voorop gesteld dat ik de totale schakeling niet kan overzien maar als het gaat om een random generator dan gebruik je wel veel chipies :o
Voor de random generator gebruik ik een ruisgenerator een clipper en een schuifregister meer niet.
Heb je geen blokschema als overzicht van de bouwstenen?

Groet,
Henk.

@electron920
Henk, hier is een blokkenschema

Typisch klusje voor een FPGA-tje zou ik zeggen.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Op 15 maart 2019 09:25:25 schreef electron920:

Voor de random generator gebruik ik een ruisgenerator een clipper en een schuifregister meer niet.

Heb je daar een schema van? Misschien is dit inpasbaar in mijn schema, bijvoorbeeld ipv de counter.
groet, estebandito

[Bericht gewijzigd door estebandito op vrijdag 15 maart 2019 11:06:45 (12%)

Op 15 maart 2019 10:57:02 schreef henri62:
Typisch klusje voor een FPGA-tje zou ik zeggen.

Die hou ik nog even te goed voor de volgende keer :)

Arco

Special Member

TTL kun je niet "pull-downen" althans zullen we zeggen dat het niet het beoogde effect heeft.

Volgens de datasheet wel... ;)
Pull-down < 2k geeft logic '0' level...
Met een 'moderne' HC variant heb je het probleem ook niet.

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

Op 15 maart 2019 06:09:17 schreef Ex-fietser:
[...]

Wat ook niet handig is, is het door elkaar gebruiken van de verschillende logica families. Houd het bij TTL of bij mos ic's.

Dank hiervoor, ik was me niet bewust dat ik verschillende families doorelkaar aan het gebruiken was (moet nog heel veel leren!). Bestaan er equivalenten? Dan hou ik liever alles binnen één familie dan dat ik met veel gedoe zaken op elkaar moet afstemmen. Voor de duidelijkheid: welke zijn de TTL en welke de cmos?

Arco

Special Member

Grofweg: de 7400 serie (74xxx) is TTL, de 4000 serie (4xxx) is cmos.
Van de meeste 74xxx ic's bestaat ook een cmos compatible verie: dat is dat de 74HCxxx

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

Op 15 maart 2019 11:36:38 schreef Arco:
Grofweg: de 7400 serie (74xxx) is TTL, de 4000 serie (4xxx) is cmos.
Van de meeste 74xxx ic's bestaat ook een cmos compatible verie: dat is dat de 74HCxxx

Ah! Dan ga ik inventariseren!
EDIT: de 74192 moet worden vervangen door een 40192, zo te zien.

Ik begrijp het doel niet volledig omdat de tekst niet makkelijk leest.

Dat blokschema is eigenlijk geen blokschema maar een vereenvoudigd elektrisch schema.

Veronderstel je hebt een µcontroller die bv 8 uitgangen heeft die random 1 of 0 worden waarvan de randomgenerator in snelheid kan geregeld worden zodat je de uitgangen (update) onder snelheidscontrole hebt.
Wat zou je nog meer nodig hebben?

LDmicro user.
Arco

Special Member

de 74192 moet worden vervangen door een 40192, zo te zien.

Of de 74HC192, wat gangbaarder type...

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

Ha estebandito,

Ja dat heb ik wel maar kan in jou situatie weer iets anders zijn.
Ik heb even snel een blokschema getekend met de hoofd lijnen zoals ik het begrijp :+
Ik denk dat praat/schrijf iets makkelijker ook voor de andere CO-ers ;)

Kijk eens of het stroopt met jou idee hoe een en ander zou moeten werken!

Korte uitleg: de ruis generator is een echte dus niet een terug gelezen schuifregister want dat is geen echte random maar zou meer als voldoende voor jou ontwerp/functie zijn.
Dus een transistor in avalanche daarachter een buffer Opamp en een versterker zeg 1V uit analoog.
Dit signaal moeten we naar 5V TTL/CMOS brengen hier zijn verschillende wegen een er van is gebruik te maken van een stroombron en schakelaar om een mooi slicing niveau te creëren.
De TTL uitgang gaat naar een sequencer hier wordt de timing bepaalt dit is te vergelijken met een vertraging.
Dit houd in binnen welke tijd is een random puls actief.
Dus hoelang mag de inhoud van video bron aan de uitgang zichtbaar blijven.
Teven krijgt de sequencer een blanking puls die is afgeleid van de master sync. deze puls zorgt er voor dat er niet tijdens de blanking geschakeld kan worden waardoor verlies van de synchronisatie ontstaat.
De sequencer bepaald welke ingang van de video schakelaar actief is hier worden dus de adressen gegenereerd voor het sturen van de schakelaar.
Kijk of dit de bedoeling is en wat jou idee is wat heb je al?

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Op 15 maart 2019 12:09:40 schreef MGP:

Veronderstel je hebt een µcontroller die bv 8 uitgangen heeft die random 1 of 0 worden waarvan de randomgenerator in snelheid kan geregeld worden zodat je de uitgangen (update) onder snelheidscontrole hebt.
Wat zou je nog meer nodig hebben?

Als je bedoelt snelheidscontrole over elke afzonderlijke uitgang dan is dat precies wat ik nodig heb. Maar die snelheden wil ik dan ook weer random kunnen variëren.

Elke uitgang wil ik kunnen gebruiken voor drie dingen:

- het aansturen van een max455 video mux
- het aansturen van een LED/LDR poort
- het moduleren van de snelheid van de random generator zelf (als een feedback)

Op 15 maart 2019 12:32:42 schreef electron920:
Ha estebandito,

Ja dat heb ik wel maar kan in jou situatie weer iets anders zijn.
Ik heb even snel een blokschema getekend met de hoofd lijnen zoals ik het begrijp :+
Ik denk dat praat/schrijf iets makkelijker ook voor de andere CO-ers ;)[bijlage]
Kijk eens of het stroopt met jou idee hoe een en ander zou moeten werken!

Korte uitleg: de ruis generator is een echte dus niet een terug gelezen schuifregister want dat is geen echte random maar zou meer als voldoende voor jou ontwerp/functie zijn.
Dus een transistor in avalanche daarachter een buffer Opamp en een versterker zeg 1V uit analoog.
Dit signaal moeten we naar 5V TTL/CMOS brengen hier zijn verschillende wegen een er van is gebruik te maken van een stroombron en schakelaar om een mooi slicing niveau te creëren.
De TTL uitgang gaat naar een sequencer hier wordt de timing bepaalt dit is te vergelijken met een vertraging.
Dit houd in binnen welke tijd is een random puls actief.
Dus hoelang mag de inhoud van video bron aan de uitgang zichtbaar blijven.
Teven krijgt de sequencer een blanking puls die is afgeleid van de master sync. deze puls zorgt er voor dat er niet tijdens de blanking geschakeld kan worden waardoor verlies van de synchronisatie ontstaat.
De sequencer bepaald welke ingang van de video schakelaar actief is hier worden dus de adressen gegenereerd voor het sturen van de schakelaar.
Kijk of dit de bedoeling is en wat jou idee is wat heb je al?

Groet,
Henk.

Henk dit is geweldig, je hebt ook mijn andere topic gevolgd dus je weet wat de bedoeling is :)

Ik weet niet of ik je hier goed begrijp:
"De TTL uitgang gaat naar een sequencer hier wordt de timing bepaalt dit is te vergelijken met een vertraging. Dit houd in binnen welke tijd is een random puls actief.
Dus hoelang mag de inhoud van video bron aan de uitgang zichtbaar blijven."

De zichtbaarheid van de bron aan de uitgang wil ik graag random laten zijn, dus de ene keer 1 seconde en de volgende keer 6, of maar een kwart seconde. Wel wil ik de met een master clock het algehele tempo kunnen beïnvloeden. Is dat wat de sequencer doet?

Een ander idee is dat ik de handbediening ook wil kunnen laten aansturen door een random uitgang. Dus dat het apparaat zichzelf blijft veranderen.

Tenslotte wil ik graag de optie hebben om een sequentie te loopen dmv een schakelaar. En het het random proces weer te hervatten als de schakelaar weer wordt omgezet. (Hiervoor had ik dat schuifregister waarvan de uitgang weer naar de ingang gaat bedacht)

Wat ik nu heb zijn twee niet werkende pcbs. (Eerdere versies van het schema dat ik hier heb gepost). Die video switch met een max455 moet nog gebouwd worden.

Ik begrijp het niet meer, volgens mij is random x random = random, je moet er enkel over waken dat je de signalen niet korter maakt dan bv een volledig beeld, ik zeg maar wat.

Een random generator moduleren kun je niet en sturen ook niet, daarom is het random = niet voorspelbaar!

Als je alle uitgangen afzonderlijk wilt regelen dan hebt je 8 analoge pot's of 16 up/dwn speed knoppen nodig .

[Bericht gewijzigd door MGP op vrijdag 15 maart 2019 13:24:43 (16%)

LDmicro user.

Op 15 maart 2019 13:22:46 schreef MGP:
Ik begrijp het niet meer, volgens mij is random x random = random, je moet er enkel over waken dat je de signalen niet korter maakt dan bv een volledig beeld, ik zeg maar wat.

Een random generator moduleren kun je niet en sturen ook niet, daarom is het random = niet voorspelbaar!

Als je alle uitgangen afzonderlijk wilt regelen dan hebt je 8 analoge pot's of 16 up/dwn speed knoppen nodig .

Excuses voor de verwarring. Ik bedoel dus dat ik met de random uitgangen de analoge potten wil kunnen beïnvloeden, wat dan weer invloed heeft op de uitgangen. Ik gebruik het woord moduleren, misschien niet de juiste term.