• Обзор одной российской RTOS

      Здравствуйте!

      Мной подготовлена серия статей, посвященных конкретной российской ОСРВ, одним из создателей которой я являюсь. Получилась своеобразная «Книга знаний», неформальное руководство для программиста, которое, надеюсь, поможет тем, кто эту ОСРВ использует.

      Я расскажу об особенностях работы этой ОСРВ. Если о чём-то другом, то только потому, что без этого будут непонятны особенности.

      Ниже я расскажу об особенностях ОСРВ вообще, и об особенностях ОСРВ МАКС в частности. Представлю ее архитектуру.

      В дальнейшем я буду регулярно размещать новые публикации: вторая будет посвящена ядру системы, в последующих я представлю структуру простейшей программы, работающей под управлением ОСРВ МАКС с элементами кода, расскажу, как настроить ОСРВ МАКС для работы, затрону вопросы строгой типизации и драйверов.
      Читать дальше →
    • С++ обертка для «всех» Операционных Систем Реального Времени для CortexM4

        image

        Я уже рассказывал о том как можно использовать FreeRtos для проектов, написанных на С++ в статье STM32, C++ и FreeRTOS. Разработка с нуля. Часть 1. С тех пор прошло целых 3 года, я серьезно постарел, потерял кучу нейронных связей, поэтому решил встряхнуть стариной для того, чтобы эти связи восстановить и замахнуться на обертку для «любой» популярной ОСРВ. Это конечно шутка, я намеренно взял «всех» в кавычки, но в каждой шутке есть доля правды.
        Читать дальше →
      • Пишем модуль ядра Linux: GPIO с поддержкой IRQ

        • Tutorial
        Хабр, привет!

        Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request).


        Читать дальше →
      • Chisel — (не совсем) новый подход к разработке цифровой логики


        С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального программирования к разработке rtl, что является достаточно долгожданным шагом, который может наполнить свежим воздухом легкие разработчиков ASIC и FPGA.


        В этой статье будет дан краткий обзор основного функционала и рассмотрены некоторые юзкейсы использования, также поговорим о недостатках этого языка. В дальнейшем, если тема будет интересна, продолжим статью в более детальных туториалах.

        Читать дальше →
      • Альтернативы кобальту, этому кровавому алмазу от батареек

        • Перевод
        Необработанная медно-кобальтовая руда

        Когда Джон Гуденаф создал первый перезаряжаемый литий-ионный аккумулятор в Оксфорде в 1980-м [точнее, разработал катод для него / прим. перев.], ему понадобился кобальт. Эксперименты уже показали, что этот металл обладает большой плотностью энергии и идеально подходит для маленьких батареек, требующих много энергии. Поэтому Гуденаф добыл кобальт самостоятельно, разогревая прекурсоры до очень высоких температур.

        Сегодня кобальт присутствует в большинстве коммерческих литий-ионных аккумуляторов – но за это приходится платить. Да, этот серебристый металл стоит дорого. Но у него есть и более мрачная цена: длинная история нарушения прав человека, включая использование детей на горнодобывающих работах, связанных с производством металла в Демократической республике Конго. Компании, производящие электронику и электромобили, не хотят расплачиваться за это и демонстрировать свою причастность к этим зверствам, поэтому они пытались урезать количество используемого кобальта. Компания Panasonic, поставщик батареек для Tesla, в июне объявила о разработке батарей, которым не требуется кобальт. Они заручились помощью учёных: Гуденаф и другие специалисты уже разработали перезаряжаемые аккумуляторы, которым не требуется кобальт.
        Читать дальше →
      • Разработка интерфейсных плат на SoC Xilinx Zynq 7000 для записи речи в аналоговом и цифровом формате



          В этой статье мы поделимся опытом разработки интерфейсных плат блока сопряжения на базе SoC ARM+FPGA Xilinx Zynq 7000. Платы предназначались для записи речевых сигналов в аналоговом и цифровом формате PRI/BRI (ISDN, E1/T1). Само конечное устройство будет использоваться для фиксации переговоров в гражданской авиации.
          Читать дальше →
        • PWD13F60 + STM32F4: инвертор на 1 кВт в кармане

            После написания статьи о принципах работы DC/AC преобразователей, достаточно много людей в комментариях просили пример реализации данной идеи в железе. Я обещал по возможности порадовать их чем-то интересным и эта возможность мне выпала. Поэтому данная статья в первую очередь посвящается людям, которые жаждали «железа».

            Несколько недель назад один из моих знакомых, зная, что я люблю силовую электронику, скинул мне сообщение в котором была рекламная ссылка от STMicroelectronics. В данной ссылки расказывалось о новом решение от ST в области силовой электронике — PWD13F60. У меня само понятие «силовая электроника» в первую очередь ассоциируется с TI, Infineon, Linear, но никак не с ST. Мой взгляд на ST, как на «силового» производителя, пал в первый раз, когда вышел великолепный контроллер — STSPIN32F0. Второй раз я посмотрел именно сейчас.

            PWD13F60 — это микросхема, в корпусе на подобии QFN, в которой уже содержится полный мост, то есть 4 высоковольтных Mosfet, а также драйвера к ним. Первая идея, когда у меня появилась при ознакомление с даташитом: «О, да это же киловатт в кармане!», отсюда и название статьи. Я не очень люблю различные отладочные платы и предпочитаю сразу делать какой-то «боевой» проект. На базе героя данной статьи было решено сделать DC/AC инвертор.

            Статью я решил разбить на две части: схемотехника и код. Сегодня я раскажу о схемотехническом решение, поделюсь библиотеками, дизайном и первыми впечатлениями. Во второй части мы реализуем принципы управления, которые были описаны в моей первой статье.


            Читать дальше →
          • Разработка ПО для DSP TMS320F28 motor control

              В своей первой статье я обмолвился о данном семействе контроллеров, мне в лс написал не один десяток людей с вопросами о нем, хотя это и не являлось темой статьи. В гугл народ категорически не хотел идти, говоря об отсутствии информации. Я немного удивился и решил проверить — действительно на русском языке по семейству C2000 нет практически ничего (на фоне AVR, STM), а главное нет понятных стартовых гайдов. Информацию можно найти на английском языке, но опять же ее мало. Для меня это несколько удивительно, учитывая, что данному семейству лет уже не мало. Поэтому решено было в меру своих возможностей повлиять на ситуацию.

              Кому эти контроллеры в принципе нужны… Вы хотите собрать себе сварочный инвертор? Источник бесперебойного питания? Выпрямитель для гальванической ванны? Частотник? Инвертор для альтернативной энергетики? Станок с ЧПУ? Если хотя бы один пункт про вас, то статья посвящается именно вам!

              Остальным читателям тоже будет интересно узнать о «новом-старом» контроллере, зачем он нужен и как с ним работать. Данное семейство очень простое (сильно проще STM, LPC и прочих Cortex-ов), камни легко купить (на Али тоже есть), позволяют реализовать сверхнадежные промышленные решения, на их основе можно построить практически любую промышленную систему управления.

              Вы уже решили, что данный контроллер ваша мечта и готовы ринуться в бой? Тогда покупаем за 17$ вот такую отладку F28027-LaunchPad:


              Купили? Вот теперь можно и в бой. Если возник вопрос где купить «получше» и «подешевле», то идем в официальный магазин. Переходим сюда и видим ценник 17$. За эту сумму вы получите оригинальную отладочную плату и доставку курьером до двери. Я заказывал один раз в Китае на сдачу, вышло 16$ и это со скидкой и купоном, так еще и как «бонус» поход на почту. Поэтому рекомендую именно официалов. Поехали!
              Читать дальше →
            • Планарный трансформатор: технология, расчеты, стоимость

                Не так давно ко мне обратилась одна компания, которой необходимо было разработать линейку LED-драйверов. Название компании и ТТХ драйверов называть не буду, NDA не подписывал, но этика есть этика. Вроде бы обычный заказ на драйвер, каких десяток за год набирается, но было два взаимоисключающих требования: стоимость и габариты.

                Задача с точки зрения схемотехники простая, но вот с точки зрения производства и конструирования оказалась очень интересной. И так — требовалось изготовить сетевой драйвер для LED с корректором коэффициента мощности (мощность около 100 Вт), который стоил был в пределах 3$ на серии и имел габариты по высоте не более 11 мм! Многие скажут: «А в чем проблема сделать дешманский драйвер?», вот только дешманский не прокатит, т.к. еще одно требование — возможно давать без опасений 5 лет гарантии. И вот тут начинается самое интересное.

                Был сделан выбор топологии, схемотехника, все влезало в габариты и стоимость, но столь замечательную картину портил «классический» трансформатор. Он огромный, он дорогой, он технологически сложный в изготовление. Оставалось решить последнюю задачу и после двух дней в раздумьях и расчетах оно было найдено — планарный трансформатор.

                Если вам интересно между чем и чем делался выбор, на каких аргументах он основывался и как удалось получить стоимость трансформатора меньше 0.5$, то приглашаю вас в подкат. Ну и для улучшения «аппетита» прилагаю вам фото готового трансформатора:


                Читать дальше →
              • DC/AC инвертор: принцип работы, схемотехника, встроенное ПО

                Импульсные преобразователи и силовая электроника в целом, всегда оставались чем-то сакральным для большинства любителей и профессионалов в области разработки электроники. В статье освещается пожалуй самая интересная тема в среде DIY-щиков и фанатов альтернативной энергетики — формирование синусоидального напряжения/тока из постоянного.

                Думаю многие из вас наверняка видели рекламу, либо читали статьи, где была фраза «чистый синус». Вот именно о нем и пойдет речь, но не о маркетинговой составляющей, а о исключительно технической реализации. Я постараюсь максимально понятно рассказать о самих принципах работы, о стандартных (и не очень) схемотехнических решениях и самое главное — напишем и разберем ПО для микроконтроллера STM32, которое и сформирует нам необходимые сигналы.

                Почему STM32? Да потому, что сейчас это самый популярный МК в СНГ: по ним много обучающей русскоязычной информации, есть куча примеров, а главное эти МК и средства отладки для них — очень дешевые. Скажу прямо — в коммерческом проекте я бы поставил только TMS320F28035 или подобный DSP из серии Piccolo от TI, но это уже совсем другая история.

                Важно одно — STM32 позволяет стабильно управлять простыми «бытовыми» силовыми преобразователями от которых не зависит судьба мира работа какой-нибудь АЭС или ЦОДа.



                Вот такую картину управляющих сигналов необходимо получить, чтобы превратить ток постоянный в переменный. И да — тут именно синус! Как в том фильме: «Видишь суслика? — Нет. — А он есть...»

                Интересно узнать каким образом формируется синус? Хочется узнать как все-таки качают нефть киловатты энергии? Тогда добро пожаловать под кат!
                Читать дальше →