신뢰할 수 있는 그리드를 위한 실시간 이중화 통신
DigiKey 유럽 편집자 제공
2017-02-09
전기 그리드는 오늘날의 세계에 꼭 필요한 자원입니다. 분산된 발전 시설의 사용이 점점 증가하고 모니터링과 제어 측면에서 로컬 인텔리전스를 더 많이 필요로 하는 마이크로그리드가 도입됨에 따라 전기 네트워크의 신뢰성이 특히 중요해졌습니다. 전압, 주파수, 개폐기 상태에 대한 빈번한 분석을 통해 네트워크에서 일정하고 안정적인 AC를 제공할 수 있도록 보장하려면 그리드에 있는 모든 시스템이 통합되어야 합니다. 이러한 요구 사항을 충족하려면 변전소와 같이 가치가 높은 노드와 제어 센터 간에 즉시 사용 가능한 짧은 대기 시간 통신과 고급 모니터링을 사용하여 각 서브 시스템의 상태를 자세히 모니터링해야 합니다.
전기 공급 산업은 그리드 인프라의 관리를 지원하고 필요한 수준의 제어 및 통신 기능을 제공하기 위해 IEC 61580 표준을 채택했습니다. IEC 61580을 사용하면 디지털 신호가 전력 상태에 대한 정보를 이더넷 기술을 기반으로 하여 네트워크를 통해 변전소와 전기 서브 시스템 간에 전송합니다. 그리드 운영자의 갈수록 복잡해지는 요구에 부응하기 위해, IEC 61580 표준은 IEEE 1588 동기화, 일반 객체 지향 시스템 이벤트(GOOSE) 및 표본값(SV) 메시징 등의 시간 결정적인 여러 서비스를 포함하도록 발전했습니다.

그림 1: IEC 61580의 주요 요소와 이더넷과의 관계.
GOOSE 프로토콜은 여러 IT 시스템에서 사용되는 기존의 클라이언트-서버 통신 모델보다 분산 제어 응용 분야에 더 적합한 게시-구독 메시징을 지원합니다. IEC 61580은 원격 스테이션과 변전소 또는 마이크로그리드 내의 노드에 직접 액세스해야 하는 기타 상황을 통한 장치 관리를 지원하기 위해 클라이언트-서버 메시징을 별도로 사용할 수 있도록 합니다.
GOOSE를 사용하면 다양한 전기 소자의 상태에 대한 실시간 메시지를, 해당 메시지를 확인해야 하는 모든 장치로 전달할 수 있습니다. 예를 들어, 각 계전기는 상태를 보고하기 위해 포함하는 다양한 개체 유형 각각의 단일 식별자를 사용하여 정보를 게시합니다. 다른 계전기와 장치는 대상 계전기에서 발송하는 상태 메시지 스트림을 구독할 수 있습니다. 이는 네트워크의 멀티캐스팅과 수신 노드의 필터링이 함께 사용되어 수행되므로, 게시자는 구독자가 누구인지 또는 메시지 수신 여부를 알 필요가 없습니다. 최대 성능을 얻기 위해, GOOSE는 일반적으로 사용되는 TCP/IP 프로토콜을 사용하지 않습니다. 대신 GOOSE 메시지가 이더넷 프레임 내부에 직접 전송됩니다. 마찬가지로, SV 메시징을 사용하면 전압 측정치와 같이 빠르게 변화하는 값의 데이터를 구독 수신자에게 멀티캐스팅할 수 있습니다.
IEC 61580에 따라 제공되는 서비스에는 IEEE 1588 표준에 따른 시간 동기화가 포함됩니다. 이 표준은 고정밀 그랜드마스터 클록에서 파생된 타이밍 신호를 배포합니다. 오늘날 사용되는 여러 시스템에 탑재된 이 그랜드마스터 클록은 위성항법 시스템(GPS) 위성으로부터 전송되는 시간 신호를 사용하며, 각 GPS 위성에는 원자 시계가 장착되어 있습니다. 그랜드마스터 클록은 GPS 신호 수신에 실패했을 때 임시 마스터로 사용할 수 있도록 게이트웨이에 설치한 경계 클록이나, 동기화해야 하는 각 시스템 내부에 장착된 일반 클록으로 분류되는, 트리 구조의 슬레이브 클록에 신호를 공급합니다. 타이밍 정보는 모든 시스템의 동기화 상태를 유지하기 위해 일정 간격으로 반복되어야 하는 일련의 메시지 교환을 사용하여 트리를 통해 리플됩니다.
이 프로토콜은 마스터 클록에서 시간 스탬프가 포함된 동기화 메시지를 슬레이브 클록에 전송하도록 하는 방식으로 작동합니다. 잠시 후, 차후 시간 스탬프가 포함된 후속 메시지를 전송합니다. 슬레이브 클록은 마스터에게 지연 예상을 요청하는 메시지로 응답하며, 마스터는 전송 시간이 포함된 추가 응답을 제공합니다. 이 공정이 끝나면 슬레이브 클록에는 4개의 시간 스탬프가 있게 되며 그중 3개는 마스터에서 보낸 것입니다. 슬레이브 클록은 이 시퀀스의 타이밍 정보를 사용하여 내부 클록을 마스터 클록과 가능한 한 비슷하게 맞추기 위해 필요한 변경을 결정합니다. 이 프로토콜로 타이밍 동기화가 이뤄지며, 이러한 동기화는 근거리통신망(LAN)에서 보통 수십 나노초 단위까지 정확합니다.
IEC 61580 인프라의 다른 중요한 부분으로는 이중화 데이터 전송 프로토콜이 있습니다. IEC 62439에서 표준화된 병렬 이중화 프로토콜(PRP)은 이중 포트 전이중 이더넷 통신을 지원합니다. 이 프로토콜은 GOOSE 및 SV와 같은 상위 응용 분야 프로토콜에서 보이는 MAC 계층 인터페이스 아래에서 두 개의 이중화 패킷 관리 스트림을 제공합니다. 일반적으로 이더넷 연결은 여러 가지 이더넷 스위치를 통해 수행되며 별형 배선 네트워크 토폴로지를 가정합니다.

그림 2: PRP 이중화 프로토콜은 별형 배선 토폴로지를 가정합니다.
대안은 IEC 62439에도 정의되어 있는 고가용성 완벽 이중화(HSR)입니다. HSR는 링 토폴로지를 사용하며, 각 패킷은 복제된 후 링을 반대 방향으로 돌아 대상을 향해 전달됩니다. 링 아키텍처를 사용하면, 패킷이 여러 노드를 거쳐 대상에 도달해야 할 경우 지연을 늘려가며 추가 스위치/라우터를 사용해야 할 필요가 없습니다. 고급 통신 컨트롤러는 컷스루 포워딩 사용을 통해 이러한 지연을 최소화할 수 있습니다. 이 접근 방식을 사용하는 경우 대상에 대한 포워딩을 시작하기 전에 패킷을 완전히 디코딩할 필요가 없습니다.

그림 3: HSR 이중화 프로토콜은 링 토폴로지에 사용하도록 고안되었습니다.
수신되는 이더넷 메시지를 대량으로 필터링해야 하므로, IEC 61580에는 알고리즘을 제어하는 데 사용할 수 있는 연산력의 크기를 절감하는 고성능 처리가 필요합니다. 한 가지 해법은 네트워크 수준 분석의 작업량을 최대한 줄여서 호스트 프로세서가 중요한 메시지만 처리하도록 하는 것입니다. 이러한 작업은 다중 코어 SoC에서 수행할 수 있으며, 다중 코어 SoC 중 일부에는 특수 지능형 네트워크 프로세서가 포함됩니다. 한 가지 예로 Texas Instruments에서 제공하는 AM572x Sitara 내장형 마이크로 프로세서를 들 수 있습니다. 네트워킹 기능을 쉽게 탐색할 수 있는 평가 기판도 제공됩니다.
AM572x는 ARM® Cortex®-A15 프로세서를 기반으로 합니다. 다중 코어 장치는 I/O 집약적인 작업을 줄이는 데 사용할 수 있는 Cortex-M4를 사용하여 호스트 프로세서를 보강합니다. 여기에는 데이터 분석 수행을 위한 C66x 아키텍처 기반의 디지털 신호 프로세서와 한 쌍의 네트워킹 프로세서가 포함되어 있습니다. AM572x의 PRU-ICSS 서브 시스템은 ARM 코어에 제공되는 기능에 더해 별도의 처리 기능을 제공합니다. 이 장치에는 두 개의 PRU가 포함되어 있으며, 각 PRU에는 최대 200MHz로 실행할 수 있는 32비트 RISC 프로세서와 네트워킹 인터페이스가 있습니다. 독립된 두 개의 지능형 코어는 PRP 및 HSR에 대한 즉각적인 지원을 제공합니다.
PRU 코어의 RISC 프로세서에는 범용 아키텍처가 없습니다. 대신 이 코어는 네트워크 프레임에서 생성되는 밀집된 메모리 매핑 데이터 구조의 유형을 조작하도록 특별히 설계되었습니다. 여기에는 실시간 제약이 엄격하게 적용되는 응용 분야를 지원하기 위해 다양한 기능이 통합되어 있습니다. PRU 프로세서에서 어느 정도의 패킷 필터링을 수행할 수 있습니다. AM572x의 경우, IEEE 1588, GOOSE, SV와 같은 프로토콜을 위한 더 많은 헤드룸이 Cortex-M4에서 제공됩니다.
Cortex-M4를 사용하여 모든 수신 멀티캐스트 패킷을 분석하고 응용 제품 ID(APPID) 주소를 비교하여 Cortex-A15에서 실행되는 소프트웨어에서 제공하는 유효한 구독을 확보할 수 있습니다. M4는 이 작업을 통해 업스트림으로 보낼 메시지를 결정할 수 있습니다. 다른 패킷은 드롭하여 메모리에서 지울 수 있습니다.

그림 4: 공유 메모리 IPC는 IEC 61580 처리량을 Cortex-M4 및 기타 프로세서로 분담시킬 수 있습니다.
이렇게 작업량이 줄어든 처리 아키텍처에서 중요하게 고려할 사항은 개별 프로세서가 서로 통신하는 방식입니다. AM572x는 프로세서 간의 메시지 전달을 촉진하기 위해 공유 메모리를 제공합니다. 패킷을 대기열에 즉시 생성하여 순서대로 읽고 쓸 수 있도록 할 수 있습니다. 중요한 문제는 어떤 프로토콜을 사용할 것인가입니다. 한 가지 옵션은 Cortex-A15에서 Linux를 사용하는 것입니다. 그러면 운영 체제에서 공정 간 통신을 위해 제공하는 remoteproc 및 rpmsg 등의 표준 API(애플리케이션 프로그래밍 인터페이스)를 사용할 수 있습니다.
rpmsg 메시징 시스템은 원격 공정에 연결된 각 통신 채널을 반영하는 가상 장치를 제공하는 방식으로 작동합니다. 채널은 텍스트 이름으로 식별되며 로컬 rpmsg 주소와 원격 rpmsg 주소를 포함합니다. 드라이버에서 채널을 수신하기 시작하면 수신에 사용된 콜백 함수가 고유 32비트 rpmsg 로컬 주소에 바인딩됩니다. 수신 메시지가 도착하면 rpmsg 코어는 대상 주소에 따라 적절한 드라이버에 해당 메시지를 디스패치합니다. 메시지는 수신 메시지의 페이로드를 제공하는 동안 드라이버의 수신 핸들러를 호출하는 방식으로 전달됩니다. 이 체계를 통해, GOOSE 및 SV 메시지의 필터링 코드는 특정 APPID 주소를 가진 메시지를 Cortex-A15에서 실행되는 여러 핸들러로 전달할 수 있습니다. 또는, 공통 메시지 프로세서로 전달할 수 있도록 메시지를 모두 그룹화하고 호스트 프로세서에서 정렬할 수도 있습니다.
TI의 Git 리포지토리에서 사용할 수 있는 오픈 소스 IPC3.x 라이브러리는 Cortex-M4 및 DSP 코어에 사용할 수 있는 TI RTOS와 Linux 환경 간에 rpmsg 사용을 지원하는 소프트웨어를 구현합니다. TI 장치에 동일한 API를 제공하는 IPC 제품은 MessageQ API를 통해 전달되는 하드웨어 스핀록, 프로세서 간 메일함, rpmsg 호환 메시지에 대한 장치별 지원을 포괄하여 제공합니다.
결론
AM572x와 같은 장치는 메시지 전달 지원을 사용하는 다중 처리를 통해 복잡한 실시간 제어 컨트롤을 효율적으로 지원할 수 있으며, 이러한 프로토콜에는 그리드 인프라를 관리하는 핵심 작업을 위해 설계된 프로토콜이 포함됩니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.
