로직 셀 기능으로 보다 간편하게 - 설정 가능한 로직 셀(CLC), 마이크로컨트롤러에... | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

로직 셀 기능으로 보다 간편하게 - 설정 가능한 로직 셀(CLC), 마이크로컨트롤러에서 복잡한 함수 구현 단순화


PDF 다운로드



글/마누 벤카테가우다(Manu Venkategowda), 마이크로칩테크놀로지 애플리케이션 엔지니어


때로는 단순한 것이 더 큰 이득을 선사하기도 한다. 대부분의 임베디드 엔지니어들은 최종 애플리케이션의 요건을 처리하기 위해 다양한 신호나 로직을 필요로 하며, 이러한 필요 기능을 구현하고자 복잡한 보드 로직 기능을 디자인하게 된다. 하지만 더 복잡한 일을 간단히 처리할 수 있는 방법이 있다면 어떨까? 일부 마이크로컨트롤러는 복잡한 애플리케이션에 필요한 함수를 수행하기 위해 유연한 주변장치들을 내장하고 있다.
설정 가능한 로직 셀(Configurable Logic Cell, CLC)이 바로 그 해답이 될 수 있다. CLC 주변장치는 마이크로칩의 PIC® 마이크로컨트롤러(MCU) 주변장치 세트에 추가되었으며, 사용자는 이를 이용해 MCU와 서로 인터페이스 할 수 있는 간단한 함수를 디자인할 수 있다. 이 CLC 주변장치는 사용자가 신호 조합을 로직 함수 입력으로 지정하고, 로직 출력을 이용해 다른 주변장치와 IO 핀을 컨트롤할 수 있도록 함으로써 사용자가 자신이 선택한 기능을 디자인할 수 있는 유연성을 제공한다.
작업을 단순화하고자 CLC는 마이크로칩의 MPLAB® 코드 컨피규레이터(MCC)에서 지원된다. 이를 통해 개발자는 입력과 출력을 GUI 형식으로 연결할 수 있도록 쉽게 로직 게이트를 드래그 앤 드롭하고, 버튼 클릭 한 번으로 C 코드를 생성할 수 있으므로 CLC 모듈 구현을 크게 단순화할 수 있다.
코어 독립형 주변장치(CIP)들은 동작 유지를 위한 추가 코드나 CPU의 감시 없이 작업을 처리한다. CLC는 복잡한 컨트롤 시스템 구현을 단순화하는 동시에 개발자에게 충분한 디자인 유연성을 제공함으로써 마이크로컨트롤러의 성능을 높이기 위한 CPU의 부담을 덜어주는 CIP이다. 단일 애플리케이션에서 신호 위상 검출, 상호보완형 파형 생성 또는 다중 파라미터 모니터링을 구현하는 데에 CLC가 어떻게 사용되는지 알아본다. 다양한 입력, 트리거 및 출력을 바탕으로 CLC의 가능성은 무한히 열려 있다.

개요

CLC는 사용자가 설정할 수 있는 주변장치로 프로그래머블 로직 디바이스(PLD)와 유사하지만 마이크로컨트롤러 내에 통합되어 있다. 내외부 입력을 CLC 입력으로 선택할 수 있다. CLC는 다른 주변장치나 입력 핀으로부터 입력을 받는다. 그런 다음 의도한 로직 연산을 수행하여 다른 주변장치나 또다른 IO 핀을 컨트롤하는 데 사용할 수 있는 출력을 제공한다.
CLC는 내부 클럭 신호, 또다른 주변장치의 출력, 타이머 입력과 같은 주변장치 이벤트 등의 신호를 수신할 수 있다. 선택된 입력 신호는 신호 게이팅 스테이지를 통해 원하는 로직 함수로 보낼 수 있다.
CLC는 AND, OR, NOT, XOR, NAND, NOR, XNOR 등 다양한 로직 함수를 지원한다. CLC 안에서 데이터 게이팅 스테이지의 출력은 로직 함수 선택 스테이지로 입력된다. 출력 극성 스테이지는 CLC의 마지막 스테이지이며 원하는 극성을 선택할 수 있다.
CLC는 순차적, 결합적 로직 함수 구현 시 독립형 주변장치로 사용될 수 있어 빠른 이벤트 트리거와 응답을 지원한다. 또한 하드웨어 내 복잡한 기능의 맞춤형 구현이 가능하기 때문에 주변장치와 함께 사용하여 주변장치의 기능 확장을 도울 수 있다.
CLC는 코어 독립형 주변장치이기 때문에, CPU로부터 여러 단순한 로직 이벤트 응답을 주변장치로 분산시켜 애플리케이션의 CPU 대역폭 요건을 효과적으로 줄여준다. 또한 소프트웨어 알고리즘이 필요 없기 때문에 플래시와 RAM 요건을 줄여준다.
하드웨어에 구현된 로직 함수는 소프트웨어에 구현된 로직 함수에 비해 더 빠른 이벤트 응답 속도를 보여준다. CLC는 이외에도 외부 구성요소 없이 더 높은 수준의 통합을 지원하여 전반적인 PCB 크기를 줄일 수 있다.

위상 검출기

CLC의 다재다능함과 단순함은 PIC MCU의 디자인 역량을 넓혀준다. CLC의 능력을 보여주는 좋은 예가 위상 검출기이다. 위상 검출기는 거리 측정을 포함해 많은 애플리케이션에 사용할 수 있다. 위상 검출기는 연속적인 무선주파수(RF)가 표적을 향해 전송될 때 표적까지의 거리는 전송파와 수신파 사이의 위상 변화에 비례한다는 원리에 따라 동작한다. CLC는 동일 주파수의 두 신호 간의 위상차를 측정하는 데 사용할 수 있다. 송수신파는 CLC에 대한 입력으로 사용되며 CLC 출력에서 두 신호 간의 위상차를 이용하여 소스와 타깃 간의 거리를 계산할 수 있다.
CLC를 이용한 위상 검출기 구현에서 위상차의 크기를 측정하는 XOR 함수를 구현하기 위해 CLC의 AND-OR 로직 함수를 이용할 수 있으며, D-Flip Flop(D-FF) 로직 함수는 신호의 선행 정보 및 지행 정보를 확보하는 데 도움이 된다. 사각파(square waves) 외에도 사인파(sinusoidal waves)와 같은 다른 유형의 아날로그 신호 사이의 위상을 측정할 수 있다. 그림 1은 CLC를 이용해 위상 검출기를 설정한 모습이다.

SR(Microchip)-1.jpg
[그림  1] 위상 검출기

위상차를 측정할 소스 신호는 제로 크로스 검출기(ZCD)로 설정된 두 개의 비교기에 입력된다. ZCD는 입력 아날로그 신호를 동일한 주파수의 사각파로 변환한다. 만일 소스 신호가 사각파라면 ZCD가 필요하지 않다. 사각파는 내부적으로 여러 CLC 모듈에 입력으로 전송된다.
CLC1과 입력 캡쳐(IC) 주변장치는 위상차의 크기를 결정하는 데 사용된다.  CLC1은 AND-OR 로직 함수에 설정되어 있으며 여기서 XOR 기능이 파생된다.  CLC1의 XOR 출력은 소스 신호로써 IC에 외부적으로 연결된다. XOR 출력의 펄스 폭은 두 파 사이의 위상차 크기를 나타내며 IC로 측정된다. 만일 CLC1 출력이 신호를 생성하지 않으면 소스 신호는 동상(in phase) 신호이다.
두 입력 파형의 선행 및 지행 정보를 결정하기 위해 CLC는 D-FF 모드에서 구성되며 하나의 사각파는 D 입력으로, 다른 하나는 클럭으로 사용된다. CLC2의 고출력 또는 저출력 출력에 따라 클럭 입력과 관련하여 D 입력이 위상에서 선행 또는 지행 정보인지 결정된다. 동일한 주파수의 두 신호 사이의 위상각을 측정하는 것은 계량, 디지털 파워 시스템, 통신 및 의료기기를 비롯한 많은 애플리케이션에서 유용하다.

상호보완형 파형 생성기

CLC 활용 방법으로는 상호보완형 파형 생성기(CWG) 안에서 CLC를 쓰는 방법도 있다. 상호보완형 파형 생성기는 입력 소스로부터 데드 밴드(dead-band) 컨트롤로 상보 파형을 생성한다. 다양한 전원 장치 애플리케이션에서 슛-스루(shoot-through) 전류를 방지하기 위해 두 신호 사이에 데드 밴드 시간이 삽입된다.
이 애플리케이션은 단일 캡쳐/비교/PWM(SCCP) 모듈을 입력 소스로 하는 상보 파형을 생성하는 데 CLC 주변장치의 에지 검출과 인터럽트 기능을 사용하는 방법이다.
모터 컨트롤과 같은 애플케이션의 경우 그 기능을 컨트롤하기 위해 여러 개의 상호보완형 파형 생성기가 필요한 경우가 종종 있다. 다중 캡쳐/비교/PWM(MCCP) 모듈은 출력에서 데드 밴드를 컨트롤함으로써 중첩되지 않는 신호로 상보 파형을 생성할 수 있다. 그러나 애플리케이션이 디바이스에서 사용 가능한 것보다 많은 MCCP 인스턴스를 필요로 하는 경우에는 SCCP와 CLC를 함께 사용할 수 있다.
SCCP와 CLC 주변장치는 필요한 데드 밴드를 가진 상보 파형을 생성하는 데 함께 사용할 수 있는데, 이는 SCCP 자체로는 비중첩 신호를 생성할 수 없기 때문이다.
데드 밴드는 에지 정렬과 중앙 정렬 SCCP 출력 모두에 추가할 수 있다. 그림 2는 에지 정렬 모드에서 SCCP 출력의 데드 밴드를 컨트롤하기 위한 CLC1, CLC2, CLC3의 구성을 보여준다.

SR(Microchip)-2.jpg
[그림 2] 에지 정렬 모드에서 CLC를 이용한 상호보완형 파형 생성기  

예를 들어 풀 브리지 모터 드라이버 회로는 상보 파형을 생성하는 출력을 가진 MCCP 주변장치를 이용해 구동할 수 있다. 그러나 이러한 풀 브리지 모터 드라이버 회로를 여러 개 구동하고자 하지만 디바이스에서 사용할 수 있는 MCCP 주변장치 수가 충분하지 않을 경우 SCCP와 CLC를 함께 사용할 수 있다.

다중 파라미터 모니터링

때로는 애플리케이션의 온도, 압력, 습도 등 여러 파라미터를 동시에 모니터링해야 한다. 이들 파라미터가 상한 또는 하한 임계값을 넘어서게 될 경우, 심각한 결과를 피하기 위해 필요한 조치를 취할 수 있다.
여러 비교기를 CLC의 소스 입력으로 사용할 수 있다. 마이크로컨트롤러에서는 비교기를 이용하여 하나의 파라미터만 모니터링할 수 있다. 여러 파라미터를 모니터링하기 위해 CLC를 이용해 여러 비교기의 출력을 결합할 수 있다.
모니터링 대상 파라미터의 일부 또는 전부가 특정 한도를 초과하면 필요한 조치를 취할 수 있다. 그림 3은 두 개의 다른 파라미터를 모니터링하도록 CLC가 설정된 모습이다.

SR(Microchip)-3.jpg
[그림 3] CLC를 이용한 다중 파라미터 모니터링

실제로 이러한 적용은 산업 플랜트에서 파라미터 중 하나가 미리 설정된 임계값을 초과하면 플랜트가 정지될 수 있도록 온도 및 압력을 모니터링하는 데 사용된다. 오프라인 무정전 전원공급장치의 전압 레벨을 모니터링하는 데도 사용할 수 있다.

요약

설정 가능한 로직 셀을 주변장치 세트에 추가함으로써 사용자는 간단한 온보드 로직 설계를 PIC 마이크로컨트롤러에 통합할 수 있다. 다양한 주변장치의 출력을 결합하여 기존 주변장치의 기능을 향상시킴으로써 주변장치가 달성할 수 있는 애플리케이션의 범위가 확대된다.
하드웨어에 구현된 로직 함수의 이벤트 응답이 소프트웨어에 구현된 로직 함수보다 빠르기 때문에 CLC는 전체 시스템의 속도를 향상시키는 데 도움이 된다. 또한 CLC는 로직 함수를 구현하기 위한 외부 로직 게이트 없이도 한 단계 높은 통합을 제공하기 때문에 필요한 부품 수와 전반적인 PCB 크기가 줄어든다. CLC는 이외에도 완전히 다른 신호를 생성할 수 있도록 서로 다른 로직 게이트를 이용하는 다양한 입력 소스 신호를 결합할 수 있도록 해 준다.
이렇듯 유연한 입출력 및 로직 함수는 모두 MPLAB 코드 컨피규레이터(MCC)라는 GUI 기반 도구를 사용하여 손쉽게 구현할 수 있으며, 고객의 애플리케이션에 따라 읽기 쉬운 C 코드를 생성할 수 있다. 

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정