Hello Charles

Thanks for a fast and accurate respond.
Yes, I realized what this particular configuration have been designed for 
very specific task. I just thought what I can still use PWMGEN in existing 
configuration, just redirecting it to GPIO pin.
I have a very basic idea of VHDL and even I would like to learn it so I can 
write custom firmwares, if you can kindly generate one just for now it 
would be perfect.
As well if you have any links/references on how to do it I would like to 
try and learn how to do it myself.

Standard 7i76 PIN Layout with some changes would do, something like this:



IOPortTag & x"00" & StepGenTag & StepGenDirPin, -- I/O 00 GPIO_0 16 PIN 1
IOPortTag & x"00" & StepGenTag & StepGenStepPin, -- I/O 01 GPIO_0 17 PIN 14
IOPortTag & x"01" & StepGenTag & StepGenDirPin, -- I/O 02 GPIO_0 14 PIN 2
IOPortTag & x"01" & StepGenTag & StepGenStepPin, -- I/O 03 GPIO_0 15 PIN 15
IOPortTag & x"02" & StepGenTag & StepGenDirPin, -- I/O 04 GPIO_0 12 PIN 3
IOPortTag & x"02" & StepGenTag & StepGenStepPin, -- I/O 05 GPIO_0 13 PIN 16
IOPortTag & x"00" & PWMTag & PWMAOutPin, -- I/O 06 GPIO_0 10 PIN 4
IOPortTag & & x"00" & NullTag & NullPin, -- I/O 07 GPIO_0 11 PIN 17 
IOPortTag & x"00" & NullTag & NullPin, -- I/O 08 GPIO_0 08 PIN 5
IOPortTag & x"00" & NullTag & NullPin, -- I/O 09 GPIO_0 09 PIN 6
IOPortTag & x"00" & NullTag & NullPin, -- I/O 10 GPIO_0 06 PIN 7
IOPortTag & x"00" & NullTag & NullPin, -- I/O 11 GPIO_0 07 PIN 8
IOPortTag & x"00" & NullTag & NullPin, -- I/O 12 GPIO_0 04 PIN 9
IOPortTag & x"00" & NullTag & NullPin, -- I/O 13 GPIO_0 05 PIN 10
IOPortTag & x"00" & QCountTag & x"03", -- I/O 14 GPIO_0 02 PIN 11
IOPortTag & x"00" & QCountTag & x"02", -- I/O 15 GPIO_0 03 PIN 12
IOPortTag & x"00" & QCountTag & x"01", -- I/O 16 GPIO_0 00 PIN 13
                                                                 

IOPortTag & x"03" & StepGenTag & StepGenDirPin, -- I/O 00 GPIO_0 16 PIN 1
IOPortTag & x"03" & StepGenTag & StepGenStepPin, -- I/O 01 GPIO_0 17 PIN 14
IOPortTag & x"04" & StepGenTag & StepGenDirPin, -- I/O 02 GPIO_0 14 PIN 2
IOPortTag & x"04" & StepGenTag & StepGenStepPin, -- I/O 03 GPIO_0 15 PIN 15
IOPortTag & x"05" & StepGenTag & StepGenDirPin, -- I/O 04 GPIO_0 12 PIN 3
IOPortTag & x"05" & StepGenTag & StepGenStepPin, -- I/O 05 GPIO_0 13 PIN 16
IOPortTag & x"01" & PWMTag & PWMAOutPin, -- I/O 06 GPIO_0 10 PIN 4
IOPortTag & x"00" & NullTag & NullPin, -- I/O 07 GPIO_0 11 PIN 17
IOPortTag & x"00" & NullTag & NullPin, -- I/O 08 GPIO_0 08 PIN 5
IOPortTag & x"00" & NullTag & NullPin, -- I/O 09 GPIO_0 09 PIN 6
IOPortTag & x"00" & NullTag & NullPin, -- I/O 10 GPIO_0 06 PIN 7
IOPortTag & x"00" & NullTag & NullPin, -- I/O 11 GPIO_0 07 PIN 8
IOPortTag & x"00" & NullTag & NullPin, -- I/O 12 GPIO_0 04 PIN 9
IOPortTag & x"00" & NullTag & NullPin, -- I/O 13 GPIO_0 05 PIN 10
IOPortTag & x"01" & QCountTag & x"03", -- I/O 14 GPIO_0 02 PIN 11
IOPortTag & x"01" & QCountTag & x"02", -- I/O 15 GPIO_0 03 PIN 12
IOPortTag & x"01" & QCountTag & x"01", -- I/O 16 GPIO_0 00 PIN 13

IOPortTag & x"06" & StepGenTag & StepGenDirPin, -- I/O 00 GPIO_0 16 PIN 1
IOPortTag & x"06" & StepGenTag & StepGenStepPin, -- I/O 01 GPIO_0 17 PIN 14
IOPortTag & x"07" & StepGenTag & StepGenDirPin, -- I/O 02 GPIO_0 14 PIN 2
IOPortTag & x"07" & StepGenTag & StepGenStepPin, -- I/O 03 GPIO_0 15 PIN 15
IOPortTag & x"08" & StepGenTag & StepGenDirPin, -- I/O 04 GPIO_0 12 PIN 3
IOPortTag & x"08" & StepGenTag & StepGenStepPin, -- I/O 05 GPIO_0 13 PIN 16
IOPortTag & x"02" & PWMTag & PWMAOutPin, -- I/O 06 GPIO_0 10 PIN 4
IOPortTag & & x"00" & NullTag & NullPin, -- I/O 07 GPIO_0 11 PIN 17 
IOPortTag & x"00" & NullTag & NullPin, -- I/O 08 GPIO_0 08 PIN 5
IOPortTag & x"00" & NullTag & NullPin, -- I/O 09 GPIO_0 09 PIN 6
IOPortTag & x"00" & NullTag & NullPin, -- I/O 10 GPIO_0 06 PIN 7
IOPortTag & x"00" & NullTag & NullPin, -- I/O 11 GPIO_0 07 PIN 8
IOPortTag & x"00" & NullTag & NullPin, -- I/O 12 GPIO_0 04 PIN 9
IOPortTag & x"00" & NullTag & NullPin, -- I/O 13 GPIO_0 05 PIN 10
IOPortTag & x"02" & QCountTag & x"03", -- I/O 14 GPIO_0 02 PIN 11
IOPortTag & x"02" & QCountTag & x"02", -- I/O 15 GPIO_0 03 PIN 12
IOPortTag & x"02" & QCountTag & x"01", -- I/O 16 GPIO_0 00 PIN 13

IOPortTag & x"09" & StepGenTag & StepGenDirPin, -- I/O 00 GPIO_0 16 PIN 1
IOPortTag & x"09" & StepGenTag & StepGenStepPin, -- I/O 01 GPIO_0 17 PIN 14
IOPortTag & x"10" & StepGenTag & StepGenDirPin, -- I/O 02 GPIO_0 14 PIN 2
IOPortTag & x"10" & StepGenTag & StepGenStepPin, -- I/O 03 GPIO_0 15 PIN 15
IOPortTag & x"11" & StepGenTag & StepGenDirPin, -- I/O 04 GPIO_0 12 PIN 3
IOPortTag & x"11" & StepGenTag & StepGenStepPin, -- I/O 05 GPIO_0 13 PIN 16
IOPortTag & x"03" & PWMTag & PWMAOutPin, -- I/O 06 GPIO_0 10 PIN 4
IOPortTag & & x"00" & NullTag & NullPin, -- I/O 07 GPIO_0 11 PIN 17 
IOPortTag & x"00" & NullTag & NullPin, -- I/O 08 GPIO_0 08 PIN 5
IOPortTag & x"00" & NullTag & NullPin, -- I/O 09 GPIO_0 09 PIN 6
IOPortTag & x"00" & NullTag & NullPin, -- I/O 10 GPIO_0 06 PIN 7
IOPortTag & x"00" & NullTag & NullPin, -- I/O 11 GPIO_0 07 PIN 8
IOPortTag & x"00" & NullTag & NullPin, -- I/O 12 GPIO_0 04 PIN 9
IOPortTag & x"00" & NullTag & NullPin, -- I/O 13 GPIO_0 05 PIN 10
IOPortTag & x"03" & QCountTag & x"03", -- I/O 14 GPIO_0 02 PIN 11
IOPortTag & x"03" & QCountTag & x"02", -- I/O 15 GPIO_0 03 PIN 12
IOPortTag & x"03" & QCountTag & x"01", -- I/O 16 GPIO_0 00 PIN 13


Thanks a lot,
Best regards,
Alexey




  

On Wednesday, 10 May 2017 13:13:43 UTC-7, Charles Steinkuehler wrote:
>
> On 5/10/2017 11:17 AM, Alexey Volkov wrote: 
> > As well, I would need a 2-nd encoder for MPG, this is the reason I have 
> been 
> > using 4x7i76. Any another configuration would do the task as well where 
> I can 
> > have hardware PWM generators? 
> > Needed: 2-3 steppers, 2 encoders (spindle and MPG), 1 PWM, 10-12 GPIO's. 
> > 
> > Best regards, 
> > Alexey 
> > 
> > On Wednesday, 10 May 2017 09:03:41 UTC-7, Alexey Volkov wrote: 
> > 
> >     Hello 
> > 
> >     I am using DE0-Nano-SoC with DB25 board, with mesa SOCFPGA firmware 
> >     7i76_7i76_7i76_7i76. 
> >     I do not have mesa 7i76 boards and connecting speppers, spindle 
> control and 
> >     encoders directly to the DB25 adapter. 
> >     I successfully set up and run 3 stepper generators, 1 encoder on P2 
> of the 
> >     DB25. Works very well, I was able to run STEP/DIR up to 500kHz rate. 
> >     I also tried to add PWN generators, declaring them same way as for 
> steppers: 
> >     "pwmgens=1", it goes thru,  but I do not see them in HAL and if I 
> try to 
> >     call for the pwm generator machinekit complains what the PIN does 
> not exist. 
> >     Just wondering: Was PWMGEN implemented at all in SOCFPGA and if it 
> was how 
> >     to use one. 
>
> Yes, PWMGEN is in the SOCFPGA firmware, but there are none enabled in 
> the configuration you're using. 
>
> >     Do I have to use custom build firmware to be able to use "hardware" 
> PWM 
> >     generators? 
>
> Yes, you are going to need a new FPGA configuration file with the 
> features you want enabled.  Do you have a pinout you would like to use? 
>
> I gave a presentation on customizing the FPGA configuration at the 
> recent meetup, but unless you're familiar with VHDL and compiling FPGA 
> firmware (or want to learn) it's probably easier all around if I make 
> a new PIN file for you. 
>
> >     I was able to use software PWMGEN, but it is working very slow 
> (~0.5-1kHz). 
>
> Software PWMGEN is useful for things like heaters, but not for 
> anything fast.  However you could probably use a software encoder 
> component for your MPG, but if you've got the FPGA you might as well 
> use it!  :) 
>
> -- 
> Charles Steinkuehler 
> [email protected] <javascript:> 
>

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to