기술 특별 보고서: 누보톤 특허 프로그래머블 시리얼 I/O(PSIO)

PSIO란?

프로그래밍 가능한 직렬 I/O(PSIO)는 외부 인터페이스를 통해 주변 장치와 통신하기 위해 Nuvoton의 특허 하드웨어에서 무작위로 생성할 수 있는 다면적인 직렬 통신 형식을 의미합니다. PSIO는 일반적으로 사용되는 직렬 통신 인터페이스(UART, SPI 등), 특정 애플리케이션 직렬 통신 인터페이스(Maxim 1-wire, EEPROM용 마이크로칩 단일 와이어 UN I/O, 카드 리더용 위건드 등), 심지어 사설 프로토콜을 사용하는 직렬 통신 인터페이스(LED 램프 제어용 SPI 협상 등)를 시뮬레이션할 수 있습니다

PSIO는 8개의 핀을 지원하며, 각 핀은 개별 직렬 인터페이스에 따라 데이터 입력 또는 출력을 위해 프로그래밍할 수 있습니다. PSIO에는 4채널 컨트롤러가 장착되어 있습니다. 각 핀은 8개의 채널로 분할되어 사용자가 각 채널의 주기를 조정하고 직렬 인터페이스의 정의에 따라 직렬 통신의 순서를 제어할 수 있습니다. 또한 PSIO는 통신 형식에 따라 입력 또는 출력 데이터를 처리하기 위한 다양한 반복 모드를 지원합니다. 연속 전송에서 CPU 리소스를 차지하는 것을 방지하기 위해 PSIO는 CPU 개입 없이 입력 또는 출력 데이터 및 메모리와 상호 작용할 수 있는 주변 장치 직접 메모리 액세스(PDMA)를 추가로 지원합니다.

PSIO의 적용은 포괄적입니다. 다음은 주소 지정 가능한 RGB LED(ARGB LED)에 대한 PSIO 애플리케이션의 예입니다. 호스트는 단일 직렬 인터페이스를 통해 데이터를 전송함으로써 ARGB LED 라이트 바에서 각 LED의 색상을 제어하여 LED 제어 애플리케이션의 주류인 계조 조명 효과를 만들 수 있습니다. 아래 그림은 ARGB LED의 데이터 전송 형식을 보여줍니다. 각 시리즈에는 각 ARGB LED의 빨간색, 녹색 및 파란색을 제어하기 위한 24개의 데이터가 포함되어 있으며, 직렬 데이터가 많을수록 ARGB LED를 제어할 수 있습니다.

 PSIO lighting control

채널 컨트롤러에서 채널 주기를 제어하여 T0H/T0L 및 T1H/T1L의 타이밍을 조정하여 데이터 0 또는 데이터 1을 출력할 수 있습니다. PDMA 및 반복 모드와 통합하면 메모리에서 색상 표시 데이터를 연속적으로 출력하여 CPU 리소스를 절약할 수 있습니다. 아래 그림은 사용 중인 시스템의 블록 다이어그램을 보여줍니다. LED 라이트 바의 색상을 새로 고쳐야 할 때는 지정된 메모리 주소에 새 색상 데이터를 입력하고 PSIO를 구동합니다. PSIO는 PDMA에 메모리 데이터를 PSIO로 전송하도록 요청하는 요청을 전송합니다. 본 실시예에 따르면 PSIO는 수신된 데이터를 ARGB LED 라이트 바로 출력합니다.
 

PSIO PDMA lighting control 

누보톤의 NuMicro® M251 시리즈는 PSIO 주변기기를 지원합니다. 32KB 메모리가 장착된 M251xG6AE는 각각 약 180개의 LED로 최대 8개의 ARGB LED 라이트바를 제어할 수 있습니다. 16KB 메모리가 장착된 M251xE3AE는 각각 약 80개의 LED로 최대 8개의 ARGB LED 라이트바를 제어할 수 있습니다. 아래 표는 NuMicro® M251 시리즈의 여러 모델에서 지원하는 LED 수를 보여줍니다:
 

Models under M251

Memory (KB)

No. of ARGB LED Light Bars

No. of LEDs per Bar

M251xG6AE

32

8

180

M251xE3AE

16

8

80

M251xD2AE

12

4

120

M251xC2AE

8

4

60