- Posts: 803
- Thank you received: 0
LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
3 months 1 week ago #347823
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Another small milestone:
There is now a PRV32 (PicorV32/RISC-V) plugin that allows one or more soft cores to run in the FPGA.
A few tweaks still need to be made, but it’s already good enough for tinkering
* Up to 16 GPIOs
* Multiple 32-bit variables for data exchange with LinuxCNC
* Serial support
* GCC support
* tested on TangNano9k, ICE40up5k, ICE40hx8K
TODO:
* Add I2C and SPI master support
* Add PWM support
* 1-bit variables for LinuxCNC
* Adding support for use as an interface plugin
* Testing and optimize for more platforms
At the moment, I don’t have a practical application for it yet, but one will come along. (Anything that’s too cumbersome in Verilog, or for those who know C)
Furthermore, there’s also a SERV (World’s Smallest RISC-V) plugin,
which is considerably more resource-efficient but currently only offers assembler support and 3 output pins.
There is now a PRV32 (PicorV32/RISC-V) plugin that allows one or more soft cores to run in the FPGA.
A few tweaks still need to be made, but it’s already good enough for tinkering
* Up to 16 GPIOs
* Multiple 32-bit variables for data exchange with LinuxCNC
* Serial support
* GCC support
* tested on TangNano9k, ICE40up5k, ICE40hx8K
TODO:
* Add I2C and SPI master support
* Add PWM support
* 1-bit variables for LinuxCNC
* Adding support for use as an interface plugin
* Testing and optimize for more platforms
At the moment, I don’t have a practical application for it yet, but one will come along. (Anything that’s too cumbersome in Verilog, or for those who know C)
Furthermore, there’s also a SERV (World’s Smallest RISC-V) plugin,
which is considerably more resource-efficient but currently only offers assembler support and 3 output pins.
Please Log in to join the conversation.
3 months 4 days ago #348087
by meister
the embedded ARM core of the TangNano4K is also supported now
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
the embedded ARM core of the TangNano4K is also supported now
Please Log in to join the conversation.
3 months 1 day ago #348212
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I'm using a Tang Nano 9k FPGA. How do I configure it to output a PWM signal to the spindle?
Please Log in to join the conversation.
3 months 1 day ago #348213
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
there is an example:
./bin/rio-flow riocore/configs/TangNano9K/config.json
./bin/rio-flow riocore/configs/TangNano9K/config.json
Please Log in to join the conversation.
3 months 16 hours ago #348239
by babinda01
Replied by babinda01 on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Hi Guys. I have used RIOcore on a Tang Nano 9k (TangBOB board) a couple of times. I am now wanting to try out Ethercat. I was wondering what my options are for doing this. I want to use a RP5 with the Tang connected via an SPI connection to the GPIO pins on the RP5. My first question is where do I connect my Ethercat Drives? from the RP5 or from the Wiznet module connected to the Tang. I would dearly love it if all my configurations for Ethercat can be done within RIOcore.
Cheers
Andrew
Cheers
Andrew
Please Log in to join the conversation.
3 months 13 hours ago #348255
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I use ./bin/rio-flow riocore/configs/TangNano9K/config.json
The automatically generated ini and HAL files cannot output a 1kHz PWM spindle signal. Do I need to edit the HAL and ini files myself to output the spindle PWM signal?
The automatically generated ini and HAL files cannot output a 1kHz PWM spindle signal. Do I need to edit the HAL and ini files myself to output the spindle PWM signal?
Please Log in to join the conversation.
3 months 9 hours ago #348260
by meister
Hi Andrew,
EtherCAT must be connected directly to the RPi5. Rio runs independently of it; it can only adopt part of the configuration (and even then, only to a limited extent).
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Hi Guys. I have used RIOcore on a Tang Nano 9k (TangBOB board) a couple of times. I am now wanting to try out Ethercat. I was wondering what my options are for doing this. I want to use a RP5 with the Tang connected via an SPI connection to the GPIO pins on the RP5. My first question is where do I connect my Ethercat Drives? from the RP5 or from the Wiznet module connected to the Tang. I would dearly love it if all my configurations for Ethercat can be done within RIOcore.
Cheers
Andrew
Hi Andrew,
EtherCAT must be connected directly to the RPi5. Rio runs independently of it; it can only adopt part of the configuration (and even then, only to a limited extent).
Please Log in to join the conversation.
3 months 9 hours ago #348262
by meister
Which interface are you using, and where do you want the PWM output to be?
To use the spindle in LinuxCNC, you still need to configure it in the “Signals” tab.
dty/net = spindle.0.speed-out
enable/net = spindle.0.on
@all WARNING: Serial/USB does work, but it's really just for testing;
I wouldn't use it in a production environment.
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
What does your setup look like?I use ./bin/rio-flow riocore/configs/TangNano9K/config.json
The automatically generated ini and HAL files cannot output a 1kHz PWM spindle signal. Do I need to edit the HAL and ini files myself to output the spindle PWM signal?
Which interface are you using, and where do you want the PWM output to be?
To use the spindle in LinuxCNC, you still need to configure it in the “Signals” tab.
dty/net = spindle.0.speed-out
enable/net = spindle.0.on
Attachment not found
@all WARNING: Serial/USB does work, but it's really just for testing;
I wouldn't use it in a production environment.
Please Log in to join the conversation.
3 months 1 hour ago #348282
by viewsat
Replied by viewsat on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
My settings are as follows, JSON file attached.
Attachment not found
Please Log in to join the conversation.
Time to create page: 0.259 seconds
