Публикации
Последние новости:
 
Высокие технологии
Technology
Компьютерное железо
Программное обеспечение
Интернет сегодня
AudioТехника
Средства связи
Весь спектр цифровой техники
Мир авто
Бизнес-финансы
Всё о культуре
ПроСпорт
Всё о компьютерах
Детское чтение
Мировые телекоммуникации
Пресс-релизы
 
Статьи
Мир культуры
Интересно о спорте
Покупаем:
ТурТранс
Для прекрасных дам
Усадьба, дом
 

Платный хостинг от провайдера HostSpace.com.ua - хостинг, регистрация доменов. Поддержка PHP, MySQL, почта - в каждом тарифном плане.





Программируемые системы на кристалле. Часть 2. Графический генератор приложений PSoC Express

Часть 2. Графический генератор приложений PSoC Express








Продолжаем рассказ о программируемых системах на кристалле PSoC Cypress. В данной статье вы познакомитесь с новым графическим редактором приложений PSoC Express. Даже если вы никогда в жизни не программировали микроконтроллеры и никогда не сталкивались с PSoC, вам может быть интересен и полезен данный материал, поскольку по его прочтении вы сможете делать несложные электронные устройства на базе микроконтроллера, не читая при этом его описание и не зная ни одного языка программирования.

Для начала вкратце напомним о том, что такое PSoC, и чем он полезен. Микросхема PSoC (Programmable System on Chip) компании Cypress является микроконтроллером с встроенным массивом аналого-цифровых ресурсов. Благодаря этому внутри PSoC можно реализовать обработку как аналоговых, так и цифровых сигналов. Обычно эти микросхемы используются в промышленной автоматике, охранных системах, бытовой и автоэлектронике.

В рамках данной статьи мы специально не будем углубляться в архитектуру PSoC (см. «КиТ» 42005), а также в тонкости программирования. Более того, мы попробуем сделать несколько электронных устройств, практически не вникая в характеристики элементной базы. Это стало возможным благодаря появлению нового программного обеспечения PSoC Express (на момент написания статьи — версии 1.1).

PSoC Express (PSoC Express Лого)

PSoC Express — бесплатно распространяемый генератор приложений, или, говоря проще, программа, которая позволяет создавать электронные устройства, используя только графический интерфейс. Пакет PSoC Express доступен для скачивания на сайте производителя (http://www.cypress.com/psocexpress), и может работать без каких-либо аппаратных средств.

Весь процесс проектирования условно можно разделить на 3 этапа:

  • Выбор из библиотеки элементов, которые обеспечивают входные данные:
  • Датчики температуры (микросхемы Maxim, Fairchild, National);
  • Терморезисторы с задаваемыми характеристиками;
  • Цифровой вход (Pull Up, Pull Down, High Z);
  • Входные напряжения в диапазонах 0–2,6 В, 0–5 В, 0–12 В, 0–31 В;
  • Потенциометры;
  • Кнопки, переключатели;
  • Тахометры (импульсы с датчика скорости).
  • Выбор из библиотеки элементов, которые обеспечивают выходные данные:
  • Аналоговые выходы 0–Uпит.
  • Зуммеры;
  • Ключи 10 мА (5 В), 5 А (5 В), 5 A (12 В), 10 А (48 В);
  • ШИМ 10 мА (5 В), 5 А (5 В), 5 A (12 В), 10 А (48 В);
  • Реле 5 В, 12 В, 24 В, 48 В;
  • Светодиоды (в том числе мигающие и с регулируемой интенсивностью);
  • Электродвигатели 3,3–48 В, 1–10 А (в том числе с регулируемой скоростью вращения).
  • Задание функции зависимости выходных сигналов от входных. Делается это либо посредством логических выражений (If… Then… Else…), либо с помощью таблицы соответствия.

    После выполнения операций в соответствии с этими этапами пользователь может произвести программную симуляцию проекта. Убедившись в правильности сделанных построений, можно перейти в окно «BOM/Schematic» для получения полной информации о своем проекте. В результате этого действия программа PSoC Designer сгенерирует:

  • BOM (Bill Of Materials) — полный список компонентов, использованных в проекте.
  • Полное техническое описание на проект.
  • Принципиальная схема на проект.
  • Файл прошивки для микросхемы PSoC.

    Теперь остается купить в магазине электронные компоненты согласно полученному списку, запаять их на плате по полученной принципиальной схеме и записать файл прошивки в микросхему PSoC (об этом подробно рассказывается в конце статьи). Все. Электронное устройство готово и при включении питания исправно заработает. При этом, заметьте, не потребовалось знания языков программирования Си или ассемблер, как впрочем и полного описания на PSoC.

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

    Терморегулятор

    Предположим, мы хотим сделать устройство, управляющее скоростью вращения вентилятора в зависимости от температуры по следующему закону:

    Таблица 1

    Температура < 30 °C Вентилятор выключен
    30 °C температура < 70 °C Вентилятор включен, скорость вращения минимальная
    70 °C температура < 110 °C Вентилятор включен, скорость вращения средняя
    110 °C температура Вентилятор включен, скорость вращения максимальная

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

    Шаг 1. Запускаем PSoC Express (рис. 1). Появляется рабочее окно «Design» и окно помощи.


    Рис. 1

    Закроем последнее. В левой нижней части рабочего окна «Design» находятся 4 иконки:

  • Input — входной сигнал.
  • Output — выходной сигнал.
  • Valuator — функция зависимости выходов от входов Output=f(Inputs).
  • Interface — коммуникационный интерфейс I2C.

    Нажмем на иконку Input. В результате раскроется каталог устройств (рис. 1), разрешенных для установки на входе нашего изделия. В верхней части список термодатчиков разных производителей. Выберем, к примеру, LM20 фирмы National Semiconductors. В правой части каталога можно просмотреть техническое описание и схему подключения для соответствующего элемента. Температурный датчик LM20 позволяет проводить измерения в диапазоне температур –55...+130 °C. Внутри PSoC реализован программный алгоритм, преобразующий данные с термодатчика в 16-битное целое число с дискретностью температуры 0,1 °C. Это означает, что значение температуры 117,9 °C будет сохранено во внутреннем регистре PSoC как 1179. Итак, нажав «ОК», добавляем датчик температуры в наш проект. Видим, что на рабочем столе «Design» появилась соответствующая иконка с именем Input_1.

    Шаг 2. Нажимаем на иконку Output. В раскрывшемся окне мы видим каталог устройств, разрешенных для установки на выходе нашего изделия. Спустившись в нижнюю часть каталога, можно увидеть двигатели разных типов. Выберем электродвигатель с номинальным рабочим напряжением 12 В и номинальным током 4 А. Управляющим элементом для двигателя служит MOSFET. (FAN --> Brushless DC --> Speed Control --> External Drive Fet --> 12V 2-/3-Wire). В результате на рабочем столе появится вторая иконка, обозначенная как Output_1.

    Шаг 3. Теперь необходимо задать связь между вентилятором и датчиком температуры, то есть определить функцию Output_1 = Output_1(Input_1). Нажимаем правой кнопкой мыши на иконку Output_1 и в раскрывшемся окне выбираем Transfer Function. Функция преобразования (Transfer Function) бывает трех видов:

  • Priority Encoder;
  • Status Encoder;
  • Table Lookup.

    Не вдаваясь в ненужные пока подробности, выбираем первый тип (Priority Encoder). Эта функция позволяет задавать связь в форме логических условий: if (условие) then (действие).

    Условие и действие нам необходимо задать. Рядом с окном Priority Encoder (рис. 2) открылось небольшое окно Expression Assistant — проще говоря, подсказка, с помощью которой можно увидеть имена переменных, которые могут участвовать в логическом выражении.


    Рис. 2

    Для каждой переменной присутствует необходимый комментарий. В частности, нажав в окне Expression Assistant строку Input_1, в комментарии мы увидим надпись «Scale Factor: 10». Это коэффициент масштабирования, о котором шла речь при описании свойств датчика температуры. Таким образом, если мы хотим указать температуру 30 °C, в логическом выражении мы должны написать 300, для температуры 70 °C нужно написать 700, а для температуры 110 °C — 1100. Итак, заполняем таблицу Priority Encoder следующим образом.

     if Input_1<300 then Output_1__Off
    else if Input_1<700 then Output_1__Low
    else if Input_1<1100 then Output_1__Medium
    else if 1 then Output_1__High
    

    Заметьте, что в последней строке в качестве условия стоит «1», логическая единица. Это означает, что если ни одно из предыдущих условий выполнено не было, будет принято последнее. Таким образом можно уберечь себя от ошибки в случае неопределенных состояний.

    Все! На этом процесс проектирования закончен. Все остальное — это задача PSoC Express. Последнее, что мы можем сделать - это перейти на вкладку «Simulation» и проверить работу вентилятора во всем диапазоне температур (рис. 3).


    Рис. 3

    Шаг 4. Нажмите кнопку «Built». В этот момент PSoC Express начинает создавать пакет файлов для вашего проекта, в том числе файл прошивки (*.hex) для микросхемы PSoC. Во время этого процесса вам будет предложено выбрать наиболее подходящий тип корпуса микросхемы PSoC. По окончании процесса PSoC Express создает документы:

  • BOM;
  • DataSheet;
  • Schematic.

    BOM

    BOM (Bill Of Materials) — полный список компонентов, использованных в проекте. На все компоненты приводится также номер в каталоге Digikey, с помощью которого на сайте www.digikey.com можно посмотреть краткое описание и розничную цену на данный компонент.

    DataSheet

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

    Schematic

    Фактически PSoC Express создает принципиальную схему (рис. 4), согласно которой вы должны осуществить стыковку всех компонентов устройства.



    Рис. 4

    Итак, что мы имеем? Список компонентов, схему и загрузочный код для PSoC Cypress. Мы создали законченное электронное устройство — терморегулятор, пользуясь только графическим интерфейсом.

    Электронный ограничитель скорости

    Это еще один пример создания готового электронного изделия с помощью графического генератора приложений PSoC Express. Предположим, что устройство, которое мы хотим разработать, подключено к мотору или вращающемуся валу, с которого выходит сигнал с частотой, пропорциональной скорости вращения. Наша задача состоит в том, что бы при превышении заданной предельной скорости вращения подать определенный звуковой сигнал. Попробуем сгенерировать такой звуковой сигнал с помощью зуммера. Таким образом, когда скорость вращения превышает предельный порог, предположим, 6000 об/мин, зуммер начинает пищать.

    Шаг 1. Запускаем PSoC Express и нажимаем иконку Input. В раскрывшемся каталоге выбираем самое нижнее значение(Speed --> Tachometer).В техническом описании на этот элемент видим, что он способен работать с частотами 300–25000 Гц (или об/мин).

    Шаг 2. Нажимаем иконку Output, и выбираем в каталоге зуммер на 5 В и 100 мА (Audio --> Buzzer --> 5V, 100mA drive). В результате на рабочем столе появится вторая иконка, обозначенная «Output_1».

    Шаг 3. Нажимаем правой кнопкой мыши на иконку Output_1, и в раскрывшемся окне выбираем Transfer Function. Выбираем тип функции Status Encoder, и попадаем в уже знакомое из предыдущего примера окно. Для того чтобы правильно задать функцию связи выхода с входом, заполняем таблицу Status Encoder следующим образом.

    if Input_1<6000 then Output_1__Off
    if Input_1>=6000 then Output_1__On
    

    Перейдя на вкладку «Simulation» (рис. 5), мы опять можем проверить правильность своих действий, меняя частоту оборотов и отслеживая состояние зуммера.


    Рис. 5

    Шаг 4. Нажимаем кнопку «Built». В результате получаем полный список комплектующих, техническое описание, схему и файл прошивки.

    Итак, мы сделали еще одно электронное устройство, затратив на это минимум времени и имея минимум знаний. Остается лишь рассмотреть один немаловажный вопрос — как загрузить прошивочный файл (*.hex) в микросхему PSoC Cypress?

    Есть 2 варианта:

    Вариант 1. Приобрести один из отладочных наборов, предлагаемых компанией Cypress. Подробный обзор таких наборов приведен в первой части публикации. Замечу лишь, что самое удобное — начать с набора CY3210miniprog стоимостью 860 руб. В составе набора кроме программатора есть 2 микросхемы PSoC Cypress, и последние не придется приобретать отдельно. Но если вы твердо решили обойтись минимумом средств, можете попробовать другой вариант.

    Вариант 2. Программатор для PSoC можно сделать самому. К счастью, Cypress держит открытым протокол программирования и схему программатора (рис. 6). Все необходимое всегда можно найти в Интернет по адресу http://www.macro-peterburg.ru/cypress/PSoC/PSoC_programmator.html.


    Рис. 6

    В заключение хочется отметить, что графический генератор приложений PSoC Express — это наиболее простой способ начать работу с программируемыми системами на кристалле, даже если до этого момента вы никогда не работали с микроконтроллерами вообще. PSoC Express очень хорошо подходит для постановки лабораторных работ в вузах и помощи студентам в освоении современной элементной базы. Для опытных пользователей существует более мощный и одновременно более сложный пакет PSoC Designer, позволяющий перейти на более детальный уровень проектирования, но требующий значительных знаний по программированию.



    www.compitech.ru

    Technology 07-07-2007

    Коровы различают стороны света 27-08-2008 Technology
    Германские и чешские ученые выяснили, что крупный рогатый скот способен ощущать магнитное поле Земли. Результаты исследования были опубликованы на этой неделе в журнале Proceedings of the National Academy of Sciences, сообщает Associated Press.
    Специалисты изучили спутниковые снимки 308 пастбищ в Европе, Азии, Африке, Австралии, Северной и Южной Америке с картографического сервиса Google Earth. На фотографиях были запечатлены более 8500 особей ...


    06/2008 26-08-2008 Technology
    ВПЕЧАТЛЕНИЯ
    06/2008
    Руслан ТАРАСОВ ГЛАВНЫЙ КОНСТРУКТОР КОГДА ЧЕЛОВЕК ВСЕРЬЕЗ УВЛЕКАЕТСЯ ИСТОРИЧЕСКОЙ ВОЕННОЙ АВИАЦИЕЙ И КОСМОНАВТИКОЙ, ФОТОГРАФИЕЙ И СПОРТИВНЫМИ АВТОМОБИЛЯМИ, КОЛЛЕКЦИОНИРУЕТ РУЖЬЯ И ДЕРЖИТ В ОФИСЕ ЗМЕЙ, НА РАНЧО ЛОШАДЕЙ, А ДОМА ОВЧАРКУ ПО КЛИЧКЕ САША, У НЕГО НЕ ДОЛЖНО ОСТАВАТЬСЯ НИ МИНУТЫ НА РАБОТУ. НО У ДЭВИДА ВИЛСОНА ЕСТЬ ЕЩЕ ОДНО ХОББИ — МУЗЫКА. А ПОСКОЛЬКУ ЭТО УВЛЕЧЕНИЕ ВАЖНЕЕ ПРОЧИХ, ИМЕННО ОНО И СТАЛО ДЛЯ ГЛАВНОГО КОН...


    "Отец Интернета" опубликовал программную статью 18-08-2008 Technology
      В мире / Наука и техника Интернет все еще очень молод и должны пройти десятилетия, пока человечество поймет масштаб порожденных им социальных изменений. Об этом говорится в статье, опубликованной "отцом Интернета" и вице-президентом Google Винтом Серфом (Vint Cerf) в британской воскресной газете The Observer.Он напомнил, что всего лишь в 1977 году Интернет связал три компьютерных сети, а к 1989 году доступ к нему начали предоставля...


    Иран впервые запускает искусственный спутник 16-08-2008 Technology
    Первый иранский искусственный спутник Земли будет запущен до конца следующей недели. С соответствующим заявлением выступил президент Ирана Махмуд Ахмадинеджад, сообщает РИА "Новости" со ссылкой на иранские СМИ.Ахмадинеджад не уточнял дату запуска первого иранского спутника, но заявил, что это произойдет "очень скоро". В феврале 2008 года Иран объявил о том, что создал первый в стране космический центр, из которого скоро будет запущен...

    Занятие сельским хозяйством в юном возрасте может привести к заболеванию костей 19-07-2008 Technology
    Не смотря на то, что ежедневное занятие сельским хозяйством в юном возрасте хорошо поддерживает форму, это может привести к проблемам с костями в более позднем возрасте. Эксперты университета Цинциннати утверждают, что раннее знакомство с работой, связанной фермерством, может негативно сказаться на здоровье в дальнейшем. Люди, занимающиеся сельским хозяйством, зачастую поднимают чрезмерный груз, который влияет на механические свойства развития ко...

    В Великобритании редкий вид бабочек выжил после пожара 14-07-2008 Technology
      В мире / Наука и техника Редкий вид бабочек - аргус голубянка - выжил после пятидневного пожара 2006 года в заповеднике Турслей в графстве Суррей, Великобритания. Согласно результатам последнего подсчета числа особей, в заповеднике обитает 126 голубянок. Это более чем на 100 особей больше, чем насчитывалось в Турслее в 2007 году, сообщает BBC News.По словам управляющего заповедником Турслей Симона Нобса (Simon Nobes), биологи опаса...
  •  
    При любом использовании материалов сайта ссылка на сайт www.archive.com.ua обязательна.
    Rambler's Top100 Рейтинг@Mail.ru