PSoC. Глава 0. Введение. Первый пример

Введение

Компания Cypress Semiconductor занимается довольно обширным кругом деятельности, начиная от сенсорных панелей, заканчивая беспилотными системами управления автомобилей.  Главный офис фирмы расположен в Америке, в штате Калифорния. По данным википедии, за 2012 год размер компании составляет около 3600 человек. На сегодняшний день фирма поставляет на рынок серию микроконтроллеров PSoC (Programmable System-on-Chip), сопутствующую им обвязку и программное обеспечение. К сожалению, в странах СНГ эти названия слышатся редко, а девайсы Cypress попадают к нам в руки ещё реже. В данном цикле статей мы будем исправлять данное положение. Подразумевается, что читатель обладает базовыми познаниями микроэлектроники и программирования.

Аппаратное обеспечение

Наш подопытный будет CY8C29466 – 24PXI. Цена на официальном сайте за штуку составляет 4.58$ (дата написания статьи январь 2014г).

Технические характеристики:

Ядро

M8C

Ширина шины данных

8 bit

Максимальная тактовая частота

24 MHz

Размер программной памяти

32 KB

Размер ОЗУ данных

2 KB

Рабочее напряжение питания

3 V to 5.25 V

Диапазон рабочих температур

— 40 C to + 85 C

Разрядность АЦП

14 bit

Доступные аналоговые/цифровые каналы

12

Размер ПЗУ данных

32 KB

Количество программируемых входов/выходов

24

Серия процессора

CY8C29x66

Плата, на которой он будет сидеть это CY3210-PSoCEval1.

Иногда в статьях будут приводиться вырезки из оригинальной документации, которую можно найти на сайте http://www.cypress.com или непосредственно связавшись со мной http://vk.com/id26632194, буду рад всем помочь. Если видите текст на английском языке на скриншотах или в виде вставки в текст, то скорее всего это из оригинальной документации.

На плате располагаются следующие устройства:

  • Сокет для микроконтроллеров серий — CY8C21xxx, CY8C22xxx, CY8C24xxx, CY8C27xxx, CY8C29xxx
  • Область проектирования (Prototyping Area). Ряд из пяти контактов — это один узел.
  • Интерфейс для программатора (ISSO Programming Header).
  • Разъем для батарейки.(9-V Battery Terminals).
  • Разъем для блока питания (DC Supply Jack).
  • Регулятор напряжения (Voltage Regulator).
  • RS-232 трансивер (RS-232 Transceiver).
  • Интерфейс ком порта (RS-232 Interface).
  • Три перемычки. Одна для режимов питания, две другие для передачи данных. (JP1,JP2,JP3).
  • Кнопка перезапуска (Reset switch).
  • Входы/выходы UART’а (UART RX/TX pin).
  • Индикатор напряжения на плате (Power LED).
  • Интерфейс для LCD экрана (Character LCD Interface).
  • Потенциометр (Potentiometer) – свободный.
  • 4-ре светодиода – свободные.
  • Кнопка (Push Button Switch) – свободная.
  • За 40$ (у российских поставщиков немного дороже) на официальном сайте можно заказать Development Kit, в который входит:

  • Выше описанная плата CY3210-PSoCEval1.
  • Два микроконтроллера CY8C29466-24PXI и CY8C27443-24PXI.
  • LCD экран.
     
  • USB программатор.
  • Провод к программатору.
  • Если все это (или похожие по конфигурации оборудование у вас есть), то можно качать программное обеспечение по ссылке http://www.cypress.com/?rID=2541&source=shop или устанавливать его из комплекта поставки. Неприятным моментом будет то, что потребуется регистрация. И хотя на сайте раздаётся две софтины, PSoC Designer и PSoC Programmer. Нам потребуется лишь первая. Так как функционал для прошивки чипа включён в комплект дизайнера.

    Программное обеспечение PSoC Designer 5.3

    Программирование в среде PSoC Designer 5.3 осуществлено на достаточно высоком уровне (хотя и программированием это назвать с уверенностью нельзя, это что-то среднее между программированием и моделированием). Основное рабочие пространство среды представляет собой схему чипа. На которой располагаются свободные блоки (а если вы уже что то добавили то не свободные) для установки модулей микроконтроллера. Это могут быть различные ЦАП, АЦП, контроллеры дисплея, трансиверы данных, программируемые усилители, таймеры, счетчики, датчики температуры (имеется ввиду, встроенные в микросхему), пользовательские блоки и так далее. Цифровые модули располагаются в верней части рабочего пространства, аналоговые — в нижней. В рабочую зону входят так же шины, на которые вешаются входы и выходы аналоговых и цифровых модулей, которые в свою очередь связываются с портами(так называемые ноги микроконтроллера). Для большей наглядности я загружу какой-нибудь проект и опишу оставшиеся части интерфейса.

  • Верхняя часть рабочего пространства. Предназначена для формирования цифровой начинки микроконтроллера. Выбираем нужный нам модуль из окна 5. Перетаскиваем его на один из свободных прямоугольников (количество занимаемых областей может изменяться в зависимости от сложности конструкции модуля). Далее выход блока выводим на шину, а шину на выход.
  • Нижняя часть рабочего пространства. Предназначена для формирования аналоговой начинки микроконтроллера. Аналогично с пунктом 1, выбираем нужный блок из окна 5 и перетаскиваем его на свободный блок.
  • Основные рабочие параметры чипа, как: рабочая частота, режим питания, некоторые глобальные переменные делители частоты, нужные для работы некоторых цифровых и аналоговых блоков.
  • Окно проекта, в нём можно увидеть всё, что есть в проекте (цифровые блоки, аналоговые блоки, исходники, либы и.т.д ).
  • Модули микросхемы.
  • Основные параметры пользовательского блока.
  • Соединения входов и выходов микроконтроллера.
  • Описание полей окна 3.
  • Описание полей окна 6.
  • Для более детального ознакомления со средой разработки, можно посмотреть видео, представленное в примере 1.

    Пример 1. Lighting LED

    Задача: Зажечь один из светодиодов на отладочной плате.

    Программную часть по настройке проекта и программирования можно посмотреть на видео.

    Для наглядности приведу код прошивки:

    #include // part specific constants and macros
    #include «PSoCAPI.h» // PSoC API definitions for all User Modules

    void main(void)
    {
    M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
    // Insert your main routine code here.
    PWM8_1_Start();
    PWM8_1_EnableInt();
    while(1);
    }

    После того как всё описанное на видео было проделано, осталось подключить микроконтроллер и полюбоваться результатом.

    Подключаем следующим образом:

    Ну и наконец результат работы прошивки!

    В комментариях к статье хотелось бы услышать какие темы интересно будет затронуть в следующих уроках.

    Прикрепленные файлы:

    Добавить комментарий

    Ваш адрес email не будет опубликован.