- FPGA (Field-Programmable Gate Array): The NI RIO FPGA device in your lab is likely a good choice for implementing high-speed control systems. FPGAs are known for their ability to execute parallel operations and deterministic timing, which can be crucial for control applications with very fast sampling rates. Simulink has support for FPGA deployment through HDL Coder, which can convert your Simulink models into VHDL or Verilog code that can be synthesized onto an FPGA.
- SoC (System on Chip) with an FPGA and CPU: Some platforms like the Xilinx Zynq combine an ARM-based processor with an FPGA. This allows you to run a high-level operating system and perform high-speed operations on the FPGA, all on the same chip. Tools like Xilinx's Vivado HLS can help with the implementation.
- Dedicated Real-Time Systems: If you prefer to stick with a CPU-based solution, you might look into dedicated real-time hardware that supports Simulink Real-Time. This hardware is designed to run models developed in Simulink in real time and can meet strict timing requirements.
- Real-Time Operating Systems (RTOS) on Embedded Systems: Consider using an RTOS on an embedded platform like BeagleBone Black or even a more powerful ARM Cortex-based microcontroller. An RTOS can provide the deterministic timing you need. You can export the Simulink model to C code using Embedded Coder and then integrate it with the RTOS.
- PC-based Real-Time Systems: Some real-time control applications use industrial PCs with real-time operating systems or real-time extensions (like RT-Linux). The Simulink Desktop Real-Time™ toolbox allows you to run Simulink models in real time on your Windows PC.
- Speedgoat Real-time Target Machines: These are real-time target machines specifically designed to work with Simulink Real-Time. They are optimized for rapid control prototyping and hardware-in-the-loop (HIL) simulation and are known for high performance.
- Assess the Computational Load: Determine how computationally intensive your MPC is. This will influence whether an FPGA or a high-speed processor is necessary.
- Consider Latency Requirements: Besides the computational speed, also consider the latency from input sensing to actuation. Low-latency is crucial for high-speed tracking.
- Integration with Hardware: Ensure that the chosen platform can easily interface with your device, the Atomic Force Microscope.
- Development Time and Resources: Consider the development resources you have available. FPGA programming, for instance, is quite specialized compared to writing C code for microcontrollers.
- Software Support: Look for platforms that are well-supported by MATLAB/Simulink, since you've developed your controller using these tools.
- Technical Services and Consulting
- Embedded Systems | Firmware Developement | Simulations
- Electrical and Electronics Engineering