‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

  • Music:

Achievements weekly

Кажецо, доделал новый ультракрутой контроллер BLDC.
Теперь вся логика работы реализована в ПЛИС, а пришитый сбоку микроконтроллер выполняет мелкие сервисные функции типа поддержки невероятно дружественного к пользователю интерфейса командной строки (ага, мотор с консолью), CAN, 1-Wire и прочая лабуда.

Готов основной функционал. Завтра-послезавтра подключу реальный моторчик и посмотрю, как оно ваще.

Больше всего дров наломано в области приделывания таблицы синуса: в BlockRAM хранится четвертинка периода, отдельный процесс подсчитывает индекс (это угол) внутри таблицы, другой процесс подхватывает выходные данные (это уже синус угла) и запихивает их в синхронный умножитель. И вот тут оказалось, что на выходе умножителя результат появляется вовсе не через один такт. Пока сие осознавал и забарывал, пришлось попотеть.

При тактовой частоте в 100 МГц весь дивайс (не только ПЛИС, а плата целиком) потребляет 1.4Вт. Это немало (основной потребитель, ессно, сама ПЛИС и гальванически развязанные интерфейсы), но на фоне предполагаемых 4000 Вт в моторе - тьфу.
Tags: приключения Электроника
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 12 comments