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

 

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

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

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


I love Interrupts

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

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

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

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

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

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


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

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

25 классных вещей, которые можно сделать с помощью Raspberry Pi

Автор: Mike(admin) от 29-08-2013, 16:00

Появление в 2012 году миникомпьютера Raspberry Pi пробудило творческую жилку у многих людей, что породило множество новаторских подходов к вычислительным системам, не виданных со времен восьмибитников.


Действительно, можно сказать, что вновь наступил золотой век компьютерной техники. В связи с этим ниже будут представлены 25 проектов, которые можно сделать с Raspberry Pi.


1. Mod My Pi


Mod My Pi


Mod My Pi предоставляет огромный выбор корпусов различных оттенков, выполненных по современной технологии литья пластмасс. И цена у них вполне приемлемая.

Двигатели постоянного тока и управление ими с помощью широтно-импульсной модуляции. Часть 2.

Автор: Mike(admin) от 29-08-2013, 15:41

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


IRS21094


Как-то понадобилось мне запустить движок Д21 У3. Это ДПТ средней мощности с независимым возбуждением. Вот его основные электрические параметры:

Знакомство с программируемыми логическими интегральными схемами типов FPGA и CPLD

Автор: Mike(admin) от 29-08-2013, 15:23

В первой половине 60-х годов прошлого столетия электронные устройства разрабатывались на основе дискретных компонентов. Цифровые системы были похожи на лабиринты из лапши проводов, соединяющих компоненты. Однажды собрав схему, было сложно ее переделать. Иногда разработчики забывали о том, для чего вообще они проектировали свое устройство! Изготовление таких систем было очень затруднено, а при их починки или переделке у инженеров просто закрывались глаза от ужаса. Производители микросхем решили этот вопрос путем интеграции на одном кристалле не соединенных между собой вентилей ИЛИ-И, что в итоге назвали программируемым логическим устройством (programmable logic device или PLD).

PLD содержит в себе массив соединителей (предохранителей), которые могут быть разомкнуты (разорваны) или замкнуты для подключения к вентилям различных выводов. Мы можем запрограммировать PLD с помощью булевых выражений в виде суммы произведений, и тогда микросхема будет выполнять требуемую функцию.

Двигатели постоянного тока и управление ими с помощью широтно-импульсной модуляции. Часть 1.

Автор: Mike(admin) от 29-08-2013, 13:46

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


ДПТ


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

Микроконтроллеры семейства PIC32. Прерывания.

Автор: Mike(admin) от 29-08-2013, 13:18

Говоря простым языком, прерывание это какое-либо внешнее или внутреннее событие, требующее от процессора немедленной реакции на него. При этом выполнение текущей программы на время завершается, процессор сохраняет значения служебных регистров, входит в обработчик прерывания, обрабатывает это прерывание, по выходу восстанавливает служебные регистры и вновь возвращается к месту выполнения основной программы, на котором его прервали. Вообще, в ядре MIPS (а в PIC32 используется именно оно) все прерывания попадают в категорию исключений. К исключениям здесь относится все, что «мешает» нормальной работе основной программы. Например, выполнение процедуры сброса – исключение, ошибка при делении – исключение, и, конечно же, различные прерывания, как внутренние, так и внешние, тоже исключения.


Прерывания


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

Микроконтроллеры семейства PIC32. Работа с таймерами.

Автор: Mike(admin) от 29-08-2013, 13:08

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


Таймеры


В PIC32 имеется два типа таймеров – таймеры A (по сути, он один – TMR1) и таймеры B (TMR2, TMR3, TMR4, TMR5). Все они 16-разрядные, могут тактироваться от внешнего или внутреннего источника и вызывать прерывания. Но таймер A может работать в качестве асинхронного таймера/счетчика, тактируемого от отдельного осциллятора, функционировать в спящем режиме микроконтроллера и иметь предделитель со значениями 1:1, 1:8, 1:64, 1:256. Таймеры B могут формировать в паре один 32-разрядный таймер, иметь предделитель со значениями 1:1, 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:256, влиять на срабатывание триггера события.

Микроконтроллеры семейства PIC32. Первый проект.

Автор: Mike(admin) от 29-08-2013, 12:37

Компания Microchip давно и широко известна отечественным радиолюбителям благодаря линейке дешевых 8-битных микроконтроллеров, которые успели найти себе применение в различных приложениях, вроде терморегуляторов, сенсорных устройств, приборов малой автоматизации и т.д. и т.п. Там российский разработчик не брал МК компании Atmel (прямой конкурент Microchip), он пользовался именно PIC’ами. Выбирать особо не приходилось. STM, NXP, TexasInstruments и уж тем более Renesas лет 10-15 назад были не так широко представлены на отечественном рынке по сравнению с сегодняшним днем. Да и PIC’и и AVR’ки были просты в освоении, в первую очередь благодаря немалому количеству русскоязычной документации. Но потом эти компании начали массово выпускать 32-разрядные микроконтроллеры (преимущественно с ядром ARMCortex) и заполнять ими мировые рынки. Чтобы не увидеть себя в хвосте этой гонки и не прослыть компанией, выпускающей «DIP’овых тараканов для самопайщиков», Microchip в 2007 году вывела на рынок свои 32-битные микроконтроллеры семейства PIC32.


15 дополнений, превращающих Raspberry Pi в рабочую лошадку

Автор: Mike(admin) от 29-08-2013, 11:59

В июне 2013 года Королевская инженерная академия присудила престижную награду Серебряную медаль доктору Эбену Аптону, соучредителю Raspberry Pi Foundation.


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


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