Начало работы с psoc®

Начало работы с psoc®
Начало работы с psoc®
Anonim

Начало работы с PSoC®

Введение в PSoC®

PSoC® Programmable-System-on-Chip - программируемая среда проектирования и тестирования Cypress Semiconductor для встроенных систем. Семейство PSoC включает в себя PSoC1, PSoC3, PSoC4 и PSoC5, которые отличаются возможностями, микроконтроллерами, количеством и типом доступной памяти и типами интерфейсов. Среда PSoC включает среду IDE для создания, построения и отладки проектов, программиста для загрузки прошивки и эмулятора. Комплекты разработки для каждого семейства PSoC доступны и содержат все, чтобы начать работу. Учебники, проекты и информация доступны от сообщества разработчиков, форумов и группы поддержки Cypress Semiconductor. «Спасибо» выходит в Cypress Semiconductor PSoC Marketing Team за их поддержку.

Требуется для этого проекта:

  • PSoC4 BlueTooth Low Energy (BLE) Development Kit. Любой комплект PSoC со светодиодом можно использовать с соответствующими изменениями для выбора отдельных компонентов и назначений выводов. В комплект входит литиево-ионная аккумуляторная батарея CR2032 3В, 250 мАч, которая установлена на плате для обеспечения портативной мощности Vdd. Cypress Semiconductor рекомендует удалять аккумулятор, когда он не используется.
  • Windows-ПК, поддерживающий среду разработки со стандартным USB-портом.
  • PSoC Creator 3.2, IDE для разработки, программирования и отладки PSoC4.
  • Знание языка программирования c полезно

PSoC Creator доступен для бесплатной загрузки с сайта Cypress Semiconductor после создания учетной записи. Программист PSoC также доступен как отдельная загрузка, если используется другая среда IDE. Существует также эмулятор, CySmart для ПК с Windows, а также для Android Mobile и iOS Mobile Apps

Встроенные системы для PSoC

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

По мере совершенствования технологии изготовления и чипа некоторые компоненты встроенной системы могут быть размещены на одном чипе, изготовленном как единая интегральная схема (IC). Это сократило требования к пространству; движение данных было быстрее, и оно включало более мелкие устройства. Приложения, в которых вся система находится на IC, называются System-on-Chip (SoC).

Cypress Semiconductor взяла на себя идею программируемой логики и программируемых вентильных матриц (FPGA) и разработала SoC, где некоторые элементы были программируемыми, представляя Программируемую систему на чипе (PSoC®) в 2002 году. С той же самой платой могут быть разные приложения разработанный с использованием аппаратных и программных компонентов. PSoC IDE предоставляет разработчикам возможность выбирать и конфигурировать аппаратные компоненты, компилировать и управлять необходимым программным обеспечением, программами и тестовыми проектами из одного окна. Комбинируя данные в таблицах, информация о компонентах доступна разработчикам, когда это необходимо, обеспечивая мощную среду разработки.

Основы PSoC

Основные шаги по программированию PSoC:

Создайте свой проект / программу с помощью PSoC IDE. Это многоступенчатый процесс, подобный тому, как некоторые языки визуального программирования позволяют вам выбирать компоненты GUI и программировать их для ответа на различные события. PSoC IDE позволяет вам выбирать компоненты из библиотеки компонентов, настраивать их в соответствии с вашими требованиями, настраивать аппаратные соединения между выводами микроконтроллера и вашими компонентами, а затем при необходимости писать программное обеспечение для управления или реагирования на различные события. PSoC Creator представляет вкладки индексов для TopDesign, где вы выбираете и настраиваете компоненты, ресурс, основанный на дизайне, где вы настраиваете соединения портов / контактов микроконтроллера и файл main.c, где начинается исходный код. Код может быть таким же простым, как значения по умолчанию, указанные в файле main.c, для нескольких файлов *.c для создания прошивки для сложной системы.

Постройте проект. Построение проекта создает целевой загружаемый.hex-файл в версии Release или Debug для данного устройства. Сборка компилирует отдельные файлы, создавая объектные файлы (файлы *.o) и файлы списка. Файлы.o объединены для создания. ELF (Исполняемый файл и связанный файл) и, наконец, файл.hex, который содержит прошивку, которая будет перенесена на целевое устройство. Во время сборки несколько программных компонентов генерируются PSoC автоматически. В версиях отладки есть дополнительные контрольные крючки, которые позволяют программе запускаться под управлением отладчика. Версия выпуска не включает дополнительные элементы управления, и выполнение может начаться немедленно.

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

Проекты

Комплект PSoC4-BLE включает микроконтроллер ARM Cortex-M0, встроенный датчик емкостного сопротивления (CSD) и технологию BLE. Блок-схема Cypress Semiconductor показывает подсистемы:

Image
Image

Включаются часы, таймеры, аналоговые и цифровые настраиваемые элементы и контакты общего назначения ввода / вывода (GPIO). Интерфейсы прикладного программирования (API) для каждого компонента обеспечивают доступ и управление программным обеспечением. API-интерфейсы перечислены в Техническом описании, доступном в окне конфигурации компонента. В этом проекте используются компоненты pin, LED, clock и PWM.

Идеи проекта бесконечны, но для начала и внедрения гибкости PSoC будет рассмотрено следующее:

1. Проект только для оборудования, чтобы освещать встроенный светодиод; он не требует дополнительного программного обеспечения.

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

3. Проект управления программным обеспечением для мигания встроенного светодиода под управлением программного обеспечения.

1. Осветите встроенный светодиод

В этом первоначальном проекте PSoC загорится красный светодиод. Он использует схему, предусмотренную в PSoC: красный светодиодный катод подключен к P2 (6) с медным следом, поэтому все соединения предусмотрены на плате.

ПРИМЕЧАНИЕ. Каждое устройство PSoC имеет различные назначения портов LED. Красный, зеленый, синий (RGB) светодиоды имеют разные порты для каждого цвета. Обратитесь к схеме, прилагаемой к вашему комплекту для соответствующих портов. Светодиодные порты также показаны через шелкографию на задней панели печатной платы. Для PSoC4-BLE красный светодиод - P2 (6); Зеленый - P3 (6), а синий - P3 (7).

Откройте PSoC Creator и начните новый проект:

Image
Image

Выберите значение по умолчанию для вашего PSoC. Здесь выбирается PSoC4 BLE с пустой схемой.

Image
Image

Это открывает вкладку TopDesign с пустой схемой. Справа в библиотеке компонентов есть вкладки Cypress и Off-Chip для выбора компонентов.

Image
Image

PSoC Creator показывает все аспекты вашего проекта, и вы можете выбирать виды, используя вкладку «Просмотр» панели инструментов. Проводник Workspace содержит вкладки «Источник», «Компоненты», «Таблицы данных» и «Результаты». На вкладке «Результаты» будут храниться список, ELF, hex и файлы карт, полученные в результате сборки. Библиотека компонентов показывает доступные компоненты; Проводник кода показывает файлы и функции.

Выберите целевое устройство с помощью Project-> Device Selector.

Image
Image

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

Простая схема подсветки светодиода может включать в себя светодиод, источник питания и резистор ограничения тока последовательно к земле, как показано:

Image
Image

Чтобы создать эту схему с помощью PSoC4-BLE, на вкладке TopDesign выберите компонент Digital Output Pin и перетащите его в схему.

Image
Image

Штифт сконфигурирован щелчком по изображению, чтобы открыть окно конфигурации. По умолчанию установлено соединение HW; вы можете выбрать внешний терминал, чтобы показать терминал, а также настроить другие аспекты вывода. Все компоненты можно переименовать из окна конфигурации. После переименования API для компонента будут отображать выбранное имя.

Image
Image

Штифт представляет собой соединение с микроконтроллером; он должен быть подключен с помощью вкладки «Расширенные ресурсы». При щелчке по файлу *.cydwr в дереве проекта открывается вкладка с широким ресурсом проекта с распиновками микроконтроллеров.

Для PSoC4 подключите Pin_1 к порту: P2 (6) Pin 43, для красного светодиода.

Image
Image

Для завершения схемы на вкладке TopDesign логический минимум 0 подключается к выходу.

Image
Image

Выбор компонентов Cypress и Off Board

Ниже показаны два контурных изображения для схемы светодиодов: один показывает один вывод; один с дополнительными компонентами из выбора библиотеки «Off-Chip». Они идентичны PSoC Creator, но их гораздо легче понять!

Image
Image

Схематическое изображение Vdd, 10K Resistor R_1 и LED D_1 - это просто «наглядные пособия», они

1), доступный на вкладке компонента библиотеки Off-Chip

2) показано синим

Они не учитываются при программировании PSoC; любые компоненты в синем не используются при вызове сборки. Синие компоненты могут помочь другим инженерам понять схему, но они не используются для создания проекта. При любом представлении контактный компонент должен быть подключен к P2 (6) для светодиодной схемы PSoC4_BLE. Светодиодная схема показана через шелкографию на задней панели печатной платы. Все компоненты можно переименовать для ясности:

Image
Image

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

Создайте проект, используя вкладку «Сборка» или «Сборка» (слева). Вы можете выбрать версию Debug или Release.

Image
Image

В окне «Вывод» отображаются результаты сборки; успешная сборка создает файл.hex и отображает количество используемой вспышки и SRAM, а также стек и кучу. В результате сборки ветка Generated_Source в дереве проекта показывает включенные файлы; файлы списка и.hex-файл находятся на вкладке «Результаты».

Image
Image

Любые ошибки остановят сборку; будут отображены сообщения, идентифицирующие проблему (проблемы).

Чтобы запрограммировать PSoC с помощью новой встроенной прошивки, подключите плату PSoC к ПК с помощью USB-кабеля.

Загрузите программу, используя выбор Debug-> Program или Program (слева)

Image
Image

Отображаются доступные цели … выберите PSoC 4200 BLE.

Image
Image

Статус программирования также указывается в окне «Вывод»:

Image
Image

Когда запрограммировано, загорается красный светодиод на PSoC.

2. Мигает встроенный светодиод с использованием модулятора с широтно-импульсной модуляцией (PWM)

ШИМ производит импульсный сигнал, который может контролировать питание, подаваемое на электрические устройства. Библиотека компонентов PSoC включает в себя PWM, который может управлять светодиодом от линейного выхода. Вход синхронизации обеспечивает синхронизацию. Используется одно и то же штыревое соединение, подключенное к P2 (6), как и раньше, с помощью набора HW.

Image
Image

PWM настраивается; нажатие на изображение вызывает окно конфигурации:

Image
Image

В техническом описании содержится информация о компоненте:

Image
Image

ШИМ и часы - это системные компоненты, которые необходимо запускать в программном обеспечении. Описание API PWM_Start:

void PWM_Start (void) Описание: Эта функция предназначена для запуска работы компонента. PWM_Start () устанавливает переменную initVar, вызывает функцию PWM_Init, а затем вызывает функцию PWM_Enable. Параметры: Нет Возвращаемое значение: Нет Побочные эффекты: Устанавливает бит разрешения в управляющих регистрах ШИМ. Если для режима Enable Mode установлено только Hardware, это не влияет на PWM. Если для режима Enable Mode установлено Hardware и Software, то это позволит включить только часть программного обеспечения этого режима, а также включить аппаратный вход, чтобы наконец включить PWM.

В main.c для запуска синхронизации необходимо включить следующие функции:

Clock_Start ();

PWM_Start ();

Они помещаются в раздел инициализации / запуска кода в main.c:

Image
Image

Создайте проект и запрограммируйте PSoC. После запуска ШИМ будет управлять светодиодом. Для версий отладки требуется, чтобы программа запускалась вручную, поскольку версии отладки запускают программный контроль на main.c. Красный светодиод мигает в соответствии с настройками.

Попробуйте изменить цикл мигания, переконфигурировав PWM и часы.

3. Мигает встроенным светодиодом с помощью программного обеспечения

Программные функции доступны для прямого доступа к контактным местам. В таблице данных контактных компонентов перечислены доступные API, включая:

Pin_Read () Считывает физический порт и возвращает текущее значение для всех контактов в компоненте

Pin_Write () Записывает значение на контакты компонента, защищая другие контакты в физическом порту, если они разделены несколькими компонентами Pins

Pin_1_Write () напрямую управляет красным светодиодом. запись 1 для включения светодиода; 0, чтобы отключить его. Поскольку ARM работает так быстро, системная задержка включается с использованием API задержки задержки CyDelay (500); поэтому мигает.

На вкладке «TopDesign» схема выглядит одинаково, но контакт теперь сконфигурирован для программного обеспечения, сняв HW-соединение в конфигурации. На вкладке с расширенным ресурсом проекта контакт снова подключен к красному светодиоду, P2 (6).

Image
Image
Image
Image

Функции Write / Read и задержка добавляются к main.c в цикле for. После любой инициализации код внутри цикла for (;;) будет выполняться непрерывно. Простая мигающая программа может записать на светодиод обратное значение того, что в настоящее время отображается на светодиодах, задержка на полсекунды, а затем написать обратное:

Image
Image

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

Image
Image

Когда программное обеспечение включено, функция отладки PSoC Creator полезна для проверки выполнения программы. Создайте с помощью отладки, затем используйте вкладку «Отладка» или значок (самый левый на картинке), чтобы запустить отладчик.

Image
Image

Отладчик позволяет установить точки останова, щелкнув в полях операторов:

Image
Image

В отладчике используйте элементы управления отладки, чтобы возобновлять, останавливать и останавливать выполнение, входить в или из функций и включать / отключать все точки останова и прерывания:

Image
Image

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

Image
Image

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

Используйте вкладки «Регистры» и «Память 1», чтобы отобразить дисплеи:

Image
Image
Image
Image

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

После программирования с установленной батареей PSoC можно удалить с ПК, и программа продолжит выполнение под управлением микропроцессора; светодиод продолжает мигать, как показано на рисунке. Если батарея разряжена, мигание остановится, но при повторной установке батареи снова начнется выполнение, и светодиод начнет мигать автоматически.

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

Резюме

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

Попробуйте этот проект сами! Получить спецификацию.