Що таке PSoC

Коротко розповім що таке PSoC, оскільки в Україні про продукцію Cypress відомо не багато. Можливо після цієї тими хтось захоче використати ці мікросхеми в своїх розробках.

PSoC (Programmable System-on-Chip) — це програмована система на кристалі, тобто електронна схема, яка виконує функції певного пристрою і розміщена в одному корпусі мікросхеми. Розробник має можливість самостійно створювати функціонал який йому потрібний.

В даний час існує 4 серії PSoC: PSoC 1, 3, 4, 5PL, більш детально можна ознайомитись на офіційному сайті . У цій статті буде описана серія PSoC 4.

На відміну від класичних мікроконтроллерів (AVR, PIC, STM32...) PSoC не має фіксованої периферії (UART, I2C, SPI, DMA....), розробник сам вирішує який функціонал буде мати запрограмований чіп. Іншими словами якщо потрібний тільки UART та ADC, пристрій буде мати тільки ці два блоки. Цим PSoC дуже схожий на FPGA, за винятком того що PSoC місить конфігуровану аналогову периферію(компаратори, операційні підсилювачі, мультиплексори, фільтри...).

Для розробки використовується середовище PSoC Creator, яке можна безкоштовно скачати з офіційного сайту:

Проект PSoC Creator:

Для того щоб налаштувати проект, потрібно зробити кілька простих кроків:
1. Із бібліотеки компонентів, вибрати потрібні та перенести їх на TopDesign.
2. Через GUI шкірного компонента налаштувати його параметри.
3. З'єднання єднати всі компоненти у схему.
4. Призначити виходи схеми відповідним пінам мікросхеми.

Cypress має багато різних Development Kits:
для демонстрації вибрана наступна плата

Вона містить програматор та дебагер, що дозволяє використовувати тільки USB-кабель для прошивки та покрокового відлагодження програми в реальному пристрої.

Приклад «Hello world» на PSoC
Алгоритм мигання світлодіодом на всіх мікроконтроллерах однаковий, і має наступний псевдокод:

while(1)
{
 enable LED;
delay(...);
 disable LED;
delay(...);
}

На PSoC все можна зробити набагато простіше і навіть без використання процесорного ядра. Для цього із бібліотеки виберемо компонент "Clock", "FreqDiv", "Digital Output Pin" та "Logic High '1' " і з'єднаємо їх між собою.

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

Принцип роботи схеми дуже простий, тактовий сигнал частотою 1kHz (можна вибрати будь-яку іншу частоту) подається на дільник частоти який ділить частоту на 1000. Світлодіод підключений до виходу дільника частоти і буде мигати з частотою 1 Кгц. Після цього потрібно вивести сигнал на пін мікросхеми.

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

PSoC Creator має багато різних прикладів роботи з PSoC, для цього в меню File -> Code example вибираємо потрібний приклад.

На офіційному сайті є багато відео з різними прикладами застосування:
www.cypress.com/video-library

Також планую більш детально описати про різні компоненти PSoC на своєму сайті:

Якщо виникли запитання пишіть у коментарях. Сподіваюсь ця інформація була цікавою і корисною.

P. S. Cypress має офіс у Львові і в даний час є багато вакансій в Embedded напрямку.

Опубліковано: 15/07/16 @ 05:23
Розділ Різне

Рекомендуємо:

Frontend дайджест #16: Реактивні Redux, PostCSS в Facebook, React-Router від TJ
Зарплати українських розробників — травень-червень 2016
DOU Проектор: Стартап Левел — спільнота українських стартапів з відповідями на питання засновників
Контроль якості в Open Source: досвід проекту CRIU
18 липня, Київ — Тренінг «Основи психології для HR-менеджерів»