I'm working on a project where I need to control 7 NEMA17 motors using an FPGA along with TMC2209 drivers. The motors are connected to the drivers, which are powered by an external 12V supply, and I've added 100µF capacitors to manage any inductive voltage spikes.
The challenge I'm facing is that the FPGA outputs very little current for control signals (STEP, DIR, ENABLE) to the TMC2209. To address this, I've been using 2N7002 MOSFETs as switches, allowing the FPGA to control the TMC2209 with a more robust +3V power supply. Here's the setup I'm using:
In this setup, the FPGA provides the STEPM1 signal, which alternates between 0 and 3.3V. The MOSFET should switch the 3.3V signal to the TMC2209's STEP, DIR, and ENABLE pins. Everything seems to work fine at first, but then the transistors responsible for the STEPM1_E signal begin outputting only 2.2V, regardless of whether STEPM1 is 0 or 3.3V.
I've also tested the configuration using an Arduino that outputs 0 to 5V, but the issue persists with the +3V power source still being 3.3V. Can anyone help me pinpoint the issue in my circuit, or suggest if I should switch to a different MOSFET model? Thanks for your insights!
2 Answers
What is your FPGA's pin I/O type configured as? And what is the VCCIO voltage set to for those pins? It's important to ensure that levels match what your MOSFET and TMC2209 can accommodate, otherwise, you could get weird voltage readings like what you're experiencing.
Have you checked the impedance of the TMC2209 pins? According to the datasheet, they seem to have pretty high impedance, which means they might not be pulling enough current from your FPGA. This might explain why the FPGA doesn't drive the signals properly. You might want to look at the overall load on the MOSFET, as that could be affecting the voltage output you're seeing.
I tried connecting the FPGA directly to the TMC2209, and it still didn’t work, so I'm thinking the FPGA really isn't supplying enough current for even the minimal load.

The FPGA outputs 3.3V at 4mA, which might not be sufficient for the TMC pins if they require more power.