Рубрика «встраиваемые системы»

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

Мезонинные модули стандарта FMC для построения высокопроизводительных систем обработки сигналов - 1
Мезонинный модуль стандарта FMC
Читать полностью »

Этот пост будет интересен для тех, кто хочет посмотреть, как выглядит российское высокотехнологическое производство электронного оборудования, а именно встраиваемых систем.

Российское производство встраиваемых систем - 1

Для тех, кто не знает, что такое встраиваемые системы, простыми словами – это процессорные платы и периферийные модули различных форматов, например, CompactPCI, PC/104, MicroPC, которые встраиваются в разнообразные системы: от промышленной автоматизации до телекоммуникационного оборудования.

Для тех, кто все это знает – не принимайте на свой счет.
Читать полностью »

В этом году марсоход Opportunity отмечает свое 12-летие на красной планете. Марсоход был высажен 24 января 2004 года и до сих пор продолжает функционировать.
Марсоход «Оппортьюнити» совершил посадку в кратере Игл, на плато Меридиана. В настоящее время Opportunity находится в районе кратера Индевор, тем самым пройдя более 40 км от своего первоначального положения
image
NASA/JPL/Cornell University, Maas Digital LLC — photojournal.jpl.nasa.gov/catalog/PIA04413

Марсоход управляется двумя компьютерами на базе стандарта CompactPCI, спроектированными и построенными инженерами компании BAE Systems.
Когда Opportunity приземлился, команда НАСА думала, что суровый марсианский климат сделает его неработоспособным в течение нескольких месяцев. Запланированный срок работы марсохода был равен примерно 90 суток. Но марсоход, получающий энергию только от солнечных батарей, все еще собирает данные.Читать полностью »

Я люблю Qt. Честно-честно. Я начал изучать его на грузовом пароме из Травемюнде в Хельсинки в компании пьяных дальнобойщиков, их полупьяных подруг, автоперегонщиков и просто забулдыг, которым суточное путешествие по морю позволяет эффективно бороться с суровостью финских антиалкогольных правил. Каюты у меня не было, Интернета тоже, так что к концу поездки я уже довольно бодро тасовал QML-теги и даже необходимость использовать QString не вызывала былой икоты. Нет-нет, я в самом деле люблю Qt.

Но еще сильнее я люблю Turbo Vision. Для меня он — привет из молодости, когда мир был проще, когда люди не таскали туда-сюда могучие фреймворки, задачи на четыре строчки решались четырьмя строчками и никому не приходило в голову рисовать тривиальные картинки с помощью HTML, CSS и джаваскрипта. Когда кнопку можно было поставить в точку X и быть уверенным, что она останется там в любую погоду. Когда задачи не решались методами “скачать” и “установить”, а также “подобрать” и “сконфигурировать”. Когда запрещалось использовать код, у которого “неизвестно, что там внутри”, а любую проблему можно было отладить за конечное число шагов. Когда документация представляла собой книжку, а не распечатку с форума.

Посему, когда у нас однажды встала задача “рисовать на чем угодно”, включая разные ЖК-мониторы, электронную бумагу, удаленные экраны и даже файлы во флэше, и все это из нескольких разных операционных систем, у меня зачесались руки.

Рисовать UI для нас — задача непрофильная и всегда решалась по остаточному принципу, не барское это дело — кнопочки по экрану расставлять. Но, раз приперло, надо делать.
Вы понимаете, о чем я? Да, мы написали свой Qt. Вернее, конечно, не его, поскольку нет смысла переписывать уже написанное.

Читать полностью »

В последние годы фокус интересов компании Microsoft сместился в сторону облачных технологий, интернета вещей (IoT) и связанных с ними сервисов. При этом, многие устройства, взаимодействующие с облачными сервисами, имеют у себя на борту операционные системы (ОС). Ярким примером может служить Windows 10, выпущенная в 2015 году, которая претендует на роль универсальной системы практически для любых типов устройств.
Читать полностью »

Доброе время суток, дорогие друзья!
Первым делом хотелось бы с лучшими пожеланиями поздравить всех с минувшими новогодними праздниками!
Ранее в статье была анонсирована разработка RNDIS USB драйвера для контроллеров серии STM32F4. С тех пор библиотека постепенно развивалась и нынче доросла до первой release-версии. Библиотека под названием LRNDIS (LWIP + RNDIS) позволяет нам создавать на базе контроллера STM32F4 как устройства класса USB «модем», так и любые другие устройства с управлением через web-интерфейс. Пример управления платой stm32f4-discovery из web-браузера на Android-планшете представлен на видео:

На странице видеоролика представлена ссылка на исходные коды и HEX-файл прошивки для платы discovery, с которым вы сможете повторить данный эксперимент. В статье рассказано о том, как и когда технология доступа через WEB-интерфейс полезна, а также — как работает библиотека LRNDIS для контроллеров STM32F4. Также присутствует обучающий материал о работе USB и устройстве Ethernet-сетей.
Читать полностью »

Однажды в студеную зимнюю пору… ровно год назад, у нас появилась нетривиальная задача. Есть экран на электронных чернилах, есть процессор 16МГц (да-да, во встраиваемой электронике, особенно сверхнизкого энергопотребления, встречаются и такие) и совсем нет памяти. Ну, т.е. килобайтов 8 RAM и 256 Flash. Килобайтов, Карл. И в эти унылые килобайты необходимо запихнуть несколько изображений 800х600 в четырех оттенках серого. Быстро перемножив в уме 800 на 600 и на 2 бита на пиксель получаем 120 тысяч байтов. Несколько не влезает. Надо сжимать.

Так перед нами появилась задача: «как сжать плоского кота»? Почему кота? Да потому, что на котиках тестировали, на чем же еще черно-белые картинки проверять. Не на долларовых банкнотах же.
Читать полностью »

Резюме: Если вы периодически обновляете некоторое значение в EEPROM каждые несколько минут (или несколько секунд), вы можете столкнуться с проблемой износа ячеек EEPROM. Чтобы избежать этого, требуется снижать частоту записей в ячейку. Для некоторых типов EEPROM даже частота записи чаще чем один раз в час может быть проблемой.

Читать полностью »

В статье рассмотрены вопросы конструктивной реализации бортовых высокопроизводительных компьютеров с кондуктивным охлаждением на базе вычислителей формата CompactPCI Serial.

Введение

Автоматизированные системы управления, устанавливаемые на различных подвижных объектах, на сегодняшний день являются сложными и многофункциональными комплексами, обеспечивающими решения самого широкого круга задач. При этом в зависимости от типа объекта-носителя они могут либо помогать человеку-оператору и расширять его возможности (классический пример – бортовой комплекс авионики на пилотируемом самолете), либо быть основным (иногда единственным) центром управления какого-либо самоходного аппарата-робота (беспилотные ЛА, подводные необитаемые аппараты, космические аппараты и т.д.). Сердцем таких систем управления является бортовой вычислительный комплекс – специализированный компьютер, находящийся, как правило, под управлением операционной системы реального времени и подключённый при помощи периферийного оборудования к системам сбора информации и управления объектом-носителем [1].
Читать полностью »

При конвертации проекта из плавающей точки в фиксированную точку инженеры должны определить оптимальные типы данных в фиксированной точке. Эти типы данных должны удовлетворять ограничениям встраиваемой аппаратуры, при этом удовлетворяя системным требованиям по точности вычислений. Fixed-Point Designer™ помогает разрабатывать алгоритмы в фиксированной точке и конвертировать алгоритмы из плавающей точки в фиксированную точку, автоматически предлагая типы данных и атрибуты арифметики в фиксированной точке. При этом предоставляется возможность сравнения результатов симуляции в фиксированной точке с точностью до бита с эталонными результатами в плавающей точке.

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

Подготовка кода к переводу в фиксированную точку
Есть три шага, которые следует предпринять для обеспечения плавного процесса конвертации:

  1. Отделить основной алгоритм от остального кода.
  2. Подготовить код для инструментирования и ускорения.
  3. Проверить используемые функции на поддержку фиксированной точки.

Читать полностью »