Лого Сделано у нас
165

Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»

Как-то прошла мимо новость о появлении нового микроконтроллера К1921ВК01Т ОАО «НИИЭТ». Чем он примечателен? Своей периферией, предназначенной для управления электродвигателями (motorcontrol). Это не просто пара-тройка ШИМ каналов. Это девять навороченных двухканальных модулей ШИМ (PWM), из них три модуля (HRPWM) с режимом «высокого» разрешения. Это шесть отдельных 32х разрядных модулей захвата CAP. Двадцать четыре(!) канала 12ти разрядных АЦП с гибким менеджером их запуска, встроенным усреднителем и цифровыми компараторами. Два квадратурных декодера (QEP), куча интерфейсов связи, внутренняя пользовательская память, часы — и всё это на ядре ARM Cortex-M4 °F с мегабайтом флеш-памяти «на борту» и производительностью 100 MIPS! Интересно?

Собственно, чтобы в статье не перечислять все технические характеристики изделия, отправляю на страницу сайта производителя. Там есть как краткий список, так и полноценный даташит (правда он всё время прячется по разным углам сайта и на момент написания статьи его можно скачать… из таблицы текущих разработок). А в статье лучше расскажу что-нибудь такое, чего в даташитах не напишут.

Немного из истории создания

Работы над микроконтроллером (далее МК) начались в 2012м году компанией ООО «НПП «Цифровые решения» по заказу ОАО «НИИЭТ» (г. Воронеж.). На ядро ARM Cortex-M4 °F и часть коммуникационных периферийных модулей были приобретены лицензии, а часть модулей были разработаны этой компанией самостоятельно: модули ШИМ, контроллер АЦП (не сам АЦП, а менеджер по управлению им), модуль захвата CAP и модуль квадратурного декодера QEP. НПП «Цифровые решения» сначала изготовила макет микроконтроллера на ПЛИС Kintex7, который реализовывал всю логику будущего микроконтроллера, включая ARM ядро. Но ПЛИС — это свободно перепрограммируемое изделие, что позволяет исправлять ошибки в логике МК, если они обнаруживаются после прохода тестов (это помимо тестирования на симуляторе). Но как тестировать motorcontrol микроконтроллер? Помимо синтетических тестов, конечно же на реальной задаче управления электродвигателем! Для этого НПП «Цифровые решения» обратились к нам — в ООО «НПФ Вектор», так как у нас очень большой опыт работы в сфере электропривода на базе МК Texas Instruments, хотя скорее потому, что мы сидим в соседнем здании. В совместных обсуждениях при проектировании периферии для управления электродвигателям было решено взять за образец TMS320F28335 Texas Instruments (TI), так как этот микроконтроллер имеет, наверное, самую мощную и гибкую периферию motorcontrol, заслуженно пользующуюся мировым уважением. Поэтому, вооружившись даташитами TI, «Цифровые решения» создали на их основе внутреннюю логику работы модулей ШИМ, CAP и QEP для К1921ВК01Т. Кроме того, по опыту работы с МК TI мы дополнительно предложили некоторые улучшения, которых не хватает у TI. Это фильтр коротких импульсов в модуле ШИМ (не все драйверы силовых ключей любят открытие/закрытие на очень короткий промежуток времени, IGBT может попасть в линейный режим), это некоторые нюансы в модуле квадратурного декодера, которые позволяют избавиться от проблем с переключением делителей счетчиков на ходу и т. п. «Цифровые решения» учли их и расширили соответствующим образом функционал периферии по сравнению с модулями TI. Во время того, как НПП «Цифровые решения» разрабатывали внутреннюю логику работы модулей, мы в «НПФ Вектор» делали стенд для тестирования будущего микроконтроллера. Это был небольшой преобразователь частоты на шести транзисторах («сервоусилитель»), который цепями управления подключался к макету микроконтроллера на ПЛИС, а силовой частью подключался к небольшому серводвигателю с датчиками положения Холла (для проверки модуля CAP) и квадратурным датчиком положения (для проверки модуля QEP). Наша цель была такая: написать программное обеспечение для микроконтроллера, чтобы обеспечивалось полноценное векторное управление электродвигателем, используя любой датчик положения по выбору или оба сразу. И, конечно же, сообщать о всех найденных проблемах в периферии «Цифровым решениям». Несмотря на множество собственных тестов МК у «Цифровых решений», в ходе испытаний на живом электродвигателе было найдено немало ошибок. В основном они были связаны с неточной реализацией внутренней логики блоков, которая не была описана в явном виде в даташитах Texas Instruments. Например, что должен выдавать модуль ШИМ, если уставка сравнения задана выше периода таймера? Или если для квадратурного декодера включен делитель входного сигнала, должен ли модуль детектировать смену направления вращения по деленному сигналу или по оригинальному входному? Ответы на эти вопросы могут быть очевидны электроприводчику, но не очевидны архитектору логики микроконтроллеров. Насколько мы смогли, настолько мы подобные баги совместно с «Цифровыми решениями» выловили. Привод успешно заработал в векторном управлении без каких-либо проблем. Однако все баги таким тестированием мы, конечно же, охватить не могли — наверняка в других задачах ошибки начнут вылезать еще. Но для этого и существует errata и новые ревизии микроконтроллеров: чтобы исправить баги, нужно их сначала насобирать. После завершения отладки логики МК на ПЛИС «Цифровыми решениями» была сделана «разводка» МК (или как там это называется у микроконтроллеров? Топология?), после чего все результаты работы были переданы в НИИЭТ. К слову, мы уже нашли несколько ошибок после выпуска МК в «камне», но НИИЭТ посчитал их пока недостаточно критичными, чтобы менять разводку МК: накопятся еще - исправят.

Название

Еще надо сказать, что микроконтроллер пережил несколько названий. Сначала во время разработки он имел кодовое название «МС01», затем опытная партия камней называлась NT32M4F1, а затем он уже стал К1921ВК01Т (причем в названии в одних местах буквы пишут русские, в других английские). Поэтому если увидите эти названия в ранних статьях и публикациях по этому МК, не удивляйтесь.

Как дорого?

В настоящее время (на начало 2016г) у НИИЭТ готова к продаже первая партия микроконтроллеров, которая уже начала поступать к заказчикам. Кристаллы корпусированы часть в пластик, часть в керамику. Цена камня в пластике на конец 2015-го года, кажется, была чуть меньше 3 т.р., что выше цены TI TMS320F28335 при покупке в России (на момент написания статьи коэффициент пересчета «их» цен в «наши» составлял 76). Однако в TMS320F28335 нет EEPROM и часов, нужно ставить внешние, из-за чего стоимость в итоге становится сравнимой. Это делает К1921ВК01Т перспективным не только в плане импортозамещения, но и для простых «меркантильных интересов». Хотя это сравнение, конечно, не совсем корректное — можно найти кучу примеров более дешевых кристаллов на Cortex-M4 °F и с большей тактовой частотой, но с меньшем количеством периферии. Поэтому для простых задач К1921ВК01Т будет избыточно и большим, и дорогим. Но для основного применения (управление электродвигателями и сложной силовой электроникой) — он конкурентоспособен.

Что у нас с производительностью?

Мы год назад выступали с докладом на выставке по этому поводу, презентацию можно найти здесь. Проведенные нами тесты, конечно, не претендуют на особую точность — всё-таки мы запускали не настоящие бенчмарки, а «закатали» в тест всё ту же векторную систему управления (а что ещё может волновать электроприводчиков?). Но краткий пересказ презентации таков: архитектура ARM Cortex-M4 °F отстает от DSP ядра C28 TI на среднестатистических расчетах, требуемых для задач электропривода. Если снизить точность расчетов, там, где это можно, использовав аппроксимированные тригонометрические функции и прочее, можно сократить этот разрыв где-то до 15%. Но при этом тактовая частота топовых ядер С28 (тот же TMS320F28335) составляет 150МГц, а частота К1921ВК01Т — 100МГц. Поэтому со всеми оптимизациями библиотек К1921ВК01Т эквивалентен по вычислительной мощности где-то МК TI серии piccolo частотой 90МГц. Что можно трактовать как… очень неплохо, на наш взгляд, потому что если правильно использовать все аппаратные навороты нового МК типа DMA и самофильтрующего измерения АЦП, то можно неплохо сэкономить на тактах. Так или иначе у нас получилось «запихать» в К1921ВК01Т наш самый требовательный к производительности проект, базирующийся на TMS320F2810 (150МГц, ядро C28), который с треском уже влезает в этот самый 2810.

Что у нас со средствами разработки?

А что с ними может быть, это же ARM! Обычный, без всяких «но». Берете любой JTAG, любую среду разработки, но… нет, все-таки любая не заработает. «Но» заключается в прошивке флеш-памяти. Несмотря на то, что само ядро ARM стандартизировано и любой JTAG и среда к К1921ВК01Т подключатся, с прошивкой флеша не всё так просто. Кажется, каждый производитель микроконтроллеров считает своим долгом сделать именно свои регистры для работы с прошивкой своей флеш-памяти, поэтому создатели средств разработки мучаются с поддержкой всего этого зоопарка. Не отстает в этом плане и К1921ВК01Т — там методы работы с флеш тоже свои. Но если для именитых производителей программаторы флеш памяти (драйвер, прошивальщик или как это назвать?) в средах разработки написаны и работают «из коробки», то для К1921ВК01Т всё работает только для тех сред, для которых написали программаторы в НИИЭТ. К счастью, для IAR и Keil все уже готово и примеры проектов с инструкциями по прошивке могут быть найдены на форуме НИИЭТ, а также в открытом репозитории на Bitbucket, который ведет НИИЭТ. Кроме того, мы в «НПФ Вектор» написали поддержку программирования флеш К1921ВК01Т для OpenOCD (Open On-Chip Debugger). Это такая прослойка между отладчиком GDB и железом в виде разных JTAG-эмуляторов и разных камней. Но пока мы тянули с разрешением конфликтов и «код ревью» в репозитории OpenOCD, разработчики НИИЭТ написали всё тоже самое, но своё и лучше (они еще добавили помимо прожига основной флеш-памяти функцию прожига пользовательской), но… это всё лирика. Что же дает этот OpenOCD? Это своеобразный слой абстракции железа, что позволяет сделать свою свободную и бесплатную среду разработки для К1921ВК01Т на базе любой популярной IDE. Мы в «Векторе» любим Eclipse (потому что среда Code Composer Studio от TI, начиная с v4 на нем основана, мы к нему привыкли и вообще, нет на свете IDE лучше Eclipse). А разработчики НИИЭТ сделали среду разработки на Qt Creator. Но, в общем, смысл и там и там один: берется среда, берется набор свободных кросс-средств разработки GCC, берется плагин для работы с OpenOCD, сам OpenOCD, немного конфигов, немного магии… и вы уже полноценно работаете с К1921ВК01Т, забыв про IAR и Keil. На момент написания статьи свою сборку Eclipse (назвали мы её VectorIDE) для К1921ВК01Т мы выложили у себя на сайте, рецепт по приготовлению Qt Creator смотрите на форуме НИИЭТ. Лично мы ведем все проекты для К1921ВК01Т в бесплатной среде и вам советуем — набор компиляторов GCC не особо отстает от фирменных IARовских (смотрите всю ту же нашу презентацию), а зато, если вы солидная фирма, вам не нужно закупать дорогое импортное ПО (уже с коэффициентом пересчета 76, Карл! 78!).Ах, да. Есть еще кое-что. Называется оно Codemaster++[ARM]. Это 100% отечественная среда разработки, включая компиляторы, и предназначенная также для К1921ВК01Т. Мы исследовали год назад её первые версии, но нашли что она была еще не готова, немного по части компиляторов и сильно по части удобства редактирования кода (хотя в этом она может посоревноваться с IAR, кто понимает, о чём я). Зато она маленькая и быстрая, а по интерфейсу напоминает какой-нибудь «хакерский» отладчик типа OllyDbg (сравните: раз идва). В общем, возможно, кому-то будет интересно. Надо сказать, что разработчики (компания «Фитон») очень старались, даже запрашивали в свое время наш бенчмарк а-ля «векторное управление двигателем» чтобы оптимизировать свои компиляторы.

Что у нас с отладочными комплектами?

На начало 2016 г в природе известно четыре отладочных платы на К1921ВК01Т. Это наша VectorCARD K1921BK01T и другие… от конкурентов. Ладно, так и быть, вот ссылки LDM-HELPER-K1921BK01T и MBS-К1921ВК01Т. Еще, кажется, у самого НИИЭТ есть своя плата NIIET_1921BK01T, но на их сайте, видимо, она от меня прячется — если кто-то обнаружит ссылку, с удовольствием дополню статью. В чём между ними разница? Мы продаем не голую плату, а комплект с инвертором, электродвигателем, векторным управлением в исходных кодах на Си (на базе того, что писали в свое время для «Цифровых решений»), а также с программой верхнего уровня и драйвером CANopen для наблюдения всех процессов внутри привода — смотрите нашу первую статью. Поэтому если вы хотите просто поиграть с новым МК, мигая светодиодом или пересылая данные по всяким интерфейсам связи, то оптимальнее будет купить отладочные платы конкурентов (хотя у нас тоже есть вариант голой платы, но она совсем «голая» — одни выводы). Однако если вы хотите создать на новом МК электропривод, то наш отладочный комплект и ПО может сэкономить вам полгода-год времени разработки (а может и больше, в зависимости от того, знаете ли вы теорию электропривода и есть ли у вас собственные средства отладки и осциллографирования, аналогичные нашим). Если вы внимательно читали первую статью, то, наверное, помните, что отладить систему управления для электропривода без средств визуализации процессов внутри — невозможно. И если у Texas Instruments среда разработки умеет «из коробки» показывать осциллограммы, построенные по данным массива оперативной памяти МК, то для ARM в универсальных средах разработки (не от конкретного производителя МК) такой функции пока не наблюдается (если это читают разработчики «Фитон» - не хотите ли доработать построителем осциллограмм свою Codemaster++[ARM]? Это же несложно сделать!). В нашем отладочном комплекте такие средства визуализации осциллограмм присутствуют, поэтому можно сразу увидеть всё, что полагается для управления электродвигателями: форму токов фаз, напряжения, входы/выходы всех регуляторов и т. п. Цена нашего комплекта — большая, ориентировочно около 130 т.р. (один только электродвигатель со всеми датчиками положения стоит на текущий момент около 30 т.р.). Но для организации, желающей освоить новое изделие, это не должно быть критично — одна только коммерческая среда разработки под ARM может стоить больше.

Недостатки К1921ВК01Т

Какие главные недостатки нового К1921ВК01Т можно отметить уже сейчас?

• Во-первых, это несомненно сырой продукт, так как его по-настоящему программировали пока от силы человек 10-20. Когда большее количество разработчиков на него насядут, будут обнаруживаться баги — будут выходить новые ревизии. Так что готовьтесь. Но, тем не менее, двигатели им крутить можно — крутил лично.

• На текущий момент документация тоже сыровата. Ошибок там мало, но некоторые вещи объяснены… не совсем понятно. Можно было бы расписать чуть подробнее, привести примеры. Думаю, со временем она доработается.

• Микроконтроллер очень большой и навороченный. Это для кого-то плюс, для кого-то минус. Очень немногие применения охватят весь спектр его возможностей. Уже сейчас НИИЭТ думает над серией МК на его основе, с разными корпусами и набором периферии. Но пока — есть только К1921ВК01Т.

• У него специфический АЦП. Часто производители МК ставят один быстрый (12 MS/s) модуль АЦП и мультиплексируют его по нескольким каналам — например, так сделано у Texas Instruments в серии C2000. Но в К1921ВК01Т стоит 12 двухканальных медленных (1.7MS/s) модулей АЦП, работающих параллельно. Чем это плохо помимо невозможности очень быстро что-то измерить? Если АЦП в МК один, то на плате контроллера можно на два неиспользуемых канала подать калиброванные референсные сигналы, скажем, 1 В и 2 В, и по ним вычислить и скомпенсировать мультипликативную ошибку и ошибку смещения этого одного АЦП, распространив коррекцию на все каналы (АЦП же один). Когда АЦП в МК много, такой трюк не пройдет — все они будут иметь свои персональные ошибки. Трюк с калибровкой мы применяли на МК Texas Instruments типа TMS320F2810 (это описывается в даташите и рекомендуется), здесь же в К1921ВК01Т без калибровки мы получили более низкую точность АЦП по сравнению с калиброванным TMS320F2810. Нам пришлось сделать специальный стенд для калибровки независимо каждого модуля АЦП К1921ВК01Т и зашить калибровочную таблицу во встроенный EEPROM. Тогда точность аналоговых измерений получилась сравнимой (от температуры калибровка почти не уплывает — проверяли). Наверное, НИИЭТ стоит прошивать такую таблицу на заводе, было бы удобно. Но пока во флеше пусто.

• Частота 100МГц, конечно, низковата, хотелось бы быстрее. Но что есть, то есть. Хотя в некоторых местах пишут частоту 125МГц — всё зависит от температуры окружающей среды. «Цифровые решения» сообщили такую неофициальную информацию: внутри кристалл рассчитан на максимум 125 градусов. Температура на нём выше примерно на 15 градусов, чем окружающая среда. По проекту К1921ВК01Т должен работать при 85 градусах окружающей среды + запас, что гарантировано достигается на 100МГц. По факту можно разгонять МК выше 100МГц, отдельные образцы работали и на 140-170МГц, но зависит от образца. Поэтому, если кристалл не перегревать (а у него есть встроенный датчик температуры, заведен на АЦП), то его можно разгонять, если кому-то это требуется. Но если в вашем применении жарко (+85), то лучше выше 100МГц не задирать.

• Пока нет никакого официального загрузчика (программатора) через интерфейсы связи (CAN, RS). Шить МК можно только через JTAG/SWD. Соответственно, если контроллер изделия находится в закрытом корпусе, то нужно писать свой загрузчик для желаемого интерфейса связи. Или ждать, пока напишет НИИЭТ. Пока — нету, но, думаю, появится.

Заключение

Хотя какое еще заключение? Всё только начинается! Наконец-то есть отечественный микроконтроллер, на котором действительно можно сделать электропривод! До этого все существующие отечественные МК были или слабы ядром, или слабы периферией, чтобы справляться с задачами motorcontrol. Но теперь — полная свобода для самых сложных структур управления и самой сложной силовой части. Особенно хочется отметить перспективы этого микроконтроллера для станочных сервоприводов. До настоящего времени в России не было возможности изготовить полностью отечественный многокоординатный прецизионный станок, так как (одна из причин) не на чем было сделать качественный сервопривод. Теперь такой микроконтроллер есть.

  • 7
    Нет аватара Сибиряк
    18.01.1604:16:59

    Спасибо за статью! хотя добрую половину толком не понял   

    • 3
      Денис Демидович Денис Демидович
      18.01.1604:58:14

      Моя заслуга в репосте, статья автора с geektimes

      • 1
        shigorin shigorin
        18.01.1623:12:56

        Хорошо бы ему освоить абзацы, ну или Вам хоть добавить в качестве улучшения от себя. А так да, спасибо, порадовали -- хотя тоже удивился, много ли применений сходу для такой «фаршировки».

  • 6
    SergeySeverny SergeySeverny
    18.01.1605:22:33

    толковый контролер, спасибо!

  • 4
    Glass Glass
    18.01.1608:43:19

    Еще один нужный шаг в сторону развития российской электроники.

    Эх, еще бы сами контроллеры начали делать в России…

    Когда этого дождемся?   

    Отредактировано: Glass~09:44 18.01.16
    • 17
      Нет аватара Softamore
      18.01.1608:48:44

      Glass, AlexMos (Алексей Москаленко из Краснодара) уже давно успешно делает контроллеры, которые используются к примеру в половине электронных стедикамов в мире.

      • 6
        leon_777 leon_777
        18.01.1610:51:43

        в половине электронных стедикамов в мире

        Стедикам — это имеется в виду стабилизированная видеокамера, стабилизация бесколлекторными моторами мощностью около 30 Вт. Вот ссылка на сайт компании Алексея Москаленко: www.basecamelectronics.ru можно там продукцию запускать, а можно это бренд и на aliexpress брать.

        • 1
          Samboris Samboris
          18.01.1618:53:08

          Стедикам — это имеется в виду стабилизированная видеокамера

          Точняк. Раньше на стадикамщиков только отборные Муромцы отбирались. Доспехи (5-10 кг) плюс 10-15 кг камеры. И надо бегать, не один дубль.   

      • Комментарий удален
      • 1
        Максим Кошелев
        18.01.1621:33:08

        Вы про разное говорите, Glass говорит про то, чтобы сам чип в России экспонировать и паковать. А вы приводите в пример сборку из забугорных чипов и наш софт.

    • 2
      Максим Кошелев
      18.01.1621:39:55

      Некоторые уже производятся, посетите сайт ангстрема    

      «Микрон» тоже многое что делает.

  • 0
    Нет аватара Инженер2015
    18.01.1609:18:47

    Вы писали что изделие уже поставили первым клиентам. Если не секрет…из какой области клиенты? На какие виды излелий они планируют ставить этот микроконтроллер?

  • 5
    Генчик С Генчик С
    18.01.1612:12:57

    молодцы горжусь начало есть

  • 0
    Zveruga Zveruga
    18.01.1612:53:28

    Большинство современных микроконтроллеров будут «убиты» недавно созданной технологией универсальных ядер с обвязкой из FPGA.

    • 0
      Денис Демидович Денис Демидович
      18.01.1616:07:59

      транзисторов на FPGA будет всегда больше, а значит они будут дороже, некоторые вещи на FPGA не сделаешь, не сильно большой специалист, но тот же АЦП как сделать на FPGA?

      • 1
        lowly cook lowly cook
        18.01.1621:14:31

        но тот же АЦП как сделать на FPGA?

        Ну это как раз не проблема — просто возьмите ПЛИС в которой есть железные блоки АЦП.

    • 1
      lowly cook lowly cook
      18.01.1621:10:58

      Большинство современных микроконтроллеров будут «убиты» недавно созданной технологией универсальных ядер с обвязкой из FPGA.

      Ну уж не знаю насколько она недавно созданная.

      ПЛИС с встроенными процессорными ядрами были еще в 2007 г. а может и раньше.

      И все чет никак не убивается.

      Современные достаточно мощные микроконтроллеры стоят порядка 10 $. А мелкие вообще меньше доллара могут стоить.

      Даже самая чахлая ПЛИС без всяких процессорных ядер стоит дороже в разы.

      А ПЛИС от того же Воронежа стоит ахху… в общем очень много для копии бородатой Альтеры.

      Да и программистов ПЛИС в десятки раз меньше чем программистов микроконтроллеров.

      Если даже не в сотни.

      Отредактировано: Антон Смоленский~23:19 18.01.16
  • 8
    Сергей Барановский
    18.01.1613:42:05

    Отлично. И спасибо за статью — все честно и объективно, без брехни и соплей. Хорошо бы если бы все такие статьи были о нашем производстве.

  • 0
    jeka jeka
    18.01.1614:42:58

    По характеристикам не попнятно.

    А что-либо похожее на Horman Flexon или Rytec (управление асинхронными двигателями 0.1-2kWt с логикой управления) есть?

    Отредактировано: jeka~15:44 18.01.16
  • 0
    Нет аватара sonnos
    18.01.1621:31:06

    «Но при этом тактовая частота топовых ядер С28 (тот же TMS320F28335) составляет 150МГц, а частота К1921ВК01Т — 100МГц"

    Частота ядра это конечно хорошо. А флеш на какой частоте работает?

  • 1
    Нет аватара Выхухоль
    18.01.1622:03:56

    Уточните пожалуйста, а где собственно литографию делают? У нас или за бугром заказывают, а потом корпусируют?

  • 7
    Максим Лашкевич Максим Лашкевич
    18.01.1622:15:38

    Добрый день. Я автор статьи. Раз у вас накопились вопросы…

    Инженер2015

    18.01.1610:18:47

    Вы писали что изделие уже поставили первым клиентам. Если не секрет…из какой области клиенты? На какие виды излелий они планируют ставить этот микроконтроллер?

    Наша компания такой же клиент НИИЭТ, как и остальные. Но судя по интересующимся нашими отладочными платами, новые МК собираются применять по назначению — для управления электроприводами. В частности, нам звонили недавно три компании, одна антенны крутит позиционно, другая регулирует серводвигателями что-то там в работе турбин, третья наведение телескопа делает. Как-то так…

    sonnos

    18.01.1622:31:06

    А флеш на какой частоте работает?

    У флеша главный параметр — это «Задержка от установки адреса, до считывания данных из флеш-памяти». Здесь он равен 6 тактов при частоте 100МГц (в даташите пока стоит 4, это устаревшие данные). Так или иначе, код из оперативки работает примерно с той же скоростью, что и из флеша. Но тут играет специфика архитектуры — для флеша есть выделенная шина адреса, работающая только с флешом. При работе кода из оперативки через одну шину надо пускать и команды и данные, но работе кода из флеша работают уже обе шины. Потом еще есть операция подвыборки, которая кеширует следующие команды при работе из флеша. В общем, сложно всё, но совместно с работой подвыборки флеш в итоге мало тормозит работу. Если хотите, на стр. 40 даташита все описано.

    Отредактировано: Максим Лашкевич~23:23 18.01.16
    • 0
      shigorin shigorin
      18.01.1623:16:01

      SIGTHX ;-)

    • 0
      Нет аватара anpaza
      19.01.1600:17:29

      Из текста статьи непонятно, библиотека которую Вы писали — для синхронных двигателей с постоянными магнитами?

  • 1
    Максим Лашкевич Максим Лашкевич
    19.01.1609:32:11

    В тексте статьи есть ссылка на презентацию, там чуть более подробно. Самая главная библиотека, которую надо оптимизировать — это библиотека для математики с фиксированной точкой — IQ математики. Потому что считать во float по опыту получается всегда медленнее. У МК Texas Instruments есть такая библиотека для своих МК на ядре C28 — IQmath. Для ARM тоже есть CMSIS, но там форматы неудобные — типа 16.16, 1.31 и т. п. Кроме того, она медленная. Мы сделали свою библиотеку для формата 8.24, причем там есть функции синуса, деления, квадратного корня и т. п. двух видов — точные и приближенные. На основе уже этой библиотеки мы сделали библиотеку motorcontrol (по сути портировали тексасовскую) с ПИД-регуляторами, фазными и координатными преобразованиями, задатчиками интенсивности и т. п. И вот тогда мы вместились в нужную производительность. Хотя, говорят, у самого тексаса есть библиотека IQmath для ARM, надо её тоже скачать посмотреть, наверное, она тоже неплоха.

  • 0
    Нет аватара afgx
    21.01.1620:34:53

    Новость хорошая, но…

    Российские микросхемы — самые большие микросхемы в мире))

    Такой большой корпус не годится. Нужен BGA.

    Нужна своя среда разработки, заточенная под данный МК.

    • 0
      Максим Лашкевич Максим Лашкевич
      22.01.1622:34:15

      Ну почему же? Во-первых, микроконтроллер-прототип тоже такой же большой(TMS320f28335). Ну, чуть потоньше, наверное. Так что какие задачи — такие и микросхемы!

      Маленьких микроконтроллеров отечественных тоже полно всяких, и кортексы, и атмегоподобные — смотрите сайты НИИЭТ, Миландр. Среда работки для К1921ВК01Т почти любая под ARM… Keil, IAR, Eclipse+OpenOCD, что хотите. Хотите даже специально заточенную CodeMaster++[ARM].

      Отредактировано: Максим Лашкевич~23:36 22.01.16
  • 0
    Нет аватара vladtsvs
    02.02.1611:43:42

    Насчет управления электродвигателями на более простых контроллерах — я как-то сделал простое управление асинхронным двигателем на atmega48pa. Хотя там и был ряд проблем, но работает. Думаю, для уже существующих российских контроллеров можно сделать что-то подобное.

    Но если хотим что-то более сложное, то да, гораздо лучше специализированный чип.

    PS: ну и за домен они заплатить забыли(

    Отредактировано: vladtsvs~13:11 02.02.16
Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,