MBvision general purpose FPGA based controller
Presentation
The controller is based on the MBvision FPGA extension board and Xilinx Zynq FPGA chip and can be used for number of different applications that include the need for precise stepper motor control, reliable encoder readings, pulse count, distance and frequency-based triggering etc.
The MBvision FPGA extension board includes:
- 24 fixed digital inputs
- 16 fixed digital outputs
- Up to 32 configurable GPIO pins
- 3 encoder interfaces with reference and error pulses
- 8 pins for pulse generation
- 16 pins for synchronous triggering
- 8 pins for encoder-based asynchronous triggering
- 4 pins for general purpose Up/Down counters
There are two possible ways for interfacing with the MBvision controller:
- Parallel communication
- Ethernet communication
The Parallel communication uses 24-bits (8 digital inputs and 16 digital I/O pins) for interfacing with other devices and can run up to speeds of 1MHz. To interface the controller via the 24-bit parallel communication the controller reserves 8 of the 24 fixed digital inputs and 16 of the 32 configurable I/O pins which still leaves 16 fixed digital inputs and 16 configurable GPIOs for the user to utilize based on application needs.
The Ethernet communication utilizes the UDP protocol and can run up to speeds of 1kHz. In contrast to the Parallel communication the controller does not reserve any digital pins when interfaced with the Ethernet communication which leaves all the pins available for custom user applications.
What can it do?
- Control up to 8 stepper motors via the pulse generation pins
- Connect end switches for up to 2 motors
- Motor control based on pulse number and frequency
- Synchronous triggering (i.e. cameras, lasers, sensors…) from 1Hz-80kHz
- Asynchronous triggering (i.e. cameras, lasers, sensors…) based on encoder readings
- Safety control via watchdog timer