상단여백
HOME 인공지능(AI) 테크니컬 뷰
"8비트 MCU로 차량용 CAN 애플리케이션 설계를 간소화하는 법"

CAN(Controlled Area Network) 프로토콜은 1980년대 중반 자동차 산업을 위해 개발된 것으로 증가하고 있는 상호연결(interconnected) 애플리케이션 간 데이터 전송에 사용되는 배선의 복잡성(무게·양·비용 등)을 줄이고자 하는 요구에 대응해 왔다.  

CAN이 갖는 장점은 자동차 업계뿐 아니라 공장자동화와 의료 애플리케이션 등 여러 시장에서 널리 채택 및 도입되었고, 이에 따라 매년 10억 개 이상의 CAN 노드가 세계 각지로 운송되고 있다. 

마이크로컨트롤러(MCU) 역시 이와 유사하게 매년 10억개 이상 출하된다. 현재 통계에는 일부 중복되는 부분이 있으나, 향후 이 수치는 더 증가할 것이다.

자동차 제조업체들의 필요에 부합하는 CAN
전통적인 CAN 통신은 이벤트 기반 통신으로 호스트 컴퓨터 없이 애플리케이션 내에서 마이크로컨트롤러와 주문형반도체(ASIC) 간의 직접 통신을 지원한다. 반도체 기업 간의 통합은 CAN의 비용 효율성 및 다양한 자동차 시스템들과의 호환성을 크게 개선시켜왔다.

2000년대 초반 이후 8비트 MCU가 CAN 프로토콜에 포함되었으며, 최근의 경우 2015년에 최초로 도입된 8비트 MCU 설계 방식에서 새로운 8비트 MCU 기종들이 CAN 애플리케이션의 다양한 시스템 특성들을 수용할 수 있도록 코어독립형주변장치(CIP)를 활용하고 있다. 비용 효율성 이외도 ▲견고성 ▲신뢰성 높은 데이터전송 ▲간단한 구현 등의 이점을 제공하고 있다.

당연하게도 8비트 MCU 역시 비용 효율성 외에도 위와 같은 장점을 갖는다. 따라서 8비트 MCU와 CAN의 결합은 오토모티브 네트워크가 필요로 하는 수많은 요건들을 해결하기 위한 자연스러운 해답이다.

지난 수년 간 CAN은 컨트롤 시스템에 필요한 다양한 요건들을 충족시킬 수 있는 역량을 증명해왔다. 오토모티브 네트워크의 발전에 따라 시간 기반(time-triggered), 결함 허용(fault-tolerant), 싱글-와이어 통신, CAN FD(CAN with Flexible Data rate) 등의 여러 다른 속성들이 추가되면서 CAN 사양이 확대됐다. 표1은 CAN이 30년 전 처음 도입된 후 지금까지 등장한 CAN의 다양한 유형들을 보여준다.

네트워킹 센서와 액츄에이터부터 편의장치까지 자동차 엔지니어들은 비용 절감을 목적으로 근거리 통신망(LIN) 프로토콜을 이용해 왔다. 그러나 싱글-와이어 마스터-슬레이브 네트워크인 LIN은 CAN의 하드웨어 및 소프트웨어 양측면 모두의 변경을 필요로 한다. 

CAN을 위한 최신 오토모티브 애플리케이션에는 액세스 컨트롤, 배터리 충전/관리, 진단 장비 등이 포함된다. 이런 기능들, 특히 타 CAN 컨트롤 시스템의 데이터에 대한 액세스를 필요로 하는 다른 차량 요건들로 인해 8비트 MCU/CAN의 이용이 더욱 증가하고 있다.

시스템 개발자는 CAN 버스에 연결할 수 있는 최소한의 역량을 갖춰야 하지만 다른 시스템 요건에 구체적으로 대응 가능한 추가 주변장치들은 개발자의 부담을 덜어준다. 이러한 시스템 요건에는 컨트롤 목적의 파라미터 감지, 모터 구동 또는 솔레노이드(solenoid)의 활성화, 그 외 일부 기능이 포함된다. 

CIP 방식은 소프트웨어의 복잡성를 완화시키고 느린 클럭 속도에서도 더욱 신속한 응답 시간을 제공하며 동시에 소비 전력을 줄일 수 있다. 마이크로칩의 PIC18 K83 제품군에 내장된 CIP의 대략적인 시스템 범주는 다음과 같다.  

- 지능형 아날로그(센서 인터페이스 포함)
- 파형 제어
- 타이밍과 측정  
- 로직과 연산
- 안전과 모니터링 
- 통신
- 낮은 소비 전력와 시스템 유연성

아울러 이와 같은 범주에 해당되는 주변장치는 다음과 같다. 
- 메모리 스캔 기능 내장 순환 중복 검사(Cyclic Redundancy Check: CRC): 비휘발성 기억장치의 무결성 확보를 목적으로 함.
- 직접 메모리 접근(Direct Memory Access: DMA): CPU의 관여 없이 기억장치와 주변장치 간의 데이터 전송을 지원.
- 윈도우 와치독 타이머(Windowed Watchdog Timer: WWDT): 시스템 리셋 트리거를 목적으로 함.
- 연산 기능 내장된 12 비트 아날로그-디지털 컨버터(Analog-to-Digital Converter with Computation: ADC2): 실시간 응답을 위한 아날로그 신호 자동분석을 목적으로 함.
- 상보형 파형 생성기(Complementary Waveform Generator: CWG): 모터 컨트롤을 위한 고효율 동기식 스위칭 지원.

CAN 2.0B 지원 고집적 CAN 컨트롤러는 기존의 CAN 모듈(CAN 1.2와 CAN 2.0A)과 완벽히 하위 호환된다. 이 제품의 기능에는 데이터 보호와 부트로더 애플리케이션 개발을 지원하는 메모리접근파티션(MAP)이 포함된다.

디바이스정보영역(DIA)은 공장에서 프로그래밍된 디바이스 ID와 주변장치 캘리브레이션 값에 대한 전용 메모리 공간을 제공한다. 

CAN 노드의 일차적인 목표는 통신이므로 8비트 MCU는 고속 독립형 I2C와 SPI 직렬 통신 인터페이스, 범용 비동기화 송수신기(UART)와 LIN 프로토콜 등 개선된 직렬 통신을 제공한다. 표 2는 15 종의 CIP와 이 주변장치들이 어떻게 구체적인 시스템 요건에 대응하는지 보여준다. 

과거의 8비트 MCU에서는 구현되지 않거나 고려되지 못한 이들 온칩(on-chip) 구조들 덕분에 오늘날의 8비트 MCU는 많은 개발자들의 예상과 달리 동작할 수 있으며, 10년 전에 개발된 MCU보다 훨씬 더 많은 기능을 제공하고 있다.

8비트 MCU의 프로그래밍 작업은 쉽고 간단하며 CAN과 CIP가 추가된 제품의 경우 한결 더 쉽다. 특히 원격 노드 등에 대해 충분한 처리능력을 제공하는 경우 이들 8비트 MCU는 상대적으로 더 비싸고 프로그래밍이 어려운 16비트 MCU의 훌륭한 대안이 된다.

고도로 설정 가능한 온칩 하드웨어 모듈은 반복적인 임베디드를 보다 효율적이고 확정적으로 처리한다. 실제로 CAN의 확정성(deterministic)으로 인해, CIP가 내장된 제품은 MCU가 루프에 걸리더라도 코어 밖에서 동작을 지속할 수 있다.

최신 8비트 MCU와 CAN·CIP결합제품, LIN을 통해 네트워크 개발자들은 CAN과 LIN 통신 구현 시 더 많은 옵션과 유연성을 누릴 수 있게 되었다. 사실 대표적인 8비트 MCU LIN 애플리케이션들 중 일부는 이제 CAN 애플리케이션이 될 가능성이 있다. 

예를 들어 모듈이 네트워크의 다른 데이터, 이를테면 차량 속도를 인지하여야 하는 경우, CAN은 LIN 그 이상의 나은 선택이 될 수 있다. 이는 자동차 와이퍼가 CAN과 LIN 사이의 게이트웨이를 피하기 위해 차량 속도에 따라 속도를 조절하는데 도움이 된다. 그림 2와 같이, 시스템 수준의 CIP에 ASIC를 더 추가할 필요가 없을 수도 있다. 

이와 동일한 펄스폭변조(PWM)와 상보형파형생성기 CIP는 상당히 복잡한 수준의 차내 멀티 컬러 LED 무드 조명 구현을 위해 오랫동안 이용되어 왔다. MCU에 CAN이 내장되지 않았기 때문에 이 드라이버들은 LIN 버스에 연결되어 이용되었다. 

CAN이 내장된 비용 효율적인 8비트 MCU와 이 기능의 결합은 유연성과 함께 보다 간소화된 새로운 설계방법을 제공할 수 있다. 

시중의 8비트 MCU 대부분은 주변장치 기능 처리를 위해 코어에 크게 의존하는데 비해 CPU에 많은 부담을 주지 않으면서 CIP가 수행 가능한 다른 시스템 설계 방법들로는 다양한 센서들을 위한 정밀 인터페이스, 고성능 LED 드라이버, 적절한 복합도 수준의 모터 컨트롤 등이 있다.

특정 네트워크에서의 이들 기능 및 다른 방식들의 적합성 여부를 판단하기 위해 다양한 개발 도구들을 이용할 수 있다. 예를 들면 MPLAB 코드컨피규레이터(MPLAB Code Configurator, MCC)는 해당 애플리케이션에 대한 주변장치와 기능들의 설정을 위한 그래픽 인터페이스를 제공하는 무료 플러그인 소프트웨어다. 

시스템 개발 엔지니어들은 이 도구를 통해, 특정 임무 수행을 위해 전체 소프트웨어 루틴을 새로 쓰고 검증하는 절차 없이 쉽게 하드웨어 기반 주변장치들의 환경을 설정할 수 있다.

오토모티브 및 산업 애플리케이션의 경우 시스템 개발자들은 버스 아키텍처 개발 시 몇 개의 선택권을 갖는다. CAN은 널리 통용되는 버스로서 특히 기존 네트워크를 위한 추가 센싱이나 컨트롤이 필요한 경우, 서로 다른 시스템 요건을 충족할 수 있도록 추가 기능을 갖춘 MCU에게 CAN은 탁월한 옵션이 된다. 

CIP가 내장된 8비트 MCU/CAN 제품군은 네트워크 상의 보다 비용에 민감한 노드에 이르기까지 더욱 CAN의 사용 범위를 넓혀 준다. 

CIP가 내장된 새로운 8비트 MCU/CAN 제품군은 유연하고 비용 효율적이며 단순하면서도 견고하고 신뢰성 높은 데이터 전송은 물론, 액세스 컨트롤과 배터리 충전/관리, 진단 장비를 위한 개선된 성능과 시스템 지원을 필요로 하는 새로운 오토모티브 네트워크 애플리케이션을 위한 해답을 제시해줄 것이다.

글 : 에드윈 로메로(Edwin Romero) / 마케팅 매니저 / 마이크로칩테크놀로지

최태우 기자  taewoo@internews.kr

<저작권자 © 인터페이스뉴스, 무단 전재 및 재배포 금지>

최태우 기자의 다른기사 보기
icon인기기사
많이 본 뉴스
    여백
    Tour&Life
    여백
    여백
      여백
      여백
      여백
      Back to Top