프리앰블은 네트웍 통신에서 두개 이상의 시스템간에 전송 타이밍을 동기화하기 위해 사용되는 신호이다. 적절한 타이밍은 모든 시스템들이 정보 전달의 시작을 올바르게 해석할 수 있도록 보장한다. 이것은 마치 록밴드의 드럼 연주자가 연주를 시작하기 전에 박가를 맞추는 것과 같다. 적절한 박자를 설정함에 따라, 밴드 구성원들은 좀 더 잘 동기화할 수 있으며, 같은 순간에 연주를 시작할 수 있게 된다.

프리앰블은 "누군가가 지금 막 데이터를 전송하려 한다" 는 의미로서 통신 시스템들이 이해할 수 있는 일련의 특정 송신 펄스를 정의한다. 이것은 정보를 수신하고 있는 시스템들이 언제 데이터 전송이 시작되는지를 올바르게 이해하도록 보장한다. 프리앰블로서 사용되는 실제 펄스들은 사용하는 네트웍 통신 기술에 따라 달라진다.
RF통신이 유선 serial통신과 가장 다른 점이 preamble 이다.  데이터를 패킷으로 만들어 통신하는 것도 모두 이때문이다.
Bim418 데이터시트에 보면 자세히 나와있겠지만 요점만 말하자면 통신을 할 때 최소 3ms이상 preamble을 보낸 후에 데이터를 보내라고 나와 있다. 이는 데이터 전송의 신뢰도를 위해 이렇게 한다.

preamble 로는 0xAA(10101010)을 사용한다. 그렇다면 preamble 보내는 시간을 어떻게 조정할까?
통신 속도를 계산하여 preamble을 만들어 준다. 속도가 9600bps라면 1초에 9600bit을 보낸다. 3ms 이면 3/1000 초이다. 9600 x 3/1000 = 28.8bit 즉 preamble 29bit이상을 보내야 한다는 말이다. 29bit이면 preamble을 4byte 보내면 최소시간을 넘게 된다.
수신측의 잡음특성을 고려하여 오류가 최소가 되도록 고려해야 한다. 이를 위해 여러가지 방법을 복합적으로 적용하는데, 그중 하나가 데이터가 안정화되기까지 적절한 선두신호(preamble)을 사용하는 것이다.
Posted by 에시드 :