MESA PWM
25 Jun 2013 00:48 #36006
by eslavko
Hello..
I try to set up PWM for 7i43 in PnCConf. But this eat me two aditional pins. (Whenever I assign PWM I got same pin with different last letter P,D,E). But I was tight with pins and can't spent 2 aditional pins for pwm. Is it that bug or Mesa card behave like this?
I try to set up PWM for 7i43 in PnCConf. But this eat me two aditional pins. (Whenever I assign PWM I got same pin with different last letter P,D,E). But I was tight with pins and can't spent 2 aditional pins for pwm. Is it that bug or Mesa card behave like this?
Please Log in or Create an account to join the conversation.
25 Jun 2013 14:47 #36026
by eslavko
Ok I don't have hardware completed yet.
I need to make "breakout" boards. As none of available suit my needs I will buil one. It's not hard to do as this is my job. The chalenge is what I really need on board.
And with Pncconf I just check what I have available to use. And now I found that mesa configuration can eat a lot of pins.
So I need PWM for spindle, But don't need direction and enable. I'm not able to assign general IO in that pin. So I lost two pins.
Similar is with encoder. As I want spindle feedback I hook encoder. A nad B and I was input was used.
In real life I only need A input to determine speed. (spindle is one direction only) so I lost two pins again. Similar I want to use encoder whell for jogging. There I need only A and B input. Index is not used. Again one lost pin. So total 5 lost pins for now. So how to get that pins available for general IO (home and limit switches...) Probably with recompiling fpga software (and configuring by hand as in pncconf I can't find the custom sw option)
On the other way for jog whell encoder maybe is easier to use software (hal) unit. It's slow and can be done in 1ms servo thread or maybe little faster 0.5ms servo thread. For software PWM the servo period is too coarse and even base thread is little slow. (and as I have 7i43 I don't want to use base thread at all)
and of course for spindle speed the software is just to slow (60000rpm spindle)
I need to make "breakout" boards. As none of available suit my needs I will buil one. It's not hard to do as this is my job. The chalenge is what I really need on board.
And with Pncconf I just check what I have available to use. And now I found that mesa configuration can eat a lot of pins.
So I need PWM for spindle, But don't need direction and enable. I'm not able to assign general IO in that pin. So I lost two pins.
Similar is with encoder. As I want spindle feedback I hook encoder. A nad B and I was input was used.
In real life I only need A input to determine speed. (spindle is one direction only) so I lost two pins again. Similar I want to use encoder whell for jogging. There I need only A and B input. Index is not used. Again one lost pin. So total 5 lost pins for now. So how to get that pins available for general IO (home and limit switches...) Probably with recompiling fpga software (and configuring by hand as in pncconf I can't find the custom sw option)
On the other way for jog whell encoder maybe is easier to use software (hal) unit. It's slow and can be done in 1ms servo thread or maybe little faster 0.5ms servo thread. For software PWM the servo period is too coarse and even base thread is little slow. (and as I have 7i43 I don't want to use base thread at all)
and of course for spindle speed the software is just to slow (60000rpm spindle)
Please Log in or Create an account to join the conversation.
25 Jun 2013 22:06 #36042
by PCW
You should understand that the FPGA configuration you are using is for a particular daughtercard or daughtercard type (probably for 7I33 4 axis analog servo type interface.) so is unlikely to have exactly the I/O that match your hardware.
You have very specific requirements (custom daughtercard etc), so probably want a custom firmware file that has only the I/O pins that you need. If you make a pin-list, I can make a custom bitfile that has only the I/O that you require.
You have very specific requirements (custom daughtercard etc), so probably want a custom firmware file that has only the I/O pins that you need. If you make a pin-list, I can make a custom bitfile that has only the I/O that you require.
Please Log in or Create an account to join the conversation.
26 Jun 2013 00:36 #36046
by eslavko
Good to know that.
And yes I have custom daughter card.
As far I know I need 6 STEP/DIR pairs
2xPWM (Only PWM pin)
1xEncoder A input (Spindle speed just one direction) (without B and Index)
1xEncoder AB input (jog wheel) (without Index)
But As I know if I have custom bitfile I can't use PnCConf.
As this is my 1'st bond with mesa I don't like custom firmware but hopefuly I will manage it.
You should understand that the FPGA configuration you are using is for a particular daughtercard or daughtercard type (probably for 7I33 4 axis analog servo type interface.) so is unlikely to have exactly the I/O that match your hardware.
You have very specific requirements (custom daughtercard etc), so probably want a custom firmware file that has only the I/O pins that you need. If you make a pin-list, I can make a custom bitfile that has only the I/O that you require.
Good to know that.
And yes I have custom daughter card.
As far I know I need 6 STEP/DIR pairs
2xPWM (Only PWM pin)
1xEncoder A input (Spindle speed just one direction) (without B and Index)
1xEncoder AB input (jog wheel) (without Index)
But As I know if I have custom bitfile I can't use PnCConf.
As this is my 1'st bond with mesa I don't like custom firmware but hopefuly I will manage it.
Please Log in or Create an account to join the conversation.
26 Jun 2013 01:35 #36049
by eslavko
Well. That's true.
But some builds are more known than others. And Pncconfig know only few of them. (Or I miss something and I can define my own daughtercard)
All firmware is custom...
Well. That's true.
But some builds are more known than others. And Pncconfig know only few of them. (Or I miss something and I can define my own daughtercard)
Please Log in or Create an account to join the conversation.
26 Jun 2013 01:47 #36050
by PCW
pncconf uses a xml file for its firmware description,
So theoretically you just need the correct xml file.
The LinuxCNC hostmot2 build script make these xml files when it compiles
bit files, plus I have a tool that makes them from a bitfile so that may get
you running with pncconf + a custom config
So theoretically you just need the correct xml file.
The LinuxCNC hostmot2 build script make these xml files when it compiles
bit files, plus I have a tool that makes them from a bitfile so that may get
you running with pncconf + a custom config
Please Log in or Create an account to join the conversation.
26 Jun 2013 02:27 #36055
by eslavko
So All I need is new bit file and xml.
So can you modify SVST4_6 for my needs (don't hurry after two day I go to holiday, and be back in jun 10.
The only difference I want is that for PWM only one (pwm out) pin is used and encoders without index.
For one encoder I really need just A input (as I got only one pulse from spindle) but have spare pin so I can hardwire B to ground
Thanks.
So can you modify SVST4_6 for my needs (don't hurry after two day I go to holiday, and be back in jun 10.
The only difference I want is that for PWM only one (pwm out) pin is used and encoders without index.
For one encoder I really need just A input (as I got only one pulse from spindle) but have spare pin so I can hardwire B to ground
Thanks.
Please Log in or Create an account to join the conversation.
26 Jun 2013 21:52 #36083
by andypugh
I think that there is an idea now that firmware can be built by the LinuxCNC buildbot. This basically means someone adding your firmware to the list, which will trigger a build, and then you will get the firmware when you update the hostmot2-firmware-all package.
The advantage of this way of working is that if there are any bug-fixes, you get the new firmware as an automatic update.
Incidentally, if you are short of pins on a 7i43 you could look at the 7i90. (Which may be rather new)
So All I need is new bit file and xml.
So can you modify SVST4_6 for my needs (don't hurry after two day I go to holiday, and be back in jun 10..
I think that there is an idea now that firmware can be built by the LinuxCNC buildbot. This basically means someone adding your firmware to the list, which will trigger a build, and then you will get the firmware when you update the hostmot2-firmware-all package.
The advantage of this way of working is that if there are any bug-fixes, you get the new firmware as an automatic update.
Incidentally, if you are short of pins on a 7i43 you could look at the 7i90. (Which may be rather new)
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.286 seconds