author
2Comments

Tell us about yourself!

Complete Your Profile
  • vindar79 commented on UpnaLab's instructable Acoustic Levitator2 months ago
    Acoustic Levitator

    Hello, Yes, the DMA on the Teensy MCU is general purpose and is very flexible. It can use a GPIO port as source or destination. Thus, it is possible to read/write a byte i.e. 8 pins simultaneously. In this case, I used to it to toggle 4 pins: I just clocked the DMA transfer with an FTM timer, set at 80Khz and with 2 triggers per period. The first trigger toggles pin 1 and 2 (the first array) and the second one pin 3 and 4 (the second array). The phase is adjusted by moving the respective positions of the triggers during a period of the timer.I do not know much about the ESP32. As far as I can tell from the documentation, it seems that the DMA controller is less flexible and I think you cannot use GPIO as a destination... However, on the ESP32, there is a motor control module (MCPWM) t...

    see more »

    Hello, Yes, the DMA on the Teensy MCU is general purpose and is very flexible. It can use a GPIO port as source or destination. Thus, it is possible to read/write a byte i.e. 8 pins simultaneously. In this case, I used to it to toggle 4 pins: I just clocked the DMA transfer with an FTM timer, set at 80Khz and with 2 triggers per period. The first trigger toggles pin 1 and 2 (the first array) and the second one pin 3 and 4 (the second array). The phase is adjusted by moving the respective positions of the triggers during a period of the timer.I do not know much about the ESP32. As far as I can tell from the documentation, it seems that the DMA controller is less flexible and I think you cannot use GPIO as a destination... However, on the ESP32, there is a motor control module (MCPWM) that seems quite flexible and it might be possible to use it in the same manner to drive a couple of arrays.

    View Instructable »
  • vindar79 made the instructable Acoustic Levitator2 months ago