상세 컨텐츠

본문 제목

EtherCAT 사용 가능한 MCU

EtherCAT

by Zin9 2022. 11. 29. 22:40

본문

728x90

EtherCAT 통신에 대해 들어가기 전에, EtherCAT을 지원하는 MCU는 무엇이 있는지 알아보자.

찾는 법은 간단하다.

구글에 "ethercat mcu"라고 검색하면 그림 1과 같이 ESC Overview에 대한 사이트가 보인다.

그림을 누르면 링크로 연결된다.

3페이지로 되어 있고, 1페이지 좌측 상단에 파일 작성 날짜가 적혀있으니, 볼 때마다 확인하도록 하자.

그림 1에 EtherCAT Slave Controller(ESC)라고 있다.

줄여서 ESC는 MCU에 포함되어 있을 수도 있고, 별도의 칩을 사용해야 할 수도 있다.

 

말 그대로 Slave이므로 우리는 EtherCAT Master(통상 모션 제어기측)이 아닌

EtherCAT Slave(서보 앰프, 서보 드라이버 등)의 관점에서 EtherCAT MCU를 알아볼 것이다.

<그림 1. EtherCAT 기능 지원하는 MCU 검색>

링크로 들어가면 그림 2와 같이 EtherCAT 기능을 지원하는 회사와 MCU 모델명을 확인할 수 있다.

여러 제조사에서 EtherCAT을 사용하고 있다.

우리는 산업용 로봇에 종사하고 있지 않은가?

그래서 한 번 살펴보니 YASKAWA가 보이는데 직접 MCU를 개발해서 사용하고 있는 건지. 대단한 것 같다.

<그림 2. EtherCAT 기능을 지원하는 MCU 모델명 및 제조사>

그렇다면, 국내 로봇 회사는 어떤 MCU를 사용하고 있을까?

보통은 로봇을 분해해야 알 수 있지만, 나는 여러 채용 공고를 통해 조사해보았다.

채용공고를 참고했기 때문에 정보가 다를 수 있다는 점에 유의하자.

<표 1. 국내 로봇 업체별 EtherCAT MCU 조사>

표 1을 보자.

국내 여러 업체들의 EtherCAT MCU를 추정하여 작성했다.

특이한 점은 FPGA를 사용하는 MCU가 있다는 점이다.

모터 제어 어플리케이션에서 많이 사용되는 TI사의 C2000™의 경우,

코드 자동 생성 기능이 있고 샘플 코드를 제공하기 때문에 개발에 대한 접근이 쉬운 편이다.

반면, FPGA의 경우 코드 자동 생성 기능이 없어서 직접 하나하나 손코딩을 해야 한다.

 

FPGA를 사용함으로써 손코딩을 함으로써 원하는 기능을 위한 코드만 작성이 가능하고,
코드 디버깅이 쉽다는 장점이 있다.
하지만, 디버깅을 하기 위해 컴파일을 하는 시간이 다소 소요된다.

 

FPGA의 경우는, ET18xx를 Beckhoff로부터 구매하면 EtherCAT IP를 제공받을 수 있다.

Altera나 Xillinx를 켜서 EtherCAT License를 등록하면 자동으로 EtherCAT IP가 추가되어

EtherCAT 코드를 사용할 수 있다.

 

TI사의 TMS320F28388의 경우는 아래의 그림 3을 참고하자.

특이하게 3개의 Core를 갖고 있다.

서보드라이버의 기능을 적절하게 나누어서 기능을 구현하게끔 하는 것 같다.

꽤나 복잡하겠는걸?

 

그림 3의 우측을 보면 녹색의 Arm Crrtex-M4 라고 적혀있는 상자 위에

Connectivity Manager(CM)를 통해 EtherCAT 통신을 주고 받는 것이다.

<그림 3. TMS320F28388d의 기능 블록도>

좀 더 알아보고자 데이터시트를 발췌하여 그림 4로 넣었다.

EtherCAT을 포함한 다양한 통신을 지원하고, 최대 125MHz로 동작한다.

이로써 100BASE-T도 만족하니까, EtherCAT를 100MHz로 사용하는데 적합하다.

<그림 4. TMS320F28388의 CM 설명 부분 발췌>

그림 4는 CM에 대한 설명을 데이터시트에서 발췌했다.

EtherCAT을 포함한 다양한 통신을 지원하고, 최대 125MHz로 동작한다.

이로써 100BASE-T도 만족하니까, CM에서 EtherCAT 통신 코드가 작성되는 것일까?

 

아래 링크를 접속하면 TMS320F28388의 다양한 응용 노트가 있다.

링크 바로가기

 

공부를 위해서는 C2000™을 설치하면 개발 보드에 대한 소스코드도 제공해준다.

소스코드를 보면 내 추측이 맞는지 알 수 있을 것이다.

시간이 되면 알아보는 시간을 갖도록 하겠다.

코드 뿐만 아니라 개발 보드의 회로 해석도 해보고자 한다.

 

글을 마치며...

이로써 EtherCAT MCU에 대한 글을 작성해보았다.

필자의 경험과 추측으로 작성되다 보니 내용이 다른 부분이 있을 수 있다.

다음 글에선 EtherCAT의 원리, 특성, 용도 등에 대해 알아보도록 한다.

 

P.S. EtherCAT도 한글로 된 자료가 없다시피 하다.

EtherCAT 관련 문서가 영어, 중국어, 일본어 등으로 되어 있지만 한국어로는 없다.

있긴 할까?

그래서 서보 드라이버에서 사용하는 EtherCAT 기능에 대해 기록을 남겨볼 것이다.

 

728x90

'EtherCAT' 카테고리의 다른 글

CiA402 StateMachine 톺아보기 (3)  (0) 2023.10.22
CiA402 StateMachine 톺아보기 (2)  (0) 2023.10.22
CiA402 StateMachine 톺아보기 (1)  (0) 2023.10.21

관련글 더보기