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

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS

3 posters

Go down  Message [Page 1 of 1]

Defran

Defran

I try to use the internal drivers of the 4060 to obtain an oscillator as the 4060 manual says, but I always obtain a constant frequency even if the capacitor value changes, for example.

In the physical circuit it works fine. Tell me please.

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 4060_t10
Attachments
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS Attachment4060_osc.zip
You don't have permission to download attachments.
(34 Kb) Downloaded 5 times

Alex68

Alex68

Same. Works only with an external generator.SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-308SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-309

Defran

Defran

This post is not addessing to you, please refrain from answering. I only care about the response of the programmers.

Alex68

Alex68

I will not interfere. It is clear that the question to the developer. But I just wanted to show that the pulse generators on the three inverters also do not work. Such schemes work in version 0.4.15----

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-310
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-311
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-312

Defran

Defran

In Simulide using discrete inverters and the same structure as 4060, they oscillate, but always at 50Mhz...

I have used the 4060 phisically many times and it oscillates perfectly over a wide range of frequencies according to its datasheet.

I remember, W11 and r1299.

Arcachofo, tell me, please.

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS Osc_in10
Attachments
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS AttachmentOSC_INVERTERS.zip
You don't have permission to download attachments.
(2 Kb) Downloaded 5 times

arcachofo

arcachofo

This issue has no simple solution, specially for the general case.

I think it can be "forced" to work tweaking propagation delays and input voltages.
By now I could not find a combination that can work in a Logic Subcircuit, but it should be possible.

arcachofo

arcachofo

Finally I implemented a solution for the general case at Rev 1301:
There is a new property to set the initial state of Gates.

This can solve unwanted oscillations in some circuits like this, some other ring oscillators, Flipflops implemented with Gates, etc.

74HC4060 required some extra adjustments of input voltages to get RC oscillator working.

Alex68

Alex68

Test 74HC4060SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-313
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-314
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS 2022-315

arcachofo

arcachofo

In addition I'm adding an "Initial Voltage" property to Capacitors.
This will help with Transistor based oscillators, but can also be used with these Logic Gates oscillators.

Probably will add "Initial Current" to inductors as well.

arcachofo

arcachofo

@Alex68:

4060 seems to work in 0.4.15, but indeed is not working correctly.

And in any case 0.4.15 is a completely different simulator, so 1.0.x requires different solutions.

- 0.4.15 does not simulate Gate propagation delays.

- 0.4.15 has an algorithm to suppress oscillations, but it has its own problems:
In the case of 4060 it will oscillate a few times and after that it will start to work properly, but those oscillations will increase the flipflops, which is not correct.
In addition it can suppress oscillations that are correct.

For example none of this is correct:

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS Inv0410


With the last changes everything is working correctly in 1.0.1.
For example the same circuits with 10 ns propagation delay:

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS Inv1010

Defran

Defran

Good job, Arcachofo, thanks, but... is it worth spending time on such an obsolete version (0415)?

Alex68

Alex68

I put a test on how this counter works in hardware. Now in the latest version the inverters are running at their delay frequency. 50 MHz.

Defran

Defran

Yes, it makes sense, thanks. But it would be much better if you attach the Simulide schemes, all in english (The only universal language) to facilitate the work of the programmers without them having to draw it and translated. This is much appreciate. Please keep it in mind in all your posts (Otherwise they are only useful for Russia and its countries of influence).



Last edited by Defran on Mon Aug 01, 2022 8:09 pm; edited 1 time in total

arcachofo

arcachofo

Defran wrote:Good job, Arcachofo, thanks, but... is it worth spending time on such an obsolete version (0415)?
These fixes has nothing to do with 0.4.15.
What Alex means is that 4060 seems to work in version 0.4.15.
He probably thinks that something got broken and it is only a matter of returning things to 0.4.15.
I just tried to explain that 1.0.x works in a different way and that the solution used in 0.4.15 was a bad one.

Alex68 wrote:I put a test on how this counter works in hardware. Now in the latest version the inverters are running at their delay frequency. 50 MHz.
arcachofo wrote:With the last changes everything is working correctly in 1.0.1.
You don't have the last changes yet.

arcachofo

arcachofo

To clarify the solution to this problem:

Version 0.4.15 used an "automatic" solution: it tried to suppress "suspicious" oscillations.
But this is a bad solution:
- It didn't work in every case.
- It worked when it shouldn't.
- It didn't suppress the first few oscillations.


The solution I just implemented for 1.0.1 is not "automatic":
The user must detect and solve the problem.

To solve the problem there are 2 options (for this case):
1- Set the initial state of some Gate to High.
2- Set the initial voltage of the Capacitor to some value enough to stop the unwanted oscillation.

In addition some other other changes could be needed, for example set some hysteresis in the inputs of some Gate.

In this case even more things could be done to get a better result, for example adding clamping diodes to the input used in the first Gate of the RC circuit.
With no Diodes the voltage will swing far above and below the Max. and Min. voltages, increasing the oscillation period.

In any case using the RC oscillator in the simulation will substantially decrease the simulation speed and might differ from the real values obtained in a real chip ( every datasheet shows different values ).
So in my opinion the best approach is using a "Clock" component and set the frequency to the exact value you want.


I forgot to mention:
Defran wrote:is it worth spending time on such an obsolete version (0415)?
Version 0.4.15 is the last "stable" version and it is still being maintained (only bug fixes).
Indeed it was updated just 2 days ago: https://www.simulide.com/index.html



Last edited by arcachofo on Fri Oct 14, 2022 4:02 am; edited 1 time in total

Alex68 likes this post

Defran

Defran


Also with R1336... Tell me please.

arcachofo

arcachofo

Your 4060_TEST.sim1 is working for me.

Defran

Defran

4060 works OK IN R1336, thanks...

But this circuit (same structure as in 4060) In Windows 11 fails ...

SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS Osc_in11
Attachments
SIDE 1299, W11. INTERNAL 4060 OSCILLATOR DRIVERS AttachmentOSC_INVERTERS_2.zip
You don't have permission to download attachments.
(3 Kb) Downloaded 1 times

arcachofo

arcachofo

The new solutions implemented were discussed in some previous post:
arcachofo wrote:To solve the problem there are 2 options (for this case):
1- Set the initial state of some Gate to High.
2- Set the initial voltage of the Capacitor to some value enough to stop the unwanted oscillation.

Also about the capacitors, note that they are showing a warning:
https://simulide.forumotion.com/t938-simulation-speed-reactive-components

Defran

Defran

Thank you. Let me study this, if I find something strange i'll let you know.

arcachofo likes this post

Sponsored content



Back to top  Message [Page 1 of 1]

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