Serial naar Parallel met specifieke output enable

Hallo allemaal,

Ik probeer een custom output enable toe te voegen aan een ontwerp dat seriele data omzet naar parallel door middel van dit principe
https://www.hvandeven.com/temp/flipflop.jpg
met een 74HC374.

Op zich werkt het omzetten van de data naar parallel prima, maar er komt een reeks van 32 bitjes aan data binnen, en ik wil eigenlijk alleen de output zien elke keer als er 8 bitjes binnen gekomen zijn. Dus elke keer als er een groep van 8 bitjes omgezet is in de 74HC374, moet de output aan gezet worden, en weer uit als de volgende groep bezig is om binnen te sijpelen.
(hoop dat ik dat duidelijk uitgelegd heb...)

Heb ook met de 74HC595 wat zitten testen, maar dat wilde ook niet echt lukken.
Is er een mogelijkheid om dit zonder microcontrollers voor elkaar te krijgen ?

Uitdaging:
- Mag een compleet ander IC zijn dat serieel omzet naar parallel.
- Mogen meerdere IC's zijn, of een toevoeging.
- Ik kan niks veranderen aan de clock en de data die omgezet moet worden.
- Ik wil geen microcontrollers gebruiken.

Bij voorbaat dank voor de hulp!

In the beginning there was nothing, but even that exploded
mel

Golden Member

Na de 8 e puls een flipflop triggeren die de output enabeld..
En die reset zichzelf weer na de eerste flank van de volgende clock

u=ir betekent niet :U bent ingenieur..

Misschien een 74HCT594 als schuif register. Die heeft extra output latches die de data uit het schuifregister kunnen overpakken.

En dan een CD4017 als puls teller die om de 8 pulsen een trigger stuurt (en zichzelf reset).

Op 5 september 2020 17:36:23 schreef deKees:
Misschien een 74HCT594 als schuif register. Die heeft extra output latches die de data uit het schuifregister kunnen overpakken.

En dan een CD4017 als puls teller die om de 8 pulsen een trigger stuurt (en zichzelf reset).

Zoiets had ik inderdaad ook geprobeerd als test met simulatie software, maar volgens mij mis ik dan een puls.
Als ik de 8e puls gebruik om zichzelf te resetten heb ik geen puls meer heb voor het schuifregister, en als ik de 9e puls gebruik om zichzelf te resetten, loopt het schuifregister een puls achter... Toch ?
Of doe ik iets verkeerd ?

In the beginning there was nothing, but even that exploded

Het enige wat fatsoenlijk werkt is inderdaad een schuifregister met latch zoals de 595 en dat soort dingen.

Maar het probleem komt neer op hoe je het begin (of einde) van de bitreeks herkend.
Als je geen herkenbaar startpunt hebt kun je het gewoonweg niet maken.

Hoe ziet je clock signaal er exact uit? Zit daar een korte "wachttijd" in tussen de afzonderlijke bytes. Als dat zo is kun je daar op synchroniseren met wat toevoegingen.

P.S. Waar komt dat data en clock signaal uit?

Er bestaat wel zoiets is synchrone seriele communicatie, dat komt er op neer dat je een "normaal" seriel signaal hebt (als in een com port) met start en stop bits met toevoeging van een clock signaal.
Daar gebruik je dan het startbit als synchronisatie. (Zie RS422)

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.

Als men op de opgaande flank schuift (niet gecontroleerd) zou men volgens mij op de achtste neergaande flank kunnen latchen. Aangenomen dat het systeem correct klaar staat uit b.v. reset.

[edit] Maar daar hoort dan inderdaad wel een veronderstelling bij over de snelheid van de klok, zodat de latch puls korter gehouden kan worden. Anders ontstaat er een glitch.

[Bericht gewijzigd door Aart op 6 september 2020 09:29:39 (32%)]

Precies zoals henri62 zegt hoe ziet de ingangssignaal er precies uit. Is dat 1 reeks van teleksn 1 byte, is dat 1 reeks van telkens 32 bits en 4 bytes. Kan je de klok bv wel tijdelijk stilzetten om data in te lezen?

Als ik de 8e puls gebruik om zichzelf te resetten heb ik geen puls meer heb voor het schuifregister, en als ik de 9e puls gebruik om zichzelf te resetten,

Je kan ze ook allebij gebruiken 1 circuit dat na 8 pulsen de boel reset en daarna de 9e puls gebruiken voor je schuifregister maar dat alles hangt er dus vanaf hoe je ingangssignaal er precies uitziet.

Op 6 september 2020 09:18:46 schreef henri62:
Hoe ziet je clock signaal er exact uit? Zit daar een korte "wachttijd" in tussen de afzonderlijke bytes. Als dat zo is kun je daar op synchroniseren met wat toevoegingen.

Beetje moeilijk te zien op mijn oude analoge scope, maar er zit wel een korte pauze tussen.

Raar van de clock is dat het lijkt alsof er eerst 4 pulsen komen met korte pauze, en daarna een aantal keer 8 pulsen, en dan de laatste 4...

Is een hele oude tuner module die via parallelle data naar een oude homecomputer gestuurd moet worden.
Dacht eerst dat het een soort SPI data was, maar zijn verder nergens andere signaal te meten voor eventueel data-IN of chip-Enable enzo. Had ook even met geprobeerd om met een PICje en Raspberry om met SPI iets uit te lezen, maar daar komt ook niks uit.
Maar lijkt wel gewoon synchrone seriële data te zijn.

Heb ook geen datasheets kunnen vinden van het IC waar dit signaal uit komt. Is een ding uit eind jaren 70, begin 80 denk ik...

Als ik een 74HC595 ga gebruiken en wil synchroniseren op die korte pauzes, hoe doe ik dat dan zonder microscontrollers ?

In the beginning there was nothing, but even that exploded

Heb even een digitale scope geleend, en er zit inderdaad een korte pauze tussen de clock pulsjes.

Het zend overigens elk riedeltje (clock/data) 2x achter elkaar uit, ook met een korte pauze. Niet helemaal duidelijk waarom...
En de snelheid van de clock en de pauzes is ook niet stabiel, elke keer anders.

In the beginning there was nothing, but even that exploded
KGE

Golden Member

Op 6 september 2020 16:59:27 schreef SkalTura:
[...]
Raar van de clock is dat het lijkt alsof er eerst 4 pulsen komen met korte pauze, en daarna een aantal keer 8 pulsen, en dan de laatste 4...

Is het geen I2C ?

Is een hele oude tuner module die via parallelle data naar een oude homecomputer gestuurd moet worden.

Weet je uit wat voor toestel die tuner komt ?

Dacht eerst dat het een soort SPI data was, maar zijn verder nergens andere signaal te meten voor eventueel data-IN of chip-Enable enzo. Had ook even met geprobeerd om met een PICje en Raspberry om met SPI iets uit te lezen, maar daar komt ook niks uit.
Maar lijkt wel gewoon synchrone seriële data te zijn.

Lijkt toch nog steeds op I2C dan...

Heb ook geen datasheets kunnen vinden van het IC waar dit signaal uit komt. Is een ding uit eind jaren 70, begin 80 denk ik...

Foto ?

Als ik een 74HC595 ga gebruiken en wil synchroniseren op die korte pauzes, hoe doe ik dat dan zonder microscontrollers ?

Er zijn I2C IO expanders maar dan moet het adres wel kloppen.

En waarom geen microcontroller er tussen ? Een Arduino Micro of Nano klaart de klus waarschijnlijk simpel en is lekker klein.

Ik zou ook zeggen dat het I2C is als ik het zo lees, waar komt het signaal uit?

Of misschien iets om RC5 (remote control dus) achtigs (met clock)?

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.

Aan die print zal toch wel te zien zijn uit welk merk tuner hij komt?...

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

Op 9 september 2020 23:58:30 schreef Arco:
Aan die print zal toch wel te zien zijn uit welk merk tuner hij komt?...

Er staat een logotje op het IC wat ik kan terug vinden als Sanyo IC, maar het nummer is totaal onbekend (LCA882). Het andere IC is ook een Sanyo (LA1831).
Tuner module komt van een oude man die vroeger op ontwikkeling heeft gewerkt bij Philips. Beste man is inmiddels bijna 80 en weet niet meer of het ook daadwerkelijk ooit in een Philips tuner gebruikt is, maar wil hem dolgraag aan zijn oude MSX computer hangen.

En uiteraard ik wil hem daar graag bij helpen, al begint het wel erg moeilijk te worden als het een onduidelijk signaal is, en als ik geen microcontrollers mag gebruiken van meneer...

In the beginning there was nothing, but even that exploded

Op 9 september 2020 11:01:28 schreef KGE:
Is het geen I2C ?

Als het I²C zou zijn, komt er als eerste setje pulsen toch het adres uit, of vergis ik me...?
En de eeste pulsjes zijn niet steeds het zelfde.

Heb ergens een I²C sniffer programmatje voor de Raspberry Pi. Kan wel is kijken of dit de tuner kan vinden...

In the beginning there was nothing, but even that exploded

maar wil hem dolgraag aan zijn oude MSX computer hangen.

Dat is dan de hardware kant van de zaak, heeft meneer dan al software om er vervolgens iets mee te kunnen doen ?

It's the rule that you live by and die for It's the one thing you can't deny Even though you don't know what the price is. It is justified.

Op 10 september 2020 10:56:41 schreef Roland van Leusden:
[...]

Dat is dan de hardware kant van de zaak, heeft meneer dan al software om er vervolgens iets mee te kunnen doen ?

Het enige wat ie nodig heeft is de data van de tuner omgezet naar parallel, maar in hapjes van 8 bit. De rest kan ie zelf.

Zoals ik al aangaf in mijn eerste post, was omzetten naar parallel op zich geen probleem, alleen moet ik nu dus elke 8 bit een output genereren, en daar zit ik even op vast...

In the beginning there was nothing, but even that exploded

Als er geen duidelijke synchronisatiemogelijkheden zijn wordt dat moeilijk. (je moet weten wanneer de seriele 'trein' start en stopt...)

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

je moet weten wanneer de seriele 'trein' start en stopt..

precies. Er moet ergens in het signaal iets zijn om op te synchroniseren

Wordt inderdaad lastig, daarom stel ik hier ook deze vraag ;-)

In the beginning there was nothing, but even that exploded