Would you like to react to this message? Create an account in a few clicks or log in to continue.

You are not connected. Please login or register

74HC590 does not start from 0

2 posters

Go down  Message [Page 1 of 1]

174HC590 does not start from 0 Empty 74HC590 does not start from 0 Wed Jan 12, 2022 12:44 am

TimFisch

TimFisch

I'm a bit confused, that the counter 74HC590 is not starting with 0x00 but with 0xFE. Based on the interior setup i had assumed that is would start with low on all flipflop outputs..

Attachments
74HC590 does not start from 0 Attachment74HC590.zip
You don't have permission to download attachments.
(2 Kb) Downloaded 1 times

https://wiki.mexle.hs-heilbronn.de/

274HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 2:42 am

arcachofo

arcachofo

Which revision are you using?
This issue is supposed to be solved at Rev 810.

374HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 2:43 am

TimFisch

TimFisch

I used R815 :-/

https://wiki.mexle.hs-heilbronn.de/

474HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 3:18 am

arcachofo

arcachofo

Yes.. I see the problem.
It happens when you start the simulation with reset High.

As far as I know, in a real device you never know the initial state of a flipflop.
And it should be reseted, or started with reset low...

574HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 3:27 am

TimFisch

TimFisch

Hmm, I see. for my problem I tried to set up a simple discrete "I2C master" which send the data given in a RAM memory. For this I had one 74HC590 for stepping trought the bits and another one for choosing the bytes.
The complete thing is far away from working, but i attached the file.
I tried to make the initial reset with a flipflop but it seems that i have to create a more sophisticated logic for this.
Do you have a fast idea for this?


Maybe this "Inverse I2C Memory" (= it should be a I2C Master), could also be interesting for other coder as a discrete component. With this, testing I2C could be possible.
Attachments
74HC590 does not start from 0 AttachmentI2C_Simu.zip
You don't have permission to download attachments.
(3 Kb) Downloaded 1 times

https://wiki.mexle.hs-heilbronn.de/

674HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 3:54 am

arcachofo

arcachofo

I tried to make the initial reset with a flipflop but it seems that i have to create a more sophisticated logic for this.
Do you have a fast idea for this?
So you want it to start by itself?
I mean.. why not just a button controlling the reset?

774HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:00 am

arcachofo

arcachofo

One thing... those D flipflops should be Set/Reset not inverted.
As it is now it will not work IMO.

874HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:18 am

arcachofo

arcachofo

Your initial reset circuit is working for me after configuring Set/Reset not inverted for those D FlipFlops (or tie them to 5V).

974HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:26 am

TimFisch

TimFisch

The idea with the switch is a good one - i just added a switch in order to get the rising edge for MCR after start.
But, for me it looks like first CLK cycle is not increasing the output..
The output before first rising edge on CLK is 0x00 an after the fist edge, too. After the second one the output starts to increase to 0x01, 0x02, .. and so on.

This "not counting for the first time" is also visible for the solution with the flipflops (+ Set/Reset not inverted). It can be best seen for the second 74HC590 (74HC590-908).
Attachments
74HC590 does not start from 0 AttachmentI2C_Simu.zip
You don't have permission to download attachments.
(3 Kb) Downloaded 1 times

https://wiki.mexle.hs-heilbronn.de/

1074HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:30 am

arcachofo

arcachofo

But, for me it looks like first CLK cycle is not increasing the output..
The output before first rising edge on CLK is 0x00 an after the fist edge, too. After the second one the output starts to increase to 0x01, 0x02, .. and so on.
Yes, I noticed that.
First clock sets RCO to low, next sets QA high.

I have not idea if this is how it should work or not.

1174HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:38 am

TimFisch

TimFisch

I found this "digital interior" for the 74HC590:
https://assets.nexperia.com/documents/data-sheet/74HC590.pdf#page=3

But there are to much inversions going on for me  in order to understand it at this time of the night...

https://wiki.mexle.hs-heilbronn.de/

1274HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:41 am

arcachofo

arcachofo

But there are to much inversions going on for me  in order to understand it at this time of the night...
Of the morning..  74HC590 does not start from 0 1f605

1374HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 4:44 am

arcachofo

arcachofo

I found this "digital interior" for the 74HC590:
Looks basically the same, but simpler.
This subcircuit is quite old, now it is possible to do it simpler, but at that time it wasn't.

1474HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 6:05 pm

arcachofo

arcachofo

Thinking about this issue and other similar.

Flipflops are currently set to initialize at state "0".
The fact that this circuit didn't do it is because another issue making the clock trigger at start if it's iverted (solved at Rev 843).

In other circuits happens exactly the opposite, they work with JK initial state "1".
By "work" I mean they start in a consistent state that makes sense, for example in a counter it always starts at value = 0.

But in real hardware this is not always the case and often a reset is needed at start.
So in some cases it is possible to do a circuit that consistently "works" in simulide, but in a real circuit would not work.

Then I think FlipFlops should be randomly initialized, as it would happen in a real circuit, forcing to create some initial reset mechanism.
This also has it's educative value in my opinion.

Any opinions?

1574HC590 does not start from 0 Empty Re: 74HC590 does not start from 0 Wed Jan 12, 2022 9:58 pm

arcachofo

arcachofo

And a suggestion for your circuit:
Looks like the proper way to drive a 74590 is with complementary clocks.
The counter stage triggers at rising edge and latchs at falling edge when the counter output is stable:

74HC590 does not start from 0 59010

This solves this issue:
TimFish wrote:But, for me it looks like first CLK cycle is not increasing the output..
The output before first rising edge on CLK is 0x00 an after the fist edge, too. After the second one the output starts to increase to 0x01, 0x02, .. and so on.

Sponsored content



Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum