Schlagworte: FPGA, knikkerbaan, kogelbaan, controller.
Controller for my Fischertechnik project, rear view. Photo was taken when the board assembly was not done completely. Shows mainly the rear connectors. There is possibility to expand from 32 to 64 servo motors but then additional connections must be made. Also the NeoLeds, now 128, are no limitation. There are equipped with two loops, each of which may go up to at least 256 color LEDs. The color table for these LEDs is in the FPGA and uses only little memory ram. Neoleds have 24 bit color space. All servo motors have 4 predefined positions: N: neutral or powerup L: left position M: middle position R: right position For each servo, these values can be adjusted by the user. Values typically range between 1200 and 1800 usec pulse width. Central part is the FPGA module. This is the DE0-nano board with 22.000 LE (logic elements). The entire program currently has 3200 LE or 14% of capacity of the FPGA chip. Most of the program is written (verilog code). The rest will be written if all modules are mounted. Later more info.
uffi (3.11.2017, 12:07:58)
Thank you for this image from the backside! Your Controller Module ist very impressive. What was your main reason to choose an FPGA as central unit versus a microcontroller?
fotoopa (3.11.2017, 14:39:31)
Advantage FPGA module:
Because more than 100 I / O pins are free to choose and each function can be connected to each pin.
You can arrange your PCB layout easier as there is no mandatory order to the FPGA.
All tasks work in parallel
As a result, you have much less timing problems like otherwise with interrupt routines.
Speed is never a problem. multiple PLL clocks are available.
Creating a verilog program is much faster. You do not have to worry about other program components.
The load of the LE (logic elements) in this FPGA module ( DE0-Nano ) is very low (14%), you can expand a lot.
Calculations go very fast, there are 132 blocks 9x9 bit hardware multiplayers available ( 1 clock time ).
Each internal function allows you to forward to an output pin for the scope of LA check.
Module is very small, easy to place on a single layer PCB board.