Confirmation on charge pump documentation

More
19 Jul 2016 13:24 - 19 Jul 2016 13:26 #77639 by GaryLa
The documentation on this page: 5. Parallel Port Setup

Has a curious statement:

"The charge pump output will be about 1/2 of the maximum step rate shown on the Basic Machine Configuration page."

Why does it read "about", does this mean "approximately"? I assumed the charge pump bit would be coincident with the rest of the changing bits on the LPT. I understand it changing at a lower rate, such as half, but how does the word "about" play into this?

This documentation doesn't say anything specific: Charge Pump Docs
Last edit: 19 Jul 2016 13:26 by GaryLa. Reason: clarity

Please Log in or Create an account to join the conversation.

More
19 Jul 2016 13:39 #77642 by Todd Zuercher
I am guessing the "about" refers to it being the thread frequency +/- what ever jitter the PC has for that thread.

Please Log in or Create an account to join the conversation.

More
19 Jul 2016 13:51 - 19 Jul 2016 13:52 #77644 by GaryLa
It seems that all the signals would have to "jitter" together. All bits of the port, I assume, are written on an IRQ at the same time.

It's the frequency that's concerning me. I read the "about" as suggesting the frequency of the charge pump would not necessarily be related to the step/dir pulses.
Last edit: 19 Jul 2016 13:52 by GaryLa. Reason: typo

Please Log in or Create an account to join the conversation.

More
19 Jul 2016 15:37 #77655 by Todd Zuercher
What concerns you about the frequency? To fast or slow, there are multipiers you can use, or run it in a different thread or the servo thread.

Please Log in or Create an account to join the conversation.

More
19 Jul 2016 15:52 #77657 by GaryLa
I just imagined the charge pump pin would have to rise with the step and dir (and all the others) and as a result, be related to the step frequency. I am building a PCB for a custom machine and want to use LinuxCNC to drive it.

It would be useful for me to be able to treat the charge pump as a type of clock. If I can't, then I could simply have an "unused-on-my-machine" axis continuously "stepping" to provide a clock.

I'd be fine with the charge pump at any frequency, really, just as long as it was related to the step frequency. Obviously the parallel port pins can be written at any time and certainly a control pin is no exception. I assumed LinuxCNC would write ALL port pins at the same time. This guarantees they are locked together, time-wise. However, if the charge pump pin is written independently of the step bits it wouldn't be locked to the step bits. The word "about" made me curious.

Since the HAL is used to drive the port, I think it's safe to assume the charge pump will be in-sync. But I am going through the source code now to try to confirm that. I'll probably have a couple of birthdays before I get through all of it...

Please Log in or Create an account to join the conversation.

More
19 Jul 2016 16:49 #77658 by PCW
The chargepump output toggles every base thread invocation

If you want a known fixed frequency clock, you are probably better off using a free stepgen or the siggen component
since you can set the frequency independent of the host base thread setting (which should be set as high as possible for best step generation fidelity) This would make your hardware more portable between systems

Also the stepgen or siggen allow you to set lower frequencies so can have reasonable phase jitter
(the chargepump does have 1/2 and 1/4 frequency outputs but that's it)
The following user(s) said Thank You: GaryLa

Please Log in or Create an account to join the conversation.

More
20 Jul 2016 09:22 #77688 by andypugh

I'd be fine with the charge pump at any frequency, really, just as long as it was related to the step frequency. Obviously the parallel port pins can be written at any time and certainly a control pin is no exception. I assumed LinuxCNC would write ALL port pins at the same time. This guarantees they are locked together, time-wise. However, if the charge pump pin is written independently of the step bits it wouldn't be locked to the step bits.


You are right that the pins all change in synch (it's a simple outb call to the parport address) . But the step-gen pins only change every N thread invocations, depending on step rate. The charge-pump changes every thread invocation.
The following user(s) said Thank You: GaryLa

Please Log in or Create an account to join the conversation.

Time to create page: 0.129 seconds
Powered by Kunena Forum