사이프러스 PSoC

섬네일|right|MiniProg 프로그래머/디버거가 있는 PSoC 1 정전식 감응 개발 보드

사이프러스 PSoC(Cypress PSoC, 시스템 온 칩 프로그래밍 가능)은 사이프러스 세미컨덕터의 마이크로컨트롤러 집적 회로 제품군이다. 이 칩에는 중앙 처리 장치 코어와 구성 가능한 아날로그 및 디지털 주변 장치의 혼성 신호 어레이가 포함된다.

 역사 
2002년, 사이프러스는 PSoC 1의 상업용 대량 선적을 시작했다.Reuters: "Cypress Hits Half-Billion Mark in Shipments of PSoC Programmable system on a chip Devices" 2009 PSoC를 홍보하기 위해 사이프러스는 2002년과 2004년에 서킷 셀라 잡지에서 "PSoC 디자인 챌린지"를 후원했다.Circuit Cellar:"PSoC Design Challenge 2002"

2013년 4월, 사이프러스는 4세대 PSoC 4를 출시했다. PSoC 4는 32비트 ARM Cortex-M0 CPU를 특징으로 하며, 프로그래밍 가능한 아날로그 블록(연산 증폭기 및 비교기), 프로그래밍 가능한 디지털 블록(설계 가능 논리 소자 기반 UDB), 프로그래밍 가능한 라우팅 및 유연한 GPIO(모든 기능을 모든 핀으로 라우팅), 직렬 통신 블록(SPI, UART, I²C용), 타이머/카운터/PWM 블록 등을 포함한다.

PSoC는 소니케어 칫솔이나 아디다스 운동화처럼 간단한 기기부터 티보 셋톱박스처럼 복잡한 기기까지 다양하게 사용된다. 한 PSoC는 애플 아이팟 클릭휠의 터치 감지 스크롤 휠에 대한 정전식 감응을 구현한다.

2014년에 사이프러스는 PSoC 4 Bluetooth Low Energy 무선을 PSoC 4 Cortex-M0 기반 SoC와 단일 모놀리식 다이에 통합하여 PSoC 4 제품군을 확장했다.

2016년, 사이프러스는 ARM Cortex-M0+ CPU를 특징으로 하는 PSoC 4 S-시리즈를 출시했다.

 개요 
PSoC 집적 회로는 코어, 구성 가능한 아날로그 및 디지털 블록, 프로그래밍 가능한 라우팅 및 상호 연결로 구성된다. PSoC의 구성 가능한 블록은 다른 마이크로컨트롤러와의 가장 큰 차이점이다.

PSoC에는 데이터용 페이지 SRAM, 명령어 및 고정 데이터용 플래시 메모리, 구성 가능한 논리 블록 및 기능 제어 및 액세스용 I/O 레지스터의 세 가지 별도 메모리 공간이 있다. 이 장치는 SONOS 기술을 사용하여 제작된다.

PSoC는 ASIC과 유사하다: 블록에는 광범위한 기능이 할당될 수 있고 온칩에서 상호 연결될 수 있다. ASIC과 달리 사용자 지정 구성을 생성하는 데 특별한 제조 공정이 필요하지 않다. 필요한 것은 사이프러스의 PSoC 디자이너(PSoC 1용) 또는 PSoC 크리에이터(PSoC 3 / 4 / 5용) IDE에서 생성하는 시작 코드뿐이다.

PSoC는 전원이 켜지면 구성되어야 한다는 점에서 FPGA와 유사하지만, 이 구성은 내장 플래시 메모리에서 명령을 로드하여 이루어진다.

PSoC는 마이크로컨트롤러에 PLD 및 프로그래밍 가능한 아날로그를 결합한 것과 가장 유사하다. 자동으로 생성된 API 및 인터럽트 루틴을 사용하여 사용자 지정 주변 장치 기능("컴포넌트"라고 함)과 상호 작용하도록 코드가 실행된다. PSoC 디자이너 또는 PSoC 크리에이터는 시작 구성 코드를 생성한다. 둘 다 사용자의 필요에 따라 사용자가 선택한 컴포넌트를 비주얼 스튜디오와 유사한 GUI에서 초기화하는 API를 통합한다.

 구성 가능한 아날로그 및 디지털 블록 

구성 가능한 아날로그 및 디지털 블록을 사용하여 설계자는 혼합 신호 임베디드 애플리케이션을 생성하고 변경할 수 있다. 디지털 블록은 블록 레지스터를 사용하여 구성되는 상태 머신이다. 디지털 블록에는 두 가지 유형이 있다: 디지털 빌딩 블록(DBBxx)과 디지털 통신 블록(DCBxx). 통신 블록만 SPI, UART 등과 같은 직렬 I/O 사용자 모듈을 포함할 수 있다.

각 디지털 블록은 설계자가 사전 구축된 디지털 기능 또는 사용자 모듈(UM)을 사용하여 구성하거나, 블록을 결합하여 16, 24 또는 32비트 리소스로 전환할 수 있는 8비트 리소스로 간주된다. UM을 연결하는 방식으로 16비트 PWM 및 타이머가 생성된다.

아날로그 블록에는 두 가지 유형이 있다. 연속 시간(CT) 블록은 Op-amp 회로로 구성되며 ACBxx (여기서 xx는 00-03)로 지정된다. 다른 유형은 스위치 캡(SC) 블록으로, 복잡한 아날로그 신호 흐름을 허용하며 ASCxy (여기서 x는 아날로그 블록의 행이고 y는 열)로 지정된다. 설계자는 각 모듈을 어떤 설계에도 맞게 수정하고 개인화할 수 있다.

 프로그래밍 가능한 라우팅 및 상호 연결 
PSoC 혼합 신호 어레이의 유연한 라우팅은 설계자가 많은 경쟁 마이크로컨트롤러보다 I/O 핀으로 신호를 훨씬 더 자유롭게 라우팅할 수 있도록 한다. 글로벌 버스는 신호 다중화 및 논리 연산을 허용한다. 사이프러스는 이를 통해 설계자가 디지털 논리 게이트 접근 방식 또는 더 고정된 기능 핀을 가진 경쟁 마이크로컨트롤러보다 더 쉽고 빠르게 PCB 재설계 횟수를 줄이면서 설계를 구성하고 개선할 수 있다고 제안한다.

 시리즈 
각각 다른 마이크로컨트롤러 코어를 기반으로 하는 5가지 장치 제품군이 있다.
 PSoC 1 – CY8C2xxxx 시리즈 – M8C 코어.
 PSoC 3 – CY8C3xxxx 시리즈 – 8051 코어.
 PSoC 4 – CY8C4xxxx 시리즈 – ARM Cortex-M0 코어.
 PSoC 5/5LP – CY8C5xxxx 시리즈 – ARM Cortex-M3 코어.
 PSoC 6 – CY8C6xxxx 시리즈 – ARM Cortex-M4 코어와 추가된 ARM Cortex-M0+ 코어(일부 모델).

Bluetooth Low Energy

2014년부터 사이프러스는 Bluetooth Low Energy (Bluetooth Smart)가 통합된 PSoC 4 BLE 장치를 제공하기 시작했다. 이를 사용하여 아날로그 및 디지털 블록을 활용한 연결된 제품을 만들 수 있다. 사용자는 PSoC 크리에이터에서 BLE 모듈을 직접 추가하고 구성할 수 있다. 사이프러스는 또한 마인드트리에서 라이선스 받은 완전한 Bluetooth Low Energy 스택을 주변 장치 및 중앙 기능 모두에 제공한다. PSoC 6 시리즈에는 확장된 범위 또는 더 빠른 속도를 포함한 Bluetooth 5 기능이 포함된 BLE 버전이 있다.

 요약 
 PSoC 1 PSoC 3 PSoC 4 PSoC 5/5LP PSoC 6 8비트 M8C 코어 최대 24 MHz, 4 MIPS 8비트 8051 코어(단일 사이클) 최대 67 MHz, 33 MIPS 32비트 ARM Cortex-M0 최대 48 MHz, ? MIPS 32비트 ARM Cortex-M3 최대 80 MHz, 84 MIPS 32비트 ARM Cortex-M4 (최대 150 MHz)32비트 ARM Cortex-M0+ (옵션, 최대 100 MHz) 플래시: 4 KB ~ 32 KB SRAM: 256 바이트 ~ 2 KB 플래시: 8 KB ~ 64 KB SRAM: 3 KB ~ 8 KB 플래시: 16 KB ~ 256 KB SRAM: 2 KB ~ 32 KB 플래시: 32 KB ~ 256 KB SRAM: 8 KB ~ 64 KB 플래시: 512 KB ~ 2048 KB SRAM: 128 KB ~ 512 KB쿼드 SPI를 사용하여 확장 가능 I²C, SPI, UART, FS USB 2.0 I²C, SPI, UART, LIN, FS USB 2.0, I²S, CAN I²C, SPI, UART, CAN. I²C, SPI, UART, LIN, CAN,
FS USB 2.0, I²S I²C, SPI, UART, LIN, BLE (옵션), FS USB 2.0 (옵션 호스트 및 장치) 16개의 디지털 PSoC 블록 16~24 UDB (범용 디지털 블록) 4~8 UDB 20~24 UDB 0~12 UDB 1개의 델타-시그마 ADC (6~14비트)
8비트에서 131 ksps;

1개의 시그마-델타 ADC (정전식 감응용)

최대 2개의 DAC (6~8비트) 1개의 델타-시그마 ADC (8~20비트)
12비트에서 192 ksps;

최대 4개의 DAC (8비트) 1개의 SAR ADC (12비트)

12비트에서 1 Msps;

최대 2개의 DAC (7~8비트) 1개의 델타-시그마 ADC (8~20비트)

12비트에서 192 ksps;

2개의 SAR ADC (12비트)

12비트에서 1 Msps;

최대 4개의 DAC (8비트) 1개의 SAR ADC (12비트) 1 MSPS

1개의 12비트 전압 모드 DAC 최대 64개 I/O 최대 72개 I/O 최대 98개 I/O 최대 72개 I/O 최대 104개 I/O 작동: 1.7 V ~ 5.25 V 활성: 2 mA, 절전: 3 μA 최대 절전: ? 작동: 0.5 V ~ 5.5 V 활성: 1.2 mA, 절전: 1 μA, 최대 절전: 200 nA 작동: 1.71 V ~ 5.5 V 활성: 1.6 mA, 절전: 1.3 μA, 최대 절전: 150 nA 작동: 2.7 V ~ 5.5 V 활성: 2 mA, 절전: 2 μA, 최대 절전: 300 nA ICE 큐브 및 플렉스팟 필요 온칩 SWD, 디버그 온칩 JTAG, SWD, SWV, 디버그, 트레이스 CY8CKIT-001 개발 키트 CY8CKIT-001 개발 키트 CY8CKIT-030 개발 키트 CY8CKIT-040 4000 파이오니어 키트CY8CKIT-042 4200 파이오니어 키트
CY8CKIT-043 4200M 프로토타이핑 키트

CY8CKIT-044 4200M 파이오니어 키트

CY8CKIT-046 4200L 파이오니어 키트CY8CKIT-049 4100 프로토타입 키트 CY8CKIT-001 개발 키트 CY8CKIT-050 개발 키트 CY8CKIT-059 프로토타입 키트 CY8CKIT-062-BLE 파이오니어 키트

 개발 도구 

 PSoC 디자이너 
PSoC 1 장치를 설계, 디버그 및 프로그래밍하기 위한 1세대 소프트웨어 IDE이다. 끌어다 놓기 디자인 환경에서 미리 특성화된 아날로그 및 디지털 주변 장치 라이브러리를 포함하는 독특한 기능을 도입했으며, 동적으로 생성된 코드 API 라이브러리를 활용하여 특정 설계 요구 사항에 맞게 사용자 정의할 수 있었다.
섬네일|center|alt=2004년 PSoC Express 개발 보드 1 사진|2004년 PSoC Express 개발 보드 1

 PSoC 크리에이터 
PSoC 크리에이터는 PSoC 3 / 4 / 5 장치를 설계, 디버그 및 프로그래밍하기 위한 2세대 소프트웨어 IDE이다. 개발 IDE는 사용하기 쉬운 그래픽 디자인 편집기와 결합되어 강력한 하드웨어/소프트웨어 공동 설계 환경을 형성한다. PSoC 크리에이터는 두 가지 기본 빌딩 블록으로 구성된다. 이 프로그램은 사용자가 칩의 기존 회로와 MCU의 주변 장치에 해당하는 구성 요소를 선택, 구성 및 연결할 수 있도록 한다. PSoC를 흥미롭게 만드는 것은 하드웨어에서 자체 응용 프로그램별 주변 장치를 만들 가능성이다. 사이프러스는 일년에 여러 번 구성 요소 팩을 게시한다. PSoC 사용자는 요금을 부과하거나 새 하드웨어를 구입할 필요 없이 기존 하드웨어에 대한 새로운 주변 장치를 얻는다. PSoC 크리에이터는 또한 I/O 핀에 주변 장치를 할당하는 데 많은 자유를 허용한다.

 Cortex-M 

PSoC 4 및 PSoC 5용 일반 ARM 개발 도구.

 문서 
PSoC 4 / 5

모든 ARM 칩에 대한 문서의 양은 압도적이며, 특히 초보자에게는 더욱 그렇다. 지난 수십 년간의 마이크로컨트롤러 문서는 단일 문서에 쉽게 포함될 수 있었지만, 칩이 발전함에 따라 문서도 늘어났다. 모든 ARM 칩에 대한 전체 문서는 IC 제조업체(사이프러스 세미컨덕터)의 문서와 CPU 코어 공급업체(ARM 홀딩스)의 문서로 구성되어 있어 파악하기 특히 어렵다.

일반적인 하향식 문서 트리는 다음과 같다: 제조업체 웹사이트, 제조업체 마케팅 슬라이드, 정확한 물리적 칩에 대한 제조업체 데이터시트, 물리적 칩 제품군의 일반적인 주변 장치 및 측면을 설명하는 제조업체 세부 참조 설명서, ARM 코어 일반 사용자 가이드, ARM 코어 기술 참조 설명서, 명령어 세트를 설명하는 ARM 아키텍처 참조 설명서.

PSoC 4 / 5 문서 트리 (상단에서 하단으로)
 PSoC 웹사이트.
 PSoC 마케팅 슬라이드.
 PSoC 데이터시트.
 PSoC 참조 설명서.
 ARM 코어 웹사이트.
 ARM 코어 일반 사용자 가이드.
 ARM 코어 기술 참조 설명서.
 ARM 아키텍처 참조 설명서.

사이프러스 세미컨덕터는 평가 보드 사용자 설명서, 애플리케이션 노트, 시작 가이드, 소프트웨어 라이브러리 문서, 오류 정정 문서 등 추가 문서를 가지고 있다. 공식 PSoC 및 ARM 문서 링크는 외부 링크 섹션을 참조하라.

 같이 보기 
 ARM 아키텍처, ARM Cortex-M
 임베디드 시스템
 인터럽트, 인터럽트 핸들러
 JTAG
 마이크로컨트롤러
 단일 보드 마이크로컨트롤러

 각주 

 더 읽어보기 

 외부 링크 

PSoC 공식 문서

 PSoC 1 제품군용 PSoC 디자이너 소프트웨어
 PSoC 3 / 4 / 5LP 제품군용 PSoC 크리에이터 소프트웨어
 PSoC 1 / 3 / 4 / 5LP 제품군용 PSoC 프로그래머 소프트웨어

PSoC 4 / 5용 ARM 공식 문서

기타
 IoT 전문가 PSoC 튜토리얼
 Psoc-chile Psoc 마이크로컨트롤러에 대한 스페인어 최초 웹사이트

분류:집적 회로
분류:시스템 온 칩