Shift Register
시프트 레지스터 방식이란?
시프트 레지스터Shift Register 방식은 네트워크에서 데이터 프레임이 각 장치를 순차적으로 통과하면서 필요한 데이터를 읽거나 수정하는 구조를 묘사하는 개념입니다. 이 방식은 데이터가 네트워크를 따라 시프트 레지스터처럼 이동하며, 각 장치가 데이터 프레임을 실시간으로 처리하거나 수정합니다. 트레인Train 방식이라고도 부릅니다.
주요 개념
순차적 데이터 전달
- 시프트 레지스터 방식에서 데이터 프레임은 네트워크의 각 노드를 순차적으로 통과하며, 각 노드는 도착한 프레임에서 필요한 데이터를 읽거나 수정합니다.
- 데이터는 마치 시프트 레지스터에서 비트가 이동하듯이 네트워크를 따라 이동합니다.
데이터 처리 방식
- 데이터 프레임은 마스터 장치에서 생성되어 네트워크를 통해 모든 슬레이브 장치를 통과합니다.
- 각 슬레이브는 프레임이 도착할 때 자신의 데이터 영역을 실시간으로 처리하고, 수정된 프레임을 다음 슬레이브로 전달합니다.
- 마지막 슬레이브를 통과한 프레임은 마스터로 반환되어, 전체 네트워크의 최신 데이터가 포함됩니다.
데이터 통합 및 최적화
- 시프트 레지스터 방식은 중간 장치들이 데이터에 직접 접근하고 변경할 수 있어 데이터 처리가 매우 효율적입니다.
- 단일 프레임으로 전체 네트워크의 데이터를 통합하고 처리할 수 있으므로, 네트워크 대역폭을 효율적으로 활용합니다.
시프트 레지스터 방식의 작동 원리
마스터에서 프레임 전송
- 마스터는 데이터 프레임을 생성하여 네트워크에 전송합니다. 이 프레임은 모든 슬레이브에 대한 명령이나 데이터를 포함합니다.
슬레이브의 데이터 접근
- 각 슬레이브는 도착한 프레임에서 자신의 데이터 필드를 읽거나 수정합니다.
- 예를 들어, 슬레이브 1은 자신의 센서 데이터를 프레임에 기록하고, 수정된 프레임을 다음 슬레이브로 전달합니다.
마스터로 프레임 반환
- 프레임이 모든 슬레이브를 통과한 후, 마스터로 돌아옵니다.
- 마스터는 반환된 프레임을 통해 모든 슬레이브의 최신 데이터를 수집하고 분석합니다.
On the Fly 방식과의 관계
시프트 레지스터 방식은 데이터 전송 구조를 의미하며, On-the-Fly 방식은 각 슬레이브가 데이터를 처리하는 방법을 나타냅니다. 즉, 시프트 레지스터 방식에서는 데이터 프레임이 네트워크를 순차적으로 통과하고, On-the-Fly 방식으로 각 슬레이브는 프레임을 실시간으로 처리합니다. 이 두 가지 개념은 서로 보완적이며, 이러한 결합으로 인해 네트워크 내에서 효율적이고 실시간적인 데이터 통합이 가능합니다.
시프트 레지스터 방식의 장점
낮은 지연 시간
- 데이터가 각 슬레이브를 통과하면서 실시간으로 처리되므로 지연 시간이 최소화됩니다.
- 데이터 복사나 중간 저장 없이 프레임 내에서 직접 처리가 이루어집니다.
효율적인 데이터 통합
- 단일 프레임을 통해 네트워크 전체의 데이터를 처리하고 통합할 수 있어 대역폭 사용이 효율적입니다.
- 마스터는 반환된 프레임을 통해 모든 슬레이브의 데이터를 한 번에 확인할 수 있습니다.
실시간 데이터 처리
- 각 슬레이브가 프레임을 통과하는 순간 데이터를 처리하므로, 전체 네트워크에서 실시간 데이터 갱신이 가능합니다.
주요 사용 사례
EtherCAT
- EtherCAT에서는 시프트 레지스터 방식과 On-the-Fly 처리를 결합하여 사용합니다.
- 데이터 프레임이 네트워크를 따라 이동하면서 각 슬레이브에서 필요한 데이터를 실시간으로 처리합니다.
SERCOS III
- 실시간 모션 제어 시스템에서 사용되며, 각 노드를 순차적으로 방문하여 데이터를 수집하는 구조를 가집니다.
POWERLINK
- Ethernet 기반의 실시간 통신 네트워크로, 데이터 프레임이 각 노드를 방문하며 데이터를 주고받습니다.
한계와 고려 사항
네트워크 장애에 대한 민감성
- 데이터 프레임이 각 슬레이브를 순차적으로 통과하기 때문에, 중간 장치의 장애가 전체 통신에 영향을 미칠 수 있습니다.
- 네트워크의 안정성을 위해 이중화된 토폴로지나 장애 대응 메커니즘이 필요합니다.
고정된 데이터 흐름
- 순차적인 데이터 전달 구조로 인해 네트워크 구성 변경 시 데이터 경로를 재설정해야 할 수 있습니다.
- 시스템 확장이나 변경 시 유연성이 제한될 수 있습니다.
다른 통신 방식들과의 비교
스토어 앤 포워드
개념
- 스토어 앤 포워드Store and Forward 방식은 각 노드(스위치 또는 장치)가 프레임 전체를 수신하여 메모리에 저장한 후, 데이터가 완전히 수신되었을 때 다음 노드로 전달하는 방식입니다. 이 방식은 네트워크의 각 노드가 수신 데이터를 확인하고 오류가 있을 경우 재전송을 요청하거나, 오류 없는 데이터만 다음으로 전달할 수 있습니다.
특징
- 신뢰성: 데이터의 오류가 발생할 경우 프레임을 버리고 재전송을 요청하기 때문에 통신의 신뢰성이 높습니다.
- 높은 지연 시간: 프레임이 각 노드에서 저장되고 재처리되므로 지연 시간이 증가합니다. 즉, 고속 실시간 데이터 처리에는 적합하지 않습니다.
사용 사례
- PROFINET, Modbus TCP, DeviceNet 등과 같은 네트워크에서 주로 사용되며, 데이터 무결성이 중요한 산업 환경에서 활용됩니다.
컷 스루
개념
- 컷 스루Cut-through 방식은 수신된 프레임의 목적지 주소를 확인하자마자 즉시 다음 장치로 전달을 시작하는 방식입니다. 프레임 전체를 수신하지 않고, 일부분만 확인하고도 다음 노드로 전송을 시작할 수 있기 때문에 스토어 앤 포워드보다 빠르게 데이터 전송이 가능합니다.
특징
- 낮은 지연 시간: 프레임 전체가 수신될 때까지 기다리지 않고, 목적지 주소 확인 후 바로 전달하므로 지연 시간이 줄어듭니다.
- 낮은 신뢰성: 컷 스루 방식에서는 프레임을 완전히 확인하지 않고 다음 장치로 전달하므로, 전송 중 발생한 오류가 그대로 전달될 가능성이 있습니다.
사용 사례
- Ethernet/IP나 Ethernet 기반 산업용 네트워크에서 사용될 수 있으며, 상대적으로 짧은 지연 시간을 요구하면서도 일정 수준의 오류 허용이 가능한 환경에서 활용됩니다.
폴링
개념
- 폴링Polling 방식은 네트워크 마스터 장치가 슬레이브 장치들에게 순차적으로 데이터 요청을 보내고 응답을 받는 구조입니다. 슬레이브 장치는 마스터의 요청이 있을 때만 데이터를 전송하므로, 네트워크가 제어되고 충돌이 줄어듭니다.
특징
- 충돌 최소화: 마스터가 네트워크 트래픽을 제어하기 때문에 충돌이 적고 데이터 전송이 안정적입니다.
- 높은 지연 시간: 각 슬레이브가 순차적으로 응답하므로 대기 시간이 발생하여 실시간 성능이 떨어집니다.
사용 사례
- Modbus RTU, Profibus에서 주로 사용되며, 주기적으로 데이터를 모니터링하거나 특정 이벤트를 체크하는 용도로 적합합니다.
토큰 패싱
개념
- 토큰 패싱Token Passing 방식은 네트워크 내의 각 장치가 통신할 수 있는 권한Token을 순차적으로 획득하여 통신을 진행하는 방식입니다. 특정 장치가 토큰을 받을 때까지 통신이 대기되므로 충돌을 방지할 수 있습니다.
특징
- 충돌 방지: 네트워크 트래픽 충돌이 방지되며, 순차적으로 통신 권한을 가져가는 방식이므로 데이터 전송이 매우 안정적입니다.
- 지연 시간: 네트워크가 커지거나 장치 수가 많아질수록 대기 시간이 증가하므로 실시간 성능이 제한적입니다.
사용 사례
- ControlNet, Profibus, CAN 등의 네트워크에서 사용되며, 실시간 성능보다는 데이터 충돌 방지와 안정성을 우선하는 경우에 적합합니다.
동기화 기반 시분할 통신 + 폴링
개념
- 동기화 기반 시분할 통신은 네트워크 내 모든 장치가 정해진 주기에 따라 할당된 타임슬롯에서만 데이터를 송수신하는 방식입니다.
- 폴링 방식이 결합되어, 마스터가 슬레이브들을 주기적으로 호출하고 순서대로 통신을 진행합니다. 각 슬레이브는 자신에게 할당된 타임슬롯에서만 응답하도록 설계됩니다.
특징
- 실시간성 보장: 주기적 통신과 타임슬롯을 통해 실시간 제어에 필요한 정확한 동기화가 이루어집니다.
- 충돌 방지: 모든 장치가 자신의 시간에만 통신하므로 패킷 충돌이 발생하지 않습니다.
- 마스터 제어: 마스터가 통신 주기를 관리하며, 모든 슬레이브의 통신을 제어하여 데이터 일관성과 안정성을 보장합니다.
사용 사례
- 모션 제어와 서보 제어가 필요한 산업 환경
- MECHATROLINK, RTEX, SSCNET과 같은 실시간 제어 네트워크