цифровая электроника
вычислительная техника
встраиваемые системы

 

10 проектов, показывающих универсальность Raspberry Pi

Автор: Mike(admin) от 5-10-2013, 11:59

Где только можно не встретить Raspberry Pi? С помощью этого мини-ПК было сделано множество забавных проектов, к нему было выпущено большое количество аксессуаров. Но на этом потенциал Raspberry Pi не заканчивается. Люди используют его на кухне, в телефоне и даже в голове робота R2D2 из Звездных воин.


Raspberry Pi

Где еще?

Операционные системы реального времени — как они работают?

Автор: Mike(admin) от 2-10-2013, 18:18

Когда мы слышим термин «операционная система», первое, что приходит нам в голову, это то, с чем мы имеем дело практически ежедневно — Windows, Linux, Ubuntu, Android. В основном мы связываем операционные системы с персональными компьютерами, но большинство цифровых электронных устройств также работает под управлением какой-то операционной системы. В мире уже насчитывается немало операционных систем, разработанных для микроконтроллеров, и они нам знакомы под названием Операционные Системы Реального Времени (ОСРВ, Real Time Operating System, RTOS). Словосочетание «реального времени» означает, что отклик ОСРВ должен быть быстрым на сколько это возможно или необходимо для данной задачи. У микроконтроллеров не так много памяти для хранения кода, поэтому ОСРВ содержат в себе только самые важные и нужные для работы элементы и функции. Они обеспечивают небольшие системы минимальным числом необходимых потоков, планированием и мониторингом нескольких задач.


операционная система реального времени

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


Вещам нужен выход в Интернет? 11 модулей беспроводной связи для прототипирования

Автор: Mike(admin) от 30-09-2013, 12:43

Наступление эпохи Интернета вещей не было бы возможно без аппаратного обеспечения, позволяющего подключать устройства к Интернету. Поэтому ниже будет приведен ряд новейших беспроводных модулей и сервисов, благодаря которым можно соединять приборы друг с другом или с облаком.


Интернет вещей

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


На самом ли деле ассемблер так хорош?

Автор: Mike(admin) от 28-09-2013, 11:25

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


ассемблерные инструкции

Получение оптимального кода


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


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


USB 3.0: что нужно знать разработчику?

Автор: Mike(admin) от 22-09-2013, 17:45

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


USB 3.0

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

ТАУ. Оператор Лапласа и передаточные функции.

Автор: Mike(admin) от 22-09-2013, 17:15

Любая часть системы управления, будь то регулятор, объект или датчик, имеет вход и выход. С помощью входов и выходов они взаимодействуют с другими элементами системы и с внешней средой. При воздействии входного сигнала на элемент системы, в этом элементе происходят какие-то внутренние изменения состояния, которые приводят к изменению выходного сигнала. То есть элемент системы представляет собой некоторую функцию зависимости y от x. Это можно изобразить на рисунке 1.


звено со входом и выходом

Рисунок 1 – элемент системы управления с входом и выходом

Определение функции F(x) и есть, по сути, основная задача, решаемая в рамках теории автоматического управления. Знание F(x) объекта поможет составить правильный алгоритм управления им, F(x) датчика определит характер обратной связи, а синтез F(x) сделает систему по-настоящему работоспособной. Саму F также иногда называют оператором, поскольку она оперирует входным сигналом.


Советы для разработчиков аппаратного обеспечения при программировании на языке C

Автор: Mike(admin) от 18-09-2013, 13:58

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


Совет 1 — не используйте goto


Примерно пару десятилетий назад, когда компьютерное программирование, каким мы его знаем сегодня, пребывало в состоянии младенчества, последовательность выполнения программ в первую очередь определялась командой goto. Она позволяет перепрыгнуть с одной части кода к другой. Вот как это выглядит:


использование goto

Листинг 1 — использование goto

Микроконтроллеры семейства PIC32. Модуль UART.

Автор: Mike(admin) от 9-09-2013, 07:43

UART или универсальный асинхронный приемопередатчик присутствует практически во всех микроконтроллерах. Он позволяет обмениваться данными с периферийными устройствами и персональными компьютерами по протоколам RS232, RS485, LIN, IrDA.


PIC32 UART


Передача и прием данных с помощью UART в PIC32 производятся по линиям UxTX (для передачи) и UxRX (для приема). Кроме того, для более надежного использования UART в микроконтроллере предусмотрено аппаратное управление потоком данных, реализуемое с помощью выводов UxCTS и UxRTS.


Правила использования прерываний

Автор: Mike(admin) от 6-09-2013, 18:00

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


I love Interrupts

  • Постарайтесь делать обработчик прерываний как можно короче. В идеале он должен быть не более полстраницы кода на языке C. Если пишите на ассемблере, то постарайтесь уместить код максимум на одной странице. Длинные обработчики, могут нарушить время работы программы.

  • Время выполнения кода в обработчике также должно быть сведено к минимуму. 100-200 тактовых циклов хватит вполне, хотя насчет точного количества можно подискутировать. Если вам нужно много чего обработать, то лучше сгрести данные в буфер ожидания и позволить основному циклу или подпрограмме не-обработчика сделать все остальное.

  • Стоит знать наихудшее время выполнения обработчика, тогда можно планировать программу для работы в реальном времени. Избегайте циклов, потому что они делают проблемные места еще «проблемнее», и программа может войти в бесконечный цикл из-за мелочи, о которой вы даже не подозревали.

ТАУ. Основы основ.

Автор: Mike(admin) от 3-09-2013, 18:45

В наше время в мире насчитывается огромное количество различных автоматических систем, их число с каждым годом постоянно увеличивается. И все они требуют качественного оптимального управления, принципы которого на стадии проектирования должен заложить в них разработчик. Ведь умный дом нагревает комнату до желаемой температуры не потому, что он внезапно чудесным образом поумнел, а квадрокоптер так лихо летает не из-за того, что в нем где-то спрятана магия! Магии здесь никакой нет, во всем виновата теория автоматического управления или просто ТАУ.


структура САУ

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