인텔리전트 노드에 대한 원격 모션 제어로 신뢰성 높은 자동화 구현에 기여하는 10BASE-T1L 이더넷 기술

글: 알레산드로 레오나르디(Alessandro Leonardi) 어카운트 매니저, 조르지오 파가니니(Giorgio Paganini) 밀라노 폴리텍대학 학생, 풀비오 바가렐리(Fulvio Bagarelli) 테크리더 / 아나로그디바이스(Analog Devices, Inc.)


개요

인더스트리 4.0 덕분에 먼 거리에 있는 에지에도 인텔리전스를 추가할 수 있게 되었고, 10BASE-T1L 이더넷은 PoDL(power over data line) 기능, 높은 데이터 전송 속도, 이더넷 기반 프로토콜들과의 호환성을 앞세워서 산업용 분야를 위한 길을 열어가고 있다. 이 글에서는 컨트롤러와 사용자 인터페이스를 여러 센서와 액추에이터 같은 엔드포인트들과 연결하기 위해, 새로운 10BASE-T1L 이더넷 물리층 표준이 자동화 및 산업용 애플리케이션에 어떻게 통합될 수 있는지 설명한다. 이 모든 작업은 양방향 통신을 위한 표준 이더넷 인터페이스를 사용해서 할 수 있다.


머리말

10BASE-T1L은 산업용 커넥티비티를 위한 물리층 표준이다. 이는 표준 연선(twisted pair cable)을 사용해서 최대 1000미터 거리까지 최대 10Mbps의 데이터 전송과 전원 공급이 가능하다. 낮은 지연시간과 PoDL 기능을 통해 센서나 액추에이터 같은 디바이스들을 원격으로 제어할 수 있다. 이 글에서는 두 개 이상의 스테퍼 모터를 동기적으로 제어하는 원격 호스트로 구성된 시스템을 구현하는 방법을 설명함으로써, 원거리에 대한 실시간 통신 기능을 시연해 보인다.


시스템 개요

그림 1은 이 시스템의 개략도를 보여준다. 호스트 측에서는ADIN1100ADIN1200이더넷 PHY가 표준 링크와 10BASE-T1L 링크 사이의 변환을 담당하고, 원격 측에서는 컨트롤러가 ADIN1110이더넷 MAC-PHY를 사용해서 이 링크와 인터페이스하는데, 이때 데이터와 명령을 교환하기 위해 오직 SPI만을 필요로 한다. ADI의 Trinamic™ TMC5160스테퍼 모터 컨트롤러 및 드라이버는 이 컨트롤러 상에서 어떠한 계산도 할 필요 없이 포지셔닝을 위한 6포인트 램프(six-point ramp)를 생성할 수 있으므로, 이를 활용하여 정밀 및 동기화한 모션 제어를 달성할 수 있다. 또한 이들 디바이스들을 사용하면 마이크로컨트롤러(MCU)가 필요로 하는 주변장치, 컴퓨팅 성능, 코드 크기를 최소화할 수 있어, 시장에서 판매되고 있는 다양한 MCU 제품을 사용할 수 있다. 뿐만 아니라 주어진 전력 소모 범위 이내에서, 전체 원격 서브시스템을 구동하는 데 필요한 전력을 데이터 라인으로부터 직접 공급받을 수 있으므로, 오직 미디어 컨버터 보드에만 로컬 전원을 공급하면 된다.

 

Figure 1. A system overview.
그림 1. 시스템 개요

 

시스템 하드웨어

이 시스템은 다음과 같은 4개의 보드로 구성된다:

  • EVAL-ADIN1100보드: ADIN1100 10BASE-T1L PHY와 ADIN1200 10BASE-T/100BASE-T PHY를 함께 사용해서 한 물리층 표준에서 다른 물리층 표준으로 메시지를 변환한다. 이 보드는 다양한 동작 모드로 구성할 수 있다. 이 프로젝트에서는 스탠더드 모드 15(Standard Mode 15, 미디어 컨버터)를 사용했다. 또한 EVAL-ADIN1100 보드는 미디어 변환에 필요한 기본 구성을 수행하고 진단 정보를 읽기 위한 MCU를 통합하고 있다는 점이 특징이다. 하지만 이 보드는 전송 및 수신 메시지들과 상호작용은 하지 않는다. 이 보드는 통신에 대해서는 전적으로 투명하게 작동한다.
  • EVAL-ADIN1110 보드: 원격 디바이스에서 컨트롤러의 핵심을 이룬다. ADIN1110 10BASE-T1L MAC-PHY는 10BASE-T1L 링크를 통해 데이터를 수신하고, 이것을 SPI 인터페이스를 통해 온보드 Cortex ®-M4 마이크로컨트롤러로 전송하여 처리토록 한다. 또한 이 보드는 보드에 기능을 추가할 수 있도록 쉴드를 설치하는 데 사용될 수 있는 아두이노 우노(Arduino Uno) 호환 헤더를 가지고 있다.
  • TMC5160 쉴드 보드: 아두이노 쉴드 폼팩터를 기반으로 개발된 맞춤형 보드이다. 하나의 쉴드 보드는 최대 2개의 TMC5160 SilentStepStick 보드를 지원하며, 여러 개의 쉴드 보드를 적층해서 제어 가능한 모터의 최대 수를 늘릴 수 있다. 모든 드라이버가 동일한 SPI 클럭 및 데이터 신호를 공유하지만, 칩 선택 라인은 독립적으로 유지된다. 이러한 구성을 통해, 다음과 같은 두 가지 통신 모드가 가능하다. 먼저, 칩 선택 라인들이 개별적으로 어서트되면, MCU는 예컨대 모션 파라미터를 구성하기 위해, 단일 컨트롤러들과 통신할 수 있다. 그러지 않고 많은 칩 선택 라인들이 동시에 어서트되면, 선택된 모든 드라이버들은 동일한 명령을 동시에 수신한다. 후자의 모드는 주로 모션 동기화 용도로 사용된다. 이 보드는 또한 StepStick 보드에 약간의 추가적인 입력 커패시턴스를 제공함으로써 모터 기동 시 전류 피크를 낮추고, 정상 동작 시 전류 프로파일을 매끄럽게 한다. 그러므로 PoDL을 사용해서 최대 2개의 NEMA17 모터로 이루어진 전체 시스템에 전원을 공급할 수 있다(디폴트 셋업일 경우, 최대 전송 전력은 24V, 12W). 또한 이 보드는 컨트롤러로부터의 위상 출력을 좀더 접근하기 쉽게 하는 스크류 단자를 사용함으로써 스테퍼 모터와의 연결을 수월하게 하는 데 사용될 수도 있다.
  • 2개의 EVAL-ADIN11X0EBZ 보드: 하나는 미디어 컨버터를 위한 것이고 또 하나는 EVAL-ADIN1110EBZ를 위한 것으로서, 시스템에 PoDL 기능을 추가하는 데 사용된다. 이 보드는 플러그인 모듈로서, 평가 보드들의 MDI 프로토타이핑 헤더에 탑재할 수 있으며, 데이터 라인으로부터 전원을 공급 또는 수신하도록 구성할 수 있다.
Figure 2. EVAL-ADIN1110, EVAL-ADIN11X0EBZ, and TMC5160 shield assembled.
그림 2. EVAL-ADIN1110, EVAL-ADIN11X0EBZ, TMC5160 쉴드 보드를 조립한 모습

소프트웨어

소프트웨어 코드는 다운로드하여 사용할 수 있다: “ 10Base-T1L 이더넷을 활용한 원격 모션 제어”코드를 경량화하고 통신 오버헤드를 최소화하기 위해 데이터 링크층 위쪽으로는 표준 통신 프로토콜들을 구현하지 않았다. 모든 메시지는 이더넷 프레임의 페이로드 필드를 사용해서 사전에 지정된 고정 포맷으로 교환된다. 데이터는 46바이트 세그먼트들로 이루어지는데, 2바이트의 고정형 헤더와 44바이트의 데이터 필드로 구성된다. 이 헤더에는 수신한 데이터를 어떻게 처리할지 결정하는 8비트 디바이스 유형 필드와, 동일한 유형의 디바이스가 여러 개 있는 경우 개별 물리 장치를 선택할 수 있는 8비트 디바이스 ID 필드가 포함되어 있다.

Figure 3. Communication protocol format.
그림 3. 통신 프로토콜 포맷

호스트 인터페이스는 파이썬(Python)으로 작성되어 있어 윈도우 및 리눅스 호스트와 호환이 가능하다. 이더넷 통신은 Scapy 모듈을 사용해서 관리되므로 이더넷 데이터 링크를 포함한 스택의 각 층에서 패킷을 생성, 전송, 수신, 조작할 수 있다. 이 프로토콜에서 정의하고 있는 각각의 디바이스 유형은 클래스가 지정되어 있는데, 여기에는 교환하고자 하는 데이터를 저장할 수 있는 속성과, (변수들을 직접 수정하는 것이 아니라) 이러한 속성들을 수정하는데 사용할 수 있는 일련의 메소드들을 포함한다. 예를 들어 이 모션 컨트롤러의 스피드 모드에서 모션 방향을 변경하기 위해서는, 방향 플래그에 0 또는 1 값을 수작업적으로 지정하는 것이 아니라, “setDirectionCW()”와 “setDirectionCCW()” 메소드를 정의하면 된다. 또한 각각의 클래스는 “packSegment()” 메소드를 포함하는데, 이 메소드는 제어하고자 하는 디바이스에 대응하는 세그먼트를 해당 디바이스 유형에 미리 정해진 포맷에 따라서 바이트(byte) 어레이 형태로 패킹하고 반환한다.

펌웨어는 ChibiOS 환경을 사용해서 C로 작성되었다. ChibiOS 환경은 여타 툴들 중에서 실시간 운영체제(RTOS), 하드웨어 추상화층(HAL), 주변장치 드라이버들을 포함하므로, 유사한 마이크로컨트롤러들 간에 코드를 손쉽게 이식할 수 있다. 이 프로젝트는 다음과 같은 3개의 맞춤형 모듈을 기반으로 한다:

  • ADIN1110.c: SPI 인터페이스를 통해서 ADIN1110과 데이터와 명령을 교환할 수 있도록 하기 위해 사용되는 드라이버이다. 이 드라이버는 디바이스 레지스터로부터 데이터를 읽고 쓰기 위한 로우 레벨의 통신 함수들과, 이더넷 프레임을 전송 및 수신하기 위한 하이 레벨의 함수들을 포함한다. 또한 10BASE-T1L 트랜시버들 사이에 통신을 구축하는 데 사용되는 함수들도 포함하고 있다. 새로운 프레임을 활용할 수 있는지 여부를 알려주는 핀은 지연시간을 최소화하기 위해 인터럽트 형태로 읽혀진다.
  • TMC5160.c: TMC5160 모션 컨트롤러를 제어하는 데 필요하고, 완전한 기능의 모션 컨트롤러 모드로 동작하도록 구성하는 모든 함수들을 구현하고 있다. 고정 속도 모드와 위치 제어 모드를 모두 구현하고 있어, 6포인트 램프를 사용해 매끄럽고 정밀한 포지셔닝을 가능하게 한다. 개별 칩 선택 라인들을 가진 단일 SPI 버스를 통해, 여러 모션 컨트롤러들과 통신이 가능하다. 또한 모션 동기화를 용이하게 하는 일련의 함수들과 typedefs를 제공한다.
  • Devices.c: T1L 링크로부터 수신된 데이터와 컨트롤러에 연결된 물리적 디바이스 사이의 인터페이스이다. 이는 호스트 인터페이스에 정의되어 있는 것과 유사한 구조체(struct)들과, 유효한 데이터를 담고 있는 새로운 프레임이 수신될 때마다 그것들을 업데이트하기 위한 함수들을 포함하고 있다. 또한 이 모듈을 사용하면 어떤 구조체가 업데이트될 때마다 어떤 동작을 실행할지 지정할 수 있다. 예를 들어 특정 디바이스 어드레스에 수신된 명령이 어느 물리적 모션 컨트롤러와 관련된 것인지 지정할 수 있다.
Figure 4. A firmware flowchart.
그림 4. 펌웨어 플로우차트

시스템의 특징과 검증

이 프로젝트는 컨트롤러와 사용자 인터페이스를 여러 센서와 액추에이터 같은 엔드포인트들과 연결하기 위해, 새로운 10BASE-T1L 이더넷 물리층 표준이 자동화 및 산업용 애플리케이션에 어떻게 통합될 수 있는지 보여주기 위한 것이다. 이러한 애플리케이션은 산업 분야에서 저전력 자동화 작업은 물론, 경량 로봇과 CNC 머신(데스크톱 3D 프린터, 데스크톱 밀링 머신, 그 밖에 다른 카르테시안 플로터(cartesian plotter)) 등에 폭 넓게 사용되는 여러 개의 스테퍼 모터에 대한 실시간 원격 제어를 겨냥하고 있다. 이 애플리케이션의 활용 사례는 또 다른 형태의 액추에이터와 원격 제어 장비들로도 확대될 수 있다. 이 시스템은 비슷한 용도로 사용되고 있는 기존 인터페이스보다 다음과 같은 이점을 제공한다:

  • 단일 연선 사용으로 배선 간소화: 데이터 라인을 통해 전원 공급이 가능해 센서 같은 저전력 디바이스를 이 연결로부터 직접 구동할 수 있으며, 나아가 필요한 배선과 커넥터 수를 더욱 줄일 수 있어 전체 시스템의 복잡성, 비용, 무게를 낮출 수 있다.
  • PoDL 표준을 사용한 전원 공급: 데이터 라인에 DC 전압을 얹어서 네트워크에 연결된 디바이스들에 전원을 공급할 수 있다. 오직 수동 소자들만을 사용해서 이러한 유형의 결합을 이룰 수 있으며, 일단 수신기 단에서 전압 필터링이 이루어지면 정류 절차 없이 곧바로 디바이스나 DC-DC 컨버터에 전원을 공급할 수 있다. 이러한 유형의 결합에 사용되는 소자들을 적절히 선택하기만 한다면 고효율 시스템을 달성할 수 있다. 이 프로젝트는 평가 보드에 탑재된 표준 소자들을 사용해서 전반적으로 약 93%의 효율을 달성했다(24V 전원을 사용하고 총 부하 전류는 200mA). 이 같은 결과 또한 개선의 여지가 큰 편이다. 대부분의 손실은 전원 경로 상의 수동 소자들의 저항성 강하로 인한 것이다.
  • 라스트 마일과 엔드포인트 연결 모두에 사용할 수 있는 다재다능성: 아나로그디바이스(Analog Devices)의 10BASE-T1L 디바이스들은 최대 1.7km의 거리까지 테스트를 통과했다. 또한 시스템 복잡성에 영향을 적게 미치면서 데이지 체인 연결이 가능하다. 일례로, 설계 복잡성을 낮추는 2포트 스위치 제품인 ADIN2111을 사용하면 데이지 체인 기능을 갖춘 디바이스 설계가 가능해, 해당 링크를 엔드포인트 망에 적합하게 만들 수 있다.
  • 데스크톱 및 노트북PC와 같이 이미 이더넷 컨트롤러를 내장하고 있는 기존 장비들과의 손쉬운 인터페이스: 데이터 프레임은 이더넷 데이터 링크 표준을 따르며, 이 위로 모든 이더넷 호환 프로토콜들을 구현할 수 있어, 표준 이더넷 링크와의 브리지로서 미디어 컨버터만 추가로 요구된다. 예컨대 이 프로젝트에 사용된 보드인 EVAL-ADIN1100을 투명한 미디어 컨버터를 위한 레퍼런스 디자인으로 사용할 수 있는데, 이때 2개의 이더넷 PHY와 구성 및 디버깅 용도의 마이크로컨트롤러(옵션)만 추가로 필요하다.
  • 전이중(full duplex), 최대 10Mbps에 이르는 높은 데이터 레이트: 산업용 이더넷 기반 프로토콜들을 구현해 올릴 수 있는 데이지체인 토폴로지와 결합할 경우, 균일한 전송 지연시간이 요구되는 실시간 애플리케이션에 활용할 수 있다.
  • 트랜시버와 미디어 사이의 절연: 애플리케이션의 안전성과 강건성 요구 사항에 따라, 용량성 결합(capacitive coupling) 또는 자기 결합(magnetic coupling)을 통해 절연을 달성할 수 있다.

이 시스템의 성능을 평가하기 위해 다양한 측정을 실시했다. ADIN1110 트랜시버 및 TMC5160 컨트롤러와의 통신을 위해 사용되는 모든 주변장치들은 표준 하드웨어 구성을 통해 달성할 수 있는 최대 속도로 구성됐다. 해당 마이크로컨트롤러의 시스템 클럭이 80MHz인 점을 고려하여, 모션 컨트롤러를 위해서는 SPI의 데이터 레이트를 2.5MHz로 설정하고 ADIN1110 트랜시버를 위해서는 20MHz로 설정했다. TMC5160의 경우 마이크로컨트롤러 클럭 설정을 조절하고 이 IC에 외부 클럭 신호를 제공함으로써 SPI 주파수를 최대 8MHz까지 더 높일 수 있는 데 반해, ADIN1110은 데이터 시트 상의 최대 한계가 25MHz이다.

지연시간을 보면, 데이터 요청을 한 시점과 응답 프레임을 수신한 시점 사이의 총 시간이 약 4ms로 평가되었다(500개 샘플에 대해 와이어샤크(Wireshark) 프로토콜 분석기를 사용해서 데이터 요청 타임스탬프와 응답 타임스탬프 사이의 차이를 계산한 평균값). 시스템의 어느 부분이 이 지연의 원인인지 파악하기 위한 추가적인 평가도 실시했다. 이 결과에 따르면, 주된 원인은 RTOS가 제공하는 지연 기능인 것으로 나타났다. 이는 최소 1ms의 지연을 허용하는데, TMC5160의 쓰기 동작과 읽기 동작 사이의 간격을 설정하기 위해 사용된 것이다. 그런데 요구되는 지연시간은 수십 나노초(ns) 수준이다. 이러한 지연은 더 짧은 지연 간격을 허용하는 다른 타이머 기반 지연 기능을 정의함으로써 향상할 수 있을 것이다.

이 지연의 두 번째 원인은 프레임을 수신하는 데 사용되는 Scapy 함수로서, 이는 함수를 호출한 후에 3ms의 최소 셋업 시간을 필요로 한다. 실제 애플리케이션에서는 Scapy 같은 써드파티 툴이 아니라 운영 체제의 네트워크 어댑터 드라이버를 사용해서 직접 인터페이스를 개발함으로써 이 지연을 향상할 수 있다. 하지만 이 방법은 다른 운영 체체들과 호환이 불가능해지고 코드 복잡성이 높아진다는 단점이 있다.

Figure 5. A simplified scheme of power path.
그림 5. 전원 경로 개략도

GPIO를 토글하고 오실로스코프로 하이(high) 기간을 측정함으로써 마이크로컨트롤러에 구현된 콜백의 정확한 실행 시간을 측정했다. 이렇게 측정한 실행 시간은 수신된 프레임을 읽고 파싱(parsing)하고 모션 컨트롤러로 명령을 전송하기 위해 사용된 함수들을 포함한다.

표 1. 측정된 실행 시간
명령 실행 시간 (ms) 누적 지연 시간 (ms) 최적의 실행 시간 (ms)
동기화된 모션, 2개 모터 (x24 TMC5160 레지스터 접근) 24.058 24.000 0.058
모터 데이터 요청(x3 TMC5160 접근) 3.109 3.000 0.109
더미 데이터 요청(TMC5160 상호동작 없음) 0.080 0 0.080

PoDL을 사용해서 원격 디바이스에 전원을 공급할 때 전송 경로를 따른 전력 손실을 평가하기 위한 측정들도 실시했다. 모션 컨트롤러 쉴드 보드를 전자 부하로 교체하고 0.1A부터 0.5A까지 100mA 간격으로 다양한 전류값을 설정해서 테스트를 실시했다. 이를 통해 어떤 소자들이 전력 손실에 중대하게 영향을 미치는지 알 수 있으며, 이 결과에 따라서 더 높은 전류 정격을 달성하도록 설계를 개선할 수 있다.

표 2. 시스템 효율
전류 (A) 입력 전력 (W) 출력 전력 (W) 효율 (%)
0.109 2.61 2.47 0.95
0.200 4.70 4.45 0.93
0.308 7.37 6.70 0.91
0.399 9.54 8.51 0.89
0.502 12.00 10.45 0.87
Figure 6. Power losses for each passive component, as a function of current.
그림 6. 각 수동 소자의 전류에 따른 전력 손실

이 결과를 보면, 브리지 정류기와 쇼트키 다이오드 D2가 전력 손실의 주된 요인이라는 것을 알 수 있다. 두 소자 모두 역 극성 보호에 사용되는 것이다. 이들 소자들을 MOSFET 트랜지스터와 아이디얼 다이오드 컨트롤러에 기반한 유사 회로로 교체함으로써 이러한 보호 기능을 유지하면서 더 높은 효율을 달성할 수 있다. 전류값이 높을수록 손실에 있어서 입력 및 출력 필터링에 사용되는 결합 인덕터의 DC 저항의 비중이 커진다. 그러므로 전류 용량을 높이기 위해서는 더 높은 전류 정격의 비슷한 인덕터를 사용해야 한다.


맺음말

인더스트리 4.0이 인텔리전트 자동화의 한계를 끌어올리고 있다. ADIN1100, ADIN1110, 10BASE-T1L 트랜시버들과 함께 ADI Trinamic 기술을 사용하면 에지에 전원을 공급하지 않고도 컨트롤러로부터 최대 1700미터 멀리 떨어져 있는 센서와 액추에이터들을 원격으로 제어할 수 있다. 신뢰성 높은 원격 제어를 구현함으로써 성능이나 속도 저하를 일으키지 않으면서 스테퍼 모터를 보다 먼 거리에서도 손쉽게 실시간으로 제어할 수 있다. 이러한 시스템 솔루션은 전례 없는 응답 시간과 극대화된 성능을 통해 산업용 분야에 일대 변화를 가져올 것으로 기대된다.


저자 소개

알레산드로 레오나르디(Alessandro Leonardi)는 아나로그디바이스(Analog Devices) 밀라노 지사에서 고객 관리를 맡고 있다. 밀라노 공과대학에서 전자공학 학사학위 및 석사학위를 취득했다. 졸업 후 ADI에서 필드 애플리케이션 수습 프로그램에 참여하면서 경력을 시작했다.


조르지오 파가니니(Giorgio Paganini)는 밀라노 공과대학에서 전자공학을 전공하는 학생이다. 밀라노 공과대학의 포뮬러 스튜던트(Formula Student) 팀인 Dynamis PRC의 팀원으로 일렉트로닉스 개발 프로젝트에 참여했다.


풀비오 바가렐리(Fulvio Bagarelli)는 2017년에 선임 FAE로 ADI에 입사했으며, 현재는 필드 테크리더이다. ADI 합류 전에는 리니어 테크놀러지(Linear Technology, 현 ADI), 애로우 일렉트로닉스(Arrow Electronics), ST마이크로일렉트로닉스(STMicroelectronics)에서 재직했다. 이탈리아의 밀라노 공과대학에서 전자공학 석사학위를 취득했으며, SDA 보코니 경영대학원에서 경영 MBA를 취득했다.