LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

More
1 year 4 months ago #330691 by epineh
I'm glad you guys know what you're talking about, most days I'm happy if I tie my shoelaces correctly image missing /media/kunena/emoticons/w00t.png

Any hoo, I was wondering about shift registers, in that should I use hardware means to clear all outputs? I haven't had a lot to do with them but I understand that the output shift registers can have undefined states at startup and possibly turn on randomly. For the most part probably not an issue but if you are using them for things that shouldn't turn on at startup, tool release, turret clamp, Z Axis brake, spindle gearbox and so on. My friend (Babinda01 on here) has mentioned using a simple resistor/cap combination connected to the shift register clear pin to reset the output registers at power up, which sounds like a good idea instead of burning up a pin from the FPGA.

Also just checking that I can assign ModBus pins for output for a second FPGA and also additional ModBus pins for, well normal Modbus things? My understanding is the ModBus to the second FPGA is just for doing that, and not for adding traditional ModBus devices, so I should design a second "standard" Modbus connection.

Cheers.
Russell.

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

More
1 year 4 months ago #330707 by meister
in general, FPGAs and microcontrollers also have undefined outputs at startup, so there should be a pullup or donw resistor on each one (all are floating by default).

in the case of the shift register, i'm not sure right now :(
they are always set to output and i thought that they are always set to 0 at first.

you can use as many of the same plugins next to each other as you want and as much space as you have :)

for modbus (frame IO), it should always be on the master FPGA,
I'm not sure if it works properly on a slave.
For encoders with index I have to check again, because there is an inout pin.

the uart plugin for connecting several FPGAs doesn't have much to do with modbus, it can simply use RS485, so that's not a problem either.
The following user(s) said Thank You: epineh

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

More
1 year 4 months ago #330948 by epineh
I'm doing some boards up that will use shift registers so I will do some testing, and see what happens. Worst case is I design it so that the shift register outputs aren't enabled until Linuxcnc is started and communicating with the FPGA. 

Cheers.
Russell.

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

More
1 year 4 months ago #330979 by mBender
Hi, 

after a few month working with my bread board set up, I am continuing to build up a PCB board. The pin connection is currently all over the place, but it works... I am cleaning that up and have a quick question about the Tang Nano 9k. I am palling to use Bank 1 and 2(3.3V) for the input and outputs. I don't need to use Bank 3 (1.8V) as my machine is not that complicated. 

Are all Pins from Bank 1 and 2 usable as Inputs and Outputs or are there special pins which need to be high or low at boot?? Similar to some Microcontroller?

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

More
1 year 4 months ago #330991 by Happppppppy
Hi,

I have a Terasic DECA Max 10 (10M50DAF484C6GES) fpga dev board that i'm thinking about using as my LinuxCNC hardware step generator. If anyone has any thoughts on why this won't work that would be amazing before I jump into trying to get this to work.

Board details are here:
www.terasic.com.tw/cgi-bin/page/archive....yNo=&No=944&PartNo=1

Cheers,
Cam

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

More
1 year 4 months ago #330992 by meister
@mBender
you can use all pins freely and the 1.8v pins are well suited as inputs as they are 3.3v tollerant.

@Cam
Max 10 works, but not the onboard Ethernet, you need to use W5500 or SPI

Cheers,
Olli
The following user(s) said Thank You: Happppppppy

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

Time to create page: 0.495 seconds
Powered by Kunena Forum