무선 통신에서 간섭을 피하는 방법은 무엇입니까?


12

무선 통신 시스템을 개발 중입니다. 우리는 약 10 쌍의 송신기와 수신기를 사용하고 있습니다. USART 포트의 인코딩 및 디코딩을 위해 atmega16 마이크로 컨트롤러를 사용하고 있습니다.

이제 우리는 데이터를 전송하고 수신기 끝에서 동일한 것을 수신 할 수 있지만, 동시에 2 개의 송신기 데이터가 나오는 것을 발견 할 때 큰 문제가 있습니다. 간섭으로 인해 수신기가 수신기를받을 수 없습니다.

한 송신기가 "SENDA"를 보내는 반면 다른 송신기는 "GETTS"를 보내면 수신기는 적절한 데이터를 수신 할 수 없습니다. 모든 송신기와 수신기가 동일한 주파수에서 작동하므로이 간섭이 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?


4
UART와 안테나 사이에 어떤 유형의 무선 회로가 있습니까?
jpc

답변:


14

실행 가능한 RF 통신 프로토콜을 개발하는 것은 까다 롭지 만 교육적인 연습이되기 쉽습니다. 말한 것 이상으로 고려해야 할 몇 가지 추가 사항 :

  1. 일부 무선 하드웨어에서는 신호를 수신하는 데 많은 전력이 필요합니다. 대부분의 소형 라디오는 아니지만 1 초 동안 듣는 것은 밀리 초 동안 전송하는 것보다 더 많은 에너지를 소비 할 것입니다. 일부 라디오에서는 밀리 초를 수신하면 밀리 초 동안 전송하는 것보다 더 많은 에너지를 소비 할 수 있습니다. 현재 소비가 문제가되지 않는 경우, 지속적으로 듣는 것이 간헐적으로 듣는 것보다 훨씬 간단합니다. 그러나 현재 소비가 문제인 경우 간헐적으로 청취해야 할 수도 있습니다. 지속적인 청취 프로토콜로 무언가를 얻을 때까지는 아마 좋은 생각이 아닙니다.
  2. 전송 전 수신은 "폴트"일 수 있지만 이더넷 케이블과 같이 RF에 유용하지는 않습니다. 이더넷 신호는 전송하기 전에 수신하는 장치가 일반적으로 충돌을 피할 가능성이있을뿐만 아니라 전송이 다른 장치의 전송 장치와 충돌하는 장치가 거의 눈에 띄도록 보장되도록 설계되었습니다. RF 전송은 그러한 약속을 제공하지 않습니다. P가 Q로 전송하기를 원할 때 P보다 Q에 더 가까운 다른 장치 X가 Q가 P의 전송을 듣지 못하도록 충분히 크게 전송하지만 P가 알 수 있도록 충분히 크게 전송하지 못할 수도 있습니다. P가 Q가 자신의 전송을 수신하지 않았 음을 알 수있는 유일한 방법은 P가 Q로부터 응답을 듣지 못한다는 것입니다.
  3. 합의 문제를 조심하는 것이 중요합니다. 무선 신호보다 RF에 훨씬 더 중요합니다. P가 Q에게 보낸 경우 Q는 P의 전송을 듣고 승인을 보낼 수 있지만 여러 가지 이유로 P는 그 확인을들을 수 없습니다. 따라서 재전송을 "새로운"전송과 구별하기 위해 매우주의해야합니다.

    불필요 할 때 수신기의 전원을 차단하여 에너지를 절약하려는 경우 합의 문제는 특히 혼란 스러울 수 있습니다. 두 P와 Q가 10 초마다 한 번씩 통신해야한다고 가정하면 P가 켜지고 P가 Q를 패킷으로 보냅니다. Q는 패킷을 수신하고 승인을 전송하며 P가 거의 10 초 동안 아무것도 전송하지 않음을 알고 전원이 꺼집니다. P가 Q의 승인을받지 못하면 재전송합니다. 그러나 Q는 잠들기 때문에 P의 재전송을들을 수 없습니다. Q의 관점에서 볼 때 그것은 중요하지 않습니다 (그는 이미 데이터를 수신했습니다). 재시도 횟수에 관계없이 Q는 자신의 패킷을 얻었음을 알 수 없습니다 (적어도 다음 번에 만날 때까지) 10 초).

  4. 노드 Q가 P로부터 전송을 수신 할 수 있지만 P가 Q로부터 전송을 수신 할 수없는 상황은 전적으로 가능합니다. 그러한 시나리오에서는 유용하게 통신 할 수 없지만 적어도 노력해야합니다. P가 초당 수백 번의 재시도 전송을 끝없이 재 시도하는 것과 같이 유해한 일을 피하기 위해

전술 한 바와 같이, 실행 가능한 RF 통신 프로토콜은 까다로운 운동 인 경향이있다. 아직도, 나는 당신이 아마 그 경험으로부터 많은 것을 배울 것으로 기대합니다.


8

이를 위해 표준 프로토콜을 사용하지 않는다면 간단한 예제를 디자인하고 구현해야합니다.

  • 전송하기 전에 노드는 채널이 비어 있는지 확인하기 위해 청취해야합니다.
  • 메시지를 전송 한 후 승인이 수신되지 않으면 노드는 임의의 시간 동안 기다렸다가 다시 시도하여 최대 재시도 횟수를 늘려야합니다

따라서 발생하는 일은 먼저 먼저 들음으로써 "재밍"을 피하려고 시도한 후에도 여전히 용지 걸림이 발생하는 경우 수신 노드의 승인 부족을 통해이를 감지 한 다음 임의 지연 후에 다시 시도하는 것입니다. 두 재밍 송신기는 다른 임의 지연을 사용하여 두 번째 충돌 가능성을 최소화하십시오.


2
충돌 방지의 주요 제한 사항은 예비 송신기가 의도 한 목표의 수신 범위 내에 있더라도 서로의 수신 범위 내에있을 것이라는 보장이 없다는 것입니다.
supercat

1
충돌 방지 기능은 채널 활용도를 향상시킵니다. 여전히 승인 및 재전송을 수행해야합니다. 열쇠는 재전송하기 전에 임의의 시간을 기다리는 것입니다.
David Schwartz

가장 중요한 것은 이것이 실시간으로 작동하고 또한 일방적 인 커뮤니케이션이라는 것입니다. 우리가 2 방향으로 만들면 더 많은 간섭을 일으킬 것입니다. :(
user934070

OK – 결코 강력하거나 신뢰할 수는 없습니다. 전송하기 전에들을 수는 있지만, 실제로 전송이 수신되었다는 보장은 없습니다.
Paul R

4

다음은 두 가지 일반적인 옵션입니다

1) LBT (Read Before Talk) 알고리즘을 구현합니다. LBT 알고리즘은 자신이 시작하기 전에 전송이 진행 중인지 확인하고 일정 시간이 지나면 종료됩니다. 기간은 고정 된 길이와 임의의 길이를 포함하여 동일한 기간 동안 모두 취소되지 않아야합니다. 많은 표준 무선 프로토콜에이 절차가 포함되어 있습니다 (ETSI EN 300-220-1 참조).

2) 비콘으로부터 전송이 타이밍되는 비콘 시스템을 구현한다. 각 송신기에는 자체 타이밍 슬롯이 있습니다. 일반적으로 장치의 일련 번호를 사용하여 슬롯을 결정하고 누가 비콘을 보낼지 결정하는 시스템을 갖습니다. 이는 다른 슬롯을 가진 모든 송신기에 의존하기 때문에 절차가 확실하지 않으면 사용자에게 모든 송신기를 고유하게 식별하는 것은 좋지 않습니다.


제 2 부에서는 대부분의 스테이션이 일반적으로 전송할 필요가 없다는 것을 알고 있다면 CDMA를 활용할 수 있다고 생각합니다.
Kortuk

1
@ Kortuk : CDMA의 장점 중 하나는 수신기가 발신자와 동기화 될 수 있다면 동시 송신기 수가 증가함에 따라 비트 오류 수가 증가한다는 것입니다. "재밍"이 아닙니다.
supercat

@ supercat, 나는 모든 사람들이 무작위로 시간 슬롯을 할당하고 있다는 인상을 받고 있습니다. 대부분의 송신기는 가끔씩 만 대화하므로 두 사람이 동시에 대화 할 가능성은 매우 적지 만 때때로 발생하여 해당 시점에서 적은 수의 비트 오류로 표시됩니다. 인터레이스 및 일반 ECC를 사용하면이를 무시할 수 있습니다. 즉, 모든 사람이 난수 생성기를 기반으로 미리 정해진 시간 슬롯을 가지고 있기 때문에 두 송신기가 동일한 공간을 지속적으로 공유하지 않고 때때로 만나지 않도록합니다. 나는 확실히 알고있는 누군가에게 물어볼 수있다.
Kortuk

1
@Kortuk : 이것이 CDMA의 의미라고 생각했지만 Wikipedia 페이지를 포함한 많은 소스에서 비트 레이트보다 높은 속도에서의 변조를 나타냅니다. 송신기가 의사 랜덤 비트 스트림에 따라 신호를 반전시키고, 수신기가 마찬가지로 결과 신호를 필터링하면, 원래 신호가 복구 될 수있다. 의사 랜덤 타임 슬롯을 기반으로 한 접근법은 유용하지만 CDMA가 올바른 용어라고 생각하지 않습니다. 이러한 접근 방식의 가장 큰 어려움은 조정입니다. 널리 사용되는 고해상도 시간 신호가 있었으면 좋겠습니다.
supercat

1
@Kortuk : WWV kinda sorta는 디지털 시계와 시계를 동기화하는 데 사용되지만 시간 신호를 보내는 데 1 분이 걸립니다. 10ms 이하로 읽을 수 있고 콜로라도에서 WWV 시간의 일정한 작은 허용 오차 내에 있음을 보장하는 널리 배포 된 시간 방송이 있다면 훨씬 더 좋을 것입니다 (현지에서 1,000 마일 떨어진 위치에서 시간 방송은 실제로 WWV를 약 5ms 앞당겨 야합니다).
supercat

3

의견 등을 통해 알 수 있듯이 전원은 문제가 아니지만 통신 속도는 문제입니다. 프로토콜에 대한 제안입니다.

모든 노드에 번호를 매기십시오. 0..n-1. 각 노드에 어떤 번호인지 알려주십시오. 노드 0이 마스터가됩니다.

15ms마다 노드 0은 "0HELO"메시지를 보냅니다.
1ms 후, 노드 1은 "1DATA"메시지를 보냅니다.
1ms 후, 노드 2는 "2NICE"메시지를 보냅니다.
1ms 후, 노드 3은 "3"메시지를 보냅니다. (이 노드는 말할 것도 없다)
"2CATS"나중에 1MS, 노드 4 메시지를 보냅니다.
...
1ms 후, 노드 9는 "9MICE"메시지를 보냅니다.
그런 다음 5ms의 일시 중지가 있습니다.

노드는 아무 말도하지 않아도 항상 정확한 시간 슬롯으로 메시지를 보냅니다. 이렇게하면 충돌없이 66Hz 통신 속도가 보장됩니다.


2

여러 비동기 송신기와의 RF 통신은 까다로운 문제입니다. 이러한 문제를 해결하기 위해 많은 사고와 엔지니어링이 802.11 및 802.15 표준에 적용되었습니다. 여기에 문의해야하는 경우 이러한 표준 중 하나를 구현하는 선반 하드웨어를 고수해야합니다.

둘 다 유용하고 많은 신중한 디자인을 나타내지 만 일반적으로 실제 응용 프로그램은 여전히 ​​이러한 표준 이상의 프로토콜 스택을 구현해야합니다. 이는 802.11 이상의 WiFi 및 TCP, Zigbee 또는 Microchip의 WiWi 또는 802.15 이상의 일부입니다.

다시 한번, 여기에서 기본적인 질문을한다면 다 지점 무선 네트워크를 설계하는 것이 리그를 벗어날 수 있습니다. 많은 시간을 소비해도 여전히 제대로 작동하지는 않습니다.

802.11과 802.15 중에서 선택하는 것은 주로 대역폭과 범위 요구 사항 및 가용 전력에 따라 다릅니다. 802.15는 더 작고 더 낮은 전력, 더 낮은 대역폭 및 더 작은 범위입니다. 올바른 상위 레벨 소프트웨어를 사용하면 802.15 장치가 배터리에서 오래 실행될 수 있지만 일반적으로 802.11에는 해당되지 않습니다.


2
그것은 모두 응용 프로그램에 따라 다릅니다. 실제로 매우 어렵지만 동시에 운동에서 많은 것을 배울 수 있습니다. 그리고 그가 배우게 될 것은 보편적 인 법칙이며 일부 구현 세부 사항은 아닙니다.
jpc

9
"리그에서 나가는 길"은 약간 가혹합니다. 그들은 다소 고개를 숙이고 있으며 이런 종류의 문제로 인해 이런 종류의 지위에있는 사람들이 1 년 동안 낭비하는 것을 보았습니다. 그러나 그렇다고해서 조언을 구하고 작동시킬 수는 없습니다. jpc가 말했듯이, 여기에서의 성공은 이해의 상당한 도약을 의미 할 수 있습니다. 그들이이 질문에 대한 나의 직원이라면 (그리고 나는 수업 시간을 할애 할 수 있었다) 나는 그들과 함께 조금씩 움직여 무언가를 배우기를 바란다.
darron

3
사람들이이 사이트를 방문하여 문제에 대해 배우고 해결하기위한 답변을 찾고 그들이 요구하지 않았거나 사용할 수없는 솔루션에 강제로 (공감) 남겨 두는 것은 장애입니다.
Joel B

1
@JoelB upvotes는 답변을 강제로 수락하지 않습니다.
Chris Stratton

1

나는 말하기와 비콘 시스템을 듣기 전에 듣는 것에 동의합니다. 그러나 단일 채널을 사용하여 동시에 데이터를 전송하려는 경우 직접 시퀀스 확산 스펙트럼 (DSSS) 변조 기술을 사용할 수 있습니다. 이것은 간섭을 피하는 데 도움이 될 수 있습니다.

그러나이를 위해서는 Xbee (Zigbee 기반)와 같이 칩을 구현하는 칩을 구입해야 할 수도 있습니다. 송신기를 변경할 수 없으면 다른 답변을 고수해야합니다.


제안 해 주셔서 감사합니다. 그러나 실제로 우리의 주요 문제는 시스템이 실시간으로 작동한다는 것입니다. 따라서 언제 어디서 신호를받을지는 완전히 예측할 수 없습니다. 더 자세히 설명하겠습니다. 실제로 모든 송신기와 수신기는 그들의 범위와 함께 배치됩니다. 즉, 그들의 범위가 100 미터라고 가정하고 모든 것이 50 미터 안에 있다고 가정하면, 하나의 송신기에서 나오는 모든 신호가 모든 노드에 도달 할 수 있으며 모든 신호는 언제든지 올 수 있습니다. 그래서이 문제를 어떻게 해결할 수
있을까요

@ User934070 휴대 전화 시스템과 wifi는 일반적으로 동일한 기본 개념을 따르는 일종의 기술 또는 최소한의 기술의 확산 스펙트럼을 사용합니다. 휴대폰과 랩탑은 "
언제나 어디서
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.