임베디드 시스템의 작동 프로토타입을 완성하는 데는 몇 주 또는 몇 달이 걸릴 수 있습니다. 저는 때때로 프로젝트의 한 부분에 며칠간 몰두하곤 했습니다. 하지만 상사가 매일 업데이트를 수행하도록 요구한다면 특히 주의가 산만해지고 생산성이 저하될 수 있습니다. 설계 업체를 시작했을 때 저는 팀에서 이러한 실수를 반복하지 않는 법을 배웠습니다.
임베디드 시스템은 인간처럼 다양한 모양과 크기, 그리고 더 중요하게는 여러 기능과 역량을 갖추고 있습니다. 명령 체계에서 더 높은 수준에 있는 컨트롤러에 응답하는 것 외에도 임베디드 시스템은 다른 작업을 효율적으로 수행해야 합니다. 입력 모니터링, 값 계산 및 변환과 같은 작업을 말이죠. 또한 안정적인 업데이트나 처리 명령도 제공해야 합니다. 임베디드 시스템이 다른 컨트롤러의 요청으로 인해 끊임없이 방해받으면 효율성이 떨어집니다. 그렇게 되면 경고 없이 작동이 중단될 수도 있습니다.
임베디드 시스템이 서로 통신하는 가장 간단한 방법은 마스터-슬레이브 구조를 활용하는 것입니다. 즉, 단일 임베디드 시스템이 마스터로 지정되고 연결된 임베디드 시스템과의 통신 시작을 담당하는 것이죠. 마스터-슬레이브 통신은 통신 인터페이스를 통해 메시지가 전송되는 방식에서 예측 가능한 패턴을 갖습니다. 슬레이브 컨트롤러는 마스터 컨트롤러가 요청하지 않는 한 데이터 패킷을 전송할 수 없습니다.
제가 마스터-슬레이브 구성을 사용하여 최근에 진행한 프로젝트 중 하나는 고무 제조 기계용 모니터링 시스템입니다. 센서 모니터링 컨트롤러를 모든 기계에 배치하여 다양한 센서로 작동 주기를 모니터링하고, 모든 센서 컨트롤러에 마스터 컨트롤러를 연결하여 비휘발성 메모리로 수집된 데이터를 저장했죠.
간단해 보일 수 있지만 다음과 같은 설계 고려 사항을 고심하지 않으면 배포 후에 문제가 발생할 수 있습니다.
마스터 및 슬레이브 컨트롤러는 다양한 처리 능력을 갖춘 마이크로 컨트롤러에 의해 구동되는 경우가 많습니다. 마스터 컨트롤러는 슬레이브 컨트롤러보다 더 강력한 마이크로 컨트롤러에 의해 구동되는 경우가 많죠. 보통 센서 입력 모니터링 또는 모터 구동과 같은 특정 작업을 수행하는 슬레이브 컨트롤러에는 중간 이하 범위의 마이크로 컨트롤러를 장착하는 것이 적절합니다.
마스터 컨트롤러용 코드를 작성하는 프로그래머는 상태 업데이트를 위해 슬레이브 컨트롤러를 너무 자주 중단하지 않아야 합니다. 슬레이브 컨트롤러는 처리 능력이 제한되어 있기 때문에 중단하면 무리가 갈 수 있습니다. 슬레이브 컨트롤러가 많은 양의 요청을 처리하도록 설계되지 않은 경우 메모리 또는 스택 오버플로가 발생하고 작동이 중단될 수 있습니다.
마스터 및 슬레이브 컨트롤러는 매우 다른 속도로 작동할 수 있습니다.
이론적으로 마스터 컨트롤러는 통신 인터페이스 표준이 허용하는 수의 슬레이브 컨트롤러와 연결할 수 있습니다. 예를 들어 RS458의 경우 최대 32개의 장치를 단일 연결에 연결할 수 있습니다. 하지만 실제로 엄청 많은 슬레이브 컨트롤러를 단일 채널에 연결하면 정보 검색 속도가 어떻게 달라질지 궁금하실 것입니다. 슬레이브 컨트롤러가 요청에 응답하는 데 10밀리초가 걸린다고 가정했을 때 슬레이브 컨트롤러가 31개라면 다음 주기에 동일한 컨트롤러로부터 업데이트를 받는 데 310밀리초가 걸립니다. 업데이트가 더 빠른 속도로 새로 고침되도록 마스터 컨트롤러가 요구하는 경우에는 단일 채널에 연결되는 슬레이브 컨트롤러의 수를 제한해야 합니다.
마스터-슬레이브 방식으로 구성된 임베디드 시스템은 한 컨트롤러에서 다른 컨트롤러로 반복되는 단일 케이블로 연결되는 경우가 많습니다. 이 다지점 배선 방법은 간단하고 비용이 적게 들지만 케이블이 끊어지는 경우 전체 시스템을 위험에 빠뜨립니다. 예를 들어 5번째 및 6번째 슬레이브 컨트롤러 사이의 케이블이 끊어지면 마스터와 처음 5개 슬레이브 컨트롤러의 통신이 줄어듭니다.
중요 애플리케이션에서는 시스템 개발자와 설계자가 백업으로 루프에 마스터 컨트롤러부터 마지막 슬레이브 컨트롤러까지 중복 연결을 추가하는 것을 고려해야 합니다. 그러면 마스터 컨트롤러가 케이블의 파손 가능성을 감지하는 경우 백업 연결을 활성화하여 통신을 복원할 수 있습니다.
중요 애플리케이션에서는 중복을 사용하는 것이 좋습니다.
마스터 컨트롤러를 설계할 때나 슬레이브 컨트롤러를 설계할 때나 마이크로 컨트롤러 및 동반되는 컴포넌트를 올바르게 선택하는 것이 중요합니다. Altium Designer® 및 Altium Vault®와 같은 PCB 소프트웨어를 사용하면 컴포넌트 라이브러리에 액세스하여 프로세스를 단순화할 수 있습니다.
마스터-슬레이브 통신 구현에 대해 의심이 드는 경우 Altium의 전문가에게 문의하세요.