2017-03-08 9 views
0

어느 누구도 Tinyos에서 CRC를 내장하지 않도록 설정합니까?Tinyos에서 내장 CRC (Cyclic Redundancy Check)를 비활성화하는 방법은 무엇입니까?

+0

CRC는 라디오 수신기에 있습니까? 더 자세한 내용을 제공하십시오 : 어떤 플랫폼, 어떤 무선 칩 등. – maral

+0

예, 여기 tinyos 무선 칩에 대한 정보 : CC2420은 저전력 및 저전압 무선 애플리케이션을 위해 설계된 진정한 단일 칩 2.4GHz IEEE 802.15.4 호환 RF 트랜시버입니다. CC2420은 9 dB의 확산 이득과 250 kbps의 유효 데이터 전송률을 제공하는 디지털 직접 시퀀스 확산 스펙트럼베이스 밴드 모뎀을 포함한다. –

답변

0

해당 receiveP 모듈로 이동하여 CRC 체크를 제거하십시오. 예를 들어 인기있는 CC2420 트랜시버 (TelosB에서 사용됨)에서 CRC는 CC2420ReceiveP 모듈의 라인 646 (아래 코드 CC2420ReceiveP에서 발췌)에서 검사됩니다.

// We may have received an ack that should be processed by Transmit 
     // buf[rxFrameLength] >> 7 checks the CRC 
     if ((buf[ rxFrameLength ] >> 7) && rx_buf) { 
     uint8_t type = (header->fcf >> IEEE154_FCF_FRAME_TYPE) & 7; 
     signal CC2420Receive.receive(type, m_p_rx_buf); 
     if (type == IEEE154_TYPE_DATA) { 
      post receiveDone_task(); 
      return; 
     } 
     } 

당신은 당신이 그것을 확실히는 불량 패킷의 이상을 할 수 있도록 다양한 방법으로 구성입니다 변경할 수 있지만 여전히 나쁜 패킷을 삭제합니다 트랜시버를주의해야한다.